chương 1: Chương này trình bày kiến thức tổng quan về NLP. Bao gồm các khái niệm về xử lý ngôn ngữ, các đơn vị văn bản trong đó. Kiến thức tổng quan về các phương pháp biểu diễn từ, chuyển từ và các đơn vị văn bản về vector cũng được đưa ra. Bài toán phân loại văn bản và các hướng giải quyết cũng như các độ đo mô hình phân loại cũng được giới thiệu chuẩn bị cho các chương sau.
Trong chương 2, em sẽ tìm hiểu một số mô hình mạng nơ ron học sâu hiện đại hiệu quả trong việc giải quyết nhiều bài toán NLP nói chung và bài toán phân loại văn bản nói riêng. Đó là transformer và Bert. 17 Chương 2 MỘT SỐ KỸ THUẬT HỌC SÂU TRONG NLP Transformer và BERT là hai công cụ quan trọng trong lĩnh vực Xử lý Ngôn ngữ Tự nhiên, mang lại những đột phá lớn về hiệu suất và khả năng hiểu ngữ nghĩa của văn bản. Transformer là Kiến trúc Cơ bản cho Mạng Nơ-ron Học Sâu: Transformer đã thay đổi cách chúng ta hiểu và xây dựng các mạng nơ-ron học sâu.
Nó sử dụng cơ chế chú ý đa hướng để tạo ra biểu diễn từ và văn bản hiệu quả hơn. Transformer cho phép xử lý chuỗi dữ liệu như văn bản mà không cần sử dụng mạng nơ-ron tái lập (RNN) hay mạng nơ-ron hồi quy (LSTM), giúp tăng tốc độ huấn luyện và cải thiện hiệu suất. Kiến trúc của Transformer đã được áp dụng cho nhiều tác vụ khác nhau trong NLP như dịch máy, tổng hợp văn bản, phân tích tình cảm, gợi ý, và nhiều tác vụ khác. Điều này giúp tạo ra biểu diễn từ tự nhiên và hiệu quả hơn.
BERT đã mở ra cánh cửa cho việc sử dụng tiền huấn luyện và transfer learning trong NLP. Mô hình được huấn luyện trước trên lượng lớn dữ liệu, sau đó có thể được tinh chỉnh (fine-tune) cho các tác vụ cụ thể, giúp cải thiện hiệu suất mô hình trên dữ liệu nhỏ hơn. Nhờ việc tiền huấn luyện trên toàn bộ văn bản, BERT có khả năng hiểu ngữ cảnh và sự tương tác giữa các từ trong một đoạn văn bản, giúp cải thiện khả năng phân loại và biểu diễn văn bản. Cả hai Transformer và BERT đều có tác động lớn trong cách chúng ta tiếp cận và giải quyết các vấn đề trong NLP, giúp cải thiện hiệu suất và khả năng hiểu ngữ nghĩa của các mô hình xử lý ngôn ngữ tự nhiên.
Nội dung chương 2 sẽ trình bày chi tiết cấu trúc của hai mô hình trên. Các kiến thức trong chương được tham khảo chủ yếu từ các tài liệu [3]-[8]. Kiến trúc Transformer Mục này giới thiệu về kiến trúc Transformer. Đây là một kiến trúc mạng nơ ron sử dụng trong xử lý ngôn ngữ tự nhiên đặc biệt là trong các bài toán dịch máy và sinh văn bản.
Cách thức hoạt động của kiến trúc Transformer tập trung vào hai thành phần chính của mô hình là bộ mã hóa và bộ giải mã. Các tính năng đặc biệt của Transformer gồm khả năng tập trung đa đầu và bộ tách kiểu cấu trúc. Điều này giúp mô hình hiểu được các mối quan hệ giữa các từ trong câu. Kiến trúc transformer Transformer là một thuật toán mạnh mẽ cho xử lý bảng dữ liệu liên tục (se- quence data) trong Deep Learning.
Nó được giới thiệu bởi Vaswani và các cộng sự trong bài báo “Attention is All You Need” năm 2017 [11]. Trong kiến trúc Transformer, từng từ trong một câu hay đoạn văn được biểu diễn dưới dạng một vector trong ma trận, và các mối quan hệ giữa những từ này được xử lý thông qua một cơ chế attention. Nhờ vào cơ chế này, mô hình có khả năng hoạt động độc lập với chiều dài của đầu vào và có thể linh hoạt trong việc hiểu rõ mối tương quan giữa các từ trong câu, điều này vượt trội so với các mô hình truyền thống như RNN hoặc LSTM. Trong hệ thống chatbot GPT, kiến trúc Transformer được áp dụng để xử lý dữ liệu văn bản và điều này giúp tìm ra câu trả lời tối ưu nhất cho các câu hỏi từ người dùng.
Mô hình Transformer của GPT được đào tạo trên một lượng lớn dữ liệu để có khả năng hiểu rõ ngữ cảnh và đưa ra câu trả lời phù hợp nhất cho mỗi câu hỏi từ người dùng. Transformer là một mô hình mạng nơ ron được dùng trong các nhiệm vụ xử lý dữ liệu liên tục, như dịch máy, xử lý ngôn ngữ tự nhiên (NLP), và thị giác máy tính. Kiến trúc này được thiết kế để giải quyết một số vấn đề của các mô hình truyền thống, như việc mất thông tin trong các tầng khi xử lý dữ liệu liên tục. Trong Transformer, dữ liệu liên tục được mã hóa thành các vector đặc trưng qua các tầng mã hóa.
Các tầng Multi-Head Attention được sử dụng để tính toán mối quan hệ giữa các thành phần trong dữ liệu liên tục, cho phép mô hình tập trung vào các phần quan trọng và bỏ qua những phần không cần thiết. Sau đó, tầng Feed-Forward và Layer Normalization được áp dụng để tối ưu hóa dữ liệu. Những tầng này cung cấp một cấu trúc tuyến tính để mô hình học các mối quan hệ giữa các thành phần trong dữ liệu liên tục. Cuối cùng, dữ liệu được đưa ra từ mô hình thông qua các tầng đầu ra.
19 Trong cấu trúc của Transformer, không áp dụng mạng CNN (Convolutional nơ ron Network) hoặc RNN (Recurrent nơ ron Network) truyền thống. Thay vào đó, mô hình sử dụng các lớp tự chú ý (self-attention) và lớp fully-connected feedforward. Tuy nhiên, kiến thức và kinh nghiệm từ mạng CNN và RNN vẫn được tận dụng trong quá trình xây dựng kiến trúc Transformer. Cụ thể, trong quá trình huấn luyện, việc chuyển đổi chuỗi từ thành các vector nhúng (embeddings) tương tự như mạng RNN vẫn được thực hiện.
Sau đó, các lớp tự chú ý được áp dụng để học cách kết nối các từ với nhau trong chuỗi, tương tự như cách mạng RNN học về sự phụ thuộc thời gian giữa các từ. Hơn nữa, tri thức từ mạng CNN cũng được sử dụng bằng cách áp dụng các bộ lọc (filters) để trích xuất đặc trưng từ đầu vào trước khi đưa vào các lớp tự chú ý. Tuy nhiên, thay vì sử dụng bộ lọc 1D hoặc 2D như trong CNN, Transformer sử dụng cơ chế tự chú ý đa đầu (multi-head attention) để trích xuất thông tin từ các chuỗi đầu vào. So với mô hình seq2seq sử dụng cơ chế tập trung, Transformer có sự khác biệt trong cách cơ chế này được tích hợp vào kiến trúc.
Thay vì sử dụng tầng hồi tiếp như trong seq2seq, Transformer thay thế mỗi tầng hồi tiếp bằng một khối Transformer. Trong bộ mã hóa của Transformer, khối này bao gồm hai thành phần chính là tầng tập trung đa đầu (multi-head attention) và mạng truyền xuôi theo vị trí (position-wise feed-forward network) với hai tầng fully-connected dày đặc. Trong bộ giải mã, khối Transformer bổ sung thêm một tầng tập trung đa đầu để tiếp nhận trạng thái của bộ mã hóa. Khối này cũng sử dụng cơ chế cộng và chuẩn hóa khác biệt so với mô hình seq2seq.
Một điểm nổi bật khác của kiến trúc Transformer là việc xử lý thông tin về vị trí. Trong mô hình này, việc biểu diễn vị trí không phân biệt thứ tự của các phần tử trong chuỗi được thực hiện bởi tầng tập trung tự (self-attention) không phân biệt vị trí. Để khắc phục điều này, một tầng biểu diễn vị trí được áp dụng để thêm thông tin về vị trí vào mỗi phần tử trong chuỗi. Tóm lại, kiến trúc Transformer tạo ra sự khác biệt so với mô hình seq2seq trong cách tích hợp cơ chế tập trung và xử lý thông tin vị trí, giúp nó đạt được hiệu suất tốt hơn trong nhiều tác vụ liên quan đến xử lý ngôn ngữ tự nhiên và dãy dữ liệu.
Kiến trúc này được minh họa trong hình 2. Mô hình chuỗi sang chuỗi Mô hình chuỗi sang chuỗi - seq2seq, viết tắt của "sequence-to-sequence", là một kiến trúc mạng nơ ron được sử dụng chủ yếu cho các tác vụ liên quan đến 20 Hình 2.1: Kiến trúc transformer dãy dữ liệu, chẳng hạn như dịch máy, tạo tiêu đề cho văn bản, và chuyển đổi cấu trúc dữ liệu.2 minh họa kiến trúc seq2seq.2: Kiến trúc seq2seq Kiến trúc này bao gồm hai thành phần chính: bộ encoder (bộ mã hóa) và bộ decoder (bộ giải mã). Quá trình này giúp tóm lược thông tin quan trọng của dãy dữ liệu vào một biểu diễn gọn gàng, thường có kích thước cố định. Encoder thường sử dụng mạng RNN (hoặc biến thể như LSTM và GRU) hoặc Trans- former để thực hiện nhiệm vụ này.
Decoder (Bộ giải mã): Decoder nhận vào vector đại diện từ bộ mã hóa và sử dụng nó để tạo ra dãy dữ liệu đầu ra mong muốn. Quá trình này thường được thực hiện bởi một mạng RNN (hoặc biến thể như LSTM và GRU) hoặc cũng có thể sử dụng Transformer. Mô hình này sinh ra dãy dữ liệu một phần một phần, thường là từng từ, dựa trên thông tin từ vector đại diện và từ các phần đã được giải mã trước đó. Các tầng trong bộ mã hóa và bộ giải mã được minh họa trong 2.3: Các tầng trong bộ mã hóa và giải mã Seq2seq thường được sử dụng trong các tác vụ như dịch máy, khi dãy đầu vào và dãy đầu ra có độ dài khác nhau.
Mô hình này cũng có thể được mở rộng để xử lý các vấn đề phức tạp hơn, như tạo tiêu đề cho văn bản, tạo câu chuyện, hay thậm chí trong các ứng dụng âm thanh và video. Mô hình seq2seq đã tạo ra sự tiến bộ đáng kể trong nhiều tác vụ liên quan đến xử lý ngôn ngữ tự nhiên và dãy dữ liệu, và nó đã được kết hợp và cải tiến trong nhiều kiến trúc mạng phức tạp hơn để giải quyết những thách thức khó khăn hơn. Kiến trúc tự tập trung Kiến trúc tự tập trung (Self-Attention) là một cơ chế quan trọng được sử dụng trong các mô hình xử lý ngôn ngữ tự nhiên và dãy dữ liệu. Được giới thiệu ban đầu trong kiến trúc Transformer, self-attention cho phép mô hình tập trung vào các phần quan trọng của dữ liệu đầu vào một cách linh hoạt.
Minh họa mô hình kiến trúc tự tập trung trong hình 2. Trong kiến trúc tự tập trung, mỗi phần tử trong dãy đầu vào (chẳng hạn như từ trong một câu văn) được biểu diễn bằng một vector đặc trưng. Quá trình tự tập trung bắt đầu bằng việc tính toán các trọng số tương ứng cho mỗi phần tử dựa trên mức độ quan trọng của nó đối với các phần tử khác trong dãy. Các trọng số này thường được xác định bằng cách tích vô hướng giữa vector đặc trưng của phần tử đang xét và các vector đặc trưng của các phần tử khác.