Một phần của loạt bài về |
Học máy và khai phá dữ liệu |
---|
Các vấn đề[hiện] |
Học có giám sát [hiện](Phân loại bằng thống kê • Phân tích hồi quy) |
Phân cụm[hiện] |
Giảm chiều dữ liệu[hiện] |
Dự đoán cấu trúc[hiện] |
Phát hiện bất thường[hiện] |
Mạng thần kinh nhân tạo[hiện] |
Học tăng cường[hiện] |
Lý thuyết[hiện] |
Diễn đàn/tạp chí[hiện] |
Bài viết liên quan[hiện] |
Transformer là một kiến trúc học sâu được giới thiệu vào năm 2017, chủ yếu áp dụng trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) và thị giác máy tính (CV).
Tương tự như mạng nơ-ron hồi quy (RNN), Transformer được thiết kế để xử lý dữ liệu theo chuỗi, như ngôn ngữ tự nhiên, cho các nhiệm vụ như dịch máy hay tóm tắt tự động. Tuy nhiên, khác với RNN, Transformer không yêu cầu dữ liệu phải được xử lý theo thứ tự. Ví dụ, với một câu ngôn ngữ tự nhiên, Transformer không cần xử lý từ đầu câu đến cuối câu theo thứ tự. Tính năng này cho phép thực hiện nhiều phép toán song song, giúp giảm thời gian huấn luyện.
Transformer đã được ra mắt vào năm 2017 bởi một nhóm nghiên cứu tại Google Brain và ngày càng trở thành lựa chọn phổ biến cho các bài toán NLP, thay thế các mô hình RNN như LSTM. Transformer hỗ trợ đào tạo song song (training parallelization), cho phép làm việc với các tập dữ liệu lớn hơn. Điều này đã dẫn đến sự phát triển của các mô hình như BERT (Bidirectional Encoder Representations from Transformers) và GPT (Generative Pre-trained Transformer). Những mô hình này được đào tạo trên các tập dữ liệu ngôn ngữ lớn như Wikipedia Corpus và Common Crawl, và có thể được điều chỉnh cho các nhiệm vụ cụ thể.
Khung lý thuyết
Trước khi xuất hiện mô hình transformer, hầu hết các hệ thống NLP tiên tiến dựa vào các mạng RNN có cổng, như LSTMs và GRUs, kết hợp với cơ chế chú ý. Tuy nhiên, transformer cũng sử dụng cơ chế chú ý, nhưng không giống như RNN, nó không có cấu trúc hồi tiếp. Điều này có nghĩa rằng với đủ dữ liệu huấn luyện, cơ chế chú ý có thể đạt được hiệu suất tương đương với RNN kết hợp cơ chế chú ý.
Xử lý chuỗi
Các RNN có cổng xử lý các token theo thứ tự, duy trì một vector trạng thái biểu thị cho dữ liệu đã qua trước token hiện tại. Để xử lý token , mô hình kết hợp trạng thái biểu diễn câu đến token với thông tin của token mới để tạo ra một trạng thái mới, đại diện cho câu đến token . Lý thuyết cho rằng thông tin từ một token có thể được truyền xa trong chuỗi, nếu trạng thái tại mỗi điểm tiếp tục mã hóa thông tin ngữ cảnh về token. Trong thực tế, cơ chế này có nhược điểm là vấn đề suy giảm độ dốc khiến trạng thái của mô hình ở cuối một câu dài không chứa thông tin chính xác và có thể trích xuất từ các token trước đó. Việc phụ thuộc vào kết quả tính toán token trước đó cũng làm cho việc tính toán song song trên phần cứng học sâu hiện đại trở nên khó khăn. Điều này có thể khiến việc huấn luyện RNN trở nên kém hiệu quả.
Tự chú ý
Những vấn đề này đã được khắc phục bằng cơ chế chú ý. Cơ chế này cho phép mô hình rút ra thông tin từ trạng thái tại bất kỳ thời điểm nào trước đó trong chuỗi. Lớp chú ý có khả năng truy cập tất cả các trạng thái trước đó và đánh trọng số chúng theo một thước đo tầm quan trọng đã được học, cung cấp thông tin liên quan về các token xa xôi.
Một ví dụ điển hình cho giá trị của cơ chế chú ý là trong lĩnh vực dịch thuật, nơi mà ngữ cảnh đóng vai trò quan trọng trong việc xác định ý nghĩa của từ trong câu. Trong hệ thống dịch từ tiếng Anh sang tiếng Pháp, từ đầu tiên trong kết quả tiếng Pháp thường phụ thuộc rất nhiều vào một số từ đầu tiên trong văn bản tiếng Anh. Tuy nhiên, với mô hình LSTM truyền thống, để tạo ra từ đầu tiên trong kết quả tiếng Pháp, mô hình chỉ nhận được vector trạng thái sau khi xử lý từ cuối cùng của tiếng Anh. Về lý thuyết, vector này có khả năng mã hóa thông tin về toàn bộ câu tiếng Anh, cung cấp cho mô hình mọi kiến thức cần thiết. Nhưng thực tế cho thấy rằng thông tin này thường không được LSTM bảo tồn một cách hiệu quả. Một cơ chế chú ý có thể được bổ sung để khắc phục vấn đề này: bộ giải mã sẽ có quyền truy cập vào vector trạng thái của mỗi từ trong tiếng Anh, không chỉ từ cuối cùng, và có thể học cách trọng số chú ý để xác định mức độ chú ý đối với từng vector trạng thái đầu vào.
Việc bổ sung cơ chế chú ý vào RNN giúp cải thiện hiệu suất đáng kể. Sự ra đời của kiến trúc Transformer chứng minh rằng cơ chế chú ý rất mạnh mẽ và không cần thiết phải xử lý tuần tự dữ liệu hồi tiếp để đạt được lợi ích chất lượng mà RNN với cơ chế chú ý mang lại. Transformer áp dụng cơ chế chú ý mà không cần RNN, xử lý tất cả các token cùng một lúc và tính toán trọng số chú ý giữa chúng trong các lớp tiếp theo. Bởi vì cơ chế chú ý chỉ dựa vào thông tin từ các token khác trong các lớp thấp hơn, nó có thể được tính toán cho tất cả các token một cách song song, dẫn đến tốc độ huấn luyện được cải thiện.