1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn tốt nghiệp Khoa học máy tính: Hệ thống question answering hỗ trợ học sinh tìm hiểu môn lịch sử

74 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

KHOA 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 2

DAI 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

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 3

Ngà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:

- Á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 4

TRUONG 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 5

Tô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

tổ chức khác Tắt cả đều có trích dẫn và chú thích nguồn gốc

Nếu phát hiện có bất kì sự gian lận nào, tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình Trường đại học Bách Khoa thành phố Hồ Chí Minh không liên quan đến những vi phạm tác quyên, bản quyền do tôi gây ra trong quá trình thực hiện

TP HCM, NGÀY 5 THÁNG 9 NĂM 2021 Võ Trung Thiên Tường.

Trang 6

LOI 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 7

TOM 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 8

MỤ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 9

3.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 3.3 Công cụ sử dụng

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] 4.2.1 Document Retriver

4.2.2 Document Reader 4.2.3 Data

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Á

Chương7 TỔNG KẾT 7.1 Các kết quả đạt được 7.2 Cac han chế của dé tai 7.3 Các hướng phát triển Tài liệu tham khảo

Sl 31 31 31 31 32 32 32 33 33 33 33 34

50

57 58 58 58 58

Trang 10

DANH 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 11

6.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 12

DANH MUC BANG BIEU viii

Trang 13

Danh 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 15

1.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

Question Ask a question

Chiến dịch Điện Biên Phủ trên không xảy ra vào thời gian nào?

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 16

CHUONG 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 17

1.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 18

KIEN THUC NEN TANG

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 19

2.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 20

CHUONG 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

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 21

2.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" ¢ D3 ="one two"

Inverted Index cua chung sé là:

« "this" => (DI, D2} + "is" => (DI, D2)

"first" => {D1} ¢ "document" => {DI}

¢ "second" => {D2}

* "one" => {D2, D3} * "two" => {D3}

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 22

CHUONG 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 23

2.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 24

CHUONG 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

= exp (4) X7 ¡exp (27)

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 26

CHUONG 2 KIEN THUC NEN TANG 13

37 —— GELU —— ReLU — ELU 24

14 04 -14

—4 -3 -2 -1 0 1 2 3

Hình 2.8: GELU (u = 0,0 = 1), ReLU, and ELU (@ = 1) (Nguồn: [6]).

Trang 27

2.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 28

CHUONG 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 29

2.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

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 30

CHUONG 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:

Trang 31

Inputs: Outputs: Nonlinearities: Vector operations:

New 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])

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 32

CHUONG 2 KIEN THUC NEN TANG 19

' : 1 ' <bos> lls regardent Hình 2.16: Minh hoạ kiến trúc mô hình Seq2Seq (Nguồn: [12])

* 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 ƒ:

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 33

yz_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:

Trang 34

CHUONG 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 35

Hì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 36

CHUONG 2 KIEN THUC NEN TANG 23

Hình 2.19: Minh hoạ kiến trúc Self-Attention (Nguồn: [12])

FC

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 37

2.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

Ngày đăng: 31/07/2024, 10:14

w