1.6. Kiến thức nền tảng về học sâu
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ự đoá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ú ý toà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 toá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 véc tơ one-hot qua việc đánh chỉ mục các từ trong bộ từ vựng, từ nhúng được học bởi các từ xung quanh và được ánh xạ lên không gian số thực nhiều chiều nhưng có số chiều thấp hơn nhiều so với kích thước của từ điển. Cách học véc
tơ từ nhúng này khai thác được các đặc trưng về ngữ nghĩa và cú pháp của từ và câu. Có những nghiên cứu học biểu diễn quan hệ mà quan hệ này cung cấp thông tin giữa hai từ được liên kết như thế nào trong câu, sử dụng phương pháp tương tự sau khi phân tích cú pháp trên dữ liệu văn bản lớn bằng bộ phân tích cú pháp phụ thuộc [32]. Cách nhúng quan hệ này giúp đạt được thông tin giàu cú pháp và ngôn ngữ. Hiệu quả của việc sử dụng cả nhúng quan hệ và từ với nhau được thấy qua bài tốn trích xuất tri thức và trích xuất thuật ngữ [33, 34]. Các từ nhúng học được sau đó được sử dụng để tạo ra biểu diễn câu. Một cách đơn giản là thực hiện lấy tổng hoặc lấy trung bình của các véc tơ của các từ nhúng trong câu. Ngồi ra các mơ hình như RNN, CNN, LSTM cũng được sử dụng để tạo ra biểu diễn câu. Các phương pháp này đều sử dụng từ nhúng là thành phần cơ sở đưa vào các mơ hình này.
Có nhiều phương pháp biểu diễn từ nhúng như biểu diễn bằng véc tơ one-hot, ma trận đồng xuất hiện. Tuy nhiên trong phần này, chúng tơi trình bày phương pháp biểu diễn từ chiếm ưu thế hiện nay và mang lại hiệu quả cao trong các bài tốn NLP đó là Word2vec, Glove, fastText, BERT.
Word2vec
Mơ hình Word2vec được đưa ra bởi Mikolov và cộng sự năm 2013 [3] để giúp học biểu diễn câu có số chiều cố định mà biểu diễn này thể hiện được ngữ nghĩa và quan hệ của các từ tốt hơn phương pháp one-hot. Đồng thời phương pháp này cũng nhanh hơn và có thể dễ dàng kết hợp một câu, một văn bản mới hoặc thêm vào từ vựng so với phương pháp dùng ma trận đồng xuất hiện.
Ý tưởng chính của phương pháp này đó là học dự đốn từ lân cận của các từ. Với mỗi từ t, phương pháp này thực hiện dự đốn các từ trong cửa sổ bán kính m của tất cả các từ.
Hàm mục tiêu thực hiện tối ưu hợp lý hoá cực đại của từ ngữ cảnh (context word) đối với một từ đang xét hiện tại (center word):
J(θ) = −T1 T Y t=1 m Y j=−m(j6=0) p(wt+j|wt;θ). (1.20) Có hai cách xây dựng ngữ cảnh (hình 1.10) :
• Đầu vào cho biết ngữ cảnh và đầu ra thực hiện dự đốn từ mục tiêu (CBOW)
Hình 1.10: Mơ hình CBOW và Skip-gram [3]
Thực nghiệm cho thấy mơ hình Skip-gram cho kết quả vượt trội so với CBOW. Hàm mất mát của mơ hình Skip-gram như sau:
−X t∈V X −m<=j<=m,j6=0 logP(w(t+j)|w(t)). (1.21) Glove
Glove là phương pháp được đưa ra bởi Pennington và cộng sự năm 2014 [31]. Đây là mơ hình cải tiến của word2vec. Mơ hình này học bằng cách xây dựng ma trận đồng xuất hiện. Glove mang tính tồn cục vì nó tính xác suất xuất hiện của một từ trong tồn bộ tập dữ liệu. Hơn nữa Glove cũng có độ ổn định trung bình tốt hơn qua các lần chạy so với Word2vec.
Chi phí để mơ hình đưa ra dự đốn tại cơng thức (1.21) gồm phép lấy tổng qua toàn bộ các từ trong từ điển. Điều này có thể dẫn tới tổng chi phí tính tốn trở nên q lớn. Mặt khác, thơng thường sẽ có nhiều từ hiếm trong từ điển. Các từ hiếm này ít khi xuất hiện trong tập dữ liệu. Trong hàm mất mát cross-entropy, dự đoán cuối cùng của phân phối xác suất có điều kiện trên một lượng lớn các từ hiếm gặp rất có thể sẽ khơng được chính xác. Vì vậy, mơ hình Glove ra đời để khắc phục nhược điểm này của mơ hình Skip-gram.
fastText
Word2vec khơng sử dụng trực tiếp thơng tin về hình thái của từ. Các từ khác nhau sẽ có véc tơ biểu diễn khác nhau (ví dụ từ ’cat’ và ’cats’ không thể hiện được mối quan hệ với nhau trong mơ hình). Mơ hình fastText [35] đã được đề xuất để đưa thơng tin về hình thái từ vào mơ hình Skip-gram của Word2vec. Mỗi từ w là tập hợp của các từ con từ 3-gram đến 6-gram và các từ con đặc biệt. Khi đó từ w sẽ được tổng hợp bằng cách lấy tổng của các từ con đó.