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

BÁO cáo TIẾN độ (tuần 02 254 45) RECURRENT NEURAL NETWORK (RNN)

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

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

TIEU LUAN MOI download :


MỤC LỤC
1 RECURRENT NEURAL NETWORK (RNN)..................................................................................................
2LONG SHORT-TERM MEMORY (LSTM)..........................................................................................................
3TRANSFORMERS..............................................................................................................................................

3.1 ENCODER.........................................................................................................
3.2 DECODER.........................................................................................................
4BERT.....................................................................................................................................................................

4.1 FINE-TUNING MODEL BERT...........................................................................
4.2 MASKED ML (MLM).....................................................................................
4.3 NEXT SENTENCE PREDICTION (NSP)............................................................

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

1

TIEU LUAN MOI download :


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 tồ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

TIEU LUAN MOI download :


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 tố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

TIEU LUAN MOI download :


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 tố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 tố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


TIEU LUAN MOI download :


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 tố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

TIEU LUAN MOI download :



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


TIEU LUAN MOI download :


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 multihead 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ự đốn các token được giấu đi đó.

7

TIEU LUAN MOI download :


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 tố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 tố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ự đốn câu tiếp theo dựa vào câu hiện tại, dữ liệu huẩn
8

TIEU LUAN MOI download :


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:

9

TIEU LUAN MOI download :




×