được các kết quả sau đây:+ Hệ thống lại kiến thức về bài toán nhận diện văn bản trong ảnh và các hướng tiếp cận phổ biến hiện nay.. * Tìm hiểu và khảo sát các hướng áp dụng kiến trúc Tra
Trang 1KHOA KHOA HOC MAY TINH
LE QUANG HUNG
KHOA LUAN TOT NGHIEP
DANH GIA KIEN TRUC TRANSFORMER CHO BAI TOAN NHAN
DIEN VAN BAN TIENG VIET TRONG ANH
THE EVALUATION OF APPLYING TRANSFORMER
ARCHITECTURE TO VIETNAMESE SCENE TEXT
RECOGNITION
CỬ NHÂN NGANH KHOA HOC MAY TÍNH
TP HO CHi MINH, 2021
Trang 2KHOA KHOA HOC MAY TINH
LE QUANG HUNG - 18520797
KHOA LUAN TOT NGHIEP
DANH GIA KIEN TRUC TRANSFORMER CHO BAI TOAN NHAN
DIEN VAN BAN TIENG VIET TRONG ANH
THE EVALUATION OF APPLYING TRANSFORMER
ARCHITECTURE TO VIETNAMESE SCENE TEXT
RECOGNITION
CỬ NHÂN NGANH KHOA HOC MAY TÍNH
GIANG VIEN HUONG DAN
TS NGÔ ĐỨC THÀNHThS DO VĂN TIEN
TP HÒ CHÍ MINH, 2021
Trang 3Hội đồng chấm khóa luận tốt nghiệp, thành lập theo quyết định số
36/QD-DHCNTT ngày 17/01/2022 của Hiệu trưởng Trường Dai học
Công nghệ Thông tin.
| OO - Chủ tịch.
2 , 6P đo <6 - Thư ký.
3 ,ẾP, H HE - Uỷ viên.
Trang 4Đầu tiên, em xin chân thành cảm ơn TS Ngô Đức Thành, ThS ĐỗVăn Tiến, là hai người thầy đã tận tình hướng dẫn giúp đỡ em trong
những khó khăn của khóa luận, đưa ra những lời khuyên bổ ích không.chỉ áp dụng cho khóa luận mà còn là kim chỉ nam cho em sau này.
Đồng thời, em cũng cảm ơn các bạn tình nguyện viên thuộc câu lạc
bộ CS-UIT AI Club đã hỗ trợ em trong việc thu thập va gan nhãn dữ
liệu phục vụ cho quá trình huấn luyện và kiểm thử các mô hình
Cuối cùng, em cũng muốn gửi lời cảm ơn tới toàn thể thầy cô giáotrong Khoa Khoa học Máy tính, và những thầy cô đã giảng dạy em
trong thời gian học tập và rèn luyện tại trường Đại học Công nghệ Thông tin.
TP Hồ Chí Minh, tháng 12 năm 2021
Sinh viên thực hiện
Trang 5Bài toán nhận diện văn bản trong ảnh (Scene Text Recognition) có
vai trò rất quan trọng trong việc giúp máy tính có thể hiểu được thế
giới xung quanh con người thông qua việc nhận diện văn bản xuấthiện trong đời sống Bài toán nhận đầu vào là ảnh vùng chứa vănbản, sau đó xử lí và cho ra kết quả là nội dung văn bản đó Kết quảbài toán này có thể áp dụng vào nhiều ứng dụng thực tế như trong
các hệ lưu trữ và truy van hình ảnh, xe tự lái, robot tự hành,
Khó khăn lớn nhất của bài toán là việc nhận diện văn bản có hìnhdạng bất kỳ với sự đa dạng về hình dáng, phông chữ, màu sắc, kích
cỡ, Các nghiên cứu gần đây giải quyết vấn đề trên bằng cách nắn
thẳng văn bản hoặc phân đoạn kí tự, nhưng độ chính xác cũng nhưhiệu năng chưa cao Vì vậy, đã có những phương pháp khác tiếpcận theo hướng sử dụng kiến trúc Transformer dựa trên cơ chế Self-attention giúp mô hình có thể tự chú ý vào các phần khác nhau củaảnh để đưa ra dự đoán, giúp cải thiện được nhược điểm của các
phương pháp trước đó Ngoài ra, một thách thức khác của bài toán là
nhận diện những chữ có dấu trong ngôn ngữ tiếng Việt, việc nhằmlan dấu có thể gây ra sự sai khác về mặt ngữ nghĩa Các nghiên cứucủa bài toán trên tiếng Việt cũng rất hạn chế, nên việc nghiên cứu vàđánh giá bài toán nhận diện ngôn ngữ tiếng Việt là hết sức cần thiết
Vi vậy, khóa luận này đã tập trung nghiên cứu tổng về bài toán nhận
diện văn bản trong ảnh, khảo sát và đánh giá các phương pháp áp
Trang 6được các kết quả sau đây:
+ Hệ thống lại kiến thức về bài toán nhận diện văn bản trong ảnh
và các hướng tiếp cận phổ biến hiện nay
* Tìm hiểu và khảo sát các hướng áp dụng kiến trúc Transformer
vào bài toán nhận diện văn bản trong ảnh.
* Xây dựng bộ dữ liệu tiếng Việt cho bài toán nhận diện văn bản
trong ảnh với 110 nghìn ảnh trong tập huấn luyện và 10 nghìnảnh trong tập kiểm thử ở mức độ từ
¢ Đánh giá, phân tích và so sánh các phương pháp ASTER [1],
SCAN [2] ở hai hướng tiếp cận nắn thẳng văn bản, phân đoạn
kí tự với các phương pháp áp dụng Transformer là ViTSTR [3], SSCAN [4], VietOCR [5], TransformerOCR [6] Sau khi đánh
giá, các kết quả từ các phương pháp áp dung Transformer tỏ ravượt trội so với 2 phương pháp từ 2 hướng tiếp cận nắn thẳng
văn bản và phân đoạn kí tự Trong đó, phương pháp có độ chính
xác cao nhất là TransformerOCR với 82.35% và phương pháp
có tốc độ xử lí nhanh nhất là ViTSTR với 8.56 FPS
* Đạt giải nhì trong vòng chung kết cuộc thi Thử thách Trí tuệ
Nhân tạo HCM AI Challenge 2021 với chủ đề "Trí tuệ nhân tạo
cho nhận diện chữ tiếng Việt trong ảnh" nhờ sử dụng phương
pháp VietOCR ở bước nhận diện văn bản.
s Xây dựng ứng dụng web minh họa nhận diện văn bản trong ảnh.
Từ khóa: Nhận diện văn bản trong ảnh, Transformer, Vietnamese
Scene Text Recognition.
Trang 72 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.1 Bài toán nhận diện văn bản trong anh .
Trang 822.13 LópPoolng 15
2.2.1.4 Lớp chuẩn hóa (Normalization) 16
2.2.2 Phân đoạn ảnh (Image Segmentation) 17
2.2.3 HRNet: High-ResoluionNetwork 19
2.2.4 Mạng nơ-ron hồi quy (Recurrent Neural Network) 20
2.2.4.1 Kiến trúctổngquan 20
2.2.4.2 Cách hoạtđộngmạng 21
2.2.5 Long short term memory (LSTM) 22
22.5.1 Ýtưởng 2.00 ee eee 24 2.2.5.2 Cổng quên (Forgetgate) 26
2.2.5.3 Cổng vào (Inputgate) 26
2.2.5.4 Cổng ra (Outputgate) 27
2.2.6 Mô hình Sequence-to-Sequence 27
2.2.6.1 Kiếntrúctổngquan 27
2.2.6.2 Cơ chế giải mã với thuật toán Greedy Search 30 2.2.6.3 Cơ chế giải mã với thuật toán Beam Search 31
227 CơchếAttention 31
2.2.7.1 Cáchhoatđộng 32
2.2.7.2 Attention trong dich may 35
2.2.7.3 Attention trong mô tảảnh 36
2.3 Các hướng tiếp cận phổ biến cho bài toán nhận diện văn ban trongảnh ee ee 38 2.3.1 Hướng tiếp cận nắn thẳng văn ban (Rectification) 38
2.3.2 Hướng tiếp cận phân đoạn kí tự (Character Segmentation) 41 3 ÁP DỤNG KIÊN TRÚC TRANSFOMER CHO BÀI TOÁN NHAN DIỆN VĂN BẢN TRONG ẢNH 44 3.1 Tổng quan về kiến trúc Transformer - 44
vi
Trang 93.1.1 Kiến trúc tổng quan - 45
3.12 CơchếSelf-Atention 45
3.1.3 Mã hóa vị trí (Positional Encoding) 49
3.1.4 Cơ chế tập trung nhiều đầu (Multi Head Attention) 49
315 Bộmãhóa(Encode) 51
3.1.6 BO giải mã (Decoder) 51
3.2 Áp dụng kiến trúc Transformer để giải quyết bài toán nhận diện văn bản trongảnh ẶẶẶ 53 3.2.1 Hướng chi áp dung Transformer Encoder 54
3.2.2 Hướng chi ap dung Transformer Decoder 56
3.2.3 Hướng áp dung ca Transformer Encoder va Decoder 58
3.2.3.1 7 VietOCR 58
3.2.3.2 TransformerOCR 59
4 THỰC NGHIỆM VA DANH GIA 62 4.1 Xaydungtapditlidu 0.0 ee 62 4.1.1 Tổng quan quá trình xây dung 62
4.1.2 Thuthaéphinhanh 63
4.1.3 Gánnhãndữliệu 63
4.1.4 Cat và chon lọc các vùng ảnh chứa văn ban 64
4.1.5 Tổng hợp và tổ chức dữliệu 65
4.2 Các độ đo sử dụng trong khóa luận 66
4.2.1 Độ chính xác nhận diện (Accuracy) 66
42.2 S6frame/gidy (FPS) 67
5 XÂY DUNG UNG DUNG MINH HOA 70
5.1 Caidattngdung 2.2.2 ee ee 70
vii
Trang 105.11 Các thư viện yêucầu 70
5.12 Cách cài đặtvàsửdụng 71
5.2 Sơ đồ tổng quanứngdụng 71
5.3 Giaodiéntingdung 2 ee ee 72 5.4 Danhgidtngdung 000 73
6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 74
6.2 Hướng pháttriển 2.2 2 ee 75
Tài liệu tham khảo 76
viii
Trang 111.2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
Input va output của bai toán nhận diện văn bản trong anh 2
Thách thức về sự da dạng của văn bản trong ảnh 3
Phân loại văn bản xuất hiện trongảnh 7
So sánh bài toán OCR trong văn bản scan và bài toán nhận diện văn bản cảnh Ặ Ặ che 8 Minh họa tích chập của một anh RGB va ma trận kernel 10
Mô phỏng quá trình tích chập trongCNN 12
Vi dụ kết quả tính toán tích chập trong hình ảnh 13
Mô phỏng phép tính ReLU 14
Mô phỏng quá trình tính Max-pooling 15
Minh họa áp dung Pooling từ lóptíhchập 16
Vi dụ về phân đoạn ảnh ngữ nghĩa 18
Vi dụ về phân đoạn ảnh đối tượng 19
Tổng quan kiến trúc mạng HRNeL 20
Kiến trúc mangRNN 20
Dữ liệu được vector hoá và đưa vào mô hình xử lý lần lượt từng =5 21
Quá trình tính trang thái ẩn củaRNN 22
Mô hình cấu trúc mạng hồi quy đơn gian(RNN) 23
Mô hình cấu trúc mạng hồi quy Long short term memory(LSTM) 23
ix
Trang 122.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
2.27
2.28
2.29
2.30
2.31
2.32
2.33
2.34
2.35
2.36
3.1
3.2
3.3
Một số ký hiệu trong sơ đồ kiến trúc mạng LSTM 24
Trang thái tế bào(Cell state) trong mang LSTM 24
Kiến trúc mang Long short term memory 25
Cổng quên trong kiến trúc mạngLSTM_ 26
Cổng vào trong kiến trúc mang LSTM 27
Cổng ra trong kiến trúc mạngLSTM 27
Kiến trúc tong quan của mô hình Sequence-to-Sequence 28
Sơ đồ tổng quát của một mô hình Attention 33
Tính toán các mj, với Wem và Wym là các ma trận trọng số tương ứng của context c và đầu vào yi 33
Tính toán các trọng số Attention, với wy là ma trận trọng số của m 2⁄2 Le _- \ 1J 34
Tính toán các trọng số Attention 34
Mô hình Attention trong dich may 35
Trực quan hóa Attention - 36
Mô hình mô tả ảnh cơbản 37
Attention trong mô tảảnh 38
Tổng quan các bước xử lícủaASTER 39
Ví dụ ảnh khi biến đổi TPS 40
Tổng quan mạngSTN 4I Kiến trúc mô hình SCAN 42
Hai giai đoạn huấn luyện của SCAN: a) Giai đoạn huấn luyện da tác vụ với hai độ lỗi là L„ và Ly; b) Giai đoạn huấn luyện mức từ với độ lỗi „ ee 43 Kiến trúc Transformer 46
Vi dụ trực quan hóa của Self-atteion 47
Quá trình tinh toán vector attention 48
Trang 133.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
41
4.2
4.3
4.4
4.5
5.1
5.2
Quá trình tính toán vector attention với nhiều đầu 50
Các thành phần trong bộ mã hóa của Transformer 52
Các thành phan trong bộ giải mã của Transformer 53
Tổng quan về mô hình ViTSTR 54
Transformer Encoder được sử dụng trong VITSTR 55
Tổng quan mô hình SSCAN - 57
Module decoder 2 chiều của mô hình 58
Tổng quan mô hình VieOCR 59
Tổng quan về mô hình TransformerOCR cho bài toán nhận diện văn bản trong ảnh ẶẶẶ eee 60 Công cụ VGG Image Annotator dùng để gán nhãn dữ liệu 64
Những loại ảnh sẽ bị loại bỏ khỏi tập dữ liệu 64
Minh họa nhãn của tập dữ liệu huấn luyện 65
Minh họa một số ảnh trong tập dữ liệu 66
So sánh một số kết quả của các phương pháp 69
Sơ đồ tổng quan ứng dung - 72
Minh họa kết quả chạy thử 73
xi
Trang 144.1 Kết quả đánh giá trên bộ dif liệu tiếng Việt đã thu thập, Enc và
Dec lần lượt tượng trưng cho việc áp dụng Transformer Encoder
va Decoder 7.07 @Œ%A
xii
Trang 15Từ việt tat | Nội dung
DL Deep Learning
CNN(s) Convolutional Neural Networks
RNN Recurrent Neural Network LSTM Long Short Term Memory Conv Convolution
ANNG) Artificial Neural Networks
SIFT Scale-invariant feature transform HoG Histogram of Gradient
xiii
Trang 16TỔNG QUAN
1.1 Đặt van đề
Van bản là một trong các loại thông tin đã tồn tại từ rất lâu trong lịch sử loàingười Ngày nay, với sự phát triển của khoa học công nghệ và xã hội, thông tinvăn bản càng thể hiện vai trò không thể thiếu khi xuất hiện dường như ở mọi
nơi trong đời sống sinh hoạt hằng ngày như trên các biển hiệu, biển quảng cáo,
nhãn hiệu sản phẩm, biển báo giao thông, Do đó, trong lĩnh vực thị giác máy
tính, bài toán nhận diện văn bản trong ảnh đang thu hút rất nhiều sự quan tâmcủa cộng đồng nghiên cứu trên thế giới Bài toán có vai trò rất quan trọng trongviệc giúp máy tính có thể hiểu được thế giới xung quanh con người thông quaviệc nhận diện văn bản xuất hiện trong đời sống Kết quả của bài toán có thể ápdụng vào nhiều ứng dụng thực tế như dịch thuật qua hình ảnh, xe tự lái, robot tự
hành,
Hiện nay, bài toán nhận diện văn bản trong ảnh đang đối mặt với rất nhiều
thách thức về sự đa dạng của văn bản như phông chữ, kích thước, màu sắc, vàcủa các yêu tố ngoại cảnh như bi che khuất, mờ, thiếu sáng, Ngoài ra, văn bản
trong đời sống thường xuất hiện với nhiều hình dạng khác nhau như thẳng, cong,
xiên, uốn lượn, gây khó khăn cho quá trình nhận diện (Hình 1.2) Các phương
Trang 17pháp gần đây thường giải quyết vấn đề trên bằng cách nắn thẳng văn bản đầu
vào, nhưng nếu việc nắn thẳng không đủ tốt có thể ảnh hướng đến kết quả quá
trình nhận diện Bên cạnh đó, còn có một số phương pháp dựa vào việc phân
đoạn kí tự rồi kết hợp thành từ đầu ra, tuy nhiên hướng giải quyết này thường tốnnhiều công sức ở việc gán nhãn dữ liệu mức kí tự và thường có tốc độ xử lí khôngcao Do đó, nhằm giải quyết các thách thức về hình dạng văn bản, đã có nhữngphương pháp sử dụng kiến trúc Transformer dựa trên cơ chế Self-Attention giúp
mô hình có thể chú ý vào các phần khác nhau của văn bản trong ảnh để đưa ra
dự đoán giúp khắc phục nhược điểm của các hướng tiếp cận khác Ngoài ra, đểnhận diện tốt văn bản tiếng Việt, các phương pháp cần phải nhận diện tốt dầucủa từ, vì chỉ cần nhầm lẫn một dấu thì từ dự đoán có thể mang nghĩa khác với từxuất hiện trong ảnh Vì vậy, mục tiêu của tôi trong khóa luận này là nghiên cứu
và đánh giá các phương pháp nhận diện văn bản tiếng Việt trong ảnh sử dụngkiến trúc Transformer với đầu vào và đầu ra của bài toán này là:
* Đầu vào (Input): Hình ảnh chứa văn bản
* Đầu ra (Output): Nội dung văn bản có trong hình
Input Output
Hình 1.1: Input va output của bài toán nhận diện van ban trong ảnh
Trang 18Hình I.2: Thách thức về sự đa dạng của văn bản trong ảnh
1.2 Mục tiêu và phạm vi
1.21 Mục tiêu
Nhóm tập trung giải quyết bài toán nhận diện văn bản tiếng Việt có trong
hình ảnh áp dụng kiến trúc Transformer Để hoàn thành công việc, nhóm đã đề
phương pháp tiếp cận bài toán
* Cài đặt, hiện thực, đánh giá kết quả của một số phương pháp trên tập dữ
Trang 19liệu đã xây dựng dựa trên độ đo tiêu chuẩn của bài toán nhận diện văn bản
* Tập trung giải quyết bài toán nhận diện nội dung văn bản trong ảnh trên
ngôn ngữ tiếng Việt
* Thực hiện việc đánh giá các phương pháp áp dụng kiến trúc Transformer
là ViITSTR [3], SSCAN [4], VietOCR [5] và TransformerOCR [6] với 2
phương pháp ASTER [1], SCAN [2] đại diện cho 2 hướng tiếp cận nắn
thẳng văn bản và phân đoạn kí tự trên bộ dữ liệu đã xây dựng gồm 110
nghìn ảnh huấn luyện và 10 nghìn ảnh kiểm thử
1.3 Đóng góp của khóa luận
Sau đây là một số đóng góp mà nhóm thực hiện có được sau quá trình thựchiện khóa luận:
+ Hệ thống lại cơ sở lý thuyết và tổng quan về các hướng tiếp cận của bài
toán nhận diện văn bản trong ảnh phổ biến hiện nay
* Xây dựng được một tập dữ liệu đủ lớn về hình ảnh chứa nội dung chữ viếttiếng Việt, bao gồm 110 nghìn ảnh huấn luyện và 10 nghìn ảnh kiểm thửđược thu thập từ đời sống thường ngày ở Việt nam phục vụ cho bài toán
nhận diện văn bản tiếng Việt trong ảnh
Trang 20* Đánh giá và so sánh các phương pháp sử dụng kiến trúc Transformer sovới các phương pháp tiên tiến hiện nay trên bộ dữ liệu tiếng Việt đã xây
dựng.
» Xây dựng ứng dung web để nhận diện, rút trích nội dung văn bản tiếng
Việt có trong ảnh.
1.4 Cấu trúc khóa luận
Chương 1: Giới thiệu tổng quan đề tài
Chương 2: Trình bày cơ sở lý thuyết và tổng quan về bài toán nhận diện văn
bản trong ảnh.
Chương 3: Trình bày tổng quan về kiến trúc Transformer và các hướng áp
dụng vào bài toán nhận diện văn bản trong ảnh.
Chương 4: Trình bày quá trình xây dựng bộ dữ liệu tiếng Việt và kết quả sosánh giữa các phương pháp trên bộ dữ liệu đã xây dựng.
Chương 5: Trình bày cách xây dựng ứng dụng và tổng quan về ứng dụngminh họa.
Chương 6: Trình bày kết luận và hướng phát triển của đề tài
Trang 21CƠ SỞ LÝ THUYET VÀ CÁC
NGHIÊN CỨU LIÊN QUAN
Để hiểu rõ bài toán nhận diện văn văn bản trong ảnh, ta cần làm rõ các kháiniệm liên quan, đồng thời tìm hiểu một số phương pháp tiếp cận hiện nay Vìvậy, trong chương này, sinh viên thực hiện sẽ giới thiệu một số khái niệm cơ bảnđồng thời khảo sát các hướng tiếp cận để giải quyết bài toán
2.1 Bài toán nhận diện van ban trong ảnh
Van bản có thể xuất hiện khác nhau trong ảnh Hình 2.1 cho thấy các cách
phân loại điển hình Ví dụ, nếu được phân loại theo hình thức của văn bản thì sẽ
có hai loại cơ bản là chữ viết tay và chữ in Nhận diện văn bản viết tay gặp nhiềuthách thức hơn so với nhận diện văn bản in vì các kiểu chữ viết tay rất đa dạng
và các kí tự còn dễ bị chồng lấp lên nhau Ngoài ra, tùy thuộc vào ngôn ngữ,văn bản xuất hiện trong ảnh có thể bao gồm các ký tự khác nhau như kí tự tiếng
Latinh, kí tự tiếng Trung hoặc kí tự tiếng Việt Các đặc điểm của văn bản, chẳng
hạn như thể loại văn bản và thứ tự đọc, rất khác nhau trong các ngôn ngữ khác
nhau Theo định nghĩa trong [7], văn bản trong hình ảnh cũng có thể được chia
Trang 22thành văn bản đồ hoa và văn bản cảnh Văn bản đồ hoa là các dạng văn bản đượcthêm vào bằng kỹ thuật số dưới dạng lớp phủ trên video hoặc hình ảnh Còn văn
bản cảnh là văn bản nằm trên các vật thể xung quanh ta, được chụp hoặc ghi
hình lại trong môi trường gốc của nó Văn bản cảnh có các kiểu đa dạng và cóthể xuất hiện trên bất kỳ bề mặt nào, điều này làm cho việc phân biệt văn bảnvới background trở nên khó khăn Trong khóa luận này, sinh viên chủ yếu tậptrung vào dữ liệu văn bản cảnh xuất hiện trong ảnh
Chữ viết tay
Hình thức {
Chữ in Chữ tiếng Anh
Ngôn ngữ Chữ tiếng Việt
Văn bản đồ họa
Cách tạo ra
Văn bản cảnh
Hình 2.1: Phân loại văn bản xuat hiện trong ảnh
Bài toán nhận diện văn bản trong hình ảnh cảnh tự nhiên, còn được gọi là
nhận diện văn bản cảnh, thường được coi là một dạng đặc biệt của bài toán nhận
diện ký tự quang học (OCR) Mục tiêu của bài toán nhận diện văn bản cảnh là
đọc nội dung văn bản xuất hiện trong ảnh chứa văn bản đã được cắt ra từ ảnh gốc Có hai loại văn bản cảnh trong tự nhiên là văn bản thẳng và văn bản có hình
dang bat kỳ Hiện nay, có ba hướng tiếp cận phổ biến được dùng để giải quyếtbài toán: dựa vào việc nắn thẳng văn bản, dựa vào phân đoạn kí tự hay văn bản,dựa vào cơ chế attention Các hướng tiếp cận này sẽ được trình bày chỉ tiết ở
phần sau của chương Mặc dù các phương pháp OCR trong các tài liệu scan đã
Trang 23được phát triển tốt [8], [9], bài toán nhận diện văn bản cảnh vẫn còn nhiều thách thức vì nhiều yếu tố, chẳng hạn như nền phức tạp, nhiều phông chữ khác nhau
và điều kiện ánh sáng không hoàn hảo Hình 2.2 so sánh các đặc điểm của nhậndiện văn bản cảnh và OCR trong các tài liệu scan.
OCR trong các tài liệu scan Nhận diện văn bản cảnh
Ảnh ban đầu
TTEM/DESP | QTY U.PRICE RM(T0TAL )
Ảnh đối tượng văn bản cần nhận diện
0.00] [CROCS 3007 TUBES) [INVOICE]
|
CHANGE] [ROUNDING ADJUSTMENT [20.0 E6 „ Z4
Hình 2.2: So sánh bài toán OCR trong văn bản scan và bài toán nhận diện văn bản cảnh
» Nền: Không giống như OCR trong tài liệu scan, văn bản trong cảnh tựnhiên có thể xuất hiện trên bất kỳ thứ gì (ví dụ: biển hiệu, tường hoặc bao
bì sản phẩm) Do đó, hình ảnh văn bản cảnh có thể chứa ảnh nền rất phức
tạp Hơn nữa, kết cầu hoặc màu sắc của nền có thể tương đồng với văn bản
một cách trực quan, điều này gây ra những thách thức không nhỏ cho việc
nhận diện.
» Hình thức: Van bản trong tài liệu scan thường được in một màu với phông
chữ thông thường, kích thước phù hợp và sắp xếp một cách thống nhất.
Trong cảnh tự nhiên, văn bản xuất hiện với nhiều màu sắc và phông chữ
Trang 24đa dạng, kích thước và các hướng khác nhau Sự đa dạng của văn bản cảnh làm cho việc nhận diện khó khăn và thách thức hơn so với OCR trong các tài liệu scan.
* Nhiễu: Văn bản trong cảnh tự nhiên thường bị biến dang do nhiễu, chẳng
hạn như ánh sáng không đồng đều, độ phân giải thấp và nhòe do chuyểnđộng Điều kiện hình ảnh không hoàn hảo cũng phần nào gây ra cho việc
nhân diện thiếu chính xác
* Hình dạng: Văn bản scan thường nằm ở phía trước và chiếm phần chính
của hình ảnh Tuy nhiên, văn bản cảnh được chụp ngẫu nhiên, dẫn đến các
chữ có thể bị biến dạng bất thường Các hình dạng khác nhau của văn bản
làm tăng tính phức tạp của việc nhận diện các ký tự và các chuỗi văn bản.
2.2 Các kiến thức cơ sở
2.2.1 Mạng nơ-ron tích chap (Convolutional Neural Network)
M6 hinh mang no-ron tich chap (Convolutional Neural Network hay CNN)
là một mô hình mạng của Deep Learning cho kết quả tốt nhất trong việc giải
quyết các bài toán của thị giác máy tính Mô hình mạng là một mô hình ron nhân tao mô phỏng theo cấu trúc tổ chức của não động vật Vào năm 1968,Hubel và Wiesel có một paper được công bố, Receptive Fields and FunctionalArchitecture of Monkey Striate Contex [10], nói về cách hoạt động của não loài
nơ-khỉ Não của khỉ có cấu trúc phức tạp Tuy nhiên, ở đó tác giả paper đã phát hiện
ra một vùng tiếp nhận (receptive fields) có chức năng phát hiện ra các vùng ánhsáng để hiển thị thành đốm hoặc mẫu ánh sáng của các vật thể Đồng thời, các
hình ảnh cũng được đi qua từng trường, mỗi trường có một cách xử lý hình ảnh
ban đầu theo cách riêng, và các trường này liên kết với nhau Hình ảnh đi quacác trường cũng lần lượt được xử lý tuần tự Từ ý tưởng đó, mô hình CNN cũng
Trang 25được xây dựng chứa nhiều perceptron với những kêt nối giữa các layer với nhau.
Nhìn chung CNN là một mô hình mạng ANN truyền thẳng với kiến trúc chính
gồm nhiều thành phần được ghép nối với nhau theo cấu trúc các layer cơ bảnsau: Convolution, Pooling (Subsampling), ReLU Bên cạnh đó còn có các layerphụ như Batch Normalization, Drop out Phần tiếp theo sẽ trình bày chỉ tiết về
Trước khi di vào layer Convolution, chúng ta di vào phép tích chập
(Con-volution) Phép tích chập là phép tính dựa trên hai ma trận hai chiều cùng kích
thước, bằng cách tính tổng của các tích giữa những vị trí tương ứng trên hai ma
trận.
Layer Convolution là layer quan trọng nhất trong mô hình mạng CNN Layerdựa trên việc tính các giá trị tích chập để trích xuất ra các feature từ dữ liệu Vớimột ảnh đầu vào kích thước mxm, ta sẽ chọn ra một ma trận kernel nxn (thườngnhỏ hơn ma trận input) Ta cho ma tran kernel trượt trên ma trận input, mỗi lầntrượt ta thực hiện việc tính tích chập ta thu được một kết quả Kết quả này là giá
?https://aivietnam.ai/wp-content/uploads/2019/07/chap9_zz_3.png
10
Trang 26trị của một pixel trong ma trận output Khi trượt hết ma trận kernel trên ma trận
input ta được ma trận output có kích thước nhỏ hơn hoặc bằng kích thước của
ma trận input.
Khi áp dụng phép tính Conv cho xử lý hình ảnh, Người ta nhận thấy rằngConv sẽ giúp biến đổi các thông tin đầu vào thành các yêu tố đặc trưng (nótương tự như bộ phát hiện nhằm phát hiện ra các đặc trưng như cạnh, hướng, ).Hình 2.3 minh họa cho việc áp dụng phép tính Conv trên ảnh và cho ra kết quả
là một feature map Cụ thể hơn, Conv sẽ trích xuất đặc trưng của ảnh đầu vào
qua các vùng ảnh nhỏ Các vùng này được gọi là Local Receptive Field (LRF).
Tích chập sẽ tính toán trên các LRF chong lấp lên nhau Độ chồng lắp này phụthuộc vào hệ số trượt S (stride) của từng kiến trúc mạng cụ thể Nếu sử dụng
với hệ số trượt S = a, thì tương ứng LRF (bằng kích thước với kernel) sẽ dịch
chuyển œ đơn vị pixel sau mỗi lần tích chập
Ảnh đầu vào sau khi thực hiện quá trình tích chập sẽ thu được feature map,
số LRF ở ảnh đầu vào sẽ tương ứng với số nơ-ron ở feature map và kernel sẽ làtrọng số liên kết mỗi LRF với một nơ-ron ở feature map Lớp conv có thể chứamột hoặc nhiều feature map Nếu lớp conv có K feature map, thì ta nói lớp convnày có độ sâu là k Để hình dung rõ hơn về quá trình này, sau đây sẽ minh họaquá trình trích xuất đặc trưng từ ảnh đầu vào cụ thể như sau: thực hiện xử lý tínhgiá trị đầu ra của một ảnh có kích thước W; x Hy x Dy (W và Hy lần lượt là chiềurộng và chiều cao của ảnh và D, là chiều sâu hay thực chất là giá trị tại 3 kênh
màu tương ứng của ảnh RGB) khi đó, một Conv như một cửa số trượt (slidingwindow, còn được gọi là kernel, filter hay feature detector) với kích thước F x F
- giả sử trong trường ta sử dung K filter Trong quá trình xử lý, mỗi filter sé được
tính toán với tất cả các LRF trong hình và S = ơ Trong một số trường hợp dé
cân bằng giữa số bước di chuyển và kích thước của ảnh, người ta đã chèn thêm P
pixel với một giá trị màu được gán (thông thường là 0) xung quanh viền của ảnh.sau cùng ta thu được ma trận đầu ra (feature map) với kích thước W2 x Hạ x Dạ
11
Trang 27với giá trị cụ thể như sau:
“Wea (Wi=F+2P) 41
wy = EAP) 4
Điểm ảnh đầu
Hình 2.4: Mô phỏng quá trình tích chập trong CNN (nguồn: miro.medium.com)
Giá trị tại mỗi ô trong ma trận filter có kích thước là (F x F x Dj) + 1 (cộng
một ở đây là tham số ngưỡng của filter) sẽ tương ứng là trọng số của filter Các
giá trị này sẽ không đổi trong suốt quá trình dịch chuyển tính toán trên toàn bộ
hình ảnh Đây là một đặc tính quan trọng của CNN, bởi nó làm giảm thêm trọng
số cần học cho quá trình huấn luyện mạng Qua đó, ta có thể ước tính tổng sốtham số cần học trong quá trình sử dung Conv là (F x F x Dị) x K+K (6 đâycộng thêm k tham số ngưỡng của k filter)
Áp dụng vào ví dụ cụ thể ở hình 2.5, đầu vào là một ảnh màu với kích thước
(32 x32 x3) (W, = Hị = 32 và Dị = 3 chỉ giá trị của các kênh màu RGB) Với
số lượng filter K = 6, trong đó mỗi filter có kích thước (5 x 5 x 3) F = 3 với
3https://miro.medium.com/max/3900/1*p-_47puSuVNmRJnOXYPQCg.png
12
Trang 28bước di chuyển § = 1 và P = 0 Tương ứng với mỗi filter, ta thu được 6 feature
map khác nhau ở đầu ra Trong đó:
° WW) = 23+1=28
Wj = 22+1=28
* Di =6
Mỗi nơ-ron trong một feature map sẽ có số tham số là (F x F x Dị) = 5 x
5 x 3 + 1 nếu không sử dung tính chất shared weights thì tổng số tham số trong
mạng cần phải học cho tat cả các feature map là (28 x 28 x 6) x (5 x 5 x 3+ 1) =
357504 (tham số) Mặc dù con số đó đã nhỏ hơn nhiều so với việc không sử dụng
Conv nhưng con số trên van lon hơn rất nhiều so với (F x F x Dị)xK+K=
(5x5 x3) x6+6 = 456 (tham số) khi sử dung shared weights
32
28 Độc Sx5x3
32 28
Hình 2.5: Ví dụ kết quả tính toán tích chập trong hình ảnh (nguồn:
leonardoaraujosan-tosŠ).
Nói tóm lại, Việc sử dụng Conv có những ưu điểm sau:
* Giảm số lượng tham số: trong mang ANN truyền, mỗi nơ-ron ở lớp trước
sẽ liên kết tới tất cả các neural ở lớp kế tiếp (fully connected) Dẫn đến
tình trạng số lượng các tham số trong mạng rất lớn Đây là nguyên nhân
chính gây việc thời gian huấn luyện mạng rất lâu Với việc sử dung Conv,
Shttps://leonardoaraujosantos gitbooks.io/artificial-inteligence/content/convolutional_neural_networks.html
Trang 29cho phép chia sẻ trọng số liên kết (shared weights), cũng như sử dụng LRE
giúp cho số lượng các tham số trong mạng giảm đi đáng kể
* Các tham số trong quá trình sử dung Conv hay các giá trị trong các filter
sẽ được học trong quá trình huấn luyện mạng Sau quá trình tính toán, ta
sẽ thu được các thông tin đặc trưng như góc, cạnh, đốm màu trong ảnh,
Chính vì thé, Conv còn có vai trò xây dựng mô hình tự học ra các đặc
trưng.
2.2.1.2 Lớp kích hoạt (Activation)
Rectified Linear Units (ReLUs)
Hình 2.6: Mô phỏng phép tinh ReLU (Nguồn: deep-learning-stm-6°).
Là layer tiếp theo sau layer convolution, nhiệm vụ chính của layer này là biến
đổi các giá trị âm của feature map từ layer trước thành các giá trị không Việc
này giúp cho quá trình học các trọng số bị mắc kẹt tại giá trị không hoặc vô cực.Việc tránh các giá trị không này khá hữu ích vì khi gặp phải vấn đề này, việc
Shttps://www.slideshare.net/Tricode/deep-learning-stm-6
14
Trang 30huấn luyện mạng sẽ bị chậm hơn thông thường Bên cạnh đó, còn góp phần vàoviệc tránh tình trạng overfitting ở quá trình huấn luyện.
Có các hàm số khác được sử dụng để đánh giá hiệu năng so với hàm ReLUnhư hàm Sigmoid, Tanh, Tuy nhiên, các hàm số tính toán chậm hơn so vớiReLU và thêm vào đó độ chính xác khi sử dụng các hàm số này không khác biệtlắm so với hàm ReLU Chính vì vậy, hàm ReLU được sử dụng chính cho việctính toán tham số thay vì chọn các hàm số kia
2.2.1.3 Lớp Pooling
Lớp Pooling được sử dụng sau lớp ReLU theo như mẫu thiết kết các lớp theonhư trình bày của đại học Standford 7 Pooling giúp cho mạng giảm số lượng
tham số, từ đó giúp đơn giản hóa quá trình tính toán của CNN và qua đó góp
phần giải quyết vấn đề overfiting khi huấn luyện mạng
Có nhiều toán tử pooling như Sum-pooling, Max-pooling, L2-pooling nhưngMax-pooling được sử dụng phổ biến nhất trong kiến trúc mạng CNN vì nó chokết quả hơn so với những toán tử còn lại
Trang 31Ngoài ra, Max-pooling còn giúp tao ra tính bat biến dịch chuyển (translationinvariance) cho đặc trưng Cụ thể, dù đối tượng trong hình ảnh đầu vào có sự
dịch chuyển nhỏ thì mạng vẫn có khả năng phân lớp chính xác được đối tượng
Đó là bởi vì max-pooling chọn ra nơ-ron có giá trị đầu ra tối ra tại mỗi vùngnơ-ron của lớp trước và tổng hợp thành lớp sau Việc chọn nơ-ron có giá trị tínhiệu lớn nhất được xem như chọn ra đặc trưng tốt nhất để xử lý Chính vì thế,khả năng phân lớp chính xác đối tượng dựa trên đặc trưng này vẫn không thay
đổi và giúp cho CNN đạt được tính ổn định khi đối tượng di chuyển
Trong lớp Cony, có thể có nhiều feature map, tương ứng với mỗi feature map
sẽ có một lớp max-pooling Hình 2.8 là một ví dụ minh họa, với lớp đầu vào
kích thước [28 x 28] gia sử ta thu được ba feature map kích thước [24 x 24] và
ba lớp max-pooling kích thước [12 x 12], ta sử dung kernel kích thước [5 x 5] và
max-pooling lấy giá trị lớn nhất tại mỗi vùng [2 x 2] nơ-ron
Tích chập + ReLU MaxPooling
Hình 2.8: Minh họa áp dụng Pooling từ lớp tích chập (nguồn: Internet!9),
2.2.1.4 Lớp chuẩn hóa (Normalization)
Lớp chuẩn hóa (Normalization hay Norm) là lớp giúp chuẩn hóa dữ liệu đầu
ra cho các lớp trong CNN trước khi được truyền đi tiếp Trong những kiến trúc
10https://zhuanlan.zhihu.com/p/32213237
16
Trang 32CNN lớn và phức tạp, lớp Norm sẽ chuẩn hóa các giá trị nơ-ron trước khi chúng
được truyền đến hàm ReLU Hàm ReLU tuy giúp rút ngắn thời gian huấn luyện,
nhưng nếu không điều chỉnh trọng số phù hợp, hàm ReLU sẽ rất dễ gặp phải vấn
đề "dying ReLU" khiến cho mạng trở nên chậm hơn khi huấn luyện Lớp Norm
lúc này sẽ chuẩn hóa và tạo ra các giá trị tích chập phù hợp để tránh cho ReLU
rơi vào giá trị 0 Tránh việc gradient x4p xỉ bằng 0 khiến cho tốc độ học củamạng trở nên rất chậm
2.2.2 Phân đoạn ảnh (Image Segmentation)
Image Segmentation (Tam dich là phân đoạn ảnh) là quá trình chia một
bức ảnh số thành nhiều phần khác nhau(Tập hợp điểm ảnh, hay có thể gọi là
superpixels) Mục tiêu của phân vùng ảnh là để đơn giản hoá hoặc thay đổi biểu
diễn của một tắm ảnh vào điều gì đó có ý nghĩa hơn và dé dang phân tích Phânvùng ảnh thường được sử dụng để xác định ví trí các đôi tượng, đường biên cụthể của đối tượng, hay nói cách khác phân vùng ảnh là quá trình gán nhãn cho
mỗi điểm ảnh(assigning a label) trong một bức ảnh, các điểm ảnh trong cùng
một nhãn sẽ có những đặc trưng giống nhau về màu sắc, cường độ hoặc kết cấu.Các vùng lân cận thì khác nhau đáng kể về các đặc trưng trên
Phân đoạn ảnh có hai loại là:
¢ Phân đoạn ảnh ngữ nghĩa (Semantic Segmentation)
Mục đích chỉnh của phân đoạn ảnh ngữ nghĩa là gán nhãn cho từng điểmảnh có trong hình ảnh với từng lớp tương ứng mà chúng biểu diễn(Hình2.9).
Đầu ra của phân đoạn ảnh ngữ nghĩa không chỉ là nhãn của tim hình vàbounding box cho đối tượng trong hình Bản thân đầu ra của phân đoạn ảnhngữ nghĩa là một tắm hình thường có kích thước đúng bằng kích thường
17
Trang 33hình ảnh đầu vào với mỗi điểm ảnh được phân vào một lớp cụ thể Hay nóicách khác, phân đoạn ảnh ngữ nghĩa chính là phân loại hình ảnh cấp độ
Person
Bicycle
Background
Hình 2.9: Ví dụ về phân đoạn ảnh ngữ nghĩa (Nguồn Internet!)
» Phân đoạn ảnh đối tượng (Instance Segmentation)
Tương tự như phân đoạn ảnh ngữ nghĩa, phân đoạn ảnh đối tượng cũng
gán nhãn cho từng điểm ảnh có trong hình ảnh với từng lớp tương ứng màchúng biểu diễn Tuy nhiên, phân đoạn ảnh đối tượng còn phân lớp cho
từng đối tượng trong cùng một lớp hay nói cách khác là phân đoạn ảnh đốitượn sẽ phân biệt các đối tượng trong cùng một lớp Ví dụ trong hình 2.10
có 3 người, nói một cách khác là có 3 đối tượng thuộc lớp "Con Người".Đối với phân đoạn ảnh ngữ nghĩa sẽ chia 3 đối tượng này thuộc cùng mộtlớp và nền phía sau thuộc một lớp khác, tuy nhiên trong phân đoạn ảnh đốitượng, 3 đối tượng đó được phân loại là khác biệt nhau và được thể hiệnbằng 3 màu khác nhau ở đầu ra
' hetps://www.mdpi.com/1424-8220/19/9/1985/htm
!2https://www.slideshare.net/xavigiro/instance-segmentation-mriam-bellver-upc-barcelona-2018
18
Trang 342.2.3 HRNet: High-Resolution Network
HRNet (High-Resolution Network) được dé xuất bởi Jingdong Wang và cácđồng nghiệp [11], là một mang nơ-ron tích chập được thiết kế cho các tác vụ
phân đoạn ảnh ngữ nghĩa, phát hiện đối tượng hay phân loại nảnh HRNet duy
tri các đặc trưng độ phân giải cao trong toàn bộ quá trình Bắt đầu từ luồng tíchchập có độ phân giải cao, sau đó thêm dan từng luồng tích chập có độ phân giảicao đến thấp và kết nối song song với các luồng đa độ phân giải Mạng HRNetcuối cùng bao gồm một số giai đoạn (bốn giai đoạn trong thiết kế hiện tại) nhưđược mô tả trong hình 2.11, với giai đoạn thứ n chứa n luồng tương ứng với n độ
phân giải Tác giả tiền hành hợp nhất nhiều độ phân giải bằng cách trao đổi các
thông tin qua các giữa các luồng song song lặp đi lặp lại
Các đặc trưng độ phân giải cao học được từ HRNet không chỉ mạnh về mặtngữ nghĩa mà còn chính xác về mặt không gian Điều này xuất phát từ hai khíacạnh Đầu tiên, cách tiếp cận của tác giả kết nối các luồng tích chập có độ phângiải cao đến thấp song song thay vì nối tiếp Do đó, cách tiếp cận của HRNet có
thể duy trì độ phân giải cao thay vì khôi phục độ phân giải cao từ độ phân giải
thấp và cách biểu diễn đã học được tương ứng chính xác hơn về mặt không gian.Thứ hai, hầu hết các sơ đồ hợp nhất hiện có đều tổng hợp các đặc trưng cấp thấp
có độ phân giải cao và độ phân giải thấp được phóng to Thay vào đó, tác giả lặplại các kết hợp đa độ phân giải để tăng cường các đặc trưng độ phân giải cao với
19
Trang 35sự trợ giúp của các đặc trưng có độ phân giải thấp và ngược lại Kết quả là, tất
cả các đặc trưng độ phân giải từ cao đến thấp đều mạnh hơn về mặt ngữ nghĩa
§-“mm nnmn
Hình 2.11: Tổng quan kiến trúc mạng HRNet
2.2.4 Mạng nơ-ron hồi quy (Recurrent Neural Network)
Mô hình mang nơ-ron hồi quy (Recurrent Neural Network hay RNN) là một
mô hình mang Deep Learning dùng trong xử lý thông tin dạng chuỗi Mạng
RNN dựa trên mạng ANN truyền thống, tuy nhiên khác với mạng ANN truyềnthống là đầu vào và đầu ra độc lập với nhau thì trong RNN đầu ra của mạng
phụ thuộc vào các phép tính trước đó Nói cách khác, mạng RNN có thể nhớ các
thông tin được tính toán trước đó.
Trang 36Trong đó:
* xị là đầu vào tại bước t
+ s¿ là trạng thái ẩn tại bước t Nó cũng chính là bộ nhớ của mạng s; được
tinh dựa trên các trạng thái ẩn phía trước và đầu vào tại bước đó s = f(Uxt+ Ws,.1) hàm f thường là hàm phi tuyến tính như tang hyperbolic (tanh)hay ReLu Để làm phép toán cho phần tử ẩn đầu tiên ta cần khởi tạo thêms.¡, thường giá trị khởi tạo được gán bằng 0
*_o¿ là đầu ra tại bước t Ta muốn dự đoán từ tiếp theo có thể xuất hiện trongcâu thì o¿ chính là một vec-tơ xác xuất các từ trong danh sách từ vựng của
ta: of = softmax(Vs;).
2.2.4.2 Cách hoạt động mang
Để xử lý dữ liệu qua mạng RNN, đầu tiên dữ liệu cần được vector hoá và các
vector được đưa vào xử lý từng vector một(Hình 2.14).
Tiếp theo, mô hình tính trạng thái ẩn dựa trên kết quả của các bước trước và
dữ liệu đầu vào hiện tại Dữ liệu đầu vào hiện tại và trạng thái ẩn ở bước trướcđược đưa qua một hàm kích hoạt thường là hàm tanh để tinh chỉnh sự chênh
l5https://blog.chappiebot.com/hướng-dẫn-chi-tiết-về-cơ-chế-của-lstm-và-gru-trong-nlp-albd9346b209
21
Trang 37lệch của các dữ liệu đầu vào, điều này giúp cho những kẻ yếu thế có tiếng nóitrong việc bầu chọn của mô hình.
L1 @ bison state memory
©@ eon tunction
@ vow nidcon state
@O wou
J+ concatenation
Hình 2.14: Quá trình tính trang thái ẩn của RNN Nguồn Internet!6
2.2.5 Long short term memory (LSTM)
Mang bộ nhớ dài-ngắn (Long Short Term Memory networks), thường được
gọi là LSTM - là một dang đặc biệt của RNN, nó có khả nang hoc được các phụ
thuộc xa LSTM được giới thiệu bởi Hochreiter và Schmidhuber (1997) [12],
và sau đó đã được cải tiến và phổ biến bởi rất nhiều người trong ngành Chúnghoạt động cực kì hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổbiến như hiện nay
LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term dency) Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định củachúng, chứ ta không cần phải huấn luyện nó để có thể nhớ được Tức là ngay nộitại của nó đã có thể ghi nhớ được mà không cần bat kì can thiệp nào
depen-
'Shttps://blog.chappiebot.com/huéng-dan-chi-tiét-vé-cd-ché-ctia-Istm-va-gru-trong-nlp-albd9346b209
22
Trang 38Mọi mạng hồi quy đều có dạng là một chuỗi các mô-đun lặp đi lặp lại củamạng nơ-ron Với mạng RNN chuẩn, các mô-dun này có cấu trúc rất đơn giản,thường là một tầng tanh.
iim
Hình 2.15: Mô hình cấu trúc mạng hồi quy đơn giản(RNN) Nguồn Internet!”
LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng các mô-dun trong nó
có cấu trúc khác với mạng RNN chuẩn Thay vì chỉ có một tầng mạng nơ-ron,chúng có tới 4 tầng tương tác với nhau một cách rất đặc biệt
® @)
Hình 2.16: Mô hình cau trúc mạng hồi quy Long short term memory(LSTM) Nguồn Internet!
Một số ký hiệu trong LSTM:
Ở sơ đồ trên, mỗi một đường mang một véc-tơ từ đầu ra của một nút tới đầu
vào của một nút khác Các hình tròn, eclipse biểu diễn các phép toán véc-tơ, còn
'”https:/dominhhai.github.io/vi/2017/10/what-is-lstm/
'®https;//dominhhai.github.io/vi/2017/10/what-is-lstm/
??https://dominhhai.github.io/vi/2017/10/what-is-lstm/
Trang 39=1 © —> >> =
Neural Network Pointwise Vector
Layer Operation Transfer Concatenate Copy
Hình 2.17: Một số ký hiệu trong sơ đồ kiến trúc mạng LSTM Nguồn Internet?0
các ô hình chữ nhật biểu diễn các hàm kích hoạt sử dụng trong các cổng của
LSTM Các đường hợp nhau kí hiệu việc kết hợp, còn các đường rẽ nhánh ám
chỉ nội dung của nó được sao chép và chuyển tới các nơi khác nhau
2.2.5.1 Ý tưởng
Chìa khóa của LSTM là trạng thái tế bào (cell state) - chính đường chạythông ngang phía trên của sơ đồ hình vẽ
Trạng thái tế bào là một dạng giống như băng truyền Nó chạy xuyên suốt tất
cả các mắt xích (các nút mạng) và chỉ tương tác tuyến tính đôi chút Vì vậy màcác thông tin có thé dé dàng truyền đi thông suốt mà không sợ bị thay đổi
SG @ ® iS
Hình 2.18: Trang thái tế bao(Cell state) trong mạng LSTM Nguồn Internet?!
LSTM có khả năng bỏ di hoặc thêm vào các thông tin cần thiết cho trạng thái
tế báo, chúng được điều chỉnh cẩn thận bởi các nhóm được gọi là cổng (gate)
Mạng LSTM có 3 cổng xử lý dữ liệu chính là:
» Cổng quên(forget gate): Cổng này có vai trò xoá bỏ những dữ liệu không
?!https://dominhhai.github.io/vi/2017/10/what-is-lstm/
24
Trang 40cần thiết tại thời điểm hiện tại, việc này cũng tương tự với cách xử lý ở con người, ví dụ khi chúng ta đọc một câu "Trời hôm nay nắng quá", chúng
ta chỉ nhớ "trời nắng" là thành phần chính của câu, còn những thành phần
còn lại chúng ta sẽ quên đi và khi cần dùng chúng ta sẽ kiếm những từ thaythế khác để bỏ vào
« Cổng vao(input gate): Cổng này sẽ quyết định dữ liệu nào sẽ được thêm
vào bộ nhớ của mô hình, những dữ liệu không cần thiết sẽ được bỏ qua.
« Cổng ra(output gate): Cổng này sẽ quyết định dữ liệu đầu ra tại bước
hiện tại của mô hình.
forget gate cell state
Hình 2.19: Kiến trúc mạng Long short term memory Nguồn Internet”?
?®htps://blog.chappiebot.com/hướng-dẫn-chi-tiết-về-cơ-chế-của-lstm-và-gru-trong-nIp-albd9346b209
25