tìm câu hỏi tương đồng
Mơ hình Precision Recall F score
Embedding LSTM 80,0 86,0 87,0
Neural token attention 81,0 95,0 87,0
Bảng 1.4: Bảng kết quả của một số mơ hình được đề xuất và cơng bố trên tập Yahoo!answer cho bàitoán lựa chọn câu trả lời tốn lựa chọn câu trả lời
Mơ hình P@1
OKapi BM25 35,6
TransLM 48,5
BOW embeddings 66,8
CNN+MLP 68,5
Bảng 1.5: Bảng kết quả của một số mơ hình được đề xuất và cơng bố trên tập Yahoo!answer cho bài toán so sánh ngữ nghĩa câu hỏi (Question semantic matching)
Mơ hình MAP P@10
OKapi BM25 32,5 22,9
TransLM 38,6 25,2
BOW embeddings 39,2 26,8
CNN+MLP 41,8 27,4
luận án là lựa chọn ra tập dữ liệu phù hợp để triển khai thử nghiệm trên các bài tốn. Đó là lý do với mỗi bài tốn trong luận án sử dụng tập dữ liệu khác nhau.
1.6. Kiến thức nền tảng về học sâu
Trong khn khổ luận án, một số mơ hình ngơn ngữ được khai thác và sử dụng do tính hiệu quả của các mơ hình này trong thời gian gần đây, đặc biệt là các mơ hình ngơn ngữ mạng nơ ron. Các mơ hình này phù hợp với dữ liệu lớn. Với xu hướng hiện nay, học sâu là mơ hình tự động trích rút đặc trưng ngữ nghĩa của dữ liệu và kết hợp với dự đốn được tích hợp trong một mơ hình duy nhất.
Mơ hình ngơn ngữ là mơ hình học dự đốn xác suất trên các tập văn bản. Có nghĩa là mơ hình ngơn ngữ cho biết xác suất một câu (hoặc cụm từ) của một ngôn ngữ là bao nhiêu. Mơ hình ngơn ngữ là thành phần cốt lõi của NLP. Nó là cơng cụ thống kê cho phép phân tích ngơn ngữ tự nhiên qua việc dự đốn từ. Mơ hình ngơn ngữ ứng dụng vào các bài tốn trong NLP như dịch máy, nhận dạng giọng nói, tóm tắt văn bản, hỏi đáp, phân tích ngữ nghĩa.
Ngơn ngữ hình thức là ngôn ngữ được định nghĩa trước, tất cả những từ sử dụng đều được định nghĩa trước trong hệ thống, ví dụ như ngơn ngữ lập trình. Trong khi đó, cách dùng từ trong ngôn ngữ tự nhiên rất đa dạng và phong phú tùy vào từng cá nhân nhưng vẫn được hiểu bởi con người. Trong khi đó máy chỉ hiểu được các số nên chúng ta tìm cách chuyển từ về dãy các số. Do đó, mơ hình ngơn ngữ tìm xác suất của từ tiếp theo trong việc phân tích dữ liệu dạng văn bản. Mơ hình dự đốn từ tiếp theo thơng qua việc phân tích các đặc trưng của ngơn ngữ. Mơ hình ngơn ngữ có hai hướng tiếp cận: mơ hình ngơn ngữ thống kê và mơ hình ngơn ngữ mạng nơ ron. Trong đó, mơ hình ngơn ngữ sử dụng mạng nơ ron được lựa chọn sử dụng trong luận án.
1.6.1. Mơ hình mạng truy hồi
Mơ hình mạng truy hồi (Recurrent Neural Network - RNN) [23] là một loại mơ hình ngơn ngữ mạng nơ ron. Mạng RNN liên quan tới độ dài của chuỗi đầu vào nên mạng này phù hợp cho dữ liệu dạng chuỗi như văn bản. Trong ngơn ngữ thì từ đằng sau phụ thuộc vào các từ đứng trước nó. Để dự đốn từ đứng sau thì cần phải biết các từ đứng trước. Mạng truy hồi được mơ tả như hình 1.49.
Mạng nơ ron truy hồi nhận đầu vào là chuỗi các giá trị xvà sinh ra chuỗi các từ đầu ra o. Hàm mất mát L được dùng để đánh giá sự sai khác của giá trị dự đoán o so với tập nhãn dữ liệu thực tế y. Sự kết nối giữa đầu vào với tầng ẩn, tầng ẩn với đầu ra và tầng ẩn với tầng ẩn lần lượt là các ma trận U, V và W
theo công thức sau:
a(t) =b+W.h(t−1) +U.x(t), (1.1) h(t) = tanh (a(t)), (1.2) o(t) =c+V.h(t) , (1.3) y(t) =sof tmax(o(t)), (1.4) 9 https://nguyentruonglong.net/giai-thich-chi-tiet-ve-mang-long-short-term-memory-lstm.html
Hình 1.4: Mơ hình RNN
trong đó b, c là độ lệch (bias). Nhược điểm của mơ hình RNN là vấn đề phụ thuộc xa. Tức là mơ hình RNN cơ bản khơng có khả năng ghi nhớ thơng tin từ các dữ liệu có khoảng cách xa. Nguyên nhân của vấn đề này là do giá trị đạo hàm sau khi lan truyền qua nhiều giai đoạn có xu hướng bị tiêu biến hoặc rất lớn gây ảnh hưởng lớn đến q trình tối ưu hóa. Ngồi ra nếu các tham số giúp mạng RNN có tính ổn định thì có khả năng dẫn tới việc các trọng số nhỏ dần theo cấp số nhân do các tương tác dài. Một mơ hình được đề xuất để khắc phục nhược điểm này là mơ hình LSTM (Long Short-Term Memory) - mạng bộ nhớ ngắn hạn hướng tới dài hạn.
1.6.2. Mơ hình LSTM
Mạng LSTM được đề xuất bởi Hochreiter và Schmidhuber vào năm 1997 [24] để khắc phục nhược điểm của mơ hình RNN. Mơ hình được đề xuất có dạng như hình 1.510
Mạng LSTM bao gồm nhiều tế bào LSTM liên kết với nhau thay vì chỉ tương tác với nhau qua đơn vị tầng ẩn như mạng RNN. LSTM bao gồm trạng thái tế bào giống như băng chuyền chạy xuyên suốt các nút mạng. Do đó các thơng tin được truyền đi dễ dàng thơng suốt. LSTM có khả năng loại bỏ hoặc thêm các thông tin cho trạng thái tế bào thơng qua các nhóm gọi là cổng. Cổng là nơi
10
Hình 1.5: Mơ hình LSTM
sàng lọc thơng tin qua nó thơng qua phép tốnsigmoid và phép nhân. Các công thức lan truyền trong mạng LSTM như sau:
ik =σ(Wixk +Vihk−1+bi ), fk =σ(Wfxk +Vfhk−1+bf ), ok =σ(Woxk +Vohk−1+bo ), ck =fk⊙ck−1+ik⊙tanh(Wcxk+Vchk−1+bc ), hk =ok ⊙tanh(ck), (1.5)
trong đói, f, o là cổng vào, cổng quên và cổng ra tương ứng, σ là hàm sigmoid, ⊙ là phép toán nhân (element wise) của hai véc tơ, W ∈ Rd×l, V ∈ Rd×d, b ∈ Rd là các ma trận trọng số và các véc tơ được học từ mơ hình, l là chiều của véc tơ từ, d là số chiều của lớp ẩn.
Véc tơ ck là bộ nhớ trong của đơn vị. Nó là sự kết hợp của bộ nhớ trước đó và đầu vào mới. Chúng ta có thể chọn bỏ qua hồn tồn bộ nhớ cũ (cổng quên bằng 0) hoặc bỏ qua hồn tồn trạng thái mới được tính tốn (cổng đầu vào bằng 0), hoặc một giá trị ở giữa hai thái cực này.
Mạng LSTM đã chứng tỏ khả năng khắc phục hạn chế vấn đề phụ thuộc dài của mình qua nhiều thử nghiệm thực tế, giải quyết một số bài tốn trong học máy nói chung và trong xử lý ngơn ngữ tự nhiên nói riêng.
Nhược điểm của mơ hình RNN và LSTM khó bắt được sự phụ thuộc xa giữa các từ trong câu. Hơn nữa tốc độ xử lý chậm do phải xử lý đầu vào một cách tuần tự, không thực hiện song song hóa được
1.6.3. Mơ hình mạng tích chập
Mơ hình mạng tích chập (Convolutional Neural Network - CNN) được đề xuất đầu tiên trong thị giác máy tính. Mơ hình này cũng cho thấy nó làm việc
hiệu quả trên một số bài tốn NLP như phân tích ngữ nghĩa, tìm kiếm thơng tin [25], biểu diễn câu [26]. Mơ hình này sử dụng các tầng với các bộ lọc (convolving filters) để khai thác các đặc trưng cục bộ. Hình 1.6 mơ tả các tầng trong mơ hình CNN.
Hình 1.6: Mơ hình CNN
Đầu vào là các véc tơ biểu diễn từ xi ∈Rd có số chiều làd của từ thứ i trong câu. Phép tốn tích chập (convolution) liên quan tới một bộ lọc w ∈ Rh.d. Bộ lọc này được sử dụng vào cửa sổ gồm h từ để tạo ra đặc trưng mới. Đặc trưng
ci được tạo ra từ cửa số h từ như sau:
ci=f(w.xi:i+h−1+b), (1.6)
f là hàm phi tuyến như hàm tanh hoặc hàm Relu. Lớp lọc này được sử dụng vào từng cửa sổ từ trong câu để tạo ra một bản đồ đặc trưng:
c= [c1,c2, ...,cn−h+1] (1.7)
Sau đó, phép tốn max-pooling thực hiện qua bản đồ đặc trưng c để lấy các giá trị lớn nhất.
bc=max(c). (1.8)
Véc tơbclà đặc trưng thu được khi qua lớp lọc này. Phép tốn này có ý nghĩa là thu được đặc trưng quan trọng qua việc lấy giá trị lớn nhất trong bản đồ đặc trưng. Phương pháp gộp này còn được sử dụng với các độ dài câu khác nhau.
Nhiều bộ lọc (với kích thước cửa sổ khác nhau) sẽ thu được các đặc trưng khác
nhau. Đặc trưng này sử dụng làm đầu vào của hàm sof tmax để thu được xác
suất đầu ra của các nhãn.
1.6.4. Cơ chế chú ý
Cơ chế chú ý (attention) trong học máy giúp cho mơ hình có thể tập trung nhiều hơn vào các từ khóa chính hay cụm từ mang nhiều thơng tin thơng qua việc học các trọng số chú ý trong câu. Sau đó việc tổng hợp thơng tin của cả câu được tính qua trung bình cộng có trọng số của tất cả các từ trong câu. Thời gian gần đây có nhiều nghiên cứu sử dụng cơ chế chú ý trong học sâu được phát triển dựa vào ý tưởng này. Các mơ hình này được ứng dụng đầu tiên trong dịch máy.
Một trong những ý tưởng của cơ chế chú ý đó là học để căn chỉnh (learn to align) [27]. Xuất phát từ ý tưởng tổng hợp thông tin từ câu nguồn và các từ được dịch trước đó để tính ra những phần quan trọng để dự đốn từ tiếp theo. Thay vì chỉ sử dụng ngữ cảnh của lớp cuối cùng của lớp mã hóa (Encoder), tác giả sử dụng tất cả các đầu ra của từng tế bào qua từng bước (timestep) của câu nguồn kết hợp với trọng số chú ý của câu nguồn ở mỗi bước giải mã để tổng hợp ra véc tơ ngữ cảnh ci. Véc tơ này được dùng để dự đốn ra từ tiếp theo trong
phần giải mã (decoder). Hình 1.7 mơ tả cơ chế chú ý của Bahdanau. Công thức cụ thể như sau:
P(yi|y1, y2, ..., yi−1,x) =g(yi−1,si,ci) (1.9)
si =f(si−1, yi−1,ci), (1.10)
trong đó x là chuỗi các từ trong văn bản gốc (câu nguồn) có độ dài T, y là chuỗi các từ trong văn bản dịch (câu đích) có độ dài m
x= (x1, x2, ..., xT)
y= (y1, y2, ..., ym)
Trước tiên véc tơ ngữ cảnh ci được tính qua tổng trọng số của các hj ci=
Tx
X
j=1
Hình 1.7: Mơ hình attention trong bài tốn dịch máy của Bahdanau
trong đó, hj=[−hj→T;hj←−T]T, trọng số αij củahj được tính như sau: αij = PTxexp(eij)
k=1exp(eik) (1.12)
eij =a(si−1,hj), (1.13)
trong đó a là cơng thức gióng (alignment) (dạng đơn giản của a có thể là multilayer perception) cho biết độ tương quan của từ thứ j của lớp mã hóa so với đầu ra ở vị trí thứ i của lớp giải mã.
a(si−1,hj) =vT
atanh(Wasi−1+Uahj), (1.14)
trong đó: Wa ∈Rn.n, Ua ∈Rn.2n, va ∈Rn là các ma trận trọng số.
Thực chất cơ chế chú ý giúp cho mơ hình tập trung vào các phần quan trọng trên dữ liệu qua mơ hình gióng (alignment model a) để tính các trọng số gióng (alignment scoreeij), sau đó chuẩn hóa để cho ra trọng số chú ý (attention score αij). Trong bài toán dịch máy, mỗi lần dự đoán ra từ tiếp theo yi các trọng số αij được tính lại mức độ quan trọng trong câu đầu vào x.
Có nhiều cách để tính a(si−1,hj). Theo Graves [28] cơng thức tính như sau:
a(si−1,hj) = cosin(si−1,hj). (1.15) theo Luong [29]: a(si−1,hj) = sT i−1Wahj (1.16) và a(si−1,hj) =sT hj (1.17)
Ý tưởng tiếp theo là chú ý địa phương và chú ý toàn cục [29]. Chú ý tồn cục lấy ý tưởng học để gióng (learn to align), cịn chú ý cục bộ giúp cho mơ hình học ra vị trí cần chú ý. Gần đây nhất là ý tưởng về tự chú ý (self-attention) [2] với mục đích học ra mối tương quan của từ đang xét với các từ đứng trước nó. Cơ chế tự chú ý được mơ tả chi tiết trong mơ hình Transformer bên dưới.
1.6.5. Mơ hình Transformer
Transformer [2] là mơ hình đang được sử dụng phổ biến trong các bài toán NLP trong mấy năm gần đây do sự mạnh mẽ của nó trong việc song song hóa tính tốn và khả năng nắm bắt được sự phụ thuộc xa nhờ cơ chế tự chú ý. Mơ hình transformer đưa ra phục vụ cho bài tốn dịch máy bao gồm hai phần mã hóa và giải mã cũng gần giống RNN tuy nhiên có điểm khác biệt là các từ đầu vào được đưa vào mơ hình cùng một lúc (hình 1.8). Vì thế khơng cịn khái niệm bước (timestep) trong Transformer mà thay vào đó là cơ chế tự chú ý.
Hình 1.8: Mơ hình Transformer[2]
Phần mã hóa
Đầu tiên các từ được biểu diễn bằng một véc tơ từ nhúng word-embedding(WE). Nhưng vì các từ được đưa vào đồng thời mà lại muốn biểu diễn được ngữ cảnh của từ (do các từ ở vị trí khác nhau sẽ có nghĩa khác nhau) cho nên transformer có thêm phần mã hóa vị trí Positional-Encoding(PE) để thêm thơng tin về vị
trí của từ. Tiếp theo, hai véc tơ PE và WE được cộng lại để tạo ra biểu diễn của một từ. Cơng thức tính PE của từ thứi trong câu như sau:
P E(pos,2i) = sin pos 100002i/dmodel
P E(pos,2i+1)= cos pos 100002i/dmodel
(1.18) trong đó pos là vị trí của từ trong câu, P E là giá trị phần tử thứ i trong câu có độ dài dmodel
Multihead-attention là tầng mới tạo ra sự khác biệt của mơ hình transformer với các mơ hình khác như RNN và LSTM. Thực chất của multihead-attention là cơ chế tự chú ý nhưng để mơ hình chú ý đến nhiều phần khác nhau thì tác giả sử dụng nhiều lớp tự chú ý. Cơ chế tự chú ý là cơ chế cho biết một từ có mức độ chú ý như thế nào tới các từ còn lại. Đầu tiên, với mỗi từ cần tạo ra 3 véc tơ: query, key, value. Ba véc tơ 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.Query là véc tơ dùng để chứa thơng tin của từ được tìm kiếm, so sánh, giống như là câu query của Google search. Key là véc tơ dùng để biểu diễn thông tin các từ trong câu so sánh với từ cần tìm kiếm ở trên. Ví dụ, nội dung của các website sẽ so sánh với từ khóa mà bạn tìm kiếm. V alue là véc tơ biểu diễn nội dung, ý nghĩa của các từ. Giá trị cũng như nội dung trang web được hiển thị cho người dùng sau khi tìm kiếm (Hình 1.911). Cơ chế tự chú ý được lặp nhiều lần gọi là Multihead-attention. Cơng thức tính như sau:
Attention(Q, K, V) = sof tmax(QK
T
√
dk )V (1.19)
dk là số chiều của Key.
Multihead-attention cho phép mơ hình tập trung vào các ngữ cảnh khác nhau như: tầm quan trọng của một từ với các từ trước của nó, hay với các từ sau của nó, hay là các từ liên quan tới nó. Trong transformer, các lớp kết nối dư thừa và chuẩn hóa (residuals connection và normalization) được sử dụng ở mỗi tầng con để giúp mơ hình nhanh hội tụ và tránh mất mát thơng tin trong quá trình huấn luyện.
Phần giải mã
11
Hình 1.9: Q trình tính sự chú ý
Phần giải mã làm chức năng giải mã véc tơ đặc trưng của câu nguồn để đưa ra câu đích. Ở mơ hình này, phần giải mã nhận đầu vào là hai véc tơ key và value từ phần mã hóa. Kiến trúc của phần giải mã gần giống với phần mã hóa chỉ khác ở chỗ có thêm tầng multihead-attention ở giữa để học mối quan hệ giữa từ đang được dịch và từ của câu nguồn.
Tầng Masked multihead-attention trong phần giải mã bản chất là multihead- attention. Tầng này có chức năng dùng để mã hóa các từ của câu đích trong q trình dịch. Để làm việc này thì đơn giản là chúng ta chỉ cần nhân với một véc tơ chứa các giá trị 0,1.
Phần giải mã có một multihead-attention như nói ở trên có chức năng chú ý các từ ở mơ hình mã hóa, tầng này nhận véc tơ key và value từ mơ hình mã hóa và đầu ra từ tầng của masked multihead-attention. Tầng này với mục đích so sánh sự tương quan giữa từ đang được dịch với các từ nguồn. Hàm mất mát sử dụng hàm cross-entropy.
1.6.6. Học biểu diễn từ nhúng
Một trong những thành cơng của học sâu đó là học ra biểu diễn từ phân tán (Distributed word representation) trong không gian véc tơ [30, 31]. Biểu diễn từ là một véc tơ và còn được gọi là từ nhúng (word embedding). Thay vì sử dụng