Trong đề tài luận văn lần này, tôi sẽ sử dụng các kỹ thuật học sâu để ứng dụng vào hệ thống Question Answering hỗ trợ học sinh tìm hiểu lịch sử, giúp các bạn học sinh có thể trả lời đượ
Trang 1KHOA KHOA HOC VA KY THUAT MAY TINH
KK
pd
LUAN VAN TOT NGHIEP DAI HOC
HE THONG QUESTION ANSWERING
HO TRO HOC SINH
TIM HIEU MON LICH SU
NGANH: KHOA HOC MAY TINH
TP Hồ Chí Minh, tháng 12/2021
Trang 2DAI HOC QUOC GIA TP.HCM CONG HOA XA HOI CHU NGHIA VIET NAM
` - m Độc lập - Tự do - Hạnh phúc
TRUONG ĐẠI HỌC BACH KHOA
KHOA: KH & KT May tinh NHIEM VU LUAN AN TOT NGHIEP
BO MON: CNPM Chú ý: Sinh viên phải dán tờ này vào trang nhất của bản thuyết trình
HỌ VÀ TÊN: Võ Trung Thiên Tường MSSV: 1710380
NGÀNH: Khoa học Máy tínhLỚP:
1 Đầu đề luận án:
Xây dung hé thong QUESTION ANSWERING hồ trợ học sinh học môn Lịch Sử
2 Nhiệm vụ (yêu cầu về nội dung và số liệu ban đầu):
Nghiên cứu kiến trúc của hệ thống DrQA của Facebook
v Sử dụng PhoBERT dé lam pretrain language model cho tiếng Việt
Vv Thu thập data set từ sách giáo khoa THPT của Bộ Giáo dục và Đào tạo và một số trang web
chính thông
Thiết kế hệ thông
v Phát triển và đánh giá hệ thống
3 Ngày giao nhiệm vụ luận án: / /2021
4 Ngày hoàn thành nhiệm vụ: //2021
5 Họ tên giảng viên hướng dẫn: Phần hướng dẫn:
2)
Nội dung và yêu cầu LVTN đã được thông qua Bộ môn
Ngày tháng năm! - ˆ - „
CHU NHIEM BQ MON GIẢNG VIÊN HƯỚNG DẢN CHÍNH
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
PHAN DANH CHO KHOA, BO MON:
Người duyệt (chấm sơ bộ):
Trang 3Ngày tháng năm
PHIẾU CHÁM BẢO VỆ LVTN
(Dành cho người hướng dẫn phản biện)
Họ và tên SV: Võ Trung Thiên Tường
MSSV: 1710380 „ Ngành (chuyên ngành): Khoa học Máy tính
2 Đề tài: Xây dựng hệ thông QUESTION ANSWERING hồ trợ học sinh học môn Lịch Sử
3 Họ tên người hướng dẫn/phản biện: Quản Thành Thơ
4 Tổng quát về bản thuyết minh:
- Số bản vẽ vẽ tay Số bản vẽ trên máy tính:
6 Những ưu điểm chính của LVTN:
- Để tài có tính ứng dụng cao
- Áp dụng hướng tiếp cận hiện của lĩnh vực xử lý ngôn ngữ tự nhiên
- Các công nghệ được lựa chọn tôt và hợp lý
7 Những thiếu sót chính của LVTN:
- Kiém tht con đơn giản (đối với ứng dụng) và còn thiếu (đối với lĩnh vực Khoa học Dữ liệu)
8 Đề nghị: Được bảo vệ E] Bồ sung thém dé bao vé O Không được bảo vệ 1
9 3 câu hỏi SV phải trả lời trước Hội đông:
a
b
G
10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Điểm: — 8.5/10
Ký tên (ghi rõ họ tên)
Trang 4TRUONG DAI HQC BACH KHOA CONG HOA XA HOI CHU NGHIA VIET NAM
Ngày tháng năm
PHIẾU CHÁM BẢO VỆ LVTN (Dành cho người hướng-diẫn phản biện)
1 Họ và tên SV: Võ Trung Thiên Tường
MSSV: 1710380 Ngành (chuyên ngành):
2 Đề tài: Xây dựng hệ thông QUESTION ANSWERING hỗ trợ học sinh học môn Lịch Sử
3 Họ tên người hướng dẫn/phản biện:
4 Tổng quát về bản thuyết minh:
- Số bản vẽ vẽ tay Số bản vẽ trên máy tính
6 Những ưu điểm chính của LVTN:
- _ Để tài xây dựng hệ thống hỏi đáp cho các câu hỏi liên quan tới chủ đề Lịch sử
- Mục đích của để tài mang tính nhân văn, nhắm tới các đối tượng là học sinh, nhằm tang tinh
tương tác và cô vũ HS, bồ sung cho HS thêm về kiến thức lịch sử nước nhà
- Về công nghệ, SV có nghiên cứu về các van dé trong xử lý ngôn ngữ tự nhiên Đề tài sử dụng mô hình học sâu, có tỉnh chỉnh nhỏ để có nhận được xác xuất mong muốn
-_ Để tài có xây dựng được một giao diện cơ bản cho việc hỏi và đáp
- §V có công sức thu thập dữ liệu để huấn luyện cho phân hỏi đáp
7 Những thiêu sót chính của LVTN:
- Lich sir la một để tài nhạy cảm, dữ liệu đầu vào sai lệch có thể bị các thế lực thù địch lợi dụng để chống phá Do đó, để tài cần có bộ lọc các nguôn dữ liệu để phục vụ hỏi đáp Trong
để tài, ngoài nguồn dữ liệu chính quy (là từ sách giáo khoa) thì còn có nguồn dữ liệu từ kết
quả Google search của các website Nguồn dữ liệu thứ 2 này cần phải được lọc cần thận
- Nén co cảnh báo nếu kết quả hỏi đáp được lấy từ các nguồn dữ liệu không chính quy
§ Để nghị: Được bảo vệ O Bồ sung thêm để bảo vệ L1 Không được bảo vệ L]
9 3 câu hỏi SV phải trả lời trước Hội đông:
a Nêu rõ các nguôn dữ liệu dùng dé phục vụ hỏi đáp
b Với vấn đề các trang web bên thứ 3 trả lời sai lệch thông tin, hướng xử lý của SV là gì để phát
hiện và ngăn chặn các trang web này?
Cc
10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Điểm: 8.5 /10
Ký tên (ghi rõ họ tên)
Trang 5Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự giám sát và hướng dẫn của
PGS.TS Quản Thành Thơ Việc lựa chọn và thực hiện đề tài xuất phát từ nhu cầu thực tiễn cũng
như nguyện vọng của bản thân Nội dung nghiên cứu và các kết quả đều là trung thực và chưa từng được công bồ trước đây Các số liệu được sử dụng cho quá trình phân tích, nhận xét được
chính tôi thu thập từ nhiều nguồn khác nhau và sẽ được ghi rõ trong phan tài liệu tham khảo
Ngoài ra, tôi cũng có sử dụng một số nhận xét, đánh giá và số liệu của các tác giả khác, cơ quan
Trang 6LOI CAM GN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến PGS TS Quán Thành Thơ, người thầy
gắn bó với tôi trong suốt quá trình thực hiện luận văn vừa qua Nhờ sự hướng dẫn tận tình, chu
đáo của thầy và chính nhờ những kiến thức quý báu thầy đã mang lại đã giúp tôi hoàn thành
luận văn đại học lần này Tiếp theo, tôi xin cảm ơn ThS Trương Thị Thái Minh giảng viên đã
phản biện tôi trong quá trình thực viện đề cương cho đề tài này, người đã có những dé xuat, góp
ý giúp tôi hoàn thiện đề tài này tốt hơn
Tôi xin gửi lời cảm ơn đến các thầy cô trường Đại học Bách Khoa - Đại học Quốc gia Thành phố Hồ Chí Minh, đặc biệt là các thầy cô của khoa Khoa học và Kỹ thuật Máy tính đã truyền đạt những kiến thức quý báu trong những năm học qua để giúp tôi trang bị kiến thức, có một
nền tảng nhất định để thực hiện luận văn này
Cuối cùng, tôi xin cảm ơn các anh, chị, bạn bè, những người đã giúp đỡ, chia sẻ kiến thức, góp ý
và hỗ trợ tôi hết mình trong suốt thời gian hoàn thành luận văn về hệ thống question answering
hỗ trợ học sinh tìm hiểu môn lịch sử
Võ Trung Thiên Tường
Trang 7TOM TAT
Quesion Answering 14 m6t trong những bài toán quan trọng trong lĩnh vực truy xuất thông tin
và xử lý ngôn ngữ tự nhiên Từ lâu đời, các mô hình truyền thống đã có thể xậy dựng được các
hệ thống Question Answering về các lĩnh vực cụ thể Hiện nay, nhờ sự phát triển về sức mạnh
của phần cứng máy tính, sự bùng nổ dữ liệu và các kỹ thuật mới được đưa vào các mô hình học sâu đã giúp bài toán Question Answering được phát triển thêm một bậc Trong đề tài luận văn
lần này, tôi sẽ sử dụng các kỹ thuật học sâu để ứng dụng vào hệ thống Question Answering hỗ
trợ học sinh tìm hiểu lịch sử, giúp các bạn học sinh có thể trả lời được những thắc mắc của mình sau những giờ tìm hiểu lịch sử trên lớp
Trang 8MỤC LỤC
Danh mục chữ viết tắt viii
11 Giới thiệu đỀtầi eee xa 2 1.2 Mục tiêu và phạm vi dé tai 3
13 Cấutrúcluậnvăn .Ặ Q2 Sa 4
2.1.1 Dữ liệu Categorical (Categorical Data) 6 2.1.2 Cách biểu diễn one-hotvector 6
2.2 Cách biểu diễn embbeding 7
2.8 Cơchế Atention sgk nh xa 20
2.8.1 Tầng tập trung tich v6 huéng - Dot product attention 21 2.8.2 Tap trung perceptron da tang - Multilayer perceptron attention « 21 2.8.3 Mô hình Seq2Seq áp dụng Cơ chế Attention 21 2.8.4 Mô hình Multhead-Attention 2
2.9.1 Mạng truyền xuôi theo vị trí - Position-wise feed-forward network 24
2.9.4 Khéi Encoder va Decoder ciia kién tric Transformer 26
2.10 Biểu diễn Mã hóa hai chiều từ Transformer (BERT) 26
2.10.1 Biểu diễn đầu vào cv 27
2.102 Những tác vụ Tiền huấn luyện .- 28
Trang 93.1 Ngôn ngữ lập trình
3.1.1 Python
3.1.2 JavaScript
3.2 Thu vién va nén tang sit dung 2 CS So
3.2.1 Thư viện Numpy
3.2.2 Thư
3.2.3 Thư viện fastai
3.2.4 Thu vién Flask
3.2.5 Thư viện React
3.2.6 Thư viện Pymoi
Chuong 4 CAC CONG TRINH LIEN QUAN
4.1 QARAB: A Question Answering System to Support the Arabic Language [20]
AAI CO0HUCQARAB secs wesw es wkd wee wR w ES we WORD
4.2 Reading Wikipedia to Answer Open-Domain Questions [21]
5.2.2 Tập dữ liệu lịch sử sách giáo khoa và đề thi
5.3 Mô tả và hiện thực hệ thống QA hỗ trợ học sinh tìm hiểu lịch sử
5.3.1 Kiến trúctổngthỂ eee
3.2 Sơ đồ tình huống sử dụng (Use Case Diagram) Kiến trúc vật lý
5.34 Giao diện người dùng 22222
Chương 6 KIỂM ĐỊNH VÀ ĐÁNH GIÁ
Trang 10DANH MUC HINH ANH
11
Del
2.2
2:3
24
2.5
2.6
St
2.8
29
2.10
2.11
2:12
213
2.14
2.15
2.16
217
2.18
2.19
2.20
221
2.22,
2.23
4.1
4.2
4.3
4.4
4.5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
3511
5.12
Mô phỏng hệ thống question answering 2
Các biểu diễn bằng one-hot vector (Nguồn: [3]) 7
Các biểu diễn bằng embedding (Nguồn: [5]) - 7
MP với hai hi0đen laV€F : : : : ¿ ¿ : ¿ ¿ ¡ ý v2 S2 (2 vi v 622 Và cố a6 10 Các kí hiệu và công thức tính toán rongMLP 10
Đồ thị hàm Tanh (Nguồn: [2]) - ll Đồ thị hàm Sigmoid (Nguồn: [2]) 12 Ví dụ về đầu vào và đầu ra của hàm softmax với 3 lớp (Nguồn: 2) ia 1B GELU (1 = 0,6 = 1), ReLU, and ELU (a = 1) (Nguồn: [6]) 13
Kiến tric co ban cliamangRNN 1 ee 14 One-to-one RNN 2 ee 15 One-to-manyRNN 2 ee 15 Many-to-one RNN 16 Many-to-many RNN loai 1 16 Many-to-many RNN loai 2 I7 Kién tric ciaLSTM 2 ee ee 18 Minh hoa kiến trúc mô hình Seq2Seq - 19
Minh hoạ cơ chế Attention .cẶ Ốc 2c 22 20 Minh hoạ mô hình Seq2seq kết hợp cơ chế Attention 22 Minh hoạ kiến trúc Self-Attenion 23
Minh hoa m6 hinh Multihead-attention 23
Minh hoạ kiến trúc Transformer aw 25 So sánh giữa ELMo, GPT, và BERT 27
Embedding của chuỗi đầu vào BERT 28
Lược đồ quan hệ của cơ sở dữ liệu truy xuất thông tinQARAB_ 37
Công cụ xử lý ngôn ngữ tựnhiên 38
Tổng quan cấu trúc của hệ thôngQARAB_ 38
Tổng quan về hệ thống DrQA (Nguồn: [21]) 40
Các ví dụ về dữ liệu huấn luyện ctia mi QA dataset 43 ĐÌHGHHBDTEUUESRIHE ees cs ew a Bê BH Hàn BH Hồ BH Hồn Uw we R THỂ 45 Quá trình trích xuất văn bản - 46
Quá trình trích xuất câu trả lời - 46
Ví dụ về dữ liệu đầu vào và kết quả trả về của mô hình 47
Đoạn văn bản cần trích xuất - 48
Cấu trúc của một mẫu dữ liệu dùng để huấn luyện model 49
Quá trình tạo dữ liệu huấn luyện 49
XiêU H6 KHE ĐỂ s s6 0 c6 8 6 l6 B S6 B2 6 8 6 16 8É l6 8 # É6 8 6 l6 8 # lê 8 £ l8 50 Use Case Diagram cho hệthống 51
Kiến trúc vật lý của hệthống Ốc c2 52 Giao diện question với câu trả lời từ sách giáo khoa 52
Giao diện question với câu trả lời từ Google 53
Trang 116.1 Bảng kiểm thử giao diện trang web của hệthống - 55 6.2 Bảng kiểm thử các chức năng của hệ thống - 56
Trang 12DANH MUC BANG BIEU viii
Trang 13Danh sách dưới đây liệt kê các chữ cái viết tắt sẽ được sử dụng về sau trong nội dung cuốn luận văn này
ANN Artificial Neural Network
BERT Bidirectional Encoder Representations from Transformers
CNN Convolutional Neural Network
ELMo Embeddings from Language Models
FC Fully Connected
GELU Gaussian Error Linear Units
GloVe Global Vectors for WordRepresentation
GPT Generative Pre-Training
GRU Gated Recurrent Unit
LSTM Long Short Term Memory Network
MLP Multilayer Perceptron
NLP Natural Language Processing
RELU Rectified Linear Unit
RNN Recurrent Neural Network
Seq2Seq,seq2seq Sequence to sequence
SOTA State Of The Art
Trang 151.1 Giới thiệu đề tài
Tìm hiểu lịch sử là một hoạt động có ý nghĩa rất quan trọng đối với cuộc sống của chúng ta,
là một trong các môn học được kéo dài suốt quãng đời học sinh Nó giúp chúng ta nghiên cứu được những việc mà cha ông chúng ta đã làm trong quá khứ, giúp ta phát huy được những việc
tốt và tránh đi vào những lối mòn hoặc những sai lầm của cha ông Việc tìm hiểu lịch sử là một
quá trình dài của mỗi người, qua đó giúp nâng cao được kiến thức về lịch sử của bản thân
Với đề tài xây dựng hệ thống question answering hỗ trợ học sinh tìm hiểu lịch sử, tôi hướng tới việc ứng dụng mô hình học sâu vào việc tìm kiếm và tạo ra được các câu trả lời về chủ đề lịch
sử, nhắm vào các đối tượng học sinh, người tìm hiểu lịch sử có được sự giải đáp nhanh chóng
về các vần đề lịch sử mà họ đang quan tâm
Một hệ thống quesion answering được hiểu là hệ thống có khả năng tự động sinh ra câu trả lời
cho những câu hỏi được đưa ra dưới dạng ngôn ngữ tự nhiên của con người Hình dưới đây là
mô phỏng một ứng dụng của hệ thống quesion answering, trong đó người dùng đặt câu hỏi về các sự kiện lịch sử và hệ thống đưa ra các câu trả lời
Hình 1.1: Mô phỏng hệ thống question answering
Hệ thống sẽ tạo ra câu trả lời dựa vào kết quả truy van, tim kiếm trong một hệ tri thức nào đó
hoặc được trải qua một quá trình huấn luyện để có khả năng dự đoán được câu trả lời Hay nói cách khác, hệ thống question answering được xây dựng nhằm trả lời các câu hỏi dựa vào một tập dữ liệu cho trước dưới dạng văn bản Dựa vào nguồn thông tin trì thức mà hệ thống sử dụng
để trả lời câu hỏi thì hệ thống question answering được chia thành hai loại:
» Nguồn thông tin mở (Open domain): Đây là loại hệ thống sử dụng nguồn thông tin tri thức được thu thập từ nhiều nơi và không giới hạn ở bất cứ một lĩnh vực cụ thể nào Điều này có nghĩa là hệ thống hỏi đáp sẽ có khả năng trả lời được tất cả các câu hỏi về mọi chủ
đề Để làm được điều này, hệ thông yêu cầu hệ kiến thức cơ sở phải đảm bảo được độ lớn,
độ sâu và độ phức tạp rất cao.
Trang 16CHUONG 1 TONG QUAN 3
* Ngudn thong tin dong (Closed domain) hay nguén théng tin hạn ché (Restricted domain):
Ngược lại với hệ thống hỏi đáp nguồn thông tin mở, đây là hệ thống hỏi đáp sử dụng nguôn thông tin tri thức có thể được thu thập từ nhiều nơi nhưng chỉ tập trung vào một
lĩnh vực được chọn trước như thể thao, xã hội, phim ảnh, toán học, lịch sử,
Từ đó ta có thể thấy hệ thống question answering hỗ trợ học sinh tìm hiểu môn lịch sử thuộc hệ thống với nguồn thống tin đóng với nguồn dữ liệu chỉ tập trung vào một lĩnh vực Tuy nhiên bài toán question answering van ton tại nhiều thách thức chưa được giải quyết như là:
5» Mục đích của câu hỏi: Câu hỏi trong ngôn ngữ tự nhiên rất đa dang và nhọc nhằn về nội
dung ý nghĩa nếu không có một ngữ cảnh bao quát được vấn đề Nếu phân loại theo mục
đích của câu hỏi thì hệ thống question answering có thể được hiểu dưới nhiều dạng hỏi như là hỏi về sự kiện, hỏi về thời gian, hỏi về định nghĩa hay là hỏi về lý do hoặc bản chất của sự việc, Vì vậy hệ thông không những phải có khả năng đọc hiểu được ngữ cảnh của mà còn phải có khả năng đọc hiểu được câu hỏi nhằm sinh ra được những câu trả lời phù hợp
5» Sự tự nhiên của câu trả lời: Vì mục tiêu của hệ thống hỏi đáp là dưa ra những câu trả lời bằng ngôn ngữ tự nhiên nên các công trình nghiên cứu luôn hướng đến việc sinh ra câu
trả lời gần giống với cách trả lời của con người nhất có thể
* Khả năng đọc hiểu văn bản tường thuật: Nội dung của một sự việc, hiện tượng hay câu chuyện được kể lại dưới dạng các văn bản tường thuật thường rất dài, chứa nhiều thông
tin cần đúc kết khiến việc đọc hiểu văn bản của hệ thống hỏi đáp trở nên khó khăn hơn rất nhiều so với các đoạn văn ngắn
* Khả năng liên kết được các văn bản: Trong thực tế, để trả lời được những câu hỏi phức tạp đặc biệt là các câu hỏi đòi hỏi câu trả lời một ý nghĩa hay một danh sách liệt kê cần phải kết hợp rút trích thông tin từ nhiều văn bản thay vì chỉ một văn bản
1.⁄2_ Mục tiêu và phạm vi đề tài
Dé tài này hướng đến mục tiêu tìm hiểu và nghiên cứu phương pháp xây dựng hệ thống question
answering với domain về lịch sử bằng cách ứng dụng các kỹ thuật xử lý ngôn ngữ tự nhiên và
các mô hình học sâu Trong đó hệ thống phải đọc hiểu được dữ liệu đầu vào là các đoạn văn dài
chứa nhiều thông tin ở các khía cạnh khác nhau, về nhiều đối tượng khác nhau Không những
thế, hệ thống phải có giao diện nơi mà người dùng có thể đặt câu hỏi và hiển thị câu trả lời của
hệ thống dự vào những dữ liệu đã được huấn luyện trước đó Từ những mục tiêu khái quát trên,
tôi sẽ lần lượt giải quyết các vần đề sau:
* X4y dung bé dataset bang cach trích xuất dữ liệu văn bản của bộ sách giáo khoa lịch sử
* Thiết kế và huấn luyện một mô hình học sâu để rút trích được thông tin và trả lời câu hỏi
* Xây dựng phần mềm chứa hệ thống trả lời câu hỏi tương tác với người dùng
Phạm vi của dé tai:
* Dé ti sé được giới hạn trả lời những câu hỏi về nhân vật lịch sử Việt Nam
* Áp dụng mô hình học sâu BERT để huấn luyện dữ liệu.
Trang 171.3 Câu trúc luận văn
Những nội dung trong quá trình nghiên cứu, tôi xin trình bày trong 7 chương như sau:
Chương 1 Tổng quan
Trong chương đầu tiên, tôi xin trình bày khái quát về đề tài, mục tiêu, phạm vi và cấu trúc luận
văn của tôi
Chương 4 Các công trình liên quan
Chương này tôi xin giới thiệu các công trình liên quan đến các hệ thống question answering
Chương 5 Hiện thực hệ thống
Chương này tôi xin trình bày về các phương pháp thực hiện luận văn, bao gồm việc thu thập và tiền xử lý dữ liệu, mô hình đề xuất và hệ thông ứng dụng mô hình học sâu
Chương 6 Kiểm định và đánh giá
Trong chương này, tôi xin trình bày về việc kiểm thử hệ thống đã xây dựng
Chương 7 Tổng kết
Cuối cùng, tôi tổng kết lại các vấn đề trong quá trình nghiên cứu và làm luận văn Đồng thời,
cũng xin nêu ra các hạn chế cũng như mở ra các hướng phát triển của đề tài trong tương lai
Trang 18KIEN THUC NEN TANG
27 Mo Hinl Seq28eq:, ww: oo ge ko Ww 8 EEE WEL SEY WW Hage EG OSS 18
DiS CORE ARGH 5 wi scx oo wee eee ew a HS wg 20
2.9 MOhinh Transformer 2 ee 24
2.10 Biéu dién Ma hoa hai chiều từ Transformer (BERT) - 26
Trang 192.1 Cách biểu diễn one-hot vector
2.1.1 Dữ liệu Categorical (Categorical Data)
Categorical data [1] 1a loai dif liu có các biến biểu diễn đại diện cho các dữ liệu có thể được chia thành các nhóm
Phân phối Categorical [2] là phân phối tổng quát của phân phối Bernoulli Các đầu ra của phân
phối categorical được mô tả bởi một phan tử trong tập hợp I,2, , K
Nếu có K giá trị đầu ra, phân phối categorical được mô tả bởi K tham số, được viết dưới dạng
vector như sau:  = [Â, Âa ,¿] với các không âm và có tổng bang 1
Phân phối categorical thường được kí hiệu dưới dạng:
p(x) = can]
2.1.2 Cách biểu diễn one-hot vector
Trước khi kỹ thuật nhúng từ ra đời, kĩ thuật được sử dụng phổ biến để số hoá một từ là sử dụng one-hot vector Kĩ thuật này được áp dụng trong các mô hình học máy cổ điển trong giai đoạn tiền xử lý, nhằm biến đổi những dữ diệu dạng categorical sang numerical, từ đó giúp máy tính
có thể tính toán và xử lý được hiệu quả hơn
One-hot vector là một vector chứa dữ liệu nhị phân (0 và 1), tuy nhiên chỉ có một chiều trong vector được kích hoạt mang giá trị I, toàn bộ những chiều còn lại đều mang giá trị 0 One-hot encoding là kĩ thuật biểu diễn một tập các giá trị rời rạc sang một tập one-hot vector Hạn chế của One-hot vector:
Giới hạn khả năng tính toán của máy tính: Hầu hết các chiều của one-hot vector mang giá
trị 0, và nhiều mô hình học máy không làm việc hiệu quả trên vector có số chiều lớn (high
dimensional vector) và “thưa” (sparse vector)
Sự quá khớp (overfitting) xảy ra khi số lượng | từ trong từ điển tăng: Với kĩ thuật này, mỗi khi gia tăng số lượng từ trong từ điển lên n, số chiều của one-hot vector cũng tăng tương ứng vì số chiều của vector tương ứng với tổng số lượng từ có trong từ điển
Thiéu kha năng tổng quát hoá: Qua quá trình tiến hoá của con người, ngôn ngữ được sinh
ra và phát triển theo thời gian Khi nhìn vào một từ, chúng ta không chỉ biết ý nghĩa của
mỗi từ đó mà còn hiểu được sự liên kết với những từ khác, và có khả năng tổng quát hoá
ý nghĩa của một nhóm các từ liên quan Nhờ khả năng tổng quá hoá, chúng ta có thể rút ngắn thời gian học một kiến thức mới
Trang 20CHUONG 2 KIEN THUC NEN TANG 7
Hình 2.1: Các biểu diễn bằng one-hot vector (Nguồn: [3])
2.2 Cách biểu diễn embbeding
Trong ngữ cảnh của mạng neuron, embedding [4] [5] là một ánh xạ của biến rời rạc, phân loại
thành một vector của các số liên tục
Các phép embedding là các biểu diễn vector liên tục ít chiều, đã được học của các biến rời rạc
Embbeding đối với mạng nơ-ron rất hữu ích vì chúng có thể làm giảm kích thước của các biến
phân loại rời rạc và thể hiện có ý nghĩa các danh mục trong không gian đã biến đổi
Embedding có các mục đích chính:
» Biểu diễn được các mối quan hệ giữa các nhóm dữ liệu
5 Giúp giảm số chiều biểu diễn cho các dữ liệu categorical
1J-521|02|11
index one-hot vector weight matrix embedding
Hình 2.2: Các biểu diễn bằng embedding (Nguồn: [5])
Embedding khắc phục được các hạn chế của phương pháp biểu diễn one-hot vector khi biểu diễn dữ liệu categorical
Trang 212.3 Full-Text Search
2.3.1 Khai niém
Trong truy xuất văn ban, Full-Text Search (tìm kiếm toàn văn bản) đề cập đến các kỹ thuật tìm
kiếm một tài liệu trong cơ sở dữ liệu toàn văn bản Tìm kiếm toàn văn bản được phân biệt với
các tìm kiếm dựa trên metadata (siêu dữ liệu) hoặc trên các phần của văn bản gốc trong cơ sở
dữ liệu (như tiêu đề, tóm tắt, phần được chọn hoặc tài liệu tham khảo thư mục)
2.3.2 Inverted Index
Inverted Index là một kỹ thuật được ting dung trong Full-Text Search, thay vi thong thudng ta hay danh Index cua co sé dit liéu theo don vi row thi bây giờ ta sẽ đánh Index theo đơn vi term Gia sti ta c6 3 documents:
* DI ="this is first document"
¢ D2 ="this is second one"
Bây giờ ta muốn tìm cụm theo cụm từ "this is first", ta xem nó như là 3 token "this", "is", "first"
ta tiến hành union 3 tập hợp của Inverted Index của 3 token này:
{D1, D2} union {D1, D2} union {D1} = {D1}
Ta sé thu được kết quả là (DI, D2), tức là kết quả search của cụm từ "this is first" sé là "this is first document" va "this is second one"
Trang 22CHUONG 2 KIEN THUC NEN TANG 9
2.4 Phuong phdp TF-IDF
TF-IDF là từ viết tắt của thuật ngữ tiếng Anh "term frequency — inverse document frequency"
TF-IDF là trọng số của một từ trong văn bản thu được qua thống kê thể hiện mức độ quan trọng
của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản
Cách tính của phương pháp TE-IDF: TF-IDE gồm hai thành phần TE và IDF, được tính như sau:
TF (Term Frequency): dùng để ước lượng tần suất xuất hiện của một từ trong một văn bản Để
chuẩn hóa tần suất này, chúng ta sẽ chia nó cho tần suất của từ xuất hiện nhiều nhất trong văn
bản đó Dưới đây là công thức tính TF
f(t,d)
TOO sax Twa) wed} (2.1)
Trong do:
*ƒ(r,đ) là số lần xuất hiện từ z trong văn ban d
* max {f(w,d) : w € đ} là tần suất của từ xuất hiện nhiều nhất trong văn bản d
IDF (Inverse Document Frequency): dùng để ước lượng mức độ quan trọng của một từ trong
toàn bộ tập văn bản Đối với từng văn bản, việc một từ xuất hiện nhiều lần sẽ có mức độ quan trọng cao hơn Tuy nhiên, đối với toàn bộ tập các văn bản, một từ mà ở văn bản nào cũng xuất
hiện sẽ trở nên phổ biến và không còn quan trọng nữa Đó là lí do chúng ta cần phải giảm đi mức độ quan trọng của những từ đó bằng cách sử dụng IDF được tính bằng công thức sau:
IDI
Trong do:
* |D| là tổng số văn bản trong tập văn ban D
* |{d€D:rc 4}| là số lượng văn bản trong tập văn bản Ð có chứa từ
Sau cùng, kết hợp cả TF và IDE, ta có được công thức TF-IDE
TF —IDF(t,d,D) =TF(t,d) x IDF(t,Ð) (2.3)
Trang 232.5 M6 hinh mang Multilayer Perceptron
Multilayer perceptron (MLP) [2] 1a một trong những kiến trúc cơ bản nhất của mạng thần kinh
nhân tạo (Artificial Neural Network - ANN) Mạng neuron với nhiều hơn hai tầng được gọi
là MLP Kiến trúc của MLP bao gồm: một tầng nhập (Input Layer), một hoặc nhiều tầng ẩn (Hidden Layer) và một tầng xuất (Output Layer)
Input Hidden 1 Hidden 2 Output Hình 2.3: MLP với hai hidden layer (Nguồn: [2])
Mỗi tầng của MLP gồm nhiều đơn vị gọi là nút (unit hoặc node), các nút của tầng sau sẽ được liên kết với toàn bộ các nút ở tầng trước, cách liên kết này gọi là Fully Connected
Đầu vào của các hidden layer được kí hiệu là z, đầu ra của nó được kí hiệu là a Đầu ra của unit
thứ ¡ trong layer / được kí hiệu là a, Goi a! 1a s6 luong unit ctia layer / Méi hidden layer /
sẽ có hai thằnh chính là ma trận hệ số W(D e #f~x4'? và bias p(Ð e #“”, Tổng quát, ta có
z0) = W0a=1) + p(D và ạ) = f (20) f () due goi 1a ham kich hoat (Activation Function),
thường là các hàm phi tuyến
2 ald Hình 2.4: Các kí hiệu va công thức tính toán trong MLP (Nguồn: [2])
Trang 24CHUONG 2 KIEN THUC NEN TANG 1
2.5.1 Một số hàm Activation
Cho đến thời điểm hiện nay, có rất nhiều hàm activation [2] được sử dụng, vì vậy trong giới hạn
luận văn, tôi xin trình bày một số ham activation đã được dùng
Trang 25
Vi = I,2, ,C
2.5.1.4 Hàm GELU
Hàm GELU (Gaussian Error Linear Unit) lam ham kích hoạt được định nghĩa như sau:
GELU(x) =xP(X <x) =x®(x) = x5ll +erƒf(x/V2)]
Trang 26CHUONG 2 KIEN THUC NEN TANG 13
Trang 272.6 M6 hinh mang Recurrent Neural Networks
2.6.1 Tong quan
Mạng neuron hồi quy (Recurrent Neural Network - RNN) [7] [8] được phát triển lần đầu tiên vào những năm 1980 Cấu trúc của nó bao gồm một lớp đầu vào, một hoặc nhiễu lớ
lớp đầu ra Các RNN có các cấu trúc giống như chuỗi lặp lại các mô-đun với ý tưởng
là sử dụng các mô-đun này làm bộ nhớ để lưu trữ thông tin quan trọng từ các bước xử lý trước
đó
Không giống như các mạng neuron feedforward (là mạng thần kinh nhân tạo trong đó các kết
nối giữa các nút không tạo thành một chu kỳ), RNN bao gồm một vòng lặp phản hồi cho phép
mạng chấp nhận một chuỗi các đầu vào Điều này có nghĩa là đầu ra từ bước t-I được đưa trở
lại vào mạng để tác động đến kết quả của bước t và cứ thế cho mỗi bước tiếp theo Do đó, RNN
đã thành công trong các vấn đề học có ghi nhớ
Kiến trúc tổng quát của mạng RNN [7]:
Hình 2.9: Kiến trúc cơ bản của mạng RNN (Nguồn: [7])
x; là đầu vào tại bước ứ
U,V,W là các ma trận trọng số
s; là trạng thái ẩn tại bước r Đây được xem như bộ nhớ của mạng RNN và được tính bằng công thức:
% = f(Ux,+WS,—I) Hàm ƒ là một hàm activation như được giới thiệu ở trên, thông thường là hàm 7ønh hoặc
ReLU Ö bước tính toán đầu tiên, s; ¡ chưa có giá trị nên có thể khởi tạo một cách ngẫu
nhiên hoặc được gán bằng 0
ø, là đầu ra tại bước t, dude tinh bằng:
ø =ø(W%)
Hàm g cũng là một hàm activation như ƒ và thường là hàm 7ønh hoặc ReLU
Trang 28CHUONG 2 KIEN THUC NEN TANG 15
Hình 2.11: One-to-one RNN (Nguồn: [9])
Với một dữ liệu đầu vào, mô hình này sinh ra nhiều dữ liệu đầu ra, phù hợp với các bài toán như
tạo bình luận cho ảnh (Image Captioning), sinh van ban (Text Generation), sinh 4m nhac (Music
Generation)
Trang 292.6.2.3 M6 hình Many-to-one
Mô hình này tính toán trên toàn bộ dữ liệu đầu vào và cho ra duy nhất một đầu ra, đo đó phù hợp
với các bài toán phân loại văn bản (Text Classification), phân loại sắc thái văn bản (Sentiment
_ J 2 ` J
Hinh 2.13: Many-to-many RNN loai | (Nguén: [9])
Mô hình này tính toán từng giá trị đầu ra cho mỗi giá trị đầu vào, do đó được sử dụng trong bài toán nhận biết thực thể có tên (Name Entity Recognition) hoặc gán nhán từ loại (Part of Speech Tagging)
2.6.2.5 Mô hình Many-to-many loai 2
Mô hình này tổng hợp các giá trị đầu vào sau đó sinh ra các giá trị dau ra và thường được sử
dụng trong bài toán dịch máy (Machine Translation)
Trang 30CHUONG 2 KIEN THUC NEN TANG 17
Hình 2.14: Many-to-many RNN loại 2 (Nguồn: [9])
2.6.3 Mô hình mạng Long Short Term Memory
Về lý thuyết, RNN có thể sử dụng tắt cả các thông tin từ bước đầu tiên cho đến bước hiện tại để tính toán giá trị đầu ra ở bước hiện nhưng vì càng qua nhiều bước tính toán, đạo hàm càng tiêu biến dẫn đến việc RNN "quên" các thông tin ở quá xa so với bước hiện tại Do đó, khi sử dụng mô hình RNN sẽ xảy ra vấn đề mô hình không nhớ được các thông tin quá dài, RNN sẽ
"quên dần" các thông tin ở các bước tính toán trước Để giải quyết van dé nay, có nhiều biến thể
của RNN được đề xuất, phổ biến trong đó 1a Long Short Term Memory (LSTM)
Long Short-Term Memory (LSTM) (8), một sự cải tiền của RNN, được giới thiệu bởi Hochreiter
và Schmidhuber để giải quyết các vấn đề về những hạn chế đã nói ở trên của RNN bằng cách
thêm các tương tác bổ sung cho mỗi mô-đun LSTM là một loại RNN đặc biệt, có khả năng học
các phụ thuộc dài hạn và ghi nhớ thông tin trong thời gian dài Mô hình LSTM được tổ chức dưới dạng cấu trúc chuỗi,tuy nhiên, m6-dun lặp lại có cấu trúc khác nhau Thay vì một mạng
thần kinh duy nhất như mạng RNN tiêu chuẩn, nó bao gồm bồn lớp tương tác khác nhau
Kiến trúc của LSTM [8] phức tạp hơn RNN rất nhiều Để nhớ được nhiều thông tin, LSTM sử dụng các cổng để giữ lại các thông tin quan trọng và bỏ đi những thông tin dư thừa Thành phần
quan trọng nhất của LSTM là cell state, đây chính là bộ nhớ của LSTM, ngoài ra còn một thành
phần khác là hidden state Cell state va hidden state 6 thời điểm ¿ được kí 1a C; và h; Cell
state va hidden state sé lan lượt được cập nhật ở mỗi thời điểm thông qua các cổng, chỉ tiết như
Sau:
» Cổng forget giúp tính toán các thông tin cần loại bỏ:
J=G (Wy [hi-1,%1] +by)
* Céng input gitip tinh toán các thông tin cần giữ lại:
¡ =Ø(Wi[hr—i xt] +bị)
* Cổng output giúp tính toán các thông tin cần xuất ra ở bước hiện tại:
04 = 6 (Wo [hy—1,%1] + bo)
* Cập nhật cell state bằng cách sử dụng cổng input và cổng forget:
G=f*G_i+b*xỗ
Trang 31New updated Ỹ Scaling of
XX, Current input © meron đi Sigmoid layer x information
Memory from ) Adding
Cot ast LSTM unit /GCmmeoo Tank layer + information
Output of last Bias
hey LSTM unit =
Hình 2.15: Kiến trúc của LSTM (Nguồn: [8])
với Ế, được tính bằng:
C, = tanh (We [hy-1,%1] +be)
* Cp nhat hidden state bang cach sit dung cổng output:
hy, = 0, xtanh(C;)
2.7 Mô hình Seq2Seq
Mô hình Sequence to Sequence (seq2seq) [10] dựa trên kiến trúc Encoder - Decoder [1 I] để tạo
ra chuỗi đầu ra từ chuỗi dầu vào, thể hiện trong Hình 2.16 Cả bộ Encoder và Decoder đều sử dụng mạng nơ-ron hồi tiếp (RNN) để xử lý các chuỗi đầu vào có độ dài khác nhau Trạng thái
ẩn của bộ Decoder được khởi tạo trực tiếp từ trạng thái ẩn của bộ Encoder, chuyển thông tin từ
Encoder sang Decoder
Đôi nét về kiến trúc Encoder-Decoder:
* Kién trúc Encoder-Decoder là một design pattern cho mạng nơ-ron, chủ yếu được sử dụng
trong xử lý ngôn ngữ tự nhiên
* Encoder là một mạng (kết nối đầy đủ - FC, nơ-ron tích chập - CNN, nơ-ron hồi tiếp -
RNN, .) nhận đầu vào và trả về một ánh xạ đặc trưng là một vector hay một tensor
Trang 32CHUONG 2 KIEN THUC NEN TANG 19
* Decoder là một mạng (thường có giống kiến trúc mạng NN của Encoder) nhận vector đặc trưng từ bộ mã hoá và đưa ra kết quả gần khớp nhất với đầu vào thực tế hoặc đầu ra mong muốn
2.7.1 Chỉ tiết về bộ mã hóa - Encoder của mô hình Seq2Seq
Bộ mã hóa của mô hình seq2seq biến đổi và mã hóa chuỗi đầu vào với các độ dài khác nhau
thành một vecto ngữ cảnh e với độ dài cô định Giả sử có một chuỗi đầu vào x Xr , trong
đó x, 1a tit thit ¢ Boi vi bé Encoder da phan sé được thiết kế từ RNN nên tại thời điểm t, mô hình RNN sẽ có hai vector dau vao: vector dic trung x; cla x, va trang thai dn cla bude thời gian trước đó hạ_¡ Ta ký hiệu phép chuyển đổi của các trạng thái ẩn trong RNN bằng hàm ƒ:
hị = ƒ(Xihị 1) Tiếp theo, Encoder nắm bắt thông tin của tất cả các trạng thái ẩn và mã hóa chúng thành vector
ngữ cảnh e bang ham q:
c=a(h¡, ,hr
Ví dụ, nếu chúng ta chọn g là g(hy, ,hr) = hr, thì vector ngữ cảnh sẽ là trạng thái ẩn của
bước thời gian cuối cing hr
Cho đến nay ta mới mô tả bộ mã hóa sử dụng mạng RNN một chiều, ở đó trạng thái ẩn của mỗi bước thời gian chỉ phụ thuộc vào các bước thời gian trước Ta cũng có thể sử dụng các dạng
RNN khác nhau như GRU, LSTM, hay RNN hai chiều để mã hóa chuỗi đầu vào
2.7.2 Chỉ tiết về bộ giải mã - Decoder của mô hình Seq2Seq
Như đã giới thiệu, vector ngữ cảnh e mã hóa thông tin của toàn bộ chuỗi đầu vào x, ,xr Giả
sử đầu ra của tập huấn luyện là yị, ,yz: Tại mỗi bước thời gian /”„ xác suất có điều kiện của đầu ra y„ sẽ phụ thuộc vào đầu ra trước đó y¡, ,y_¡ và vector ngữ cảnh e, tức
PGulyt, ye—t›€)
Do đó, chúng ta có thể sử dụng một mạng RNN khác trong bộ giải mã Tại mỗi bước thời gian f', bộ giải mã cập nhật trạng thái ẩn của nó thông qua ba đầu vào: vector đặc trưng yự_ của
Trang 33yz_1„ Vector ngif canh ¢ va trạng thái ẩn tại bước thời gian trước đó sự_¡ Hàm g dưới đây biểu
diễn quá trình biến đổi trạng thái ẩn của mạng RNN trong bộ giải mã:
Sự =#(Yt—1.€.St—1)
2.8 Cơ chế Attention
Trong mục 2.7, chúng ta dùng mạng hồi tiếp RNN để mã hóa thông tin của chuỗi nguồn đầu
vào thành trạng thái ẩn và truyền nó tới bộ Decoder để sinh chuỗi đích Một token trong chuỗi đích có thể chỉ liên quan mật thiết tới một vài token chứ không nhất thiết là toàn bộ token trong
chuỗi nguồn Ví dụ, khi dịch “Hello world.” thanh “Bonjour le monde.”, tit “Bonjour” anh xa téi tit “Hello” va tit “monde” anh xa tdi tif “world” Trong mô hình seq2seq, Decoder có thể ngầm
chọn thông tin tương ứng từ trạng thái ẩn được truyền đến từ bộ mã hóa Tuy nhiên, cơ chế tập
trung (attention mechanism) thực hiện phép chọn này một cách tường minh
Cơ chế tập trung có thể được coi là phép gộp tổng quát Nó gộp đầu vào dựa trên các trọng số khác nhau Thành phần cốt lõi của cơ chế này là | tang attention Nhiing tang này với đầu vào
được gọi ngắn gọn là câu truy vấn (query) Với mỗi câu truy vấn, đầu ra sẽ được trả về dựa trên
bộ nhớ là tập các cặp key-value được mã hóa trong tầng attention này Cụ thể, giả sử bộ nhớ chứa ø cặp vector key-value, (kI,v), ,(k„,v„) , với ki € R4, vị 6 R#*, Với mỗi vector truy
van q € R%, tang tap trung tra vé đầu ra ø € I##* có cùng kích thước với vector giá trị
Attention © | Outeut weights
Attention scoring
Hình 2.17: Minh hoạ cơ chế Attention (Nguồn: [12])
Hình 2.17 minh họa cách tính toán đầu ra của tầng tập trung, chúng ta sử dụng hàm tính điểm œ
để đo độ tương đồng giữa câu truy vấn và các khóa Sau đó, với mỗi khóa (k\, vị), , (k„, vn) „
ta tính điểm at, ,đ„ như sau:
a; = đ(q,kị) Tiếp theo, chúng ta sử dụng ham softmax dé thu được các trọng số tập trung (attention weights),
Trang 34CHUONG 2 KIEN THUC NEN TANG 21 Cuối cùng, đầu ra của tầng là tổng trọng số của các giá trị:
n
0= y bivi
=1 Cách lựa chọn hàm tính điểm œ khác nhau sẽ tạo ra các tầng attention khác nhau Hai tầng
attention phổ biến nhất hiện nay: tập trung tích vô hướng và tập trung perceptron đa tầng
2.8.1 Tầng tập trung tích vô hướng - Dot product attention
Giả định rằng câu truy vấn có cùng kích thước chiều với khóa, cụ thể là g,k; € IR“ với moi i Tầng tập trung tích vô hướng sẽ tính điểm bằng cách lấy tích vô hướng giữa câu truy vấn và khóa, sau đó chia cho ⁄2 để giảm thiểu ảnh hưởng không liên quan của số chiều ở lên điểm số
Nói cách khác,
đ(q,k) = (q.k)/Vd
Mở rộng ra từ các câu truy vấn và khóa một chiều, chúng ta luôn có thể tổng quát hóa chúng
lên thành các giá trị truy vấn và khóa đa chiều Giả định rằng Q € I#”*“ chứa m câu truy vấn
và IK € R"** chứa toàn bộ ø khóa Chúng ta có thể tính toàn bộ m x n điểm số như sau:
ơ(Q.K) =QKT /V2
2.8.2 Tap trung perceptron đa tang - Multilayer perceptron attention
Trong cơ chế tap trung perceptron da tang (multilayer perceptron attention), chúng ta chiếu cả
câu truy vấn và các khóa lên I8" bằng các tham số trọng số được học Giả định rằng các trọng số
được học là W¿ € IR“X% , Wye R'*4 và y € IR" Hàm tính điểm sẽ được định nghĩa như sau
ơ(Q.K) = v ranh(W¿k+ W¿q)
Một cách trực quan, ta có thể tưởng tượng W¿k + Wạq chính là việc nối khóa và giá trị lại với
nhau theo chiều đặc trưng và đưa chúng qua perceptron có một tầng ẩn với kích thước là h va
tầng đầu ra với kích thước là 1 Trong tầng ẩn này, hàm kích hoạt là tanh và không có hệ số điều chỉnh
2.8.3 Mô hình Seq2Seq áp dụng Cơ chế Attention
Bộ nhớ của tầng attention ở đây bao gồm tắt cả thông tin mà Encoder đã được học — đầu ra của
Encoder tại từng bước thời gian Trong quá trình giải mã, đầu ra của bộ Decoder tại bước thời gian trước đó được sử dụng làm câu truy vấn Đầu ra của mô hình tập trung có thể được hiểu là thông tin ngữ cảnh của chuỗi, phần ngữ cảnh này được ghép nối với đầu vào của Decoder và kết quả được đưa vào bộ này
Trang 35Hình 2.18: Minh hoạ mô hình Seq2seq kết hợp cơ chế Attention (Nguồn: [12])
Do Encoder của mô hình Seq2seq áp dụng cơ chế tập trung giống với bộ mã hóa của Seq2Seq
ở phần 2.7 nên ở phần này, chúng ta sẽ chỉ tập trung vào bộ Decoder Ta thêm tầng tập trung perceptron đa tầng (MLP) có cùng kích thước ẩn với tầng LSTM trong bộ này Sau đó ta khởi
tạo trạng thái của bộ Decoder bằng cách truyền vào ba đầu ra thu được từ Encoder:
5 Đầu ra của Encoder tại tất cả các bước thời gian: được sử dụng như bộ nhớ của tầng
attention có cùng các key và value
* Trang thái ẩn của Encoder tại bước thời gian cuối cùng: được sử dụng làm trạng thái
ẩn ban đầu của Decoder
* Độ dài hợp lệ của Eneoder để tầng tập trung có thể bỏ qua những token đệm có trong
đầu ra của Encoder
Ở mỗi bước thời gian trong quá trình giải mã, ta sử dụng trạng thái ẩn của tầng RNN cuối cùng làm câu truy vấn cho tầng tập trung Đầu ra của mô hình tập trung sau đó được ghép nối với vector embedding đầu vào để đưa vào tầng RNN Mặc dù trạng thái ẩn của tầng RNN cũng chứa
thông tin từ bộ giải mã ở các bước thời gian trước đó nhưng đầu ra của tầng tập trung sẽ lựa chọn các đầu ra của bộ mã hóa một cách tường minh dựa vào độ dài hợp lệ của bộ mã hóa nhằm loại bỏ những thông tin không liên quan
Multihead-Attention [13] bao gồm h đầu là các tầng tự tập trung song song Trước khi đưa vào mỗi đầu, ta chiếu các câu truy vấn, khóa và giá trị qua ba tầng dày đặc với kích thước ẩn lần lượt 1a pgs Pk Va py Đầu ra của đầu này được nối lại và sau đó được xử lý bởi một tầng dày đặc cuối
cùng
Trang 36CHUONG 2 KIEN THUC NEN TANG 23
Hình 2.19: Minh hoạ kiến trúc Self-Attention (Nguồn: [12])
FC Concat
Hình 2.20: Minh hoạ mô hình Multihead-attention (Nguồn: [12])
Giả sử chiều của câu truy vấn, khóa và giá trị lần lượt là dq, dy va dy Khi đó, tại mỗi dau
i=1, ,h, ta c6 thé hoc cde tham s6 W{) € R4, WÍ) c RPE, va WI) © RP, Do
đó, đầu ra tại mỗi đầu là
o(9 = arerion(W{)q,Wf)k,W†)v) trong d6 attention có thể là bất kỳ tầng tập trung nào, chẳng hạn như tầng tập trung tích vô
hướng và tập trung perceptron da tang nhu dé cap trong Section 2.8
Sau đó, # đầu ra với độ dài py tại mỗi đầu được nối với nhau thành dầu ra có độ dài hp, , rồi được đưa vào tầng dày đặc cuối cùng với do nút ẩn Các trọng số của tầng dày đặc này được ký
hiệu là Wạ € R®"”: , Do đó, đầu ra cuối cùng của tầng tập trung đa đầu sẽ là
Trang 372.9 M6 hinh Transformer
Như chúng ta đã biết về các kiến trúc mạng nơ-ron quan trọng như mạng nơ-ron tích chap (CNN)
và mạng nơ-ron hồi tiếp (RNN) Ưu nhược điểm của hai kiến trúc mạng này có thể được tóm tắt như sau:
* Cac mang CNN cé thé dé dàng được thực hiện song song ở một tầng nhưng không có khả năng nắm bắt các phụ thuộc chuỗi có độ dài biến thiên
5 Các mạng RNN có khả năng nắm bắt các thông tin cách xa nhau trong chuỗi có độ dài
biến thiên, nhưng không thể thực hiện song song trong một chuỗi
Để kết hợp các ưu điểm của CNN và RNN, Tác giả Vaswani và một số đồng tác giả khác
(2017)[13] da thiết kế một kiến trúc mới bằng cách sử dụng cơ chế tập trung Kiến trúc này gọi
là Transformer, song song hóa bằng cách học chuỗi hồi tiếp với cơ chế attention, đồng thời mã hóa vị trí của từng phần tử trong chuỗi Kết quả là ta có một mô hình tương thích với thời gian
huấn luyện ngắn hơn đáng kể
Tương tự như mô hình seq2seq trong mục 2.7, Transformer cũng dựa trên kiến trúc Encoder-
Decoder Tuy nhiên, nó thay thế các tầng hồi tiếp trong seq2seq bằng các tầng tập trung đa đầu (multi-head attention) như đã trình bày ở mục 2.8.4, kết hợp thông tin vị trí thông qua biểu diễn
vị trí (positional encoding) và áp dụng chuẩn hóa tầng (layer normalization)
Nhìn chung, hai mô hình này khá giống nhau: các embedding của chuỗi nguồn được đưa vào
n khối lặp lại Đầu ra của khối encoder cuối cùng sau đó được sử dụng làm bộ nhớ tập trung
cho bộ giải mã Tương tự, các embedding của chuỗi đích được đưa vào ø khối lặp lại trong bộ
decoder Ta thu được đầu ra cuối cùng bằng cách áp dụng một tầng dày đặc có kích thước bằng kích thước bộ từ vựng lên các đầu ra của khối decoder cuối cùng
Mặt khác, Transformer khác với mô hình seq2seq sit dung co ché attention nhu sau:
» Khối Transformer: một tầng hồi tiếp trong seq2seq được thay bằng một Khối Trans-
former Với bộ encoder, khối này chứa một tầng multi-head attention và một mạng truyền
xuôi theo vị trí (position-wise feed-forward network) gồm hai tầng dày đặc Đối với bộ decoder, khối này có thêm một tầng multi-head attention khác để nhận vào trạng thái bộ
encoder
*_ Cộng và chuân hóa: dầu vào và dau ra cia ca tang multi-head attention hoac mang truyén xuôi theo vị trí được xử lý bởi hai tầng "cộng và chuẩn hóa" bao gồm cấu trúc phần dư và
tầng chuẩn hóa theo tầng (layer normalization)
+ Biếu diễn vị trí: do tầng tự tập trung không phân biệt thứ tự phần tử trong một chuỗi, nên
tầng biểu diễn vị trí được sử dụng để thêm thông tỉn vị trí vào từng phần tử trong chuỗi 2.9.1 Mạng truyền xuôi theo vị trí - Position-wise feed-forward network