Kiến trúc tổng quan

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Đánh giá kiến trúc mô hình ngôn ngữ dựa trên transformer kết hợp với đặc trưng ngôn ngữ hình ảnh được đào tạo trước cho bài toán sinh mô tả ảnh tiếng Việt (Trang 35 - 40)

Chương 1 Tổng quan: Giới thiệu tổng quan về đề tài, mục tiêu của đề

2.2 Các kiến thức cơ sở

2.2.2.1 Kiến trúc tổng quan

Cũng giống như các mô hình dịch máy khác, mô hình transformer cũng bao gồm hai phần lớn là bộ mã hóa (Encoder) và bộ giải ma (Decoder). Bộ mã hóa biểu diễn ngôn ngữ nguồn thành các vector, bộ giải mã sẽ nhận các vector biểu dién này va dịch nó sang ngôn ngữ đích. Chi tiết các thành phần của bộ mã hóa

và giải mã được thể hiện như hình |2 bộ mã hóa và giải mã lần lượt nằm ở

cột bên trái và bên phải của hình vẽ.

Output Probabilities

Multi-Head Attention

Nx

Multi-Head Attention _+ 7

Positional Encoding

Positional Encoding

O4 La

Input Output

Embedding Embedding

Inputs Outputs

(shifted right)

Hinh 2.2.4. Kiến trúc Transformer

Một trong những ưu điểm của transformer là mô hình có khả năng xử ly song song cho các từ. Dầu vào sẽ được đẩy vào cùng một lúc. Bộ mã hóa của

Khóa luận tốt nghiệp Trang 21

Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh

Khoa Khoa Học Máy Tính

kiến trúc transformer bao gồm một tập gồm N = 6 lớp giống nhau, mỗi lớp bao gồm 2 lớp con. Lớp đầu tiên là cơ chế multi-head self-attention, và lớp thứ 2 là mạng feed-forward kết nối đẩy đủ. Dầu ra của mỗi lớp con là LayerNorm(x +

Sublayer(x)), trong đó Sublayer(x) là một hàm được thực hiện bới chính lớp con

đó. Bộ giải mã cũng bao gồm tập gồm N = 6 lớp giống nhau. Ngoài hai lớp con giống như bộ mã hóa, bộ giải mã còn có một lớp để thực hiện cơ chế tập trung

da đầu trên đầu ra của lớp giải mã. Ở đây sẽ có thay đổi cơ chế self-attention

trong bộ mã hóa.

2.2.2.2 Cơ chế Self-Attention

Trước khi đi chi tiết vào mô hình, ta sẽ tìm hiểu về self-attention - “trái tim” của kiến trúc transformer. Self-attention là co chế giúp Transformers hiểu được

sự liên quan giữa các từ trong một câu. Có thể tưởng tượng self-attention giống

như cơ chế tìm kiếm. Với một từ cho trước, cơ chế này sẽ cho phép mô hình tìm

kiếm trong các từ còn lại để xác định từ nào liên quan để sau đó thông tin sẽ được mã hóa dựa trên tất cả các từ trên. Giả sử câu sau là câu đầu vào mà chúng

ta cần dịch: "The animal didn’t cross the street because it was too tired”. Từ “it” trong câu trên đại diện cho cái gì? “Con vat” (animal) hay “đường phổ” (street)?

Câu hỏi này đơn giản với con người nhưng không đơn giản với các thuật toán.

Khi mô hình xử lý từ “it”, self-attention cho phép nó liên kết “it” với “animal”. Khi mô hình xứ lý từng từ (từng vị trí trong cầu đầu vào), self-attention cho phép nó quan sát các vị trí khác trong câu để tìm ra ý tưởng cho việc mã hóa

từ hiện tại tốt hơn. Nếu bạn quen với các mạng RNN, hãy nghĩ về cách RNN

duy trì một trạng thái ẩn cho phép nó kết hợp biểu diễn của từ/véc tơ trước đó với từ mà nó đang xử ly. Self-attention là cách mà Transformer sử dụng để duy trì hiểu biết về các từ khác có liên quan đến từ hiện tại.

Khóa luận tốt nghiệp Trang 22

Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh

Khoa Khoa Học Máy Tính

Layer:| 5 ‡ Attention: Input-Input =|

Hình 2.2.5. Vi dụ trực quan hóa của Self-attetion

Đầu vào của self-attention là 3 vector query, key, value. Các vector này được

tạo ra bằng cách nhân ma trận biểu diễn các từ đầu vào với ma trận học tương

ứng:

e Vector query là vector dùng để chứa thông tin của từ được tìm kiếm, so

sánh.

e Vector key là vector dùng để biểu dién thông tin các từ được so sánh với từ cần tìm kiếm ở trên.

e Vector value là vector biểu diễn nội dung, ý nghĩa của các từ.

Vector attention cho một từ thể hiện tính tương quan giữa 3 vector này được tạo ra bằng cách nhân tích vô hướng giữa chúng và sau đó được chuẩn hóa bằng ham softmax. Cụ thể quá trình tính toán như sau (Hình |2.2.6):

Khóa luận tốt nghiệp Trang 23

Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh

Khoa Khoa Học Máy Tính

e Bước 1: Tính ma tran query, key, value bằng cách nhân input với các ma

trận trọng số tương ứng.

e Bước 2: Nhân hai ma trận query, key vừa tính được với nhau với ý nghĩa

so sánh giữa câu query và key để học mối tương quan. Sau đó các giá trị

sẽ được chuẩn hóa về khoảng [0-1] bằng hàm softmax với ý nghĩa 1 khi câu

query giống với key ngược lại, 0 có nghĩa là không giống.

e Bước 3: Output sẽ được tính bằng cách nhân ma trận vừa được tạo ra 6

bước 2 với ma trận value.

_ Attention Score = eee SY—- seRmaQueapee)

⁄2

Input = Embedding + Position encode

Trọng số Sat

Key

$ Ma trận

Key

Trọng số

Value Ma tran

Value

Hình 2.2.6. Quá trình tính toán vector attention

Hai ham attention phổ biến được sử dụng là additive attention và dot-product

attention. Một điểm đăc biệt dot-product attention là chia cho VSố chiều vector key

additive attention tính toán sử dụng một mạng feedforward với một tầng an. Về

mặt lý thuyết, cả hai giống nhau về độ phức tap nhưng dot-product attention

trong thực tế nhanh hơn và hiệu quả hơn vì có thể sử dụng thuật toán nhân ma

trận tối ưu.

Khóa luận tốt nghiệp Trang 24

Trường Đại Học Công Nghệ Thông Tin Tp.Hồ Chí Minh

` Khoa Khoa Học Máy Tính

2.2.2.3. Mã hóa vị trí (Positional Encoding)

Không giống như RNN hoặc các mạng hồi quy khác, Transformer không thể nắm bắt được vị trí của các từ trong câu để xử lý nhưng trong thực tế thì điều

đó là vô cùng cần thiết (ví dụ “Tôi cao hơn bạn” và “bạn cao hơn tôi” là hai câu khác nhau, nếu không nhận biết được vị trí thì có thể 2 câu này sẽ cho ra cùng

một kết quả). Đó là lý do Transformers có thêm một phan Positional Encoding

để cho biết thêm thông tin về vị trí của một từ. Giá trị này được tính như sau:

PE (pos,21) = Sin (pos /100002//đas+e')

PE pos,21+1) = 008 (pos /100002/4meaer)

Trong đó:

e pos là vị trí của từ trong câu.

e PE là giá trị phần tử thứ i trong embeddings có độ dài dmodet-

Như vậy bộ mã hóa sẽ nhận ma trận biểu diễn của các từ đã được cộng với

thông tin vị trí thông qua mã hóa vị trí.

2.2.2.4. Cơ chế tập trung nhiều đầu (Multi Head Attention)

Vấn đề của self-attention là attention của một từ sẽ luôn “chú ý” vào chính

nó. Chúng ta muốn mô hình có thể học nhiều kiểu mối quan hệ giữ các từ với

nhau. Ý tưởng là thay vì sử dung một self-attention thì chúng ta sẽ sử dụng

nhiều self-attention. Vấn đề của self-attention là attention của một từ sẽ luôn

“chú ý” vào chính nó. Chúng ta muốn mô hình có thể học nhiều kiểu mối quan

hệ giữ các từ với nhau. Ý tưởng là thay vì sử dung một self-attention thi chúng

ta sẽ sử dụng nhiều self-attention.

MultiHead (Q,K,V)= Concat (headi,..., head „) W2

Khóa luận tốt nghiệp Trang 25

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Đánh giá kiến trúc mô hình ngôn ngữ dựa trên transformer kết hợp với đặc trưng ngôn ngữ hình ảnh được đào tạo trước cho bài toán sinh mô tả ảnh tiếng Việt (Trang 35 - 40)

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

(40 trang)