mở đầu nội dung các chương còn lại được bố cục như sau: e Chương 2. Kiến thức cơ sở: trình bày các kiến thức liên quan các mô hình học sâu, học biểu diễn cơ sở mức từ, mức câu và mức cụm; một số phương phấp biểu diễn cấu trúc phân cấp của văn bản; các khái niệm và kiến trúc mô hình Seq2Seq. Bai toán sinh diễn đạt lai văn bản: Nội dung chương đề cập đề bài toán sinh diễn đạt lại cho văn bản, các kỹ thuật sinh diễn đạt lại và đề xuất cơ chế chú ý toàn cục và cơ chế chú ý phân cấp có điều kiện cho pha xác định vai trò của các thành phần trong văn bản. Bài toán sinh tóm tắt tóm lược: trình bày mô hình bài toán, các phương pháp cho bài toán sinh tóm tắt tóm lược, đề xuất mô hình học biểu diễn phân cấp, cơ chế chú ý và phương pháp ràng buộc trong mô hình sinh tóm tắt tóm lược cho văn bản.
24 Chương 2: Kiến thức cơ sở Chương này trình bày các kiến thức cơ sở liên quan đến các vấn đề trong bài toán sinh chuỗi từ chuỗi như: mạng nơ-ron hồi quy và các biến thể của mạng nơ-ron hồi quy, cơ chế chú ý, mô hình Transformer, các mô hình ngôn ngữ dựa trên học sâu được huấn luyện trước như: Word2vec, BERT, BERT đa ngôn ngữ, các mô hình tối ưu hoá của BERT, BERT thu nhỏ để véc-tơ hóa văn bản. Chương này cũng trình bày các thuật toán được sử dụng trong các mô hình sinh văn bản như học có giám sát, tìm kiếm Beam, các mô hình lý thuyết về độ đo và một số kho dữ liệu điển hình cho hai bài toán diễn đạt lại và tóm tắt tóm lược văn bản. Những kiến thức trình bày trong chương này là cơ sở cho việc phát triển các đề xuất trong các chương tiếp theo.1 Mạng nơ-ron hồi quy 2.1 Biểu diễn và huấn luyện mạng hồi quy 2. Biểu diễn mạng hồi quy Mạng hồi quy (Recurrent Neural Network - RNN) [107] là một loại mạng nơ- ron nhân tạo đặc biệt được thiết kế để xử lý dữ liệu chuỗi (sequence data) dạng X =#z,zs,.+, ví dụ như văn bản, tiếng nói, video.
Ý tưởng chính của mạng hồi quy (Recurrent Neural Network - RNN) là giúp mô hình có khả năng xử lý các dữ liệu theo chuỗi, bằng cách sử dụng thông tin từ các thành phần trước đó của chuỗi để thực hiện dự đoán và phân tích trên các thành phần hiện tại của chuỗi. Diều này cho phép mô hình RNN có khả năng xử lý các chuỗi dit liệu có độ dài khác nhau. 25 Một cách cụ thể, ý tưởng của mạng RNN được minh hoạ trong hình [2.1] sử dụng một cấu trúc lặp (recurrent structure) để lưu trữ thông tin từ các thành phần trước đó của chuỗi và sử dụng các thông tin đó để tính toán trên các thành phần hiện tại. Với mỗi thành phan trong chuỗi, một véc-tơ trạng thái an h¿ (hidden state) được tinh toán dựa trên véc-tơ đầu vào và véc-to trạng thái an của thành phần trước đó hy_1.
véc-tơ trạng thái an này sẽ được truyền tiếp đến các thành phần tiếp theo của chuỗi để tính toán các dự đoán và phân tích trên chuỗi. ei ae - G) &) @) & Hình 2.1: Kiến trúc mạng hồi quy. e Mỗi hình vuông là một trạng thái, trạng thái thứ £ có đầu vào là 2, và hạ_¡ (là trạng thái an đầu ra của trạng thái trước đó). Khi đó trang thái an đầu ra thứ £ được xác định là hy = ƒ(U * 2, +V xh¿_+), trong đó f là hàm kích hoạt thường là hàm tanh hoặc ReLU.
e Có thể thấy, h, mang thông tin của trạng thái trước đó h¿_¡ và đầu vào 2, của trang thái hiện tại. Dưới góc độ kỹ thuật thiết kế, có thể coi h¿ như một bộ nhớ chứa các đặc điểm của các từ đầu vào từ z¡ đến 2. e Trạng thái đầu tiên được tinh là so và được gán giá tri bằng 0. e ¿ là đầu ra thực tế tại bước t.
Đối với bài toán sinh văn bản, ta muốn dự đoán từ tiếp theo có thể xuất hiện thì / chính là véc-tơ xác suất các từ trong danh sách từ vựng của ngôn ngữ đích, khi đó ¿ = soƒtmaz(Wh,). RNN có nhiều ứng dụng như dịch thuật, phân loại văn bản, nhận dạng giọng nói, dự báo thời tiết, sinh văn bản, tự động viết tin nhắn và nhiều ứng dụng khác. 26 Mạng hồi quy (Recurrent Neural Network - RNN) và mang Perceptron đa lớp (Multi-Layer Perceptron - MLP) là hai loại mạng nơ-ron nhân tạo khác nhau về cơ chế hoạt động và ứng dụng. Về cơ chế hoạt động: e Mạng MLP có cấu trúc lớp đầu vào, lớp ẩn và lớp đầu ra.
MLP sử dung một loạt các nơ-ron kết nối từ lớp đầu vào đến lớp đầu ra thông qua các lớp an. Các nơ-ron ở lớp ẩn và lớp đầu ra sử dụng hàm kích hoạt phi tuyến tính để tính toán đầu ra. Điều này cho phép MLP học các hàm phi tuyến tính phức tap để giải quyết các van đề như phân loại và dự đoán. e Mạng RNN có cấu trúc tương tự như MLP, nhưng có thêm một cơ chế lặp lại (recurrent mechanism) giúp lưu trữ thông tin từ các thành phần trước đó của chuỗi và sử dụng để thực hiện dự đoán và phân tích trên các thành phần hiện tại của chuỗi.
Diều này cho phép RNN xử lý được các chuỗi dữ liệu có độ dài khác nhau. Về mặt ứng dụng: e MLP thường được sử dụng cho các vấn đề có đầu vào cố định và đầu ra dự đoán, ví dụ như phân loại hình ảnh, dự đoán giá cổ phiếu, hay dự báo thu nhập. e RNN thường được sử dụng cho các vấn đề dữ liệu chuỗi như dự báo chuỗi thời gian, dịch thuật tự động, tổng hợp văn bản, hay nhận dạng giọng nói. Tóm lại, RNN và MLP là hai loại mạng nơ-ron nhân tạo khác nhau về cơ chế hoạt động và ứng dụng, và được sử dụng cho các bài toán khác nhau của học máy.
Huấn luyện mạng hồi quy Nguyên lý huấn luyện mạng hồi quy cũng tương tự mạng Perceptron đa lớp, tuy nhiên giải thuật lan truyền ngược (Backpropagation) cần có sự thay đổi để biểu diễn được tính phụ thuộc trạng thái tại mỗi bước thời gian t. Ví du, để tính đạo hàm tại bước £ = 3 ta phải lan truyền ngược lại cả 2 bước trước đó rồi cộng tổng đạo hàm của chúng lại với nhau, cơ chế này gọi là lan truyền ngược thời gian (Backpropagation Through Time- BPTTT).2: Đồ thị tính toán trên mạng hồi quy. Hàm lỗi Một cách tổng quát, bài toán cần sinh chuỗi y = ÿ¡,12,.,1„ với chuỗi đầu vào © = 1,%,. Ham lỗi ký hiệu là L, được đo bằng khoảng cách giữa chuỗi đầu ra thực sự # và chuỗi đầu ra mong muốn y.
Khi đó giá trị hàm lỗi trên cả chuỗi x bằng tổng lỗi của mỗi đầu ra trên mỗi bước thời gian. Mục tiêu của hàm lỗi là cực dai hoá hợp lý giữa đầu ra thật sự và đầu ra mong muốn bằng việc sử dụng negative log-likehood. Khi sử dụng hàm lỗi này, mô hình thay vì đưa ra một đáp án cụ thể thì sẽ đưa ra xác suất sinh ra chuỗi từ chuỗi x. Khi đó, negative log-likehood được định nghĩa như sau: L=5 1 (2.2) Việc tinh gradient của hàm mat mát L theo các tham số là một phép toán tiêu tốn nhiều tài nguyên.
Quá trình tính gradient yêu cầu một lần lan truyền thuận từ trái sang phải qua đồ thị tính toán trong hình |2.2| rồi sau đó lan truyền ngược qua đồ thị từ phải sang trái. Thời gian chạy của thuật toán là O(m) và không thể giảm xuống được bằng cách song song quá trình tính toán, bởi đồ thị lan truyền thuận có bản chất tuần tự; mỗi bước thời gian chỉ có thể được tính sau bước phía trước đó đã hoàn 28 thành. Các trạng thái được tính toán trong quá trình lan truyền thuận phải được lưu cho tới khi các trạng thái đó được sử dụng lại trong quá trình lan truyền ngược, vì vậy dung lượng bộ nhớ cần sử dụng là O(m). Thuật toán lan truyền ngược Ap dụng trên đồ thị tính toán được gọi là lan truyền ngược thời gian (back-propagation through time - BPTT).
Lan truyền ngược thời gian Trên mỗi nút của đồ thị được đánh bởi chỉ số ¢ trong hình [2.2 có 3 tham số cần phải xác định trong quá trình huấn luyện là V, U, W. Với mỗi nút N, ta cần tính L, AyL, AwL tương ứng aL gradient Ay aL Ab Trong đó: V? 9U)9W ` OL , , awh =Pvv = DAWEH 2.3) t ? u t Trong đó, gradient Az¿E của đầu ra tại bước thời gian là: aL ôLôI, Aw,L = = rq OL ; 2 T AyL= 22 Gy,) ave = 2 „dagU — (h)?)(Ah,L)h}\ (2.5) VỚI Ohisiyt Og).7) trong đó (1 — (h¿;¡)2) là ma trận chéo với các phan tit (1 — (hiz41)?) nằm trên đường chéo chính, Day là ma trận Jacobi của hàm tanh ứng với các đơn vị an i ở thời điểm t+1. Khi đã tính được gradient tại các nút trong đồ thị tính toán, ta có thể thu được gradient tại các nút tham số.2 Mạng thang du (Residual Networks) 2. Xử lý tuần tự Trong các kiến trúc mạng được giới thiệu trong các phần trước của chương này, các lớp (tầng) trong mạng nơ-ron đều được xử lý theo tuần tự.
Mỗi lớp nhận đầu ra 29 của lớp trước đó là đầu vào của lớp tiếp theo. Ví dụ với một kiến trúc mạng bao gồm ba lớp như trong hình|2.3| được định nghĩa bởi: hy = fiz, 6] ha = Sali] (2.8) hạ = fs[h2, 03] y = falhs, 4] trong đó hi, hz, va hg đại điện cho các lớp an trung gian, x là đầu vào của mang, y là đầu ra của mang và các hàm ƒ là các hàm kích hoạt, 6, là bộ tham số của mạng. Vì quá trình xử lý là tuần tự, quá trình xử lý có thể coi tương đương một loạt các hàm lồng nhau: y = falfalfelfilz, 0], 92], 63], 4] (2.9) về nguyên tắc, trong kiến trúc mang nơ-ron ta có thể thêm bao nhiêu lớp tuỳ ý. Số lớp mạng càng lớn thì số lượng tham số càng lớn.
Tuy nhiên, theo công thức độ sâu của mạng càng lớn thì khả năng hàm mất mát trở nên không ổn định. Đây chính là điểm hạn chế trong các mô hình xử lý tuần tự đối với các mạng hồi quy đa lớp. Kết nối thặng dư và khối thặng dư Kết nối thặng dư là các nhánh trong lưu đồ tính toán, trong đó đầu vào của mỗi lớp mạng được kết hợp đầu ra để làm đầu vào cho lớp tiếp theo như trong hình [2.