1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

10 1 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Recurrent Neural Network (RNN)
Người hướng dẫn Th.s Dung Cẩm Quang
Trường học Unknown University
Chuyên ngành Recurrent Neural Network (RNN)
Thể loại Báo cáo tiến độ
Năm xuất bản 2023
Định dạng
Số trang 10
Dung lượng 165,89 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

MỤC LỤC

1 RECURRENT NEURAL NETWORK (RNN) 2

2 LONG SHORT-TERM MEMORY ( LSTM) 2

3 TRANSFORMERS 3

3.1 E NCODER 3

3.2 D ECODER 5

4 BERT 6

4.1 F INE - TUNING MODEL BERT 6

4.2 M ASKED ML (MLM) 7

4.3 N EXT S ENTENCE P REDICTION (NSP) 8

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

Trang 3

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ể

Trang 4

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à

Trang 5

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

Trang 6

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

Trang 7

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:

Trang 8

- 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

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

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

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

Trang 9

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

Theo đó:

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%)

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à

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

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

Trang 10

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:

Ngày đăng: 19/06/2022, 08:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w