Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
là một dòng mạng nơ ron
Nơ ron
Một nơ ron hay tế bào thần kinh nhân tạo (còn được gọi là perceptron) là một hàm toán học. Nó là tổng của một hoặc nhiều yếu tố đầu vào được nhân với các trọng số. Giá trị này sau đó được chuyển đến một hàm phi tuyến tính, được gọi là hàm kích hoạt, để trở thành đầu ra của nơ ron.
nhân tạo đang ngày càng trở nên phổ biến. Trong bài này, hãy cùng trituenhantao.io tìm hiểu cách thức hoạt động của chúng. Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
được sử dụng bởi GPT-2 của OpenAI hay trong AlphaStar của DeepMind — một chương trình có khả năng đánh bại những người chơi đỉnh cao của Starcraft.
Transformers được phát triển để giải bài toán chuyển đổi chuỗi hoặc dịch máy. Tức là nó có thể hoạt động với mọi bài toán chuyển một chuỗi đầu vào thành một chuỗi đầu ra. Các bài toán như nhận dạng giọng nói, chuyển văn bản thành giọng nói và nhiều ứng dụng khác của AI đều thuộc lớp bài toán này.
Để mô hình có thể thực hiện chuyển đổi chuỗi, nó cần có một dạng bộ nhớ nào đó. Ví dụ như mô hình cần dịch câu nói “Hồ Chí Minh là vị cha già kính yêu của dân tộc Việt Nam, những gì Người để lại sẽ mãi là tấm gương cho chúng con noi theo“. Để thu nhận và chuyển đổi được chuỗi văn bản này, nó cần biết được Người và Hồ Chí Minh có mỗi quan hệ đồng nhất với nhau.
Để có thể dịch được câu như vậy, mô hình cần tìm ra được mối liên hệ ràng buộc và phụ thuộc giữa các thực thể trong câu. Mạng nơ ron
Nơ ron
Một nơ ron hay tế bào thần kinh nhân tạo (còn được gọi là perceptron) là một hàm toán học. Nó là tổng của một hoặc nhiều yếu tố đầu vào được nhân với các trọng số. Giá trị này sau đó được chuyển đến một hàm phi tuyến tính, được gọi là hàm kích hoạt, để trở thành đầu ra của nơ ron.
hồi quy (RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
) và mạng nơ ron
Nơ ron
Một nơ ron hay tế bào thần kinh nhân tạo (còn được gọi là perceptron) là một hàm toán học. Nó là tổng của một hoặc nhiều yếu tố đầu vào được nhân với các trọng số. Giá trị này sau đó được chuyển đến một hàm phi tuyến tính, được gọi là hàm kích hoạt, để trở thành đầu ra của nơ ron.
tích chập (CNN) có những đặc điểm phù hợp để giải quyết vấn đề này. Trước khi tìm hiểu về Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
, hãy cùng ôn lại một chút về hai kiến trúc này.
Recurrent Neural Networks
RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
chứa một vòng lặp thông tin trong kiến trúc của nó.
Trong hình trên, chúng ta thấy một phần của mạng RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
, A, xử lý đầu vào x_t và cho đầu ra h_t. Vòng lặp cho phép thông tin lưu chuyển từ bước này đến bước sau.
Nếu gỡ vòng lặp này ra, ta có thể dễ dàng quan sát cách RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
xử lý thông tin. Một RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
có thể được coi như nhiều bản sao của cùng một mạng A. Mỗi mạng truyền một thông điệp đến mạng kế tiếp:
Tính chất này giúp cho RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
có thể xử lý các đầu vào liên quan đến chuỗi hoặc danh sách. Theo cách này, nếu ta muốn dịch một băn bản, đầu vào sẽ là các từ xuất hiện trong văn bản đó. Thông tin từ đầu chuỗi có thể được truyền và sử dụng khi xử lý các từ tiếp theo.
Hình dưới đây thể hiện cách RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
xử lý thông tin dạng chuỗi, các từ được xử lý riêng lẻ và câu kết quả được sinh ra bằng cách đưa trạng thái ẩn làm đầu vào cho decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
.
Long-Short Term Memory (LSTM)
Mặc dù RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
là một ý tưởng tuyệt vời trên lý thuyết nhưng trên thực tế, nó gặp vấn đề với các câu dài. Do phải lặp qua nhiều phần tử của chuỗi, kiến trúc này gặp phải hiện tượng mang tên vanishing gradient
Vanishing Gradient
Là vấn đề xảy ra khi huấn luyện các mạng nơ ron nhiều lớp. Khi huấn luyện, giá trị đạo hàm là thông tin phản hồi của quá trình lan truyền ngược. Giá trị này trở nên vô cùng nhỏ tại các lớp nơ ron đầu tiên khiến cho việc cập nhật trọng số mạng không thể xảy ra.
. Mạng không thể cập nhật các trọng số khi thông tin hiệu chỉnh không truyền được về những lớp đầu tiên. LSTM
LSTM
Viết tắt của Long-short term memory, là một kiến trúc mạng nơ ron hồi quy nhân tạo được sử dụng trong deep learning. Không giống như các mạng truyền thẳng tiêu chuẩn, LSTM có các kết nối phản hồi. Nó không chỉ có khả năng xử lý các điểm dữ liệu đơn lẻ mà còn xử lý toàn bộ chuỗi dữ liệu mà không gặp phải vấn đề vanishing gradient.
là bản cải tiến của RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
giải quyết vấn đề đó.
Trong cuộc sống hàng ngày, khi sắp xếp công việc, chúng ta thường ưu tiên những việc quan trọng. Các việc không phục vụ mục tiêu của chúng ta có thể bỏ qua được. Nhưng RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
không làm như vậy, toàn bộ câu đầu vào được xử lý, điều này khiến nó phải cáng đáng quá nhiều thông tin.
LSTM
LSTM
Viết tắt của Long-short term memory, là một kiến trúc mạng nơ ron hồi quy nhân tạo được sử dụng trong deep learning. Không giống như các mạng truyền thẳng tiêu chuẩn, LSTM có các kết nối phản hồi. Nó không chỉ có khả năng xử lý các điểm dữ liệu đơn lẻ mà còn xử lý toàn bộ chuỗi dữ liệu mà không gặp phải vấn đề vanishing gradient.
sử dụng một vài phép nhân chia trong kiến trúc của mình để giải quyết vấn đề này. Với LSTM
LSTM
Viết tắt của Long-short term memory, là một kiến trúc mạng nơ ron hồi quy nhân tạo được sử dụng trong deep learning. Không giống như các mạng truyền thẳng tiêu chuẩn, LSTM có các kết nối phản hồi. Nó không chỉ có khả năng xử lý các điểm dữ liệu đơn lẻ mà còn xử lý toàn bộ chuỗi dữ liệu mà không gặp phải vấn đề vanishing gradient.
, thông tin được truyền qua một cơ chế mang tên ô nhớ. Nó có thể lựa chọn các thông tin quan trọng và quên đi các thông tin khác.
Kiến trúc của LSTM
LSTM
Viết tắt của Long-short term memory, là một kiến trúc mạng nơ ron hồi quy nhân tạo được sử dụng trong deep learning. Không giống như các mạng truyền thẳng tiêu chuẩn, LSTM có các kết nối phản hồi. Nó không chỉ có khả năng xử lý các điểm dữ liệu đơn lẻ mà còn xử lý toàn bộ chuỗi dữ liệu mà không gặp phải vấn đề vanishing gradient.
trông như sau:
Dù LSTM
LSTM
Viết tắt của Long-short term memory, là một kiến trúc mạng nơ ron hồi quy nhân tạo được sử dụng trong deep learning. Không giống như các mạng truyền thẳng tiêu chuẩn, LSTM có các kết nối phản hồi. Nó không chỉ có khả năng xử lý các điểm dữ liệu đơn lẻ mà còn xử lý toàn bộ chuỗi dữ liệu mà không gặp phải vấn đề vanishing gradient.
là bước cải tiến lớn so với RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
, nhưng với những câu quá dài, nó vẫn phải dừng bước. Việc giữ được ngữ cảnh trong một từ nằm cách xa từ đang xử lý là một khó khăn lớn. Xác suất để hai từ có ràng buộc với nhau tỉ lệ nghịch với khoảng cách của chúng theo hàm mũ.
Một vấn đề nữa đối với RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
hay LSTM
LSTM
Viết tắt của Long-short term memory, là một kiến trúc mạng nơ ron hồi quy nhân tạo được sử dụng trong deep learning. Không giống như các mạng truyền thẳng tiêu chuẩn, LSTM có các kết nối phản hồi. Nó không chỉ có khả năng xử lý các điểm dữ liệu đơn lẻ mà còn xử lý toàn bộ chuỗi dữ liệu mà không gặp phải vấn đề vanishing gradient.
là chúng xử lý các từ một cách tuần tự. Đó là một rào cản nếu như muốn tính toán song song.
Attention
Để giải quyết vấn đề đó, các nhà nghiên cứu tạo ra một cơ chế giúp mô hình tập trung chú ý vào các từ cụ thể. Điều này khá phù hợp với cách làm việc của con người. Cơ chế này mang tên Attention.
Với RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
, thay vì mã hóa toàn bộ câu vào một trạng thái ẩn, mỗi từ có một trạng thái ẩn riêng. Sau khi mã hóa, tất cả chúng được truyền vào decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
. Hình dưới đây thể hiện chi tiết quá trình đó.
Ý tưởng đằng sau kỹ thuật này là thông tin liên quan có thể xuất hiện ở bất kỳ vị trí nào trong câu, không phụ thuộc vào khoảng cách. Do đó để giải mã một cách chính xác, nó cần tính đến tất cả các từ và sử dụng attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
. Hình ở dưới thể hiện cách decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
tập trung vào các từ với các mức độ chú ý khác nhau.
Ví dụ khi dịch câu “Je suis étudiant” sang tiếng Anh, mô hình cần nhìn vào các từ khác nhau để dịch nó.
Hình phía dưới thể hiện mức độ chú ý của mô hình khi dịch “L’accord sur la zone économique européenne a été signé en août 1992.” từ tiếng Pháp sang tiếng Anh.
Mặc dù Attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
đã giải quyết được vấn đề phụ thuộc giữa các từ trong RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
, nó vẫn chưa giúp tính toán song song. Đây là bất lợi đáng kể khi làm việc với các tập dữ liệu lớn.
Convolutional Neural Network
Mạng tích chập CNN là giải pháp cho tính toán song song. Một số mạng nổi tiếng trong biến đổi chuỗi sử dụng CNN có thể kể đến như Wavenet và Bytenet.
Lý do CNN có thể tính toán song song là các từ được xử lý cùng lúc và không cần chờ đợi nhau. Không chỉ có vậy, khoảng cách giữa một từ đầu ra với một từ đầu vào là log(N), thay vì N như trong RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
. Bạn có thể thấy rõ trong mô hình của Wavenet tại hình dưới đây.
Vấn đề của CNN là nó không giải quyết bài toán phụ thuộc trong câu. Đó là lý do Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
được tạo ra, kiến trúc này kết hợp CNN với Attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
.
Transformer
Như đã giới thiệu ở trên, Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
kết hợp sức mạnh của CNN và Attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
. Cụ thể hơn, kiến trúc này sử dụng self-attention
Self-attention
Là cơ chế attention liên quan đến các vị trí khác nhau của một chuỗi để tính toán biểu diễn của chuỗi đó.
. Trong kiến trúc của mình, Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
chứa 6 encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
và 6 decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
.
Các encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
đều rất giống nhau, có cùng kiến trúc. Mỗi encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
chứa hai lớp: Self-attention
Self-attention
Là cơ chế attention liên quan đến các vị trí khác nhau của một chuỗi để tính toán biểu diễn của chuỗi đó.
và mạng truyền thẳng (FNN).
Self-attention
Self-attention
Là cơ chế attention liên quan đến các vị trí khác nhau của một chuỗi để tính toán biểu diễn của chuỗi đó.
giúp encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
nhìn vào các từ khác trong lúc mã hóa một từ cụ thể. Các decoder
decoder
Bộ giải mã trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
cũng có kiến trúc giống như vậy nhưng giữa chúng có một lớp attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
để nó có thể tập trung vào các phần liên quan của đầu vào.
Self-Attention
Bước đầu tiên để tính self-attention
Self-attention
Là cơ chế attention liên quan đến các vị trí khác nhau của một chuỗi để tính toán biểu diễn của chuỗi đó.
là tạo ra bộ 3 véctơ từ các véctơ đầu vào của encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
. Tại encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
đầu tiên, véctơ đầu vào là word embedding
Word embedding
Word embedding là một trong những phương pháp biểu diễn phổ biến nhất của từ vựng làm đầu vào cho các mô hình học máy. Nó có khả năng nắm bắt ngữ cảnh của một từ trong tài liệu, sự tương đồng về ngữ nghĩa và cú pháp so với các từ khác. [Tìm hiểu thêm]
của từ. Như vậy với mỗi từ, ta sẽ có 3 véctơ Query, Key và Value. Các véctơ này được tạo nên bởi phép nhân ma trận giữa véctơ đầu vào và 3 ma trận trọng số chúng ta sử dụng trong quá trình huấn luyện. 3 véctơ này đóng vai trò khác nhau và đều quan trọng đối với attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
.
Bước thứ hai là tính điểm. Với mỗi từ, ta cần tính điểm của các từ khác trong câu đối với từ này. Giá trị này giúp quyết định từ nào cần chú ý và chú ý bao nhiêu khi mã hóa một từ.
Điểm được tính bằng tích vô hướng giữa véctơ Query của từ đang xét với lần lượt các véctơ Key của các từ trong câu. Ví dụ, khi ta tính self-attention
Self-attention
Là cơ chế attention liên quan đến các vị trí khác nhau của một chuỗi để tính toán biểu diễn của chuỗi đó.
trên từ có vị trí 1, điểm của nó với chính nó là q1.k1, điểm của nó với từ thứ hai là q1.k2, v..v..
Bước tiếp theo là chuẩn hóa điểm. Trong bài báo gốc, điểm được chia cho 8 (căn bậc 2 của 64 – số chiều của véctơ Key). Điều này giúp cho độ dốc trở nên ổn định hơn. Tiếp theo, giá trị này được truyền qua hàm softmax
Softmax
Trong toán học, hàm softmax, còn được gọi là hàm mũ mềm hoặc hàm mũ chuẩn hóa, là hàm nhận vào một vectơ của chứa K số thực và chuẩn hóa nó thành phân phối xác suất chứa K xác suất tỷ lệ thuận với lũy thừa của các số đầu vào.
để đảm bảo các giá trị điểm đều dương và có tổng không vượt quá 1.
Bước tiếp theo là nhân véctơ Value với mỗi giá trị điểm đã tính phía trên rồi cộng lại với nhau. Ý đồ của việc này là bảo toàn giá trị véctơ của các từ cần được chú ý và loại bỏ véctơ của các từ không liên quan (bằng cách nhân nó với một số rất nhỏ, ví dụ như 0.001).
Multihead attention
Đọc đến đây, bạn đã có được những thông tin cơ bản để hiểu cách hoạt động của Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
. Trên thực tế, có một vài chi tiết nữa giúp cho kiến trúc này hoạt động hiệu quả hơn. Ví dụ như thay vì sử dụng một bộ giá trị self-attention
Self-attention
Là cơ chế attention liên quan đến các vị trí khác nhau của một chuỗi để tính toán biểu diễn của chuỗi đó.
, mô hình có thể sử dụng nhiều bộ QKV khác nhau. Kỹ thuật này mang tên Multihead attention
Attention
Có thể dịch nôm là Cơ chế chú ý. Đây là kỹ thuật dựa trên khái niệm về sự chú ý trong nhận thức của con người, kỹ thuật này giúp mô hình tập trung vào những yếu tố đặc biệt nhất định trong dữ liệu.
.
Ý tưởng đằng sau kỹ thuật này là một từ có thể có nhiều nghĩa hoặc nhiều cách thể hiện khác nhau khi dịch ra một ngôn ngữ khác. Ngoài ra, mức độ liên hệ giữa các từ có thể thay đổi khi ta quan tâm đến các khía cạnh khác nhau của một câu nói.
Positional Encoding
Một chi tiết quan trọng khác của Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
là mã hóa vị trí (positional encoding). Encoder
encoder
Bộ mã hóa trong kiến trúc sử dụng bộ mã hóa và bộ giải mã, thường thấy trong các mô hình seq2seq. Encoder mã hóa chuỗi đầu vào thành một biểu diễn gọi là "vectơ ngữ cảnh". Vectơ này được Decoder sử dụng để sinh chuỗi đầu ra.
của Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
không có sự lặp lại tuần tự như RNN
RNN
Mạng nơ ron hồi quy (RNN) là một lớp các mạng nơ ron nhân tạo trong đó đầu ra từ bước trước được cung cấp làm đầu vào cho bước hiện tại.
, chúng ta phải đưa thông tin về vị trí vào véctơ đầu vào. Các tác giả của Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
thực hiện một mánh rất thông minh sử dụng sin và cos.
Chúng ta không đi sâu vào khía cạnh toán học của kỹ thuật này, nhưng về cơ bản, với các bước thời gian lẻ, ta dùng hàm cos, với bước thời gian chẵn, ta dùng hàm sin. Sau đó ta cộng các véctơ vào embedding
Embedding
Phương pháp chuyển đầu vào thành một biểu diễn khác dễ dàng xử lý hơn đối với máy tính (thường là các véc tơ).
của đầu vào. Việc này giúp mô hình nhận biết được vị trí của mỗi véctơ. Kết hợp của hàm sin và cos có những thuộc tính tuyến tính mà mô hình có thể dễ dàng học được.
Hi vọng thông qua bài viết này, các bạn đã có thêm kiến thức để hiểu được cách thức hoạt động của Transformer
Transformer
Transformer là mô hình học sâu được giới thiệu vào năm 2017, được sử dụng chủ yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
, dòng các mô hình đình đám nhất hiện nay. Ngoài ra, bạn có thể xem bài viết Minh họa Transformer để hình dung tốt hơn về kiến trúc này. Hãy chia sẻ bài viết với những người quan tâm và hãy thường xuyên truy cập trituenhantao.io hoặc đăng ký (dưới chân trang) để luôn nhận được các bài viết sớm nhất!