Minh hoạ kiến trúc Transformer

Một phần của tài liệu Tổng hợp âm nhạc sử dụng học sâu (Trang 39 - 42)

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 tin vị trí vào từng phần tử trong chuỗi.

2.8.1 Mạng truyền xi theo vị trí - Position-wise feed-forward network

Mạng truyền xi theo vị trí - Position-wise feed-forward network là một thành phần quan trọng của khối Transformer. Nó chấp nhận đầu vào3chiều với kích thước là: kích thước batch, độ dài chuỗi, kích thước đăc trưng. Mạng truyền xi theo vị trí bao gồm hai tầng dày đặc áp dụng trên chiều cuối cùng của đầu vào. Vì hai tầng dày đặc này cùng được sử dụng cho từng vị trí trong chuỗi, nên ta gọi là mạng truyền xi theo vị trí. Cách làm này tương đương với việc áp dụng hai tầng tích chập1×1.

2.8.2 Cộng và chuẩn hóa

Trong kiến trúc Transformer, tầng "cộng và chuẩn hóa" cũng đóng vai trị thiết yếu trong việc kết nối đầu vào và đầu ra của các tầng khác một cách trơn tru. Cụ thể, ta thêm một cấu trúc phân dư và tầng chuẩn hóa theo tầng sau tầng tập trung đa đầu và mạng truyền xuôi theo vị trí. Chuẩn hóa theo tầng khá giống với chuẩn hóa theo batch. Một điểm khác biệt là giá trị trung bình và phương sai của tầng chuẩn hóa này được tính theo chiều cuối cùng, tức X.mean(axis=-1), thay vì theo chiều đầu tiên (theo batch) X.mean(axis=0) . Chuẩn hóa tầng ngăn khơng cho phạm vi giá trị trong các tầng thay đổi quá nhiều, giúp huấn luyện nhanh hơn và khái quát hóa tốt hơn.

2.8.3 Biểu diễn vị trí - Positional Encoding

Khơng giống như tầng hồi tiếp, cả tầng multihead-attention và mạng truyền xi theo vị trí đều tính tốn đầu ra cho từng phần tử trong chuỗi một cách độc lập. Điều này cho phép song song hóa cơng việc tính tốn nhưng lại khơng mơ hình hóa được thơng tin tuần tự trong chuỗi đầu vào. Để nắm bắt các thông tin tuần tự một cách hiệu quả, mơ hình Transformer sử dụng biểu diễn vị trí (positional encoding) để duy trì thơng tin vị trí của chuỗi đầu vào.

Cụ thể, giả sửX∈Rl×d là embedding của mẫu đầu vào, trong đó l là độ dài chuỗi và d là kích thước embedding. Tầng biểu diễn vị trí sẽ mã hóa vị tríP∈Rl×dcủaXvà trả về đầu raP+X. Vị tríPlà ma trận 2 chiều, trong đóilà thứ tự trong câu, jlà vị trí theo chiều embedding. Bằng cách này, mỗi vị trí trong chuỗi ban đầu được biểu biễn bởi hai phương trình dưới đây:

Pi,2j=sin(i/100002j/d)

Pi,2j+1=cos(i/100002j/d)

vớii=0, ...,l−1và j=0, ...,⌊(d−1)/2⌋

2.8.4 Khối Encoder và Decoder của kiến trúc Transformer

Ecnoder của kiến trúc Transformer chứa một tầng tập trung đa đầu, một mạng truyền xi theo vị trí và hai khối kết nối “cộng và chuẩn hóa”. Khối Decoder của Transformer gần tương tự như khối Encoder. Tuy nhiên, bên cạnh hai tầng con (multi-head attention và biểu diễn vị trí), khối giải mã cịn chứa tầng multi-head attention áp dụng lên đầu ra của bộ mã hóa. Các tầng con này cũng được kết nối bằng các tầng “cộng và chuẩn hóa”, gồm kết nối phần dư và chuẩn hóa theo tầng.

2.9 Biểu diễn Mã hóa hai chiều từ Transformer (BERT)

Đôi nét về các cách biểu diễn ngôn ngữ tự nhiên phổ biến hiện nay:

• Các mơ hình embedding từ như word2vec [17][18] và GloVe (Global Vectors for Word Representation) [19] có tính chất độc lập với ngữ cảnh. Hai mơ hình này gán cùng một vector được tiền huấn luyện cho cùng một từ bất kể ngữ cảnh xung quanh của từ đó là gì (nếu có). Do đó, rất khó để các mơ hình này xử lý tốt các trường hợp phức tạp về ngữ nghĩa hay đa nghĩa trong các ngơn ngữ tự nhiên.

• Đối với các biểu diễn từ nhạy ngữ cảnh như ELMo (embedding từ các mơ hình ngơn ngữ (Embeddings from Language Models)) [20] và GPT (Generative Pre-Training) [21], biểu diễn của từ phụ thuộc vào ngữ cảnh của từ đó.

• ELMo mã hóa ngữ cảnh theo hai chiều nhưng sử dụng kiến trúc đặc thù phụ thuộc vào các tác vụ trong ngôn ngữ tự nhiên cần xử lý như phân tích cảm xúc, suy luận ngơn ngữ tự nhiên, trả lời câu hỏi, ... Bởi vì trên thực tế khơng dễ để tạo ra một kiến trúc đặc thù cho mọi tác vụ xử lý ngôn ngữ tự nhiên trong khi đó GPT khơng phân biệt tác vụ nhưng chỉ mã hóa ngữ cảnh theo chiều từ trái sang phải.

Kết hợp những điều tốt nhất của hai phương pháp ELMo và GPT, BERT (biểu diễn mã hóa hai chiều từ Transformer - Bidirectional Encoder Representations from Transformers)[22] mã hóa ngữ cảnh theo hai chiều và chỉ yêu cầu vài thay đổi kiến trúc tối thiểu cho một loạt các tác vụ xử lý ngơn ngữ tự nhiên. Sử dụng bộ mã hóa Transformer được tiền huấn luyện, BERT có thể biểu diễn bất kỳ token nào dựa trên ngữ cảnh hai chiều của nó. Trong q trình học có giám sát trên các tác vụ xi dịng, BERT tương tự như GPT ở hai khía cạnh. Đầu tiên, các biểu diễn BERT sẽ được truyền vào một tầng đầu ra được bổ sung, với những thay đổi tối thiểu tới kiến trúc mơ hình tùy thuộc vào bản chất của tác vụ, chẳng hạn như dự đoán cho mỗi token hay dự đốn cho tồn bộ chuỗi. Thứ hai, tất cả các tham số của bộ mã hóa Transformer đã tiền huấn luyện đều được tinh chỉnh, trong khi tầng đầu ra bổ sung sẽ được huấn luyện từ đầu.

Một phần của tài liệu Tổng hợp âm nhạc sử dụng học sâu (Trang 39 - 42)

Tải bản đầy đủ (PDF)

(94 trang)