Tải bản đầy đủ (.docx) (74 trang)

Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.56 MB, 74 trang )

BỘ GIÁO DỤC

VIỆN HÀN LÂM

VÀ ĐÀO TẠO

KHOA HỌC VÀ CÔNG NGHỆ VN

PHẠM VĂN DƯƠNG

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Phạm Văn Dương

NGHIÊN CỨU BÀI TỐN BĨC TÁCH THƠNG TIN
HỆ THỐNG THÔNG TIN

TRONG CHỨNG MINH THƯ SỬ DỤNG HỌC SÂU

LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH

2021

Hà Nội – 2021
1


BỘ GIÁO DỤC

VIỆN HÀN LÂM


VÀ ĐÀO TẠO

KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Phạm Văn Dương

NGHIÊN CỨU BÀI TỐN BĨC TÁCH THƠNG TIN
TRONG CHỨNG MINH THƯ SỬ DỤNG HỌC SÂU

Chuyên ngành : Hệ thống thông tin
Mã số: 8480104

LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC :
PGS.TS. NGÔ QUỐC TẠO

Hà Nội – 2021


LỜI CAM ĐOAN
Tơi là Phạm Văn Dương, học viên khóa 2019B, ngành Máy tính, chun ngành
Hệ thống thơng tin. Tơi xin cam đoan luận văn “Nghiên cứu bài tốn bóc tách
thông tin trong chứng minh thư sử dụng học sâu” là do tơi nghiên cứu, tìm
hiểu và phát triển dưới sự hướng dẫn của PGS.TS. Ngô Quốc Tạo, không phải
sự sao chép từ các tài liệu, cơng trình nghiên cứu của người khác mà không ghi
rõ trong tài liệu tham khảo. Tôi xin chịu trách nhiệm về lời cam đoan này.
Hà Nội, ngày tháng năm 2021

Tác giả

Phạm Văn Dương


LỜI CẢM ƠN
Lời cảm ơn trân trọng đầu tiên Tôi muốn dành tới các thầy cô Học viện
khoa học và công nghệ Việt Nam, Viện công nghệ thông tin, Viện Hàn lâm khoa
học và cơng nghệ Việt Nam nói chung và các thầy cô trong bộ môn Hệ thống
thông tin cũng như khoa Cơng nghệ thơng tin nói riêng đã tận tình giảng dạy và
truyền đạt nhưng kiến thức quý báu trong suốt khố cao học vừa qua, giúp tơi có
nhưng kiến thức chun mơn nền tảng để làm cơ sở lý luận khoa học cho luận
văn này.
Đặc biệt Tôi xin chân thành cảm ơn thầy PGS.TS. Ngô Quốc Tạo đã dìu
dắt và hướng dẫn tơi trong suốt q trình làm luận văn, sự chỉ bảo và định hướng
của thầy giúp tôi tự tin nghiên cứu nhưng vấn đề mới và giải quyết bài tốn một
cách khoa học.
Tơi xin trân trọng cảm ơn Ban giám hiệu Học viện khoa học công nghệ
Việt Nam - Viện Hàn lâm khoa học và công nghệ Việt Nam đã tạo các điều kiện
cho tôi được học tập và làm luận văn một cách thuận lợi.
Tôi xin cảm ơn sự hỗ trợ của nhiệm vụ: “Hỗ trợ hoạt động nghiên cứu
khoa học cho nghiên cứu viên cao cấp năm 2021”. mã số: nvcc02.01/21-21 của
Viện Hàn lâm Khoa học và Công nghệ Việt Nam (VAST), Hà Nội, Việt Nam.
Mặc dù đã cố gắng rất nhiều, nhưng chắc chắn trong quá trình học tập
cũng như luận văn khơng khỏi nhưng thiết sót. Tơi rất mong được sự thơng cảm
và chỉ bảo tận tình của các thầy cơ và các bạn.
Hà Nội, ngày tháng năm 2021
.

Tác giả


Phạm Văn Dương


MỤC LỤC
DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT..................................................... 7
DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ............................................................................ 8
MỞ ĐẦU..................................................................................................................... 10
CHƯƠNG 1. TỔNG QUAN VỀ PHÁT HIỆN, NHẬN DẠNG KÝ TỰ, SỰ PHÁT
TRIỂN CỦA HỌC MÁY VÀ HỌC SÂU.................................................................... 12
1.1 Tổng quan về phát hiện và nhận dạng ký tự..................................................... 12
1.2 Sự phát triển của học máy và học sâu.............................................................. 13
1.3 Kết luận chương............................................................................................... 17
CHƯƠNG 2. GIỚI THIỆU VỀ MẠNG CONVOLUTION NEURAL NETWORK. . .18
2.1 Giới thiệu sơ lược về CNN.............................................................................. 18
2.2 Convolution Layer – Tầng Tích Chập............................................................... 18
2.3 Strides – Bước nhảy.......................................................................................... 20
2.4 Padding – Đệm.................................................................................................. 21
2.5 Non Linearity (ReLU) – Phi tuyến tính............................................................. 21
2.6 Pooling Layer – Tầng gộp................................................................................. 22
2.7 Full Connected Layer – Tầng kết nối đầy đủ..................................................... 23
2.8 Kết luận chương................................................................................................. 23
CHƯƠNG 3. MƠ HÌNH MẠNG PIXELLINK CHO PHÁT HIỆN VĂN BẢN..........24
3.1 Cấu trúc mạng.................................................................................................. 24
3.2 Kết nối các điểm ảnh........................................................................................ 27
3.3 Tối ưu.............................................................................................................. 27
3.3.1 Tính tốn vùng chính xác............................................................................ 27
3.3.2 Hàm mất mát............................................................................................... 28
3.4 Chuẩn bị dữ liệu và đào tạo.............................................................................. 30
3.4.1 Chuẩn bị dữ liệu......................................................................................... 30

3.4.2 Dữ liệu thật:................................................................................................ 31
3.4.3 Dữ liệu được sinh ra.................................................................................... 32
3.4.4 Tiền xử lý dữ liệu........................................................................................ 33


3.4.5 Quá trình đào tạo......................................................................................... 34
3.4.6 Tối ưu:......................................................................................................... 34
3.4.7

Kết quả đạt được:..................................................................................... 35

3.4.8 Hạn chế của mơ hình.................................................................................. 35
3.5 Kết luận chương............................................................................................... 36
3.5.1............................................................................................................................. C
HƯƠNG 4. GIỚI THIỆU VỀ CONVOLUTION RECURRENT NEURAL
NETWORK................................................................................................................. 37
4.1 Giới thiệu bài toán và lợi thế của CRNN......................................................... 37
4.2 Cấu trúc......................................................................................................... 38
4.3 Tầng trích xuất đặc trưng chuỗi..................................................................... 39
4.4 Gán nhãn trình tự.......................................................................................... 39
4.5 Tầng Transcription......................................................................................... 45
4.6 Hàm mất mát.................................................................................................... 47
4.7 Tóm tắt cấu trúc mơ hình................................................................................. 48
4.7.1

Cách tạo dữ liệu và đào tạo................................................................................................ 49

4.7.2

Dữ liệu thật


49

4.7.3

Dữ liệu sinh

49

4.7.4

Hạn chế của mơ hình.................................................................................... 49

4.8 Kết luận chương............................................................................................... 50
3.5.2............................................................................................................................. CHƯƠ
NG 5: CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ........................................................ 51
5.1 Bài tốn............................................................................................................ 51
5.2 Mơ hình giải quyết bài tốn............................................................................. 51
5.3 Môi trường cài đặt............................................................................................ 52
5.4 Dữ liệu kiểm thử.............................................................................................. 52
5.5 Kết quả thực nghiệm........................................................................................ 53
3.5.3............................................................................................................................. KẾT
LUẬN.......................................................................................................................... 55
3.5.4............................................................................................................................. TÀI
LIỆU THAM KHẢO................................................................................................... 57


3.5.5

DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT


3.5.6
3.5.7

Từ

Từ
chuẩn

3.5.8

viết tắt
3.5.10
3.5.13

CNN
RNN

Convolutional
Neural Network
3.5.11

3.5.14

Recurrent Neural

Nework
3.5.16

CRNN 3.5.17


3.5.9

Diễn

giải
3.5.12

Mạng nơ-ron

tích chập
3.5.15

Mạng nơ-ron

hồi quy
Convolutional

Recurrent Neural Nework

3.5.18

Mạng

nơ-ron hồi quy xoắn

LSTM 3.5.20
Memory

Long Short-term


3.5.22

AI

3.5.23

Artifical Intelligence 3.5.24
tạo

Trí tuệ nhân

3.5.25

ML

3.5.26

Machine Learning

3.5.27

Học máy

3.5.28

DL

3.5.29


Deep Learning

3.5.30

Học sâu

3.5.31

NN

3.5.32

Neural Network

3.5.33

Mạng nơ-ron

3.5.34

OCR

3.5.35

3.5.36

Nhận dạng

3.5.19


3.5.21

Bộ nhớ ngắn

hạn dài

Optical Character
Recognition

ký tự quang học


3.5.37 DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ

3.5.38.................................................................. Hình 1.0.1 Quá trình nhận dạng10
3.5.39................................................. Hình 1.0.2 Mối quan hệ giưa AI, ML, DL 11
3.5.40................................................................. Hình 1.0.3 Các giai đoạn của AI 12
3.5.41.......................Hình 2.0.1 Mơ hình CNN sử dụng cho bài tốn phân loại 14
3.5.42.................................................... Hình 2.0.2 Nhân ma trận ảnh với bộ lọc 15
3.5.43....................................................................... Hình 2.0.3 Ma trận và bộ lọc 15
3.5.44.................................................... Hình 2.0.4 Kết quả thực hiện phép nhân 15
3.5.45.................................. Hình 2.0.5 Đầu ra của ma trận có bước nhảy là hai 16
3.5.46........................................................ Hình 2.0.6 Hoạt động của hàm ReLU 17
3.5.47.............................................................................. Hình 2.0.7 Max Pooling 17
3.5.48......................................................... Hình 2.0.8 Mơ tả tầng kết nối đầy đủ 18
3.5.49............................................................. Hình 3.0.1 Mơ hình mạng VGG16 20
3.5.50............................................................. Hình 3.0.2 Quá trình của Pixellink 21
3.5.51.............................................. Hình 3.0.3 Các hộp với diện tích khác nhau 23
3.5.52............................. Hình 3.0.4 Hình minh họa của quá trình xác định hộp 25
3.5.53........................................................................... Hình 3.0.5 Dữ liệu sinh ra 27

3.5.54............................................................... Hình 3.0.6 Nhãn của dữ liệu sinh 28
3.5.55.............................Hình 3.0.7 Hàm mất mát của phân loại mỗi điểm ảnh 29
3.5.56.................................................................... Hình 3.8 hàm mất mát liên kết 29
3.5.57........................................ Hình 3.0.9 Hình kết quả của mơ hình Pixellink 29
3.5.58......................................................... Hình 3.0.10 Hình miêu tả sự hạn chế30
3.5.59............................................................... Hình 4.0.1 Cấu trúc mạng CRNN 32
3.5.60............................................................................ Hình 4.0.2 Mơ hình RNN 33
3.5.61............................................................... Hình 4.0.3 Cấu trúc mạng LSTM 34
3.5.62................................. Hình 4.0.4 Hình minh họa thơng tin được truyền đi 35
3.5.63.......................................................... Hình 4.0.5 Tầng mạng và phép nhân35


3.5.64........................................................ Hình 4.0.6 Hình minh họa cổng quên36
3.5.65......................................................... Hình 4.0.7 Hình mơ tả cập nhật khối37
3.5.66.........................Hình 4.0.8 Hình mơ tả quá trình cập nhật trạng thái mới37
3.5.67...................................... Hình 4.0.9 Hình mơ tả qúa trình xác định đầu ra45
3.5.68...........Hình 4.0.10 Hình mình họa chọn các giá trị có xác suất cao nhất 47
3.5.69...........Hình 4.0.11 Hình mình họa chọn các giá trị có xác suất cao nhất 49
3.5.70........................................ Hình 5.0.1 Giao diện chương trình khi truy cập 52
3.5.71............Hình 5.0.2 Giao diện chương trình khi tải ảnh CMT thành cơng 52
3.5.72.............................. Hình 5.0.3 Giao diện chương trình sau khi ra kết quả 53


3.5.73 MỞ ĐẦU
3.5.74
3.5.75

Nhận dạng mẫu là một ngành khoa học của học máy (hay trí tuệ

nhân tạo) nhằm phân loại dữ liệu (các mẫu) vào một số lớp. Mẫu có thể là bất kỳ

thực thể nào cần được nhận ra, ví dụ: chữ in, chữ viết tay, vân tay, khn mặt, tiếng
nói, hình dạng,… Cùng với sự phát triển của khoa học kỹ thuật, các ứng dụng của
nhận dạng mẫu ngày càng được mở rộng, từ việc tự động hoá một số quy trình trong
sản xuất cơng nghiệp cho đến dự báo thời tiết, dự báo cháy rừng hay là một phần
quan trọng trong các hệ thống máy tính thơng minh…
3.5.76

Một trong những ứng dụng phổ biến của nhận dạng mẫu hiện nay

là phân tích và nhận dạng ảnh tài liệu (có nguồn gốc từ hệ thống nhận dạng ký tự
quang học), nhằm số hoá các trang tài liệu giấy như sách, báo, tạp chí,… Cho đến
nay, bài tốn phân tích và nhận dạng ảnh tài liệu đã được giải quyết gần như trọn vẹn
và cũng đã có những sản phẩm thương mại, như VnDOCR của Viện công nghệ
thông tin hay FineReader của hãng ABBYY,…
3.5.77

Bên cạnh lớp bài toán phân tích và nhận dạng ảnh tài liệu một

cách tổng quát ở trên cịn có lớp bài tốn riêng biệt cho từng ngành, từng lĩnh vực cụ
thể, như: phân tích và nhận dạng bảng biểu, phiếu điều tra, mẫu điền thông tin, danh
thiếp, hộ chiếu,… Đối với lớp bài toán này thì việc phân tích cấu trúc của ảnh tài
liệu là đặc biệt quan trọng, bởi vì nó sẽ quyết định đến việc tách và nhận dạng chính
xác các trường thơng tin cần thiết cho từng ứng dụng cụ thể.
3.5.78

Trên thế giới đã có nhiều sản phẩm phần mềm phân tích và nhận

dạng ảnh thẻ chứa thông tin cá nhân (như hộ chiếu, danh thiếp,…) và được ứng dụng
trong nhiều lĩnh vực, như: làm thủ tục hải quan, các giao dịch ở các cửa hàng, khách
sạn,… Ở Việt Nam loại thẻ chứa thông tin các nhân được sử dụng nhiểu nhất là Giấy

chứng minh nhân dân (CMND). Do đó, trong luận văn này, tơi xin đề xuất một
phương pháp phân tích ảnh CMND dựa trên việc phân tích và nhận dạng biểu mẫu
với kỹ thuật xử lý hình ảnh thơng minh.

10


3.5.79

Dựa trên nhu cầu thực tế trên nên tôi quyết định lựa chọn đề tài: “

Nghiên cứu bài tốn bóc tách thông tin trong chứng minh thư sử dụng học
sâu.”.
Mục đích của đề tài.

3.5.80

3.5.81
3.5.82

Với đề tài: “ Nghiên cứu bài tốn bóc tách thơng tin trong chứng

minh thư sử dụng học sâu ”. Luận văn tập trung các vấn đề sau:
• Tổng quan về phân tích ảnh tài liệu.


Giới thiệu một số thuật toán nhận diện ký tự bằng các phương pháp xử lý
ảnh mơ hình học sâu.

• Thực hiện cài đặt và đánh giá kết quả đạt được với phương pháp đã chọn đối

với dữ liệu giấy chứng minh thư nhân dân.
• Đưa ra đánh giá và hướng phát triển trong tương lai.
3.5.83

Nội dung của luận văn thạc sĩ gồm các chương, mục chính :
3.5.84

3.5.85

Chương 1. Tổng quan về phát hiện, nhận dạng ký tự, sự phát triển của

học máy và học sâu
3.5.86

Chương 2 : Giới thiệu về mạng Convolution Neural

Network Chương 3 : Mơ hình mạng pixellink cho phát hiện văn
bản Chương 4 : Giới thiệu về Convolution Recurrent Neural
Network Chương 5 : Cài đặt thử nghiệm và kết quả
3.5.87

Kết luận
3.5.88

3.5.89

Tài liệu tham khảo


3.5.90


CHƯƠNG 1. TỔNG QUAN VỀ PHÁT HIỆN, NHẬN
DẠNG KÝ TỰ, SỰ PHÁT TRIỂN CỦA HỌC MÁY VÀ
HỌC SÂU

1.1Tổng quan về phát hiện và nhận dạng ký tự
3.5.91
3.5.92

OCR là công nghệ chuyển nhận dạng chữ cái, chữ số, kí hiệu trong ảnh

số, thường được dùng với tài liệu đã scanned, nhưng một số trường hợp khác cũng
được sử dụng, như sử dụng để nhận dạng chữ trên danh thiếp, căn cước, biển số
xe.... Những năm gần đây, những bước tiến lớn trong lĩnh vực học sâu (DL) và ứng
dụng của DL vào các bài tốn thị giác máy tính để giải các bài tốn khó và đạt được
một số thành cơng nhất định. Áp dụng OCR vào đời sống sẽ giúp con người rất nhiều
trong việc trích xuất thơng tin cũng như lấy thơng tin là chữ, kí tự, con số trong các
bức ảnh.
3.5.93

Bài toán bao gồm nhận dạng và phát hiện các đối tượng là kí tự, chuỗi

các kí tự, giải quyết bài toán tạo ra nhiều ứng dụng khác nhau như trích xuất thơng
tin trên một bức ảnh, giảm chi phí cũng như thời gian trong q trình nhập liệu. Áp
dụng được nhiều nơi cũng như nhu cầu khác nhau trong việc trích xuất thơng tin.
3.5.94

Bài tốn phát hiện và nhận dạng kí tự đã được nghiên cứu từ lâu và có

những bước chuyển mình đáng kể, trong hơn thập kỉ trở lại đây, nhờ sự phát triển

của máy móc cũng như dữ liệu lớn, thì các kỹ thuật học sâu phát triển rõ rệt và đạt
được nhiều kết quả ấn tượng trong các hướng nghiên cứu khác nhau.
3.5.95

Việc áp dụng học sâu vào phát hiện và nhận dạng ký tự đã đạt được kết

quả khả quan, điều này hứa hẹn cho nhưng hướng nghiên cứu mới, cũng như là số
hóa tài liệu một cách nhanh chóng. Trong khn khổ luận văn, tơi xin phép trình bày
về phương pháp áp dụng học sâu vào bài tốn bóc tách thơng tin trong chứng minh
thư.
3.5.96

Để giải qut bài tốn tơi chia bài tốn thành hai vấn đề chính là phát

hiện và nhận dạng, mỗi giai đoạn áp dụng công nghệ khác nhau, nhưng đều áp dụng
học sâu để giải quyết vấn đề
3.5.97

Hiện nay, có rất nhiều phương pháp áp dụng cho bài toán phát hiện đối


tượng như SSD [3], YOLO [4], CTPN [2],…, Trong cuộc thi ICDAR 2015 kỹ thuật
học sâu sử


3.5.98

dụng mơ hình mạng Pixellink để phát hiện các đối tượng kí tự đứng vị trí

cao. Phương pháp Pixellink cho kết quả tốt trên bài toán phát hiện ký tự.


3.5.99 Hình 1.0.1 Quá trình nhận dạng
3.5.100
3.5.101

Sau khi phát hiện được vùng ký tự, mình cần nhận dạng vùng ký

tự đó, bài toán nhận dạng ký tự sẽ khác với nhận dạng các đối tượng thông thường.
Cấu trúc chuỗi trên ảnh có độ dài thay đổi khác nhau, nên sử dụng các phương pháp
nhận dạng đối tượng tuyền thống rất khó để có thể thực hiện được, việc tách thành
các kí tự riêng lẻ rồi nhận dạng sẽ trở nên cực kì khó khăn. Nên qua thực nghiệm tơi
thấy mạng CRNN cho kết quả khá tốt trong bài toán nhận dạng chuỗi, nên đã áp
dụng mơ hình mạng cho luận văn này. Do tính chất chuỗi nên dùng mơ hình mạng
CRNN có thể nhớ những thơng tin trước đó. Bản chất của mơ hình mạng CRNN là
sự kết hợp của hai mạng CNN và RNN với nhau.
1.2 Sự phát triển của học máy và học sâu
3.5.102
3.5.103 Những năm gần đây trí tuệ nhân tạo gần như đi vào mọi ngõ nghách của

đời sống, khi những thành tựu mà nó đạt được, có khả năng vượt qua con người
trong một số nhiệm vụ như chơi cờ.
3.5.104 Cách đây năm mươi năm, học máy vẫn chỉ là khoa học viễn tưởng.

Nhưng ngày nay học máy như là một phần của cuộc sống, rất nhiều ứng dụng học
máy đã giúp con người giải quyết những vấn đề khó khăn và đưa con người tới cuộc
sống tốt đẹp hơn. Học máy là một phần của trí tuệ nhân tạo, là cách mà các thuật
tốn được áp dụng để giúp máy tính tự động học từ dữ liệu và thông tin. Học máy
không phải là lập trình



3.5.105

một các rõ ràng các bước thực hiện mà là q trình máy tính học và cải

thiện khả năng học dựa vào chính nó.
3.5.106 Trí tuệ nhận tạo bắt đầu được định nghĩa từ những năm năm mươi của

thế kỉ trước, đến mãi những năm tám mươi của thế kỉ trước thì khái niệm học máy ra
đời và từ năm 2010 là sự bùng nổ của học sâu.
3.5.107 Dưới đây là bức ảnh thể hiện quá trình hình thành và mối quan hệ của trí

tuệ nhân tạo, học máy, học sâu

3.5.108
3.5.109
3.5.110

Hình 1.0.2 Mối quan hệ giữa AI, ML, DL

3.5.111 Một trong những viên gạch đầu tiên của mạng nơ-ron và học sâu là

thuật toán perceptron, đây là một thuật toán học có giám sát, nó nhằm giải quyết bài
tốn phân loại nhị phân, được khởi xướng từ Frank Rosenblatt năm 1957 trong một
nghiên cứu. Nhưng thuật toán này chỉ làm việc được với dữ liệu là tuyến tính tách
biệt, thời bấy giờ Marvin Minsky và Seymour Papert đã chứng minh được rằng
thuật tốn trên khơng thể học được các hàm số XOR, điều này khiến cho các nghiên
cứu về perceptron bị gián đoạn khoảng 20 năm. Giai đoạn này có thể gọi là mùa
đơng thứ nhất của trí tuệ nhân tạo
3.5.112 Những năm 80 của thế kỉ trước, Geoffrey Hinton đã chứng minh được


rằng mạng nơ-ron với nhiều tầng ẩn có thể đào tạo một cách đơn giản dựa vào
backpropagation. Điều này giúp mạng nơ-ron vượt qua được hạn chế của


perceptron về việc chỉ phân


3.5.113

biệt tuyến tính, thành cơng nổi bật của thuật tốn là CNN, được áp dụng

cho bài toán phân loại chữ viết được khởi xưởng bởi Yann LeCun
3.5.114 Những hạn chế của máy móc, khả năng tính tốn lớn bị hạn chế, cũng

như dữ liệu gán nhãn chưa nhiều, một hạn chế nữa là hàm mất mát không là hàm
lồi, nên việc tìm nghiệm tồn cục của hàm mất mát rất khó.
3.5.115 Một khó khăn nữa là nếu sử dụng nhiều tầng ẩn thì khi tính đạo hàm sẽ

gặp một vấn đề, nó có một tên gọi là vanishing gradient, đó là vấn đề tích của đạo
hàm chuỗi của nhiều số gần bằng 0 thì kết quả đạo hàm sẽ gần giá trị 0. Như vậy
đến một lúc đạo hàm bằng 0 và sẽ không thể cập nhật giá trị thông qua gradient
descent, những điều này khiến mạng nơ-ron đã một lần nữa rơi vào mùa đông thứ
hai
3.5.116 Mãi đến năm 2012 tại ILSVRC, thì Alex Krizhevsky, Geoffrey Hinton

tham gia và đạt được kết quả top-5. Mơ hình này gọi là Alexnet, trong bài báo này
có rất nhiều kỹ thuật mới được giới thiệu, trong đó có hàm ReLU và Dropout với
cách tính đạo hàm đơn giản, cải thiện tốc độ đào tạo rất nhiều. Bên cạnh đó hàm
ReLU giúp giải quyết được một phần của vấn đề vanishing gradient.
3.5.117 Sau đây tơi trình bày các cột mốc đáng chú ý trong lịch sử phát triển của


học máy từ thời sơ khai đến hiện tại:

3.5.118
3.5.119

Hình 1.0.3 Các giai đoạn của AI


3.5.120

Năm 1950 Alan Turing tạo ra Turing Test, nếu một máy tính vượt

qua Turing Test thì kết luận nó có trí thơng minh. Để vượt qua nó, máy tính phải có
khả năng lừa con người rằng nó chính là con người.
3.5.121

Năm 1952 Arthur Samuel đã viết chương trình máy tính đầu tiên,

chương trình chơi cờ mục đích học các chiến lược di chuyển, và kết hợp các nước
di chuyển vào chương trình.
3.5.122

Năm 1957 Frank Rosenblatt đã thiết kế mạng nơ-ron đầu tiên

cho máy tính, mạng mơ phỏng xử lý thơng tin như bộ não của con người
3.5.123

Năm 1967 thuật toán hàng xóm gần nhất "nearest neighbor"


được hồn thành và sử dụng để nhận dạng những mẫu cơ bản.
3.5.124

Năm 1979 sinh viên của trường đại học Stanford đã phát minh ra

"Stanford Cart", nó giúp chiếc xe có thể tránh được chướng ngại vật trong phòng
của họ.
3.5.125

Năm 1981 Geral Dejong đưa ra định nghĩa Explanation Based

Learning, nó giúp máy tính phân tích dữ liệu và đưa ra các quy tắc và dựa vào các
quy tắc đó để bỏ đi những thơng tin không quan trọng.
3.5.126

Năm 1985 Terry Sejnowski phát minh ra NetTalk, nó học phát âm

từ giống như một đứa trẻ.
3.5.127

Năm 1990 học máy chuyển đổi từ cách tiếp cận tri thức sang tiếp

cận dữ liệu, các nhà khoa học đã tạo ra các chương trình nhằm phân tích lượng dữ
liệu rất lớn và đưa ra các kết luận.
3.5.128

Năm 1997 cỗ máy IBM's Deep Blue đánh bại nhà vô địch cờ vua thế giới.
3.5.129

3.5.130


Năm 2006 Geoffrey Hinton dùng "deep learning" để giải thích

thuật tốn mới, thuật tốn mà giúp máy tính phân biệt các đối tượng và chữ cái
trong ảnh và đoạn video.
3.5.131

Năm 2010 Kinect của tập đồn Microsoft có thể dõi hai mươi

hành động của con người với tần suất ba mươi lần trên một giây, cho phép con
người tương tác với máy tính thơng qua cử chỉ và hành động.


3.5.132

Năm 2011 Google Brain đã sử dụng mạng sâu để máy tính có thể

học và phân loại con mèo.
3.5.133

Năm 2012 Google’s X Lab đã phát triển thuật toán học máy, nó

giúp máy tính có thể tự động truy cập YouTube và tìm các video chứa con mèo.
3.5.134

Năm 2014 Fakebook đã phát triển DeepFake, nó giúp định danh,

nhận ra con người trong bức ảnh.
3.5.135


Năm 2015 Amazon đã ra mắt nền học máy của họ để nâng cao

hiệu quả kinh doanh của chính họ.
3.5.136

Từ 2015 đến nay, rất nhiều thành tựu của học máy và học sâu có

khả năng học và giải quyết các bài tốn phức tạp, có những tác vụ đã vượt qua khả
năng của con người.
1.3 Kết luận chương
3.5.137
3.5.138 Chương 1 tóm tắt về phát hiện và nhận dạng ký tự, q trình hình thành và
phát triển của trí tuệ nhân tạo, học máy và học sâu. Các kiến thức nền tảng này sẽ là
nền tảng cơ bản trong liên quan đến định hướng nghiên cứu, tìm hiểu của luận văn.


CHƯƠNG 2. GIỚI THIỆU VỀ MẠNG

3.5.139

CONVOLUTION NEURAL
NETWORK
2.1Giới thiệu sơ lược về CNN
3.5.140
3.5.141 Mạng CNN được sử dụng rộng rãi, áp dụng rất nhiều trong trích xuất

đặc trưng của ảnh, người ta sử dụng CNN nhiều trong các bài toán nhận biết cũng
như phân loại hình ảnh. Trong bài tốn phân loại hình ảnh sử dụng CNN thì đầu vào
là một ảnh số, máy tính dựa vào các giá trị điểm ảnh sau đó đưa ra kết luận loại mà
bức ảnh thuộc về cho bài tốn phân loại, máy tính chỉ nhìn thấy bức ảnh như một

mảng của các giá trị điểm ảnh. Một bức ảnh thể hiện bởi ba thông số W, H, D trong
đó W là chiều rộng của ảnh, là số lượng điểm ảnh trên một hàng của ma trận ảnh,
còn H là chiều cao của ảnh, là số lượng điểm ảnh trên một cột của ma trận ảnh, D là
chiều hay còn gọi là độ sâu của ảnh, ví dụ một ảnh tạo bởi 3 kênh màu RGB và có
chiều cao là 6 và chiều rộng là 6 thì được kí hiệu là 6 × 6 × 3 ví dụ đối với ảnh có
kích thước dài và rộng như trên nhưng mà là ảnh một kênh màu, như ảnh xám được
kí hiệu là 6
3.5.142

× 6 × 1. Trong DL thì đầu vào đi qua một chuỗi các tầng CNN với các

bộ lọc. Kết hợp với các tầng gộp (Pooling) và kết nối đầy đủ (fully connected) và ở
tầng cuối áp dụng hàm Softmax để đưa ra xác suất mà đối tượng thuộc về lớp trong
bài toán phân loại. Dưới đây là luồng của mơ hình bài tốn phân loại sử dụng CNN

3.5.143
3.5.144
3.5.145

Hình 2.0.1 Mơ hình CNN sử dụng cho bài toán phân loại


3.5.146
3.5.147

Sau đây ta sẽ đi chi tiết về CNN
3.5.148

2.2 Convolution Layer – Tầng Tích Chập



2.3 Ở tầng Convolution là tầng đầu tiên giúp trích xuất đặc trưng của ảnh,
tầng Convolution trình bày mối quan hệ giữa các giá trị điểm ảnh bằng học các đặc
trưng ảnh, sử dụng các cửa sổ hình vng trên ảnh đầu vào. Để trích xuất đặc trưng
ảnh, sử dụng một phép tính tốn học với bộ lọc và ma trận điểm ảnh đầu vào.
2.4 Ví dụ: Về trích xuất đặc trưng của ảnh sử dụng tích
chập Một ma trận ảnh có chiều: h×w×d
2.5 Một bộ lọc có: fh × fw × d
2.6 Đầu ra một ma trận ảnh có chiều: (h-fh+1 ) × (w - fw +1 ) × 1
2.7

2.8
2.9
2.10 Hình 2.0.2 Nhân ma trận ảnh với bộ lọc
2.11
2.12 Ví dụ: Xem một ma trận có kích thước 5 × 5 và có giá trị các điểm ảnh là 0
hoặc 1, xét một bộ lọc có kích thước 3 × 3 .

2.13
2.14
2.15 Hình 2.0.3 Ma trận và bộ lọc
2.16
2.17 Sau đó thực hiện tính tích chập của ma trận 5 × 5 với ma trận bộ lọc 3 × 3. Sẽ
thu được một ma trận đầu ra gọi là 'Feature Map'


2.18
2.19
2.20
2.21


Hình 2.0.4 Kết quả thực hiện phép nhân

2.22
2.23 Tích chập của một ảnh với các bộ lọc khác nhau sẽ đưa ra các kết qủa khác
nhau, như phát hiện cạnh, làm mờ, làm sắc nét ảnh.
2.24
2.25

Hoạt động

2.27 Giữ nguyên
2.31
2.35
2.39

Phát hiện cạnh

2.43
2.47
2.51
2.55
2.59
2.63
2.67
2.71
2.75

Làm sắc nét


2.26
Bộ lọc
2.28 0 2.29 2.30 0
0
2.32 [0 2.33 2.34 0]
1
2.36 0 2.37 2.38 0
0
2.40 1 2.41 2.42 −1
0
2.44 [ 0 2.45 2.46 0 ]
0
2.48 −1 2.49 2.50 1
0
2.52 0 2.53 2.54 1
1
2.56 [1 2.57 2.58 1]

4
2.60 0 2.61 2.62 1
1
2.64 −1 2.65 2.66 −1

1
[−
2.68
2.69 2.70 −1]
1 8
2.72 −1 2.73 2.74 −1


1
2.76 2.77 2.78
0

0


2.79
2.83
2.87

Làm mờ

2.97
Làm mờ theo
Gaussian

2.107
2.108
2.109

Strides – Bước nhảy

1
[−
2.80
2.81 2.82 −1]
1 5
2.84 2.85 2.86
0


0
1
2.88 2.912.94 1
1 2.95 1]
1
1
2.89 2.922.96 1
1
9
[1
2.90 1 2.93
1
2.104
2.98 2.101
2 1
1
2.105
1 1 2.102
2.99 4 2]
6 [2 2.103
2.106
2.100 1 2 1
Bảng 2.1 Một số bộ lọc khác


2.110

Bước nhảy là số lượng của điểm ảnh được nhảy qua trên ma trận


đầu vào, khi bước nhảy là một thì chúng di chuyển bộ lọc một điểm ảnh sau mỗi
lần, khi bước nhảy là hai thì bộ lọc sẽ di chuyển qua hai điểm ảnh sau mỗi lần.

Hình 2.0.5 Đầu ra của ma trận có bước nhảy là hai
2.111Padding – Đệm
Thi thoảng bộ lọc không vừa với ảnh đầu vào, chúng ta sẽ có hai tùy chọn đó là:
• Đệm thêm các giá trị 0 vào viền sao cho vừa khít
• Bỏ đi phần của bức ảnh nếu bộ lọc khơng khít
2.112

Non Linearity (ReLU) – Phi tuyến tính

Hàm ReLu cho hoạt động phi tuyến tính, hàm được định nghĩa:
f (x ) = max (0, x )

Hình 2.0.6 Hoạt động của hàm ReLU

PT 0.1


×