You are on page 1of 10

BÁO CÁO TIẾN ĐỘ

(Tuần 02: 25/4 -> 4/5)

GVHD: Th.s Dung Cẩm Quang


Nhóm trưởng: Lê Nhật Vinh - 51503252
Thành viên: Nguyễn Phương Anh - 51600005
MỤC LỤC
1 RECURRENT NEURAL NETWORK (RNN)..................................................................................................2

2 LONG SHORT-TERM MEMORY (LSTM)..........................................................................................................2


3 TRANSFORMERS..............................................................................................................................................3
3.1 ENCODER......................................................................................................................................................3
3.2 DECODER......................................................................................................................................................5
4 BERT.....................................................................................................................................................................6
4.1 FINE-TUNING MODEL BERT........................................................................................................................6
4.2 MASKED ML (MLM)...................................................................................................................................7
4.3 NEXT SENTENCE PREDICTION (NSP)..........................................................................................................8

4.4 CÁC KIẾN TRÚC MODEL BERT...................................................................................................................9

1
1 RECURRENT NEURAL NETWORK (RNN)
Trước khi Transformers được công bố thì hầu hết các tác vụ NLP đều sử dụng
kiến trúc RNNs.

Mô hình Sequence-to-Sequence sử dụng RNNs

Điểm yếu thứ nhất là tốc độ train rất chậm => Sử dụng Truncated
Backpropagation để train nó nhưng vẫn rất chậm do phải sử dụng CPU (tuần
tự), ko phải GPU (song song).
Điểm yếu thứ hai là nó xử lý không tốt đối với câu dài do hiện tượng Gradient
Vanishing/Exploding. Khi số lượng units càng lớn, gradient giảm dần ở các
units cuối do công thức Đạo hàm chuỗi, dẫn đến mất thông tin/sự phụ thuộc xa
giữa các units.

2 LONG SHORT-TERM MEMORY (LSTM)


LSTM cell là một biến thể của RNNs để giải quyết vấn đề Gradient Vanishing
trên RNNs. LSTM cell có thêm 1 nhánh C cho phép toàn bộ thông tin đi qua
cell, giúp duy trì thông tin cho câu dài.
Dù giải quyết được vấn đề GV nhưng phức tạp hơn RNNs rất nhiều nên train
cũng chậm hơn đáng kể.

2
3 TRANSFORMERS
Từ những nhược điểm trên của RNN và LSTM => Tranformers là cách để tận
dụng khả năng tính toán song song của GPU để tăng tốc độ train cho các mô
hình ngôn ngữ, đồng thời khắc phục điểm yếu xử lý câu dài.
Transformers cũng sử dụng 2 phần Encoder và Decoder khá giống RNNs,
nhưng input được đẩy vào cũng một lúc nhờ vào cơ chế self-attention nên đã
loại bỏ khái niệm timestep của RNNs.

3.1 Encoder
Bao gồm 6 layers liên tiếp nhau. Mỗi một layer sẽ bao gồm một sub-layer là
Multi-Head Attention kết hợp với fully-connected layer như mô tả ở nhánh

3
encoder bên trái của hình vẽ. Kết thúc quá trình encoder ta thu được một vector
embedding output cho mỗi từ.
Ta sẽ đi tuần tự các bước Encoder của Transformers:
- Input Embedding: vì máy tính không hiểu được câu chữ nên trước tiên cần
biến đổi câu chữ dưới dạng vector, có nhiều pretrained word embeddings:
GloVe, Fasttext, gensim w2v,..
- Positional Encoding: Cộng Embedding vector với PE vector để inject thêm
thông tin về vị trí của một từ.
- Self-Attention: (hay multi-head Attention) có 3 vector Q, K, V sau khi tính
toán ta nhận được vector attention Z cho một từ theo công thức:

Trong đó:

1. Input embeddings được nhân với 3 ma trận trọng số tương ứng trong quá

trình huấn luyện ta thu được 3 ma trận WQ, WK, WV. Sau đó, Q nhân

chập với K để truy vấn các từ trong câu, mục đích là để tính toán độ liên

quan giữa các từ với nhau => Score càng lớn sẽ càng liên quan đến nhau

và ngược lại

2. Scale bằng cách chia score cho căn bặc 2 số chiều của Q/K/V => giá trị

score ko phụ thuộc độ dài của vector Q/K/V

3. Softmax các kết quả vừa rồi để đạt được một phân bố xác suất trên các từ

4. Nhân phân bố xác suất đó với V để loại bỏ từ ko cần thiết, giữ lại từ quan

trọng

4
5. V đã được nhân cộng lại với nhau => attention Z cho một từ

**Lặp lại quá trình trên cho tất cả các từ ta được ma trận attention cho 1 câu.

- Multi-head Attention: thay vì sử dụng 1 Self-attention (1 head) thì ta sử


dụng nhiều Attention khác nhau (multi-head) và có thể mỗi Attention sẽ chú
ý đến một phần khác nhau trong câu.
- Residuals: skip connections trong Transformers cho phép thông tin đi qua
sub-layer trực tiếp. Thông tin này (x) được cộng với attention (z) của nó và
thực hiện Layer Normalization.
- Feed forward: Sau khi được Normalize, các vector z được đưa qua mạng
fully connected trước khi chuyển qua Decoder => vì vector ko phụ thuộc
vào nhau nên có thể tận dụng tính toán song song cho cả câu.

3.2 Decoder
Kiến trúc cũng bao gồm các layers liên tiếp nhau. Mỗi một layer của Decoder
cũng có các sub-layers gần tương tự như layer của Encoder nhưng bổ sung thêm

5
sub-layer đầu tiên là Masked Multi-Head Attention có tác dụng loại bỏ các từ
trong tương lai khỏi quá trình attention.
Sau khi masked input đưa qua sub-layer1 => input nhân với WQ. K/V lấy từ
Encoder cùng với Q từ masked đưa vào sub-layer2 và 3 tương tự Encoder =>
Các vector được đẩy qua lớp Linear (1 mạng fully connected) => softmax để
cho ra xác suất của từ tiếp theo.

4 BERT
Kiến trúc của mô hình BERT là một kiến trúc đa tầng gồm nhiều lớp
Bidirectional Transformer encoder dựa trên bản mô tả đầu tiên của Vaswani et
al. (2017) và sự phát hành trong thư viện tensor2tensor
BERT sử dụng các attention 2 chiều Transformers
BERT được thiết kế để huấn luyện trước các biểu diễn từ (pre-train word
embedding). Điểm đặc biệt ở BERT đó là nó có thể điều hòa cân bằng bối cảnh
theo cả 2 chiều trái và phải.
Cơ chế attention của Transformer sẽ truyền toàn bộ các từ trong câu văn đồng
thời vào mô hình một lúc mà không cần quan tâm đến chiều của câu.

4.1 Fine-tuning model BERT


Một đặc biệt ở BERT mà các model embedding trước đây chưa từng có đó là
kết quả huấn luyện có thể fine-tuning được. Chúng ta sẽ thêm vào kiến trúc
model một output layer để tùy biến theo tác vụ huấn luyện.

Với Q&A, tiến trình áp dụng fine-tuning sẽ như sau:

6
- B1: Embedding toàn bộ các token của cặp câu bằng các véc tơ nhúng từ
pretrain model. Các token embedding bao gồm cả 2 token là [CLS] và [SEP]
để đánh dấu vị trí bắt đầu của câu hỏi và vị trí ngăn cách giữa 2 câu. 2 token
này sẽ được dự báo ở output để xác định các phần Start/End Spand của câu
output.
- B2: Các embedding véc tơ sau đó sẽ được truyền vào kiến trúc multi-head
attention với nhiều block code (thường là 6, 12 hoặc 24 blocks tùy theo kiến
trúc BERT). Ta thu được một véc tơ output ở encoder.
- B3: Để dự báo phân phối xác suất cho từng vị trí từ ở decoder, ở mỗi time
step chúng ta sẽ truyền vào decoder véc tơ output của encoder và véc tơ
embedding input của decoder để tính encoder-decoder attention. Sau đó
projection qua linear layer và softmax để thu được phân phối xác suất cho
output tương ứng ở time step .
- B4: Trong kết quả trả ra ở output của transformer ta sẽ cố định kết quả của
câu Question sao cho trùng với câu Question ở input. Các vị trí còn lại sẽ là
thành phần mở rộng Start/End Span tương ứng với câu trả lời tìm được từ
câu input.

4.2 Masked LM (MLM)


Các mô hình ngôn ngữ trước đây chỉ có thể đào tạo từ trái qua phải hoặc từ phải
qua trái. Lý do được lý giải là vì khi sử dụng ngữ cảnh 2 chiều sẽ gây ra một
nghịch lý là một từ có thể gián tiếp tự nhìn thấy nó trong một ngữ cảnh nhiều
lớp.
Masked ML là một tác vụ cho phép chúng ta fine-tuning lại các biểu diễn từ
trên các bộ dữ liệu unsupervised-text bất kỳ. Chúng ta có thể áp dụng Masked
ML cho những ngôn ngữ khác nhau để tạo ra biểu diễn embedding cho chúng.
Một masked LM có nhiệm vụ che giấu đi một số token đầu vào một cách ngẫu
nhiên và sau đó chúng ta chi dự đoán các token được giấu đi đó.

7
Sơ đồ kiến trúc BERT cho tá vụ Masked ML.

Theo đó:
- Khoảng 15 % các token của câu input được thay thế bởi [MASK] token trước
khi truyền vào model đại diện cho những từ bị che dấu (masked). Mô hình
sẽ dựa trên các từ không được che (non-masked) dấu xung quanh [MASK] và
đồng thời là bối cảnh của [MASK] để dự báo giá trị gốc của từ được che dấu.
Số lượng từ được che dấu được lựa chọn là một số ít (15%) để tỷ lệ bối cảnh
chiếm nhiều hơn (85%).
- Bản chất của kiến trúc BERT vẫn là một mô hình seq2seq gồm 2 phase
encoder giúp embedding các từ input và decoder giúp tìm ra phân phối xác
suất của các từ ở output. Kiến trúc Transfomer encoder được giữ lại trong
tác vụ Masked ML. Sau khi thực hiện self-attention và feed forward ta sẽ thu
được các véc tơ embedding ở output là
- Để tính toán phân phối xác suất cho từ output, chúng ta thêm một Fully
connect layer ngay sau Transformer Encoder. Hàm softmax có tác dụng tính
toán phân phối xác suất. Số lượng units của fully connected layer phải bằng
với kích thước của từ điển.
- Cuối cùng ta thu được véc tơ nhúng của mỗi một từ tại vị trí MASK sẽ là
embedding véc tơ giảm chiều của véc tơ sau khi đi qua fully connected
layer như mô tả trên hình vẽ bên phải.

4.3 Next Sentence Prediction (NSP)


Để đào tạo được mô hình hiểu được mối quan hệ giữa các câu, chúng ta xây
dựng một mô hình dự đoán câu tiếp theo dựa vào câu hiện tại, dữ liệu huẩn
8
luyện có thể là một corpus bất kỳ nào. Cụ thể, khi chọn câu A và câu B cho mỗi
training sample, 50% khả năng câu B là câu tiếp theo sau câu A và 50% còn lại
là một câu ngẫu nhiên nào đó trong corpus. Nhãn của mô hình sẽ tương ứng với
IsNext khi cặp câu là liên tiếp hoặc NotNext nếu cặp câu không liên tiếp.
Cũng tương tự như mô hình Q&A, chúng ta cần đánh dấu các vị trí đầu câu thứ
nhất bằng token [CLS] và vị trí cuối các câu bằng token [SEP]. Các token này
có tác dụng nhận biết các vị trí bắt đầu và kết thúc của từng câu thứ nhất và thứ
hai.

4.4 Các kiến trúc model BERT


Các phiên bản đều dựa trên việc thay đổi kiến trúc của Transformer tập trung ở 3
tham số:
- L: Số lượng các block sub-layers trong transformer
- H: Kích thước của embedding véc tơ (hay còn gọi là hidden size)
- A: Số lượng head trong multi-head attention layer, mỗi một head sẽ thực
hiện một self-attention.
Tên gọi của 2 kiến trúc bao gồm:

You might also like