Transformers For Machine Learning - A Deep Dive-101-200

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 100

Machine Translated by Google

74 Máy biến áp cho học máy: Tìm hiểu sâu

4.1.2 NLU đa ngôn ngữ bộ mã hóa đơn

4.1.2.1 BERT đa ngôn ngữ (mBERT)

Kiến trúc BERT đa ngôn ngữ (mBERT) giống hệt với kiến trúc BERT gốc. Thay
vì chỉ được đào tạo về dữ liệu tiếng Anh đơn ngữ với từ vựng có nguồn gốc
từ tiếng Anh, nó được đào tạo trên các trang Wikipedia của 104 ngôn ngữ
với từ vựng WordPiece phổ biến. Nó không tham chiếu đến ngôn ngữ đầu vào
và thiếu một kỹ thuật rõ ràng để đảm bảo rằng các câu tương đương trong
bản dịch có cách trình bày gần gũi.
Từ vựng WordPiece 110k được chia sẻ giữa tất cả 104 ngôn ngữ.
Để giải quyết sự mất cân bằng nội dung của Wikipedia, chẳng hạn như Wikipedia
tiếng Anh có số lượng bài viết gấp 120 lần so với Wikipedia tiếng Kurd, các ngôn
ngữ phụ đã được lấy mẫu quá mức trong khi các ngôn ngữ chính được lấy mẫu dưới mức.
Cùng một từ vựng cho phép một số dạng biểu đạt đa ngôn ngữ giữa các yếu
tố khác. Tiếp theo, chúng tôi mô tả ngắn gọn các nhiệm vụ đào tạo trước
của mBERT, cụ thể là Mô hình ngôn ngữ đeo mặt nạ đa ngôn ngữ (mMLM) và Dự
đoán câu tiếp theo (NSP).

Mô hình ngôn ngữ đeo mặt nạ (MLM) Đây là nhiệm vụ đào tạo trước không giám sát
cấp mã thông báo tiêu chuẩn được giới thiệu bởi BERT. Tuy nhiên, trong bối cảnh
của các máy biến áp đa ngôn ngữ, nó được sử dụng với nhiều ngôn ngữ được gộp
lại với nhau mà không có sự liên kết. Nó tuân theo quy trình MLM tương tự trong
đó 15% mã thông báo được chọn ngẫu nhiên sau đó (i) với xác suất 80%, chúng
được thay thế bằng mã thông báo [MASK] hoặc (ii) với xác suất 10%, chúng được
thay thế bằng mã thông báo ngẫu nhiên hoặc (iii) chúng được giữ nguyên với xác
suất 10%. Mục tiêu của nhiệm vụ MLM là dự đoán các mã thông báo bị che giấu
bằng cách sử dụng các mã thông báo không được che giấu ở cả hai phía của chuỗi
mã thông báo đầu vào. Về mặt hình thức, hãy để x là một chuỗi mã thông báo đầu
vào và Mx là tập hợp các mã thông báo bị che. Tổn thất MLM được định nghĩa như sau:

1
L (x) =
logP(xi |x\Mx ) (4.1)
MLM
|Mx| i Mx

Hình 4.1 minh họa nhiệm vụ MLM trong đó x và y biểu thị các câu đầu
vào đơn ngữ trong các ngôn ngữ khác nhau. Mặc dù thực tế là nhiệm vụ này
không xem xét bất kỳ thông tin nào về nhiều ngôn ngữ của đầu vào được
gộp chung, nhưng nó đã cho thấy giá trị lớn trong việc tạo ra các biểu
diễn đa ngôn ngữ được căn chỉnh tốt giữa các ngôn ngữ. Phần thông tin chi
tiết sẽ cung cấp thêm chi tiết về các yếu tố đằng sau hành vi này.
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 75

Hình 4.1 Minh họa nhiệm vụ MLM đa ngôn ngữ [71, 194]. x và y là
câu đơn ngữ trong các ngôn ngữ khác nhau không song song.

Dự đoán câu tiếp theo (NSP) Trong bối cảnh cấp độ câu
nhiệm vụ đào tạo trước, NSP hỗ trợ mô hình trong việc học các liên kết
giữa các cụm từ [71]. Đây là bài toán phân loại cặp câu nhị phân
học cách xác định các câu liên tiếp. Cho hai câu x và y,
vectơ mã thông báo [CLS] đại diện cho biểu diễn tổng hợp của
hai câu (x, y) được chuyển đến lớp Sigmoid để thu được xác suất là các
câu liên tiếp. Để chuẩn bị cho việc đào tạo, cụm từ
các cặp được tạo sao cho 50% số lần xuất hiện là liên tiếp và 50% còn
lại không liên tiếp. Tập huấn trước
mô hình ở cấp độ câu có lợi trong các nhiệm vụ tiếp theo như

trả lời câu hỏi (QA), suy luận ngôn ngữ tự nhiên (NLI) và độ tương tự
văn bản ngữ nghĩa (STS), cần các cặp câu làm đầu vào. Cho phép
l {1, 0} biểu thị hai câu (x, y) có liên tiếp hay không, NSP
tổn thất được xác định như sau:

(x,y)
L NSP = logP(l|x, y) (4.2)

4.1.2.2 Mô hình ngôn ngữ đa ngôn ngữ (XLM)

Mô hình ngôn ngữ đa ngôn ngữ (XLM) [146] là một cải tiến so với
kiến trúc mBERT bằng cách học từ khối văn bản đơn ngữ và song song. Để
học từ dữ liệu đơn ngữ XLM sử dụng MLM tiêu chuẩn
nhiệm vụ đào tạo trước được sử dụng bởi mBERT. XLM cũng đề xuất sử dụng Causal
Mô hình hóa ngôn ngữ (CLM) để đào tạo trước đơn ngữ.
Machine Translated by Google

76 Máy biến áp cho học máy: Tìm hiểu sâu

Mô hình ngôn ngữ nhân quả (CLM) CLM là nhiệm vụ đào tạo cốt lõi của mô
hình ngôn ngữ cổ điển trong đó một mô hình dự đoán từ tiếp theo dựa trên
ngữ cảnh của các từ trước đó một cách chính thức. Cho x = x1, x2,

x3, . . . , x|x| đại diện cho một chuỗi các mã thông báo trong đó |x| đa i diê n
số lượng token trong chuỗi. Mất CLM được định nghĩa là:

|x|
(x) 1
L CLM =
log P (xi |x<i) (4.3)
|x| tôi=1

trong đó x<i = x1, x2, x3, . . . xi 1.

Đóng góp chính của XLM là việc giới thiệu một nhiệm vụ đào tạo trước
sử dụng ngữ liệu song song để khuyến khích rõ ràng sự liên kết của các
biểu diễn đa ngôn ngữ; cụ thể là Mô hình ngôn ngữ dịch thuật (TLM).

Mô hình ngôn ngữ dịch (TLM) TLM là một biến thể của MLM cho phép sử dụng
ngữ liệu song song trong đào tạo trước đa ngôn ngữ [63]. Đầu vào của bộ
mã hóa là một cặp câu song song (x, y). Tương tự như MLM, tổng số k mã
thông báo được che dấu để chúng có thể thuộc về câu x hoặc y . Để dự đoán
một từ bị che trong x, mô hình có thể phụ thuộc vào ngữ cảnh xung quanh
trong x hoặc bản dịch y và ngược lại đối với các mã thông báo bị che trong
y. Điều này ngầm buộc bộ mã hóa phải đạt được các biểu diễn căn chỉnh
theo nhiều ngôn ngữ. Về cơ bản, nếu ngữ cảnh của mã thông báo bị che trong
x không đủ, mô hình sẽ chú ý hơn đến ngữ cảnh trong y để đưa ra dự đoán
tốt hơn về mã thông báo bị che. Hình 4.2 cung cấp minh họa về cách TLM
thực hiện sự chú ý đa ngôn ngữ. Để xác định TLM cho một cặp câu song song
(x, y), hãy để Mx và My biểu thị tập hợp các vị trí bị che trong cả hai
câu, sau đó x\Mx và y\My sẽ biểu thị các phiên bản bị che của x và y. Hàm
mất TLM [138] được định nghĩa như sau:

1 1
L T(x,y)
LM
=
logP(xi |x\Mx , y\My ) logP(yi |x\Mx , y\My )
|Mx| |Của tôi|
i Mx tôi của tôi

(4.4)

XLM đã cung cấp bằng chứng sâu rộng về cách các nhiệm vụ đào tạo trước
MLM và CLM cung cấp các tính năng đa ngôn ngữ mạnh mẽ có thể được sử dụng
cho các bản dịch máy không có giám sát và các nhiệm vụ phân loại đa ngôn
ngữ được giám sát xuôi dòng khác. Mô hình ngôn ngữ đa ngôn ngữ (XLM) cũng
cho thấy tác động mạnh mẽ của việc sử dụng TLM với MLM đối với chất lượng
của sự liên kết biểu diễn đa ngôn ngữ như đã được chứng minh bằng hiệu
suất của chúng trên điểm chuẩn XNLI.
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 77

Hình 4.2 Minh họa TLM [146, 194] thể hiện cơ chế chú ý qua các câu song song
(x, y) nhằm thúc đẩy sự liên kết xuyên ngôn ngữ của các cách biểu đạt được tạo
ra.

4.1.2.3 XLM-RoBERTa

XLM-RoBERTa (XLM-R) [61] là mô hình máy biến áp đa ngôn ngữ dựa trên
chỉ về nhiệm vụ đào tạo trước MLM. XLM-R được đào tạo trên 2,5 TB dữ liệu
CommonCrawl bằng 100 ngôn ngữ. XLM-R là một kỹ thuật rất quan trọng
trong dòng tiến trình của các mô hình máy biến áp đa ngôn ngữ như nó đã cung cấp
tăng hiệu suất mạnh mẽ so với mBERT và XLM trong các tác vụ quan trọng tiếp
theo như ghi nhãn trình tự và trả lời câu hỏi. Đây là
mặc dù thực tế là nó không sử dụng ngữ liệu song song để đào tạo trước.
XLM-R tuân theo thiết kế kiến trúc của XLM mà không sử dụng phần nhúng ngôn
ngữ, cho phép xử lý chuyển đổi mã tốt hơn.
Đóng góp chính của XLM-R là đạt được hiệu suất tiên tiến với dữ liệu đơn ngữ
và chứng minh những hiểu biết sâu sắc về giá trị
dữ liệu huấn luyện lớn hơn và sạch hơn, kích thước của từ vựng cũng như
mức độ điều chỉnh siêu tham số phù hợp.

4.1.2.4 Mô hình ngôn ngữ thay thế (ALM)

Mô hình ngôn ngữ thay thế (ALM) ALM [282] là chương trình đào tạo trước
nhiệm vụ cho các biểu diễn đa ngôn ngữ hoạt động theo cách tương tự như
Nhiệm vụ đào tạo trước TLM ngoại trừ tính chất của dữ liệu đầu vào. sử dụng TLM
các câu song song làm đầu vào, tuy nhiên ALM sử dụng các câu chuyển mã
được tạo ra từ các câu song song. Trong các câu chuyển mã, một số
Machine Translated by Google

78 Máy biến áp cho học máy: Tìm hiểu sâu

các cụm từ của mỗi cặp câu được hoán đổi ngẫu nhiên với cụm từ đã dịch
tương ứng. Đối với cặp câu song song (x, y) trong đó câu nguồn x = {x1,
x2, . . . , } và câu đích y = {y1, y2, . . . , }, đầu vào của mô hình ALM
là một chuỗi chuyển mã u = {u1, u2, . . . , } gồm có cặp (x, y). u[i,j]
được gán cho x[a,b] hoặc y[c,d] trong đó ràng buộc là hai chuỗi này là
bản dịch tương đương trong một cặp song song (x, y) sao cho 1 ≤ a ≤ b ≤ |
x| và 1 ₫ c ₫ d ₫ |y|.
Tỷ lệ mã thông báo nguồn x trong chuỗi chuyển mã u là α. Nói cách khác,
nếu α = 1 thì toàn bộ chuỗi đầu vào là đơn ngữ và bao gồm câu nguồn x,
nếu α = 0 thì chuỗi đầu vào chỉ là câu đích y và chúng ta nhận được các
chuỗi chuyển mã bằng cách sử dụng 0 < α < 1.

Để xây dựng dữ liệu chuyển mã, một công cụ được sử dụng để thực hiện
căn chỉnh từ giữa câu nguồn và câu đích trong kho ngữ liệu song song và
bảng cụm từ song ngữ được trích xuất bằng kỹ thuật dịch máy. Tiếp theo,
dữ liệu chuyển mã được xây dựng bằng cách thay thế các cụm từ nguồn và
đích theo tỷ lệ α. Cho rằng α quyết định ngẫu nhiên cụm từ nào được chọn
từ câu nguồn so với câu đích, mỗi cặp câu có thể tạo ra nhiều chuỗi
chuyển mã rất hữu ích trong việc khắc phục kích thước thường bị giới hạn
của ngữ liệu song song sẵn có. Sau đó, ALM tiến hành bằng cách sử dụng
tác vụ huấn luyện trước MLM tiêu chuẩn trên dữ liệu chuyển mã. Về mặt
hình thức, đối với cặp câu song song (x, y), gọi z là câu chuyển mã được
tạo từ x và y thì mất ALM được xác định
BẰNG:

(z(x,y)) 1
L ALM =
logP(zi |z\M ) (4.5)
|M| i M

trong đó z\M là phiên bản bị che của z và M là tập hợp các vị trí mã thông báo
bị che trong z\M .
Hình 4.3 minh họa cách ALM tạo ra một tập hợp dữ liệu huấn luyện chuyển mã
bằng cách sử dụng một cặp câu song song, cặp câu này được sử dụng để huấn luyện
một biến áp MLM.

4.1.2.5 Bộ mã hóa

Unicoder [125] là một kiến trúc khác để học các biểu diễn đa ngôn ngữ
bằng cách sử dụng ngữ liệu song song. Nó sử dụng kiến trúc tương tự như
XLM và giới thiệu ba nhiệm vụ đào tạo trước đa ngôn ngữ mới; cụ thể là
Phục hồi từ đa ngôn ngữ (CLWR), Phân loại diễn giải đa ngôn ngữ (CLPC) và
LM che dấu đa ngôn ngữ (CLMLM).
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 79

Hình 4.3 Minh họa Mô hình ngôn ngữ thay thế (ALM) [282] trong đó một cặp
câu song song (x, y) được sử dụng để tạo ra nhiều ví dụ chuyển đổi mã được
sử dụng để huấn luyện một máy biến áp MLM.

Phục hồi từ đa ngôn ngữ (CLWR) CLWR [125] sử dụng ngữ liệu song song để học
cách sắp xếp từ giữa hai ngôn ngữ. Nhiệm vụ đào tạo trước bắt đầu bằng một
ma trận chú ý có thể huấn luyện được [17] để học cách biểu diễn các phần
nhúng mã thông báo ngôn ngữ nguồn theo các phần nhúng mã thông báo ngôn ngữ
tar-get. Sau đó, phép biến đổi đã học trong ma trận chú ý sẽ được cung cấp
cho mô hình đa ngôn ngữ để tìm hiểu cách xây dựng lại quá trình nhúng mã
thông báo nguồn. Về hình thức, cho một cặp câu song song (x, y), trong đó
x = (x1, x2, . . . , xm) là một câu có m từ từ ngôn ngữ nguồn s và y = (y1,
y2, . . . , yn) là một câu có n từ của ngôn ngữ đích t. CLWR bắt đầu bằng
cách biểu diễn mỗi xi dưới dạng
Rh bởi tất cả các từ nhúng của y [125]:
t
x
tôi

N
t = t
x
tôi
softmax (Aij ) yj (4.6)
j=1

x tôi ở đâuS t
Rh và y , Rh là biểu diễn của xi và yj , đặc biệt
j
và h biểu thị thứ nguyên biểu diễn, A Rm×n là ma trận chú ý được xác định
như sau:

S t
Aij = W x j
tôi , yt
xs
, ji y
(4.7)

Lưu ý rằng W R3 h là ma trận trọng số có thể huấn luyện và là phép nhân


t
theo từng phần tử. Khi đó Unicoder lấy Xt = (x xt dự2 , đoán
1 , xt . . . , N ) làm đầu vào và
chuỗi từ gốc x.

Phân loại diễn giải đa ngôn ngữ (CLPC) CLPC [125] giới thiệu một cách khác
để sử dụng dữ liệu song song bằng cách đề xuất một cách diễn giải
Machine Translated by Google

80 Máy biến áp cho học máy: Tìm hiểu sâu

nhiệm vụ huấn luyện trước phân loại cho các cặp câu song song (x, y), trong đó

Cặp câu song song (x, y) là cặp câu thuộc lớp dương và không song song

(x, z) là lớp phủ định. Các mẫu dữ liệu huấn luyện được chọn bằng cách sử dụng

một mô hình phát hiện diễn giải nhỏ hơn sao cho cho mỗi (x, y) và

(x, z) cặp câu, z được chọn gần x nhưng không bằng y.

LM LM che dấu đa ngôn ngữ (CLMLM) CLMLM [125] là một phần mở rộng của TLM với
cùng sơ đồ chú ý đa ngôn ngữ. Tuy nhiên,
trong khi TLM lấy các cặp câu song song, đầu vào của CLMLM được tạo ở cấp độ tài

liệu nơi có nhiều câu từ một câu song song

tài liệu (tức là một tài liệu đầy đủ với nhiều bản dịch song song) là
được thay thế bằng các bản dịch ngôn ngữ khác. Điều này được lấy cảm hứng từ một số

đã báo cáo thành công về việc đào tạo trước bằng cách sử dụng văn bản đơn ngữ dài
hơn. Mô hình Uni-Code được khởi tạo với mô hình XLM và sau đó được đào tạo trước

sử dụng các tác vụ MLM, TLM, CLWR, CLPC và CLMLM kết hợp
và tinh chỉnh trên các điểm chuẩn XNLI và XQA.

4.1.2.6 Mô hình xuyên ngôn ngữ lý thuyết thông tin (INFOXLM)

Mô hình đa ngôn ngữ lý thuyết thông tin (INFOXLM) [47] tiếp cận vấn đề căn chỉnh
biểu diễn đa ngôn ngữ từ một

góc độ lý thuyết thông tin, nơi nó cho thấy đa ngôn ngữ

trên thực tế, các nhiệm vụ trước đào tạo có thể được coi là tối đa hóa thông tin

lẫn nhau giữa các bối cảnh đa ngôn ngữ với mức độ chi tiết khác nhau. Vì

Ví dụ, InfoXLM cho thấy mô hình ngôn ngữ mặt nạ đa ngôn ngữ

(mMLM) về cơ bản nhiệm vụ đào tạo trước sẽ tối đa hóa thông tin lẫn nhau
giữa các mã thông báo được che dấu và ngữ cảnh của chúng trong cùng một ngôn ngữ. TRÊN

mặt khác, mã thông báo cố định trên các ngôn ngữ thúc đẩy đa ngôn ngữ

bối cảnh có mối tương quan chặt chẽ với nhau. TLM cũng có cách giải thích theo lý
thuyết thông tin, trong đó nó được chứng minh là tối đa hóa thông tin lẫn nhau.

giữa các mã thông báo bị che và bối cảnh ngôn ngữ song song, phục vụ

như một cơ chế căn chỉnh biểu diễn đa ngôn ngữ tiềm ẩn. Bằng cách sử dụng khung

lý thuyết thông tin được cung cấp, InfoXLM đề xuất một

nhiệm vụ đào tạo trước đa ngôn ngữ mới dựa trên phương pháp học tập tương phản, cụ thể là

Học tập tương phản đa ngôn ngữ.

Học tập tương phản đa ngôn ngữ (XLCO) XLCO [47] đề xuất một cách tiếp cận lý
thuyết thông tin để tạo ra sự phản đối đa ngôn ngữ bằng cách sử dụng ngữ liệu song

song. XLCO khuyến khích máy biến áp


bộ mã hóa để tối đa hóa thông tin lẫn nhau giữa các biểu diễn
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 81

của câu song song so với câu không song song, từ đó hình thành nên cách học
tương phản. TLM được hiển thị, trong khuôn khổ thông tin-oretic, để tối đa hóa
thông tin lẫn nhau về chuỗi mã thông báo. TRÊN
mặt khác, XLCO tối đa hóa thông tin lẫn nhau ở cấp độ trình tự giữa các câu

song song. Cho (xi ,yi) là một cặp câu song song, trong đó
N là tập hợp các câu của
yi là bản dịch của xi , và {yj}
j=1,j=i
cùng ngôn ngữ với yi nhưng không phải là bản dịch của xi . XLCO tối đa hóa

nội dung thông tin giữa xi và yi sử dụng dựa trên InfoNCE [251]
hàm mất được định nghĩa là:

exp(f(xi) f(yi))
L (x, tôi, yi)
= nhật ký (4.8)
XLCO N
j=1 exp(f(xi)f(yj )

trong đó f(xi) và f(yi) là biểu diễn bộ mã hóa máy biến áp của


câu xi và yi tương ứng. Đối với lấy mẫu âm tính XLCO không
N
mẫu rõ ràng từ {yj} mà sử dụng độ tương phản hỗn hợp [47]
j=1,j=i
và động lượng [104] để xây dựng các mẫu âm tính cứng hơn.
INFOXLM được khởi tạo với các tham số mô hình XLM-R và sau đó
được đào tạo trước bằng cách sử dụng các nhiệm vụ mMLM, TLM và XLCO kết hợp
được mô phỏng dưới dạng nhiệm vụ tối đa hóa thông tin lẫn nhau; thông tin lẫn

nhau về chuỗi mã thông báo đơn ngữ (MMLM), chuỗi mã thông báo đa ngôn ngữ
thông tin lẫn nhau (TLM) và thông tin lẫn nhau ở cấp độ trình tự đa ngôn ngữ
(XLCO).

4.1.2.7 Bộ mã hóa hai chiều đa ngôn ngữ được căn chỉnh (AMBER)

Bộ mã hóa hai chiều đa ngôn ngữ được căn chỉnh (AMBER) [121] là một kỹ thuật
tạo ra các biểu diễn đa ngôn ngữ bằng cách sử dụng dữ liệu song song
với các nhiệm vụ đào tạo trước về căn chỉnh cấp độ từ và cấp độ câu, cụ thể là

Căn chỉnh từ đa ngôn ngữ (CLWA) và câu đa ngôn ngữ


Nhiệm vụ căn chỉnh (CLSA).

Căn chỉnh từ đa ngôn ngữ (CLWA) Tương tự như CLWR,


CLWA [121] cũng nhằm mục đích học cách sắp xếp từ giữa các ngôn ngữ khác nhau
bằng cách sử dụng ngữ liệu song song. CLWA sử dụng hai mặt nạ chú ý khác nhau
làm đầu vào cho mô hình máy biến áp. Sau khi huấn luyện, hai ma trận chú ý thu
được ở lớp biến áp trên cùng, đó là nguồn-đích.

sự chú ý Ax y và sự chú ý từ mục tiêu tới nguồn Ay x. Cho rằng Ax y


đo lường sự liên kết của quá trình chuyển đổi nguồn-đích và ngược lại

ngược lại đối với Ay x, mong muốn có sự sắp xếp tương tự cho các từ bằng cách
sử dụng ma trận chú ý Ax y hoặc Ay x . Để đạt được mục đích đó, mô hình là
Machine Translated by Google

82 Máy biến áp cho học máy: Tìm hiểu sâu

được khuyến khích giảm thiểu khoảng cách giữa Ax y và Ay x trong


đào tạo.

Căn chỉnh câu đa ngôn ngữ (CLSA) CLSA [121] được hủy ký hiệu để thực thi việc
căn chỉnh các cách trình bày câu trên các ngôn ngữ bằng cách sử dụng dữ liệu
song song. Gọi M và P là đơn ngữ và song song

dữ liệu tương ứng. Với mỗi cặp câu song song (x, y), câu phân biệt
phần nhúng cho cả x và y được tạo riêng biệt, cụ thể là cx và

cy, tương ứng. cx và cy thu được bằng cách lấy trung bình của lớp cuối cùng
nhúng của bộ mã hóa. Việc căn chỉnh nhúng diễn ra bởi
khuyến khích mô hình dự đoán bản dịch y chính xác cho đầu vào
câu x bằng cách sử dụng hàm loss sau:

T
c x cy
e
(x,y)
L CLSA = nhật ký T (4.9)
c x cy
e
y M P

(x,y)
nơi y trong L CLSA có thể là bất kỳ câu nào và không hạn chế ngôn ngữ.
AMBER được đào tạo bằng cách sử dụng kết hợp MLM, TLM, CLWA,
Các nhiệm vụ của CLSA và được đánh giá dựa trên điểm chuẩn XTREME, trong đó nó

thực hiện tốt hơn XLM-R và Unicoder.

4.1.2.8 ERNIE-M

Nhiều kỹ thuật đã cho thấy giá trị của việc sử dụng ngữ liệu song song và ngữ
liệu đơn ngữ để có được các biểu diễn đa ngôn ngữ được căn chỉnh tốt hơn. Tuy
nhiên, ngữ liệu song song luôn bị giới hạn về kích thước so với ngữ liệu đơn ngữ.
dữ liệu, hạn chế tiến trình có thể xảy ra trừ khi chúng tôi thu thập được các

kho dữ liệu song song khá lớn. ERNIE-M [194] sử dụng ngữ liệu đơn ngữ lớn và
ngữ liệu song song hạn chế để tạo ra các biểu diễn đa ngôn ngữ. Để nâng cao
khả năng biểu diễn được tạo ra, ERNIE-M tạo ra các câu giả song song bằng cách
sử dụng ngữ liệu đơn ngữ lớn có sẵn và sau đó sử dụng chúng cùng với
với dữ liệu song song để cải thiện sự liên kết của các biểu diễn đa ngôn ngữ.
ERNIE-M đề xuất hai nhiệm vụ đào tạo trước, Chú ý chéo

Mô hình ngôn ngữ đeo mặt nạ (CAMLM) và Mặt nạ dịch ngược


Mô hình hóa ngôn ngữ (BTMLM).

LM che dấu sự chú ý chéo (CAMLM) Sự chú ý chéo che dấu


LM (CAMLM) [194] là một nhiệm vụ đào tạo trước tập thể song song khác
có liên quan chặt chẽ với TLM. Như đã mô tả trước đó, đối với một cặp câu song song

nhất định (x, y), mã thông báo bị che trong x có quyền truy cập và có thể có khả năng
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 83

Hình 4.4 LM che dấu sự chú ý chéo (CAMLM) trong đó mã thông báo bị
che chỉ có thể tham dự các câu đối diện để dự đoán [194].

chú ý đến ngữ cảnh của x và ngữ cảnh của y, đồng thời điều tương tự
cũng áp dụng cho mã thông báo bị che trong y. Mặt khác, CAMLM hạn chế
TLM bằng cách chỉ giữ quyền truy cập vào câu song song tương ứng. Do
đó, mã thông báo bị che trong x chỉ có thể sử dụng ngữ cảnh y để dự
đoán và ngược lại cho y. Việc cấm tham gia vào ngữ cảnh của cùng một
câu với mã thông báo bị che sẽ buộc thuật toán phải học cách biểu diễn
bằng ngôn ngữ song song. Mặt khác, thuật toán có thể đi theo con đường
dễ dàng hơn và thiên về sử dụng cùng một câu của mã thông báo bị che
giấu để đưa ra dự đoán. Sử dụng cùng một thiết lập trong TLM, trong
đó đối với cặp câu (x, y), hãy để Mx và My biểu thị tập hợp các vị trí
bị che trong cả hai câu, sau đó x\Mx và y\My sẽ biểu thị các phiên bản
bị che của x và y. Hàm mất mát cho CAMLM được định nghĩa như sau:

(x,y) 1 1
L CAMM
=
logP(xi |y\My ) logP(yi |x\Mx )
|Mx| i Mx |Của tôi|
tôi của tôi

(4.10)

Hình 4.4 minh họa sự chú ý đa ngôn ngữ của CAMLM. Như được mô tả, mã thông báo h2

liên quan đến mã thông báo trong câu y chứ không phải x và mã thông báo h5 và h6

chỉ liên quan đến mã thông báo trong câu x chứ không phải y.

Quay lại Mô hình ngôn ngữ đeo mặt nạ dịch thuật (BTMLM)
BTMLM [194] tận dụng dịch ngược [222] để tránh vấn đề thiếu ngữ liệu
song song để học các cách biểu diễn đa ngôn ngữ. Nó
Machine Translated by Google

84 Máy biến áp cho học máy: Tìm hiểu sâu

Hình 4.5 Minh họa nhiệm vụ đào tạo trước BTMLM [194] . Bước đầu tiên ở
bên trái là sử dụng CAMLM đã được huấn luyện trước để tạo ra các câu
giả song song. Bước thứ hai bên phải là nơi các câu giả song song được
tạo ra sẽ được sử dụng để huấn luyện thêm CAMLM.

bao gồm hai bước; Bước đầu tiên tạo ra dữ liệu giả song song từ một kho
ngữ liệu đơn ngữ nhất định. ERNIE-M [194] xây dựng các câu giả song song
bằng cách huấn luyện trước mô hình bằng cách sử dụng CAMLM, sau đó thêm
mặt nạ giữ chỗ vào cuối câu đơn ngữ ban đầu để hiển thị vị trí và ngôn
ngữ mà mô hình sẽ tạo ra. Bước thứ hai che dấu các mã thông báo trong
câu đơn ngữ ban đầu, sau đó nối nó với câu giả song song đã tạo. Cuối
cùng, mô hình sẽ dự đoán các mã thông báo bị che giấu. Hình 4.5 thể hiện
hai bước của BTMLM.

Do hiệu suất vượt trội của chúng trong kiến trúc XLM, các nhiệm vụ
đào tạo trước mMLM và TLM cũng được sử dụng như một phần của quá trình
đào tạo ERNIE-M. ERNIE-M được huấn luyện với kho ngữ liệu đơn ngữ và song
song với 96 ngôn ngữ và được khởi tạo với trọng số XLM-R. ERNIE-M đã thể
hiện hiệu suất tiên tiến trên một loạt nhiệm vụ hạ nguồn đa dạng bao gồm
NER, Trả lời câu hỏi đa ngôn ngữ, Nhận dạng diễn giải đa ngôn ngữ và
Truy xuất câu đa ngôn ngữ.

4.1.2.9 Học tập tương phản theo thứ bậc (HICTL)

Học tương phản theo cấp bậc (HICTL) [266] là một nhiệm vụ đào tạo trước
đa ngôn ngữ khác sử dụng các hàm mất dựa trên InfoNCE [251] . Trong khi
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 85

XLCO dựa trên câu, HICTL cung cấp cả cách biểu diễn đa ngôn ngữ ở cấp độ câu
và từ.
Các biểu diễn mức câu được xây dựng theo cách tương tự như XCLO ngoại
trừ việc lấy mẫu phủ định trong đó thay vì thu thập nội suy tuyến tính được
N
các mẫu từ biểu j=1,j=i làm mịn [31, 300] giữa
diễn câu {yj} được sử dụng để xây dựng các mẫu phủ định cứng.
Đối với các cách biểu diễn ở cấp độ thế giới, điểm tương tự về độ mất
tương phản được tính giữa cách biểu diễn mã thông báo câu song song (xi ,yi)
[CLS] và các cách biểu diễn từ khác. Đối với mỗi đầu vào cặp câu song song
(xi ,yi), một túi từ W được duy trì, trong đó tất cả các từ trong W được coi
là mẫu tích cực và tất cả các từ khác trong từ vựng là mẫu tiêu cực. Để lấy
mẫu từ phủ định hiệu quả, HICTL không lấy mẫu từ toàn bộ từ vựng mà xây dựng
một tập hợp các từ phủ định rất gần với biểu diễn mã thông báo câu song song
(xi ,yi) [CLS].

4.1.3 NLU đa ngôn ngữ mã hóa kép


4.1.3.1 Nhúng câu BERT không phụ thuộc vào ngôn ngữ (LaBSE)

Nhúng câu BERT bất khả tri về ngôn ngữ (LaBSE) [88] là một kiến trúc để đào
tạo các cách biểu diễn câu đa ngôn ngữ kết hợp các nhiệm vụ đào tạo trước
Mô hình ngôn ngữ mặt nạ (MLM) và Mô hình ngôn ngữ dịch (TLM) từ XLM [146 ]
với nhiệm vụ xếp hạng dịch thuật bằng cách sử dụng bộ mã hóa kép hai chiều
có tổn thất softmax biên cộng thêm [283]. Bộ mã hóa kép, như trong Hình 4.6,
bao gồm hai bộ mã hóa mBERT được ghép nối. Biểu diễn câu mã thông báo [CLS]
từ cả hai bộ mã hóa được đưa vào chức năng tính điểm. Hình 4.6 minh họa kiến
trúc LaBSE.

Bộ mã hóa kép hai chiều với lề phụ Softmax Kiến trúc bộ mã hóa kép [283] đã
được chứng minh là rất hiệu quả để xếp hạng các tác vụ như tác vụ truy xuất
bản dịch được LaBSE sử dụng để nhúng đa ngôn ngữ. Về mặt hình thức, đối với
một cặp câu song song (xi , yi), truy xuất bản dịch là một bài toán xếp hạng
nhằm đặt yi , bản dịch đúng của xi , cao hơn tất cả các câu trong không gian
bản dịch Y. P (yi | xi) được hình thành BẰNG:

e φ(xi,yi)
P (yi | xi) = φ(xi,y¯)
(4.11)
e y¯ Y
Machine Translated by Google

86 Máy biến áp cho học máy: Tìm hiểu sâu

Hình 4.6 Minh họa kiến trúc nhúng câu BERT không phụ thuộc ngôn ngữ (LaBSE)
[88].

trong đó φ là hàm cho điểm về độ tương tự giữa các biểu diễn của xi và yi

Trong quá trình huấn luyện P (yi | xi) được tính gần đúng bằng cách lấy mẫu âm tính,

yn, từ các cặp dịch trong cùng một đợt:

e φ(xi,yi)
Papprox (yi | xi) = N (4.12)
e φ(xi,yi) + φ(xi,yn) e n=1,n=i

Do đó, đối với các cặp nguồn và đích song song (xi , yi), mô hình có thể được
tối ưu hóa bằng cách sử dụng mục tiêu log-likelihood [283]:

N
1 e φ(xi,yi)
Ls = nhật ký
N (4.13)
N e φ(xi,yi) + e n=1,n=iφ(xi,yn)
tôi=1

Đối với mỗi xi,


, tổn thất Ls nhằm mục đích xác định yi chính xác . Điều này
có nghĩa là việc sử dụng Ls sẽ dẫn đến mối quan hệ bất đối xứng giữa các
biểu diễn xi và yi . Để khắc phục vấn đề này, Yand et al. [283] đã giới
thiệu mục tiêu học tập hai chiều, Ls tối ưu hóa rõ ràng cả xếp hạng tiến và
lùi của cặp song song (xi , yi):

N
1 e φ(yi,xi)
L =
S N
N φ(yi,xi) + φ(yi,xn) e n=1,n=i
tôi=1
e
(4.14)

Ls = Ls + L S
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 87

Để tăng thêm sự tách biệt giữa các bản dịch chính xác với các bản dịch
không gần nhất rất gần nhau, hàm tính điểm φ được mở rộng với lề cộng softmax,
đưa ra một lề m xung quanh các cặp song song dương (xi , yi).

φ (xi , yj ) m nếu i = j φ
φ (xi , yj ) = (4.15)
(xi , yj ) nếu i = j

Áp dụng φ (xi , yj ) cho tổn thất hai chiều Ls, tổn thất hai chiều biên
cộng sẽ trở thành như sau [283]:

1 N
e φ(xi,yi) m
Lâm =
N φ(xi,yi) m + N
φ(xi,yn) e n=1,n=i
tôi=1
e
(4.16)

Lam = Lam + L am

Như đã đề cập trước đó, LaBSE đào tạo trước các bộ mã hóa dựa trên BERT của
mình bằng các tác vụ đào tạo trước Mô hình ngôn ngữ đeo mặt nạ (MLM) và Mô
hình ngôn ngữ dịch (TLM) bằng cách sử dụng ngữ liệu đơn ngữ và song song.
LaBSE huấn luyện các bộ mã hóa máy biến áp bằng cách sử dụng phương pháp xếp
chồng lũy tiến ba giai đoạn. Đối với bộ mã hóa lớp L , trước tiên, nó học mô
hình các lớp fracL4 , sau đó là các lớp fracL2 và cuối cùng là tất cả các
lớp L. Trong các bước huấn luyện kế tiếp, các tham số của mô hình các bước
trước đó sẽ được sao chép sang các bước tiếp theo.

4.1.3.2 Bộ mã hóa câu phổ dụng đa ngôn ngữ (mUSE)

Bộ mã hóa câu phổ quát đa ngôn ngữ (mUSE) [284, 49] đề xuất một cách tiếp cận
cho việc học nhúng câu đa ngôn ngữ bằng cách kết hợp việc học đa nhiệm về
cách biểu diễn câu đơn ngữ và bộ mã hóa kép cho việc học nhúng câu đa ngôn
ngữ để truy xuất văn bản song song. Bằng cách kết hợp hai phương pháp tiếp
cận, mUSE chuyển hiệu suất mạnh mẽ đã học được từ các nhiệm vụ đơn ngữ sang
việc học tập dễ dàng bằng các ngôn ngữ khác. Về cơ bản, đối với một cặp ngôn
ngữ, ngôn ngữ nguồn và ngôn ngữ đích nhất định, mô hình sử dụng kiến trúc đa
nhiệm để học qua (i) các nhiệm vụ đơn ngữ của ngôn ngữ nguồn, (ii) các nhiệm
vụ ngôn ngữ đích đơn ngữ và (iii) từ nguồn tới đích. nhiệm vụ dịch ngôn ngữ
đóng vai trò như một nhiệm vụ bắc cầu để khuyến khích sự liên kết thể hiện
đa ngôn ngữ trên tất cả các nhiệm vụ được đào tạo. Hình 4.7 cung cấp minh họa
về kiến trúc cho QA, NLI và các tác vụ dịch thuật bắc cầu.
Machine Translated by Google

88 Máy biến áp cho học máy: Tìm hiểu sâu

Hình 4.7 Minh họa kiến trúc mUSE cho QA, NLI và các nhiệm vụ dịch thuật bắc cầu [284].

mUSE sử dụng bộ mã hóa kép để thực hiện việc học đa nhiệm trên các nhiệm vụ có thể được biểu

diễn dưới dạng xếp hạng các cặp câu đầu vào-phản hồi. Một số nhiệm vụ nằm trong khuôn khổ này một

cách tự nhiên, chẳng hạn như nhiệm vụ QA và dịch thuật. Các nhiệm vụ khác có thể cần được cải tiến

đặc biệt như NLI. Xếp hạng phản hồi đầu vào có thể được mô tả chính thức như sau: Đối với (các )

cặp phản hồi đầu vào- sR , mục tiêu là đưa s lên cao hơn tất cả các re- SR có thể có. Nói cách
TÔI

khác, xác suất có điều tôikiện


, P s
Tôi tôi
R R TÔI

tài trợ s j Tôi


| S Tôi

nên được định nghĩa là:

e φ(s I Tôi

R =
P s tôi
TÔI

| S Tôi

R
i ) ,sR φ(s
Tôi
j
R ) ,sR SR e
s
j
(4.17)

TÔI
R R
tôi φ tsôi , sR j Tôi = g s i g
s j

TÔI R
trong đó g là hàm mã hóa câu đầu vào và g là hàm mã hóa câu, g và g là phản hồi tạo
TÔI R
nên bộ mã hóa kép. Cả hai đều được thực hiện
R
I và hàm bằng cách sử dụng máy biến áp và được đào tạo về từng nhiệm vụ.
R TÔI

mất khả năng ghi nhật ký gg , P s Tôi


| s tôi ,

Như được minh họa trong Hình 4.7, mUSE sử dụng một bộ mã hóa dùng chung duy nhất hỗ trợ nhiều

tác vụ xuôi dòng. Nhiệm vụ đào tạo bao gồm: nhiệm vụ dự đoán QA, nhiệm vụ NLI và xếp hạng dịch

thuật. Các lớp dành riêng cho nhiệm vụ cho các nhiệm vụ QA và NLI được thêm vào sau bộ mã hóa dùng

chung để giúp đáp ứng nhu cầu biểu diễn cho từng nhiệm vụ.
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 89

4.1.4 Tạo ngôn ngữ tự nhiên đa ngôn ngữ (NLG đa ngôn ngữ)

Tất cả các nhiệm vụ đào tạo trước đa ngôn ngữ được thảo luận trong phần trước đều là

chỉ được sử dụng cho các nhiệm vụ Hiểu ngôn ngữ tự nhiên (NLU). Phần này
thảo luận về một số nhiệm vụ đào tạo trước được sử dụng bởi đa ngôn ngữ tổng quát

các mô hình như MASS [231], BART [155], mBART [169] và XNLG [46].

LM theo trình tự (Seq2SeqLM) Như đã thảo luận trước đó,

Mô hình ngôn ngữ đeo mặt nạ (MLM) được xử lý dưới dạng phân loại cấp mã thông báo
vấn đề về các mã thông báo bị che, trong đó các từ gốc được xác định trước bằng

cách cung cấp các vectơ mã thông báo bị che cho lớp Softmax trên

từ vựng. MLM cũng được sử dụng để huấn luyện trước các cấu trúc máy biến áp chỉ

dành cho bộ mã hóa, sau đó được sử dụng cho các tác vụ NLU. Seq2SeqLM mở rộng MLM

thông thường sang các mô hình biến áp bộ mã hóa-giải mã huấn luyện trước như

T5[205], mT5 [281] và MASS [231]. Mặc dù bối cảnh của MLM bao gồm
tất cả các mã thông báo trong chuỗi đầu vào, ngữ cảnh của Seq2SeqLM bao gồm tất cả

mã thông báo trong chuỗi mặt nạ đầu vào và mã thông báo bên trái trong chuỗi mục

tiêu được xác định trước. Với chuỗi mặt nạ của bộ mã hóa làm đầu vào,

bộ giải mã dự đoán các từ bị che một cách tuần tự từ trái sang phải.

Điều này cho phép các kiến trúc máy biến áp được đào tạo trước với Seq2SeqLM

được sử dụng cho các nhiệm vụ NLG. Đối với một chuỗi đầu vào nhất định của mã thông báo x, hãy đặt xˆ là

phiên bản bị che của x, tức là x có khoảng n-gram bị che. Với ls được xác định

là độ dài của khoảng n-gram bị che, khi đó mất Seq2SeqLM được định nghĩa là

1 j
L (x) =
logP(xs|x, i:s
x ˆ 1) (4.18)
Seq2SeqLM
ls s=tôi

Bộ mã hóa tự động khử nhiễu (DAE) Tương tự như Seq2SeqLM, DAE

[155, 169] là nhiệm vụ huấn luyện trước cho kiến trúc máy biến áp mã hóa-giải mã.
Trong khi Seq2SeqLM dựa trên việc dự đoán các mã thông báo bị che giấu thì DAE

không che giấu các thành phần văn bản mà làm hỏng chúng và sau đó xây dựng lại các

giá trị ban đầu. DAE làm hỏng văn bản ở cấp độ mã thông báo bằng cách

xóa mã thông báo và che dấu mã thông báo, ở cấp độ câu bằng cách thay đổi câu, ở

cấp độ khoảng văn bản bằng cách điền văn bản hoặc ở cấp độ tài liệu

bằng cách xoay tài liệu. DAE có hiệu suất lấy mẫu cao hơn Seq2SeqLM

vì nó cung cấp nhiều tín hiệu hơn cho việc huấn luyện mô hình. DAE tạo ra nhiều hơn

tín hiệu huấn luyện vì nó tái tạo lại văn bản gốc hoàn chỉnh, trong khi

Seq2SeqLM chỉ tái tạo lại các mã thông báo bị che giấu. BART [155] mã hóa
chuỗi đầu vào bị hỏng khi sử dụng bộ mã hóa hai chiều và tái tạo lại

văn bản gốc bằng cách sử dụng bộ giải mã từ trái sang phải. Tương tự với Seq2SeqLM def-
Machine Translated by Google

90 Máy biến áp cho học máy: Tìm hiểu sâu

ban đầu, đối với một văn bản đầu vào x , gọi xˆ là phiên bản bị hỏng của x,
nhất định thì mất DAE được định nghĩa là

|x|
1
L (x) =
logP(xi |x,
ˆ x
<i) (4.19)
DAE
|x| tôi=1

Mã hóa tự động đa ngôn ngữ (XAE) Trong khi DAE được đào tạo về
nhiều ngôn ngữ, đầu vào mã hóa và đầu ra giải mã luôn giống hệt nhau. Kết quả
là, các mô hình phát hiện mối tương quan không chính xác giữa
ký hiệu ngôn ngữ và các cụm từ được tạo ra. Nói cách khác, các mô hình có thể
bỏ qua các ký hiệu ngôn ngữ được cung cấp và tạo câu trực tiếp

trong ngôn ngữ đầu vào. XNLG [46] cung cấp tính năng mã hóa tự động đa ngôn ngữ
(XAE) để khắc phục vấn đề này. Không giống như DAE, đầu vào mã hóa và đầu ra
giải mã của XAE bằng các ngôn ngữ riêng biệt, có thể so sánh với bản dịch máy.
Ngoài ra, XNLG thực hiện tối ưu hóa hai giai đoạn
thông số. Ban đầu, nó huấn luyện bộ mã hóa bằng cách sử dụng các công việc MLM và TLM.

Sau đó, ở bước thứ hai, nó sửa chữa bộ mã hóa và huấn luyện bộ giải mã
sử dụng các tác vụ DAE và XAE. Phương pháp này huấn luyện trước một cách hiệu quả tất cả

các tham số, đồng thời thu hẹp khoảng cách giữa đào tạo trước MLM và
tinh chỉnh giải mã tự hồi quy.

4.2 DỮ LIỆU ĐA NGÔN NGỮ

4.2.1 Dữ liệu trước đào tạo

Mô hình ngôn ngữ đa ngôn ngữ (mLM) sử dụng các nguồn dữ liệu khác nhau trong
giai đoạn tiền đào tạo. Cụ thể hơn, ngữ liệu đơn ngữ lớn
thường được sử dụng trong các ngôn ngữ riêng lẻ và ngữ liệu song song là
được sử dụng giữa một số ngôn ngữ. Nguồn của ngữ liệu đơn ngữ

khác nhau đối với các mLM hiện có khác nhau. Ví dụ, mBERT [72] sử dụng
Wikipedia để đào tạo trước. Trong khi đó, trong [61], Conneau et al. đã sử dụng nhiều
kho dữ liệu thu thập thông tin chung lớn hơn để huấn luyện XML-R. Các mô hình khác sử dụng

dữ liệu được thu thập thông tin tùy chỉnh. Ví dụ, IndicatorBERT [137] được đào tạo về tùy chỉnh

thu thập dữ liệu bằng các ngôn ngữ Ấn Độ. Bảng 4.1 cung cấp tóm tắt về
các bộ dữ liệu được sử dụng để đào tạo trước các mLM khác nhau.

Một số mô hình như IndicBERT [137] và MuRIL [141] được thiết kế


chỉ hỗ trợ một nhóm nhỏ ngôn ngữ. Các mLM khác như XLM-R là
đa ngôn ngữ và có thể hỗ trợ 100 ngôn ngữ. Quản lý lớn
số lượng ngôn ngữ đặt ra thách thức về sự mất cân bằng có thể có giữa
lượng dữ liệu được sử dụng để đào tạo trước cho các ngôn ngữ khác nhau. Vì
Ví dụ: khi sử dụng Wikipedia và CommonCrawl để đào tạo trước, nó
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 91

rõ ràng là số lượng bài báo có sẵn bằng tiếng Anh cao hơn nhiều
hơn các ngôn ngữ khác như tiếng Ba Tư hay tiếng Urdu. Tương tự, số lượng
dữ liệu song song có sẵn cho các cặp ngôn ngữ rất khác nhau tùy thuộc vào
sự phổ biến của những ngôn ngữ như vậy. Để vượt qua những thách thức này, hầu hết
mLM sử dụng trọng số dữ liệu được làm mịn theo cấp số nhân trong khi tạo dữ
liệu trước khi huấn luyện. Trọng số này ngăn không cho các ngôn ngữ tài nguyên
thấp được thể hiện dưới mức. Cụ thể hơn, nếu m% trên tổng số
dữ liệu tiền huấn luyện thuộc về ngôn ngữ i thì xác suất của lan này là 100 .
k
là pi = Mỗi xác suất sau đó được điều biến bởi một thước đo lũy thừa
hệ số α, thì các giá trị kết quả được chuẩn hóa để cung cấp
phân phối xác suất cuối cùng trên các ngôn ngữ. Phân phối xác suất này được sử
dụng để lấy mẫu dữ liệu trước khi huấn luyện từ các đối tượng khác nhau.
ngôn ngữ. Do đó, các ngôn ngữ có nguồn tài nguyên thấp sẽ bị lấy mẫu quá mức trong khi

ngôn ngữ tài nguyên cao sẽ được lấy mẫu. Quá trình như vậy đảm bảo việc sử dụng

một bộ từ vựng hợp lý (trong khi đào tạo mô hình Word-Piece [220] hoặc
SentencePiece [144]) bằng các ngôn ngữ có nguồn tài nguyên thấp.
Bảng 4.1 tóm tắt số lượng ngôn ngữ được hỗ trợ bởi các
mLM và tổng số từ vựng được chúng sử dụng. Thông thường, mLM
hỗ trợ nhiều ngôn ngữ hơn có vốn từ vựng lớn hơn.

4.2.2 Điểm chuẩn đa ngôn ngữ

Các phương pháp được sử dụng thường xuyên nhất để đánh giá mLM là hiệu suất đa
ngôn ngữ đối với các tác vụ tiếp theo, đòi hỏi phải tinh chỉnh mô hình
sử dụng dữ liệu dành riêng cho nhiệm vụ từ ngôn ngữ có nguồn tài nguyên cao như tiếng Anh

và đánh giá nó trên các ngôn ngữ khác. XGLUE [160], XTREME [122],
XTREME-R [216] là một số phương pháp học tập đa ngôn ngữ tiên tiến nhất
điểm chuẩn. Như được trình bày trong Bảng 4.2, các điểm chuẩn này cung cấp dữ

liệu đào tạo/đánh giá cho nhiều nhiệm vụ và ngôn ngữ. Những cái này
nhiệm vụ có thể được phân loại thành: phân loại, dự đoán cấu trúc, trả lời câu
hỏi và truy xuất ngữ nghĩa.

4.2.2.1 Phân loại

Để phân loại, nhiệm vụ tiếp theo là phân loại đầu vào bao gồm một câu hoặc một
cặp câu thành một trong k lớp.

Một ví dụ là bài toán Suy luận ngôn ngữ tự nhiên (NLI), trong đó
yêu cầu đầu vào là một cặp cụm từ và đầu ra là một trong

ba loại: ngụ ý, trung lập hoặc mâu thuẫn. XNLI [64], PAWS-X [285],
XCOPA [200], NC [160], QADSM [160], WPR [160] và QAM [160] là
Machine Translated by Google

92 Máy biến áp cho học máy: Tìm hiểu sâu

BẢNG 4.2 Điểm chuẩn của mô hình ngôn ngữ đa ngôn ngữ được phân loại theo nhiệm vụ NLP
[74]
Nhiệm vụ Corpus Đào tạo nhà phát triển Bài kiểm tra
Bộ kiểm tra #Langs. Nhiệm vụ Điểm chuẩn miền số liệu

XNLI 392.702 2.490 5.010 Bản dịch 15 bản dịch Lý Acc. Linh tinh. XT, XTR, XG
CHÂN-X 49.401 2.000 2.000 7 do diễn giải Acc. Wiki / Quora XT, XTR, XG
XCOPA 33.410+400 100 500 Bản dịch 11 NLI đã được Acc. linh tinh XTR
Phân loại NC 100k 10k 100k 10k - 5 Acc. Tin tức XG
gửi. Đã gửi

10k 10k - 3 nhãn. Mức độ liên quan Acc. XG


QADSM Bing
WPR 100k 10k 10k - 7 Đã gửi. Mức độ liên quan nDCG XG
Bing
100k 10k 10k - 7 Acc. XG
QAM Đã gửi. Mức độ liên quan Bing
UD-POS 21.253 3.974 47-20.436 Ấn Độ chú thích. 37(104) POS F1 Linh tinh. XT, XTR, XG
Cấu trúc. dự đoán WikiANN-NER 20.000 10.000 1.000-10.000 Ấn Độ chú thích. 47(176) NER F1 Wikipedia XT, XTR
NER 15k 2,8k 3,4k - 4 NER F1 Tin tức XG

XQuAD 87.599 34.736 1.190 Bản dịch 11 Khai thác nhịp F1/EM Wikipedia XT, XTR
QA MLQA 4.517-11.590 Dịch thuật 7 Khai thác nhịp F1/EM Wikipedia XT, XTR

TyDiQA-GoldP 3,696 634 323-2,719 Ấn Độ chú thích. 9 Khai thác nhịp F1/EM Wikipedia XT, XTR
BUCC - - - 5 Đã gửi. Truy xuất F1 XT
1.896-14.330 Wiki / Tin tức
Tatoeba - - - Đã gửi. Truy xuất Acc. XT
1.000 33(122) 116.903 10.252 Linh tinh.
Truy xuất
Mewsli-X 428-1.482 ind. chú thích. 11(50) Lạng. ag. truy xuất mAP@20 Tin tức 1,190 XTR

LAReQA XQuAD-R 87.599 10.570 bản dịch 11 Lang. ag. truy xuất mAP@20 Wikipedia XTR

một số bộ dữ liệu phân loại văn bản đa ngôn ngữ nổi bật được sử dụng để
đánh giá mLM.

4.2.2.2 Dự đoán cấu trúc

Nhiệm vụ là dự đoán nhãn cho mỗi từ trong câu đầu vào. Hai

các nhiệm vụ thường được thực hiện là gắn thẻ Phần lời nói (POS) và Đặt tên
Nhận dạng thực thể (NER). WikiANN-NER [193], CoNLL 2002 [246]
và bộ dữ liệu tác vụ chia sẻ CoNLL 2003 [247] rất phổ biến cho NER và
tập dữ liệu Phụ thuộc chung [192] được sử dụng để gắn thẻ POS.

4.2.2.3 Trả lời câu hỏi

Nhiệm vụ QA liên quan đến việc trích xuất khoảng phản hồi từ ngữ cảnh và câu hỏi.

Thông thường, dữ liệu đào tạo chỉ có thể truy cập được bằng tiếng Anh, nhưng việc đánh giá

bộ có sẵn trong nhiều ngôn ngữ. XQuAD [9], MLQA [156] và


Bộ dữ liệu TyDiQA-GoldP [56] thường được sử dụng để đánh giá QA.

4.2.2.4 Truy xuất ngữ nghĩa

Truy xuất ngữ nghĩa liên quan đến việc tìm kiếm một câu phù hợp trong
ngôn ngữ đích từ một tập hợp các câu được đưa ra trong
ngôn ngữ nguồn. Nhiệm vụ này được đánh giá bằng cách sử dụng các bộ dữ liệu sau:

BUCC [305], Tateoba [11], Mewsli-X [216] và LAReQA XQuAD-R


[215]. Mewsli-X và LAReQA XQuAD-R được cho là khó khăn hơn vì chúng liên quan
đến việc khôi phục câu phù hợp trong ngôn ngữ đích từ một nhóm câu đa ngôn ngữ.
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 93

4.3 CHI TIẾT HỌC TẬP CHUYỂN GIAO ĐA NGÔN NGỮ

4.3.1 Học tập đa ngôn ngữ không cần nỗ lực

Một trong những mục tiêu cuối cùng của việc học chuyển tiếp đa ngôn ngữ là tạo ra

mLM có hiệu suất đa ngôn ngữ không cần bắn tương xứng với các mô hình đơn ngữ được giám

sát chặt chẽ. Quy trình làm việc tiêu chuẩn để tạo mô hình đa ngôn ngữ không cần thực

hiện bao gồm việc sử dụng nhiều ngôn ngữ để đào tạo trước một

mLM, trong đó mLM học các cách biểu diễn đa ngôn ngữ. Ngươi mâu

sau đó được tinh chỉnh với tập dữ liệu được giám sát dành riêng cho nhiệm vụ từ một nguồn

ngôn ngữ. Cuối cùng, mô hình tinh chỉnh sẽ được sử dụng để thực hiện suy luận

trên cùng một nhiệm vụ từ nhiều ngôn ngữ đích khác nhau. Máy biến áp

đã cho thấy sự tiến bộ đáng kể trong việc học chuyển tiếp đa ngôn ngữ, đặc biệt là khi

nói đến phương pháp học tập không cần nỗ lực. Chi tiết về cách những người chuyển giới

thực hiện việc học chuyển tiếp đa ngôn ngữ vẫn đang được nghiên cứu tích cực.
khu vực. Phần này thảo luận về các lĩnh vực nghiên cứu tích cực để hiểu

các yếu tố chính ảnh hưởng đến việc học chuyển tiếp đa ngôn ngữ [74]. Các yếu tố được

thảo luận bao gồm: (i) yếu tố liên quan đến dữ liệu, (ii) kiến trúc mô hình

và (iii) yếu tố nhiệm vụ đào tạo.

4.3.1.1 Yếu tố dữ liệu

Từ vựng được chia sẻ Trước khi đào tạo mLM, văn bản từ tất cả các ngôn ngữ

được mã hóa bằng cách sử dụng mô hình WordPiece [220] hoặc SentencePiece [144] . Các

khái niệm chính là mã hóa từng từ thành các từ phụ xuất hiện thường xuyên nhất. Từ vựng

của mô hình sau đó bao gồm tất cả các từ phụ này

được công nhận trên tất cả các ngôn ngữ. Mã thông báo kết hợp này đảm bảo rằng

các từ phụ được chia sẻ trên một số lượng lớn các ngôn ngữ có liên quan chặt chẽ hoặc

thậm chí xa xôi. Vì vậy, nếu một từ phụ tồn tại trong ngôn ngữ đích

tập kiểm tra cũng xuất hiện trong tập huấn luyện của ngôn ngữ nguồn, một số mô hình

hiệu suất có thể được truyền tải thông qua vốn từ vựng chung này. Các

mối quan hệ giữa khả năng chuyển giao zero-shot đa ngôn ngữ và kích thước

sự chồng chéo từ vựng giữa các ngôn ngữ đã được kiểm tra trong [199] và

[271], trong đó mối tương quan tích cực mạnh mẽ đã được tìm thấy và tác động tích cực
lên các nhiệm vụ tiếp theo đã được chứng minh là nhất quán qua một số

lĩnh vực đa dạng bao gồm NER [246, 247], POS [192], XNLI [64], MLDoc

[221] và Phân tích cú pháp phụ thuộc [192]. Những quan sát này mang tính trực quan

và đưa ra một số lời giải thích cho việc liên kết biểu diễn đa ngôn ngữ

khi thực hiện đào tạo đa ngôn ngữ bằng cách sử dụng ngữ liệu đơn ngữ. Tuy nhiên, lĩnh

vực nghiên cứu này vẫn còn mới và các bằng chứng bổ sung vẫn đang được

được kiểm tra để xác nhận những quan sát này. Ví dụ, Karthikeyan và cộng sự.
Machine Translated by Google

94 Máy biến áp cho học máy: Tìm hiểu sâu

[135] về mặt tổng hợp đã giảm sự trùng lặp từ vựng xuống 0, tuy nhiên, mức giảm
hiệu suất quan sát được trong quá trình học tập không bắn xuyên ngôn ngữ là rất
nhỏ, điều này làm suy yếu tác động được quan sát thấy của sự chồng chéo từ vựng

đối với việc học chuyển giao không bắn xuyên ngôn ngữ. Một công trình khác [10]
cho thấy ngay cả khi không có sự chồng chéo từ vựng, việc học chuyển giao ngôn
ngữ vẫn diễn ra bằng cách tinh chỉnh chính xác tất cả các lớp biến áp ngoại trừ
lớp nhúng đầu vào.

Kích thước dữ liệu đào tạo trước Hiệu quả của kích thước dữ liệu đào tạo trước

đối với đa ngôn ngữ đã được đánh giá trong [165] chứng tỏ rằng khi mBERT được đào
tạo trước trên kho văn bản lớn, việc chuyển giao giữa các ngôn ngữ được cải thiện.

Ngoài ra Lauscher và cộng sự. [148] cho thấy rằng hiệu suất của quá trình truyền
zero-shot có mối tương quan chặt chẽ với lượng dữ liệu trong ngôn ngữ đích được
sử dụng để huấn luyện trước mLM cho các tác vụ cấp cao hơn như XNLI và XQuAD.
Ngoài ra còn có một kết nối tích cực cho các tác vụ cấp thấp hơn như POS, phân
tích cú pháp phụ thuộc và NER, mặc dù nó không mạnh bằng sự liên kết với XNLI và
XQuAD.

Sử dụng Parallel Corpora Mặc dù mLM hoạt động tốt ngay cả khi không được đào tạo
cụ thể bằng các tín hiệu đa ngôn ngữ, nhưng có thể trực quan rằng việc đào tạo
có mục đích với các tín hiệu như vậy sẽ tăng hiệu suất. Trên thực tế, XLM trong

[63] và InfoXLM trong [47] chứng minh rằng việc sử dụng ngữ liệu song song kết
hợp với nhiệm vụ đào tạo trước TLM sẽ cải thiện hiệu suất. Nếu không có sẵn kho

ngữ liệu song song, [79] lập luận rằng việc đào tạo các mLM sử dụng kho ngữ liệu
tương tự (chẳng hạn như Wikipedia hoặc CommonCrawl) thì thích hợp hơn là sử dụng
kho ngữ liệu từ các nguồn khác nhau giữa các ngôn ngữ.

4.3.1.2 Yếu tố kiến trúc mô hình

Khả năng của mô hình đa ngôn ngữ phụ thuộc vào số lớp, số lượng đầu chú ý và kích
thước của các biểu diễn ẩn.

Karthikeyan và cộng sự. [135] chứng minh rằng hiệu suất học chuyển tiếp đa ngôn
ngữ phụ thuộc nhiều vào độ sâu của mạng trong khi không phụ thuộc nhiều vào số
lượng người đứng đầu chú ý. Đặc biệt, họ chứng minh rằng có thể chuyển giao đủ
ngôn ngữ ngay cả khi chỉ tập trung một đầu. Hơn nữa, tổng số tham số trong mô
hình ít ảnh hưởng đến hiệu quả của việc chuyển giao ngôn ngữ hơn so với số lượng
lớp. Điều thú vị là, trong [79] việc chuyển giao đa ngôn ngữ của mBERT được cho

là do tập hợp tham số nhỏ của nó và do đó dung lượng bị hạn chế, điều này
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 95

buộc nó phải sử dụng các cấu trúc được chia sẻ để sắp xếp các biểu diễn trên mạng

thước đo.
Một quyết định kiến trúc quan trọng khác là bối cảnh tự chú ý

cửa sổ, đề cập đến số lượng mã thông báo được đưa vào mLM trong thời gian

đào tạo. Lưu và cộng sự. [165] chứng minh rằng mặc dù sử dụng bối cảnh nhỏ hơn

windows được ưa chuộng hơn khi dữ liệu huấn luyện trước còn thưa thớt, sử dụng

cửa sổ ngữ cảnh dài hơn sẽ tốt hơn khi có số lượng lớn đào tạo trước
dữ liệu có sẵn.

Trong [260] và [45] người ta cho rằng vì mLM có mô hình hạn chế

năng được nhiều ngôn ngữ sử dụng, chúng không thể nắm bắt được tất cả

sự tinh tế của một số ngôn ngữ như một mô hình đơn ngữ được đào tạo trước

Có thể. Họ chứng minh cách chắt lọc kiến thức từ một ngôn ngữ đơn ngữ

mô hình có thể nâng cao hiệu suất đa ngôn ngữ của mLM.

4.3.1.3 Yếu tố nhiệm vụ mô hình

Chiến lược tinh chỉnh Trong [171] người ta đã thảo luận rằng việc tinh chỉnh một

mLM thay đổi các tham số của nó, làm suy giảm khả năng đa ngôn ngữ của nó bằng cách

xóa một phần các căn chỉnh đã học trong quá trình đào tạo trước. Họ chứng minh điều này

bằng cách chỉ ra rằng khi mLM được tinh chỉnh để gắn thẻ POS,

hiệu suất truy xuất đa ngôn ngữ của nó giảm đáng kể. Để khắc phục vấn đề này, họ khuyên

bạn nên sử dụng khung học tập liên tục để tinh chỉnh mô hình để mô hình không quên bản

gốc.

nhiệm vụ (MLM) mà nó đã được đào tạo. Họ tuyên bố kết quả được cải thiện trong

gắn thẻ POS đa ngôn ngữ, NER và truy xuất câu bằng phương pháp tinh chỉnh này.

Căn chỉnh các biểu diễn Trong [261, 168] , hiệu suất của chuyển giao xuyên ngôn ngữ

zero-shot được kiểm tra bằng cách sử dụng các biểu diễn được căn chỉnh ngầm được học

bởi mLM và các biểu diễn từ các mô hình đơn ngữ

sau đó được căn chỉnh rõ ràng bằng cách sử dụng tập lệnh song song. Họ lưu ý

rằng sự liên kết rõ ràng mang lại hiệu suất được cải thiện. Lấy cái này

tính đến, Wang và cộng sự. [263] cung cấp một chiến lược rõ ràng để sắp xếp các cách

biểu diễn của các cặp từ phù hợp giữa các ngôn ngữ trong quá trình

đào tạo mBERT. Điều này được thực hiện bằng cách bao gồm một hàm mất mát

giảm thiểu khoảng cách Euclide giữa các từ nhúng của các từ được căn chỉnh.

Zhao và cộng sự. [298] cũng báo cáo các kết quả có thể so sánh được khi các biểu diễn

các cặp từ được căn chỉnh rõ ràng và các không gian vectơ được chuẩn hóa hơn nữa.
Machine Translated by Google

96 Máy biến áp cho học máy: Tìm hiểu sâu

4.3.2 Biểu diễn đa ngôn ngữ theo ngôn ngữ bất khả tri

Bất chấp thành công lớn của các mô hình máy biến áp, chẳng hạn như BERT, trong việc

thúc đẩy lĩnh vực NLP và học máy nói chung, hoạt động bên trong

về cách các mô hình đó trích xuất và lưu trữ kiến thức vẫn chưa hoàn toàn

được hiểu rõ và là trọng tâm của nghiên cứu tích cực. Máy biến áp đa ngôn ngữ

chắc chắn không phải là ngoại lệ nhưng thậm chí còn hấp dẫn hơn khi họ dường như sử dụng

và chia sẻ kiến thức qua nhiều ngôn ngữ; tức là học chuyển tiếp đa ngôn ngữ. Điều này

đặt ra câu hỏi liệu người biến đổi đa ngôn ngữ có học được

các biểu diễn đa ngôn ngữ bất khả tri về ngôn ngữ. Một số cách tiếp cận có

được đề xuất để trả lời câu hỏi này, mỗi câu hỏi có một góc tấn công khác nhau; (i)

Nghiên cứu cắt bỏ, (ii) Thăm dò tác vụ và (iii) Thể song song

Đại diện.

Nghiên cứu cắt bỏ Một số nghiên cứu cắt bỏ đã được đề xuất để kiểm tra một số giả

thuyết về tính hợp lệ của các biểu hiện bất khả tri về ngôn ngữ trong các máy biến áp

đa ngôn ngữ. Giả thuyết đầu tiên được thử nghiệm trong [199]

là tập lệnh chung giữa ngôn ngữ tài nguyên cao là một điều khó hiểu

yếu tố cho hiệu suất máy biến áp đa ngôn ngữ tốt. Tuy nhiên đây là

được chứng minh là đúng khi sự chuyển giao đa ngôn ngữ xảy ra giữa các ngôn ngữ

không chia sẻ chữ viết như tiếng Urdu viết bằng chữ Ả Rập và tiếng Hindi bằng chữ De-

vanagari [199]. Công việc khác [229] đã kiểm tra mã thông báo đầu vào

là một yếu tố gây nhiễu và nhận thấy rằng việc sử dụng mã thông báo từ phụ sẽ hỗ trợ

các mô hình hướng tới việc học các cách biểu diễn ngôn ngữ bất khả tri hơn

hơn là mã thông báo cấp độ từ hoặc cấp độ ký tự. Nhiệm vụ trước đào tạo có

cũng được xem xét như một yếu tố gây nhiễu có thể xảy ra, nó đã chỉ ra rằng

các mô hình được đào tạo với các nhiệm vụ đào tạo trước khối văn bản song song, chẳng

hạn như XLM, giữ lại các biểu diễn bất khả tri về ngôn ngữ trong các lớp mã hóa cao hơn

theo cách mạnh mẽ hơn các mô hình được đào tạo về ngữ liệu đơn ngữ như

như mBERT và XLMR [52].

Biểu diễn tập đoàn song song Một cách khác để tiếp cận

giả thuyết về biểu diễn ngôn ngữ bất khả tri là sử dụng ngữ liệu song song trong

các ngôn ngữ khác nhau và kiểm tra các biểu diễn song song của chúng để căn chỉnh

trong không gian nhúng mô hình. Phân tích tương quan Canonical

(CCA) là một kỹ thuật được sử dụng để phân tích sự liên kết của các biểu diễn song

song. Trong [229] phân tích CCA cho thấy mBERT không dự đoán

biểu diễn song song trên cùng một không gian. Dịch máy cũng có

được sử dụng để kiểm tra các cách biểu diễn ngôn ngữ bất khả tri, trong đó trên một

mặt khác một câu bằng ngôn ngữ nguồn được cung cấp và mặt khác
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 97

có sẵn nhiều câu trong ngôn ngữ đích và nhiệm vụ là sử dụng thuật toán lân cận gần

nhất để xác định bản dịch chính xác trong số các ứng viên mục tiêu. Trong [199]

người ta quan sát thấy rằng bản dịch thích hợp (tức là căn chỉnh các biểu diễn) phụ

thuộc vào lớp trong mô hình tạo ra các biểu diễn. Người ta chứng minh rằng các lớp
giữa mBERT, 5–8, tạo ra độ chính xác lân cận gần nhất là 75% cho các ngôn ngữ trong

cùng một họ như tiếng Anh-Đức và tiếng Hindi-Urdu. Người ta đã lập luận rằng một kết

luận đúng đắn là công suất lớn của các mô hình biến áp đa ngôn ngữ cho phép tạo ra

và bảo tồn các biểu diễn ngôn ngữ bất khả tri và ngôn ngữ cụ thể. Các biểu diễn bất

khả tri về ngôn ngữ đủ phong phú để căn chỉnh chính xác các từ đa ngôn ngữ và truy

xuất các câu tương tự về mặt ngữ nghĩa. Tuy nhiên, các biểu diễn không đủ mạnh để

tiếp cận các vấn đề khó như dịch máy [161].

Nhiệm vụ thăm dò Một cách khác để điều tra các biểu diễn bất khả tri về ngôn ngữ là

sử dụng các nhiệm vụ thăm dò trên các biểu diễn thu được ở các lớp khác nhau. Ví

dụ, cây phụ thuộc nhất quán có thể được học từ cách biểu diễn các lớp trung gian

trong mBERT biểu thị sự trừu tượng hóa cú pháp [44, 162]. Tuy nhiên, cây phụ thuộc

cho các ngôn ngữ Chủ ngữ-Động từ-Tân ngữ (SVO) (như tiếng Anh, tiếng Pháp và tiếng

Indonesia) chính xác hơn so với cây phụ thuộc cho các ngôn ngữ SOV (như tiếng Thổ

Nhĩ Kỳ, tiếng Hàn và tiếng Nhật). Sự khác biệt này giữa các ngôn ngữ SOV và SVO cũng

được thấy trong việc ghi nhãn POS [199]. Mỗi lớp có những đặc điểm riêng biệt và do

đó sẽ thuận lợi hơn khi trộn dữ liệu từ nhiều lớp để có kết quả tối ưu, thay vì chọn
một lớp duy nhất dựa trên hiệu suất tổng thể của nó, như đã được chứng minh cho

Dutch trong nhiều nhiệm vụ NLU khác nhau [68] . Trong cùng một thử nghiệm, người ta

phát hiện ra rằng mô hình đa ngôn ngữ có nhiều cách trình bày thông tin hơn cho việc

gắn thẻ POS ở các lớp đầu khi so sánh với mô hình đơn ngữ tiếng Hà Lan.

4.4 NGHIÊN CỨU TRƯỜNG HỢP

4.4.1 Mục tiêu

Trong phần này, chúng tôi cung cấp một ví dụ thực tế về việc đào tạo bộ phân loại

cảm xúc đa ngôn ngữ. Mục tiêu của chúng tôi là minh họa khả năng phân loại không bắn

của các mô hình đa ngôn ngữ trong đó mô hình chỉ được đào tạo dữ liệu tiếng Anh và

sau đó được sử dụng để dự đoán trên dữ liệu không phải tiếng Anh mà không cần đào

tạo thêm.
Machine Translated by Google

98 Máy biến áp cho học máy: Tìm hiểu sâu

4.4.2 Dữ liệu, Công cụ và Thư viện

Đối với nghiên cứu trường hợp này, chúng tôi sử dụng bộ dữ liệu phân loại tình

cảm nhị phân Yelp Polarity [297]. Bộ dữ liệu bao gồm 560K bài đánh giá Yelp có
tính phân cực cao dành cho đào tạo và 38K bài đánh giá dành cho thử nghiệm. Các
bài đánh giá gốc của Yelp lấy số điểm từ 1 đến 5 sao. Tập dữ liệu này được xây
dựng bằng cách nhóm các đánh giá 1 và 2 sao vào lớp cảm tính tiêu cực và các
đánh giá 3 và 4 sao vào lớp cảm tính tích cực.
Mô hình của chúng tôi sẽ sử dụng Bộ mã hóa câu phổ quát đa ngôn ngữ (mUSE)

[49, 284] để tạo tính năng. mUSE là một bộ mã hóa Transformer được đào tạo sao
cho văn bản ở các ngôn ngữ khác nhau nhưng có ý nghĩa tương tự sẽ dẫn đến một
mã hóa tương tự. Điều này tương tự với cách hai từ có nghĩa (và cách sử dụng)

giống nhau sẽ có cách nhúng từ tương tự. mUSE hỗ trợ 16 ngôn ngữ: tiếng Ả Rập,
tiếng Trung giản thể, tiếng Trung phồn thể, tiếng Anh, tiếng Pháp, tiếng Đức,
tiếng Ý, tiếng Nhật, tiếng Hàn, tiếng Hà Lan, tiếng Ba Lan, tiếng Bồ Đào Nha,
tiếng Tây Ban Nha, tiếng Thái, tiếng Thổ Nhĩ Kỳ, tiếng Nga.
Trong nghiên cứu điển hình này, chúng tôi sẽ sử dụng TensorFlow Hub để tải
mô hình mUSE, Bộ dữ liệu Huggingface để tải tập dữ liệu Yelp Polarity và Py-
Torch Lightning để giúp việc đào tạo đơn giản hơn một chút. mUSE sử dụng nội bộ
Văn bản TensorFlow để mã thông báo, vì vậy chúng tôi cũng cài đặt nó. Chúng có
thể được cài đặt bằng cách chạy lệnh shell được hiển thị trong Liệt kê 4.1.

pip cài đặt tensorflow_hub tensorflow_text>=2.0.0rc0


pytorch_lightning==bộ dữ liệu 1.4.7==1.12.1

Liệt kê 4.1 Thiết lập môi trường Python

4.4.3 Thí nghiệm, kết quả và phân tích

Sau khi môi trường được thiết lập, bộ mã hóa có thể được tải, như trong Liệt kê
4.2. Chúng tôi cũng xác định một hàm đơn giản chấp nhận danh sách các chuỗi làm
đầu vào và trả về danh sách các mảng Numpy. Lưu ý rằng chúng tôi bao gồm các
chú thích loại của Python 3 để làm rõ. Chúng không cần phải được sử dụng.

nhập tensorflow_hub làm trung


tâm nhập tensorflow_text
nhập numpy dưới dạng
np từ cách nhập danh sách nhập , Dict

mô hình_URL =
"https://tfhub.dev/google/universal-sentence-encoding-multilingual-
large/3 "
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 99

bộ mã hóa = hub.load(model_URL)

def embed_text(text: List[str]) -> List[np.ndarray]:


"Mã hóa văn bản và chuyển đổi tensor TensorFlow thành mảng Numpy" vector = bộ mã
hóa(văn bản) trả về

[vector.numpy() cho vectơ trong vectơ]

Liệt kê 4.2 Tải bộ mã hóa câu phổ quát

4.4.3.1 Tiền xử lý dữ liệu

Để giúp việc đào tạo mô hình trở nên dễ dàng, nghiên cứu điển hình này sử dụng PyTorch Lightning.

PyTorch Lightning yêu cầu bạn triển khai lớp LightningDataModule, lớp này gói gọn tất cả quá

trình tải, xử lý trước và phân khối dữ liệu.

Chúng tôi chỉ ra cách người ta có thể thực hiện điều này đối với tập dữ liệu Yelp Polarity trong

Liệt kê 4.3. Chúng tôi sử dụng một tập hợp con nhỏ của tập huấn luyện và kiểm tra đầy đủ để giữ

thời gian đào tạo mô hình ở mức tối thiểu. Chúng tôi để nó như một bài tập cho người đọc để mở

rộng sang các tập hợp con lớn hơn hoặc toàn bộ tập dữ liệu.

nhập pytorch_lightning dưới dạng pl nhập


ngọn đuốc từ
torch.utils.data nhập DataLoader từ bộ dữ liệu nhập
Bộ dữ liệu, Load_dataset

# đặt hạt giống (điều này là tùy chọn)


pl.seed_everything(445326, Workers=True)

lớp YelpDataModule(pl.LightningDataModule): def __init__(self,


batch_size: int = 32,
num_workers: int = 2):
super().__init__()
self.batch_size =
batch_size self.num_workers =
num_workers self.pin_memory =
torch.cuda .is_available()

def chuẩn bị_data (tự):


"""

Phương pháp này tải một tập hợp con của tập huấn luyện và tập kiểm tra.

Nó sử dụng 2% đầu tiên của tập huấn luyện và tập kiểm tra để huấn

luyện và kiểm tra tương ứng.


Nó sử dụng 1% cuối cùng của tập huấn luyện để xác thực.
Machine Translated by Google

100 Máy biến áp cho học máy: Tìm hiểu sâu

"""

self.test_ds = Load_dataset('yelp_Polarity',
Split="test[:2%]")
self.train_ds = Load_dataset('yelp_Polarity',
Split="train[:2%]")
self.val_ds = Load_dataset('yelp_Polarity ',
chia = "đào tạo [99%:]")

# Ánh xạ các nhãn lớp thành một số


nguyên self.label_names = self.train_ds.unique("label")
label2int = {str(label): n for n, label in
enumerate(self.label_names)}
self.encode = bộ mã hóa_factory(label2int)

def setup(self): #
Tính toán các phần nhúng theo đợt, để tăng tốc độ self.train =
self.train_ds.map(self.encode, batched=True,
batch_size=self.batch_size)
self.train.set_format(type="torch ",
columns=["nhúng", "nhãn"],
out_all_columns=True)

self.val = self.val_ds.map(self.encode, batched=True,


batch_size=self.batch_size)
self.val.set_format(type="torch", columns=["nhúng",
"nhãn"],
out_all_columns=Đúng)

self.test = self.test_ds.map(self.encode,
batched=True, batch_size=self.batch_size)
self.test.set_format(type="torch",
columns=["embedding", "label"],
out_all_columns=True)

def train_dataloader(tự):
trả về DataLoader(self.train,
batch_size=self.batch_size,
num_workers=self.num_workers,
pin_memory=self.pin_memory,
shuffle=True)

def val_dataloader(tự):
trả về DataLoader(self.val,
batch_size=self.batch_size,
num_workers=self.num_workers,
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 101

pin_memory=self.pin_memory)

def test_dataloader(tự):
trả về DataLoader(self.test,
batch_size=self.batch_size,
num_workers=self.num_workers)

def bộ mã hóa_factory(nhãn2int: Dict[str, int]):


"Trả về một hàm mã hóa từng ví dụ văn bản và từng
nhãn"
mã hóa def (lô):

batch["embedding"] = embed_text(batch["text"]) batch["label"]


= [label2int[str(x)] cho x trong batch["label"]]

lô hàng trả lại

mã hóa trả về

Liệt kê 4.3 Mô hình tải và mã thông báo

4.4.3.2 Thí nghiệm

Tiếp theo, chúng tôi xác định kiến trúc mô hình trong Liệt kê 4.4.

nhập ngọn đuốc


nhập ngọn đuốc.nn dưới dạng
nn nhập ngọn đuốc.nn.function dưới dạng
F từ bộ dữ liệu nhập tải_metric

Mô hình lớp (pl.LightningModule): def


__init__(self,
Hidden_dims: List[int] = [768, 128],
dropout_prob: float = 0,5,
learning_rate: float = 1e-3):
super().__init__()
self.train_acc = Load_metric("độ chính xác")
self.val_acc = Load_metric ("độ chính xác")
self.test_acc = tải_metric("độ chính xác")
self.hidden_dims = Hidden_dims
self.dropout_prob = dropout_prob
self.learning_rate = learning_rate

self.embedding_dim = 512
Machine Translated by Google

102 Máy biến áp cho học máy: Tìm hiểu sâu

lớp = []
prev_dim = self.embedding_dim

nếu dropout_prob > 0:


layer.append(nn.Dropout(dropout_prob))

cho h trong Hidden_dims:


Layer.append(nn.Linear(prev_dim, h)) prev_dim =
h nếu
dropout_prob > 0:
Layer.append(nn.Dropout(dropout_prob))
Layer.append(nn.ReLU()) nếu
dropout_prob > 0:
lớp.append(nn.Dropout(dropout_prob)) # lớp đầu ra

lớp.append(nn.Linear(prev_dim, 2))

self.layers = nn.Sequential(*layers)

def Forward(self, x): # x


sẽ là một loạt các vectơ USEm logits =

self.layers(x) return logits

def configure_optimizers(self): trình tối


ưu hóa = torch.optim.Adam(self.parameters(),
lr=self.learning_rate) trả
về trình tối ưu hóa

def __compute_loss(self, batch): "Chạy


chuyển tiếp và tính toán tổn thất" x, y = batch["embedding"],
batch["label"] logits = self(x) preds =
torch.argmax(logits,

dim=1).detach().cpu().numpy() loss =
F.cross_entropy(logits, y) trả về loss,
preds, y

def Training_step(self, batch, batch_idx):


"Tính toán các số liệu chuyển tiếp, mất và ghi nhật ký cho một
đợt huấn luyện"
loss, preds, y = self.__compute_loss(batch)
self.train_acc.add_batch(predictions=preds, reference=y)
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 103

acc = self.train_acc.compute()["độ chính xác"] giá trị =

{"train_loss": loss, "train_accuracy": acc} self.log_dict(values, on_step=True,

on_epoch=True, prog_bar=True, logger=True )

mất mát trở lại

def xác thực_step (tự, lô, batch_idx):

"Tính toán các số liệu chuyển tiếp, mất và ghi nhật ký cho một
lô xác nhận"

mất mát, preds, y = self.__compute_loss(batch)

self.val_acc.add_batch(predictions=preds, reference=y) acc = self.val_acc.compute()

["accuracy"] value = {"val_loss": loss, " val_accuracy":

acc} self.log_dict(giá trị, on_step=True, on_epoch=True, prog_bar=True,

logger=True)

mất mát trở lại

def test_step(self, batch, batch_idx):

"Tính toán các số liệu chuyển tiếp, mất và ghi nhật ký cho một
lô thử nghiệm"

mất mát, preds, y = self.__compute_loss(batch)

self.test_acc.add_batch(predictions=preds, reference=y) acc = self.test_acc.compute()

["accuracy"] value = {"test_loss": loss, " test_accuracy":

acc} self.log_dict(giá trị, on_step=False, on_epoch=True, prog_bar=True,

logger=True)

mất mát trở lại

Liệt kê 4.4 Kiến trúc phân loại nhị phân đa ngôn ngữ

Bây giờ mô hình đã được xác định, chúng ta có thể tải dữ liệu, sau đó huấn
luyện và đánh giá mô hình. Chúng tôi sẽ đào tạo tối đa năm kỷ nguyên, sẽ theo
dõi tổn thất xác thực trong quá trình đào tạo, sẽ lưu ba điểm kiểm tra mô hình
(mỗi điểm một kỷ nguyên) có tổn thất xác thực thấp nhất. Các điểm kiểm tra sẽ
được lưu trữ trong thư mục có tên 'model'. Các tùy chọn này được chuyển tới
đối tượng Trainer của PyTorch Lightning thông qua lệnh gọi lại ModelCheckpoint.

data = YelpDataModule()

data.prepare_data()

data.setup()

print(len(data.train)) # >> 11200

print(len(data.val)) # >> 5600

print(len(data.test)) # >> 760

mô hình = Mô hình()
Machine Translated by Google

104 Máy biến áp cho học máy: Tìm hiểu sâu

MAX_EPOCHS = 5

checkpoint_callback = pl.callbacks.ModelCheckpoint( màn hình="val_loss",


dirpath="model",

filename="yelp-
sentiment-multilingual-{epoch:02d}- {val_loss:.3f}", save_top_k=3,
mode=" phút")

# Tạo Trained và sử dụng GPU (nếu có)


# Tốt nhất là đào tạo mô hình này bằng GPU.

nếu torch.cuda.is_available(): trainer

= pl.Trainer(gpus=1, max_epochs=MAX_EPOCHS, callbacks=[checkpoint_callback])

khác:

trainer = pl.Trainer(max_epochs=MAX_EPOCHS,
callbacks=[checkpoint_callback])

# Huấn luyện mô hình, truyền cho nó dữ liệu huấn luyện và xác thực
máy xúc

trainer.fit(model, data.train_dataloader(),
data.val_dataloader())

# Kiểm tra mô hình

trainer.test(test_dataloaders=data.test_dataloader()) #>> [{'test_accuracy':

0.8644737005233765, 'test_loss': 0.32756760716438293}]

Liệt kê 4.5 Tải dữ liệu, huấn luyện và đánh giá mô hình

Chúng tôi đã đào tạo một mô hình, bây giờ hãy thử nó. Trong Liệt kê 4.6,
chúng tôi xác định hàm dự đoán cảm xúc cho văn bản đầu vào bằng cách sử dụng điểm
kiểm tra mô hình với mức mất xác thực thấp nhất.

best_model = Model.load_from_checkpoint(checkpoint_callback. best_model_path)

def dự đoán(văn bản: Danh sách[str]):


embeddings = torch.Tensor(embed_text(text)) logits =
best_model(embeddings) preds =
torch.argmax(logits, dim=1).detach().cpu().numpy () điểm = torch.softmax(logits,
dim=1).detach().cpu().numpy()

kết quả = []
Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 105

cho t, best_index, Score_pair trong zip(text, preds, Score):


results.append({ "text":
t, "label":
"positiv" if best_index == 1 else "âm tính", "score":

Score_pair[ best_index]
})
trả về kết quả

dự đoán(["Tôi thích nhà hàng đó!", "Tôi ghét đồ ăn Ý."]) #>> [{"label": 'tích
cực', "điểm": 0,99751616, "text": 'Tôi thích
nhà hàng đó!'},
# {"nhãn": 'tiêu cực', "điểm": 0,9791407, "văn bản": 'Tôi ghét đồ ăn Ý.'}]

Liệt kê 4.6 Tải mô hình tốt nhất và chạy suy luận

Vì chúng tôi đã sử dụng phần nhúng USEm nên chúng tôi có thể dự đoán thời gian

của các ngôn ngữ không phải tiếng Anh. Hãy thử nó. Như đã đề cập trước đó, USEm hỗ

trợ 16 ngôn ngữ: tiếng Ả Rập, tiếng Trung giản thể, tiếng Trung phồn thể, tiếng Anh,

tiếng Pháp, tiếng Đức, tiếng Ý, tiếng Nhật, tiếng Hàn, tiếng Hà Lan, tiếng Ba Lan,

tiếng Bồ Đào Nha, tiếng Tây Ban Nha, tiếng Thái, tiếng Thổ Nhĩ Kỳ, tiếng Nga. Trong

Liệt kê 4.7, chúng tôi so sánh các dự đoán về tình cảm giữa các cặp ngôn ngữ và nhận

thấy rằng mặc dù mô hình của chúng tôi đã được đào tạo trên một tập hợp con nhỏ của

tập huấn luyện Yelp Polarity, nó vẫn có thể hoạt động tốt. Chúng tôi cũng nhận thấy

rằng mô hình này có thể đưa ra dự đoán chính xác cho ít nhất một ngôn ngữ không nằm

trong số 16 ngôn ngữ được hỗ trợ. Chúng tôi sử dụng văn bản đầu vào bằng bốn ngôn ngữ

trong Liệt kê 4.7: tiếng Anh, tiếng Đức, tiếng Ý và tiếng Phần Lan.

từ pprint nhập PrettyPrinter pp =


PrettyPrinter()

# Tiếng Anh vs. Tiếng Đức


English_text = "Máy chủ của chúng tôi thật tệ. Anh ta đã làm sai đơn hàng và thậm
chí không xin lỗi khi làm đổ rượu lên tóc em gái tôi!"

german_translation = "Unser Server chiến tranh schrecklich. Er hat die Bestellung


durcheinander gebracht und sich nicht einmal entschuldigt, als er Wein in
die Haare meiner Schwester verschuttet hat!"

pp.pprint(dự đoán(best_model, [english_text,


Dịch tiếng Đức]))
Machine Translated by Google

106 Máy biến áp cho học máy: Tìm hiểu sâu

#>> [{"nhãn": "phủ định",


# "điểm": 0,9564845,

# "text": "Máy chủ của chúng tôi thật tệ. Anh ấy đã làm sai đơn hàng
Và "

# "
"thậm chí còn không xin lỗi khi anh ấy làm đổ rượu lên "tóc của
# em gái tôi!"},
# {"nhãn": "phủ định",
# "điểm": 0,9694613,
# "text": "Unser Server chiến tranh schrecklich. Er hat die
"
Bestellung
# "
"durcheinander gebracht und sich nicht einmal "entschuldigt,
# "
als er Wein in die Haare meiner "Schwester verschuttet
# hat!"}]

# Tiếng Anh, tiếng Ý và tiếng Phần Lan


English_text = "Bộ phim tôi ít yêu thích nhất là Showgirls. Tôi ghét nó
rất nhiều. Thực tế là nó tệ đến mức khiến tôi tức giận”.
ý_translation = "Tôi thích xem phim hơn và các Showgirls.
Lo odio cosi tanto. In effetti, e cosi brutto che mi fa
arrabbiare."

finnish_translation = "Minun lempi elokuva trên Showgirls. Vihaan


sita niin paljon. Itse asiassa se on niin paha, etta se saa
vihaiseksi phút."

pp.pprint(dự đoán(best_model, [english_text,


dịch_tiếng Ý, dịch_Phần Lan]))
#>> [{"nhãn": "phủ định",
# "điểm": 0,98994666,
# "text": "Bộ phim tôi ghét nhất là Showgirls. Tôi ghét nó
rất nhiều.
"

# "Thực tế là nó tệ đến mức khiến tôi tức giận."},


# {"nhãn": "phủ định",
# "điểm": 0,974451,
# "text": "Il mio film meno likeito e Showgirls. Lo odio
cosi "

# "tanto. In effetti, e cosi brutto che mi fa


arrabbiare."},
# {"nhãn": "phủ định",
# "điểm": 0,7616636,
# "text": "Minun lempi elokuva trên Showgirls. Vihaan sita
"
không có gì cả.
# "Itse asiassa se on niin paha, etta se saa minut
vihaiseksi."}]

Liệt kê 4.7 Tải mô hình tốt nhất và chạy suy luận


Machine Translated by Google

Kiến trúc biến áp đa ngôn ngữ 107

USEm thậm chí còn hoạt động trên tiếng Phần Lan. Nhưng tại sao? Nếu không đào sâu vào mọi thứ,

sẽ rất khó để biết chắc chắn. Chúng tôi đoán rằng trong quá trình đào tạo

quá trình, các đơn vị từ phụ được sử dụng trong mã thông báo của USEm cho phép

Người chuyển đổi tìm hiểu đơn vị từ phụ nào được sử dụng trên các ngôn ngữ, tương tự như

những gì đã thấy với các tiểu đơn vị lời nói trong wav2vec2 [16]. Các lớp chúng
tôi đã thêm vào USEm, được huấn luyện để phân loại, sau đó cho phép

mô hình tìm hiểu đơn vị từ phụ nào có liên quan đến tích cực hoặc tiêu cực

tình cảm. Có lẽ các đơn vị từ phụ được sử dụng trong tiếng Phần Lan đã đủ gần

cho những người sử dụng một trong 16 ngôn ngữ mà USEm hỗ trợ.
Machine Translated by Google
Machine Translated by Google

CHƯƠNG 5

Máy biến áp

Sửa đổi

Ở đây đã có nhiều sửa đổi được thực hiện đối với kho lưu trữ Transformer.
kiến trúc được giới thiệu trong Chú ý là tất cả những gì bạn cần [254]. Như đã thảo luận

trong phần 1.2.1, có hai loại sửa đổi chính: thay đổi tổ chức của khối Transformer và thay đổi

các mô-đun con bên trong khối Transformer. Chương này thảo luận về các ví dụ cụ thể về những

thay đổi của khối Transformer trong phần 1.2.1.1 và những thay đổi của mô hình con Transformer

trong phần 1.2.1.2.

5.1 SỬA ĐỔI KHỐI BIẾN ÁP

Trong phần này chúng ta sẽ xem xét chi tiết một số mô hình có thay đổi

Khối máy biến áp.

5.1.1 Máy biến áp hạng nhẹ

5.1.1.1 Máy biến áp phễu

Funnel-Transformer [66] nén đầu ra của lớp bộ mã hóa máy biến áp thông qua việc gộp chung trước

khi nó được chuyển sang lớp tiếp theo, do đó giảm chi phí tính toán. Sau đó, nó sử dụng tính

toán đã lưu để hỗ trợ mô hình sâu hơn hoặc rộng hơn, từ đó tăng dung lượng mô hình.

Bộ mã hóa Máy biến áp tiêu chuẩn sử dụng cùng độ dài chuỗi cho tất cả các lớp. Funnel-

Transformer thay đổi điều này bằng cách đặt một lớp gộp giữa các lớp biến áp để giảm độ dài

chuỗi. Nó thường có nhiều lớp biến áp trong một khối có cùng độ dài chuỗi

DOI: 10.1201/9781003170082-5 109


Machine Translated by Google

110 Máy biến áp cho học máy: Tìm hiểu sâu

Hình 5.1 Sơ đồ kiến trúc của bộ mã hóa Funnel-Transformer. Mỗi lớp đại
diện cho một khối bao gồm một số lớp biến áp có cùng độ dài chuỗi. Hiển
thị ba thao tác gộp giữa các khối, với mỗi thao tác giảm độ dài chuỗi của
đầu ra xuống một nửa.

trước khi thực hiện thao tác gộp. Điều này được thể hiện trong hình 5.1. Nếu
đầu ra của một lớp nhất định là h thì đầu ra của lớp gộp là h = Pooling(h),
T ×d T ×d trong đó h
R và h R , đối với một số T
< T. h được sử dụng để xây dựng truy vấn và kết nối còn lại cho
khối tự chú ý, h được sử dụng cho các vectơ khóa và giá trị:

T ×dk
Q = h WQ, R (5.1)
T ×dk
K = hWK, R (5.2)
T ×dv
V = hWV , R (5.3)

Mối quan hệ này giữa các đầu ra không gộp và gộp và các ma trận truy vấn,
khóa và giá trị của lớp tiếp theo được hiển thị trong Hình 5.2. Đầu ra của lớp

thứ (n + 1) là

(n) (n) h (n+1)


= LayerNorm(h + multihead(Q(h ), K(h (n) ), V(h (n) ))

(5.4)
Machine Translated by Google

Sửa đổi máy biến áp 111

Hình 5.2 Cho thấy hoạt động gộp giữa các lớp mã hóa của Funnel-Transformer ảnh hưởng như thế

nào đến đầu vào của lớp tiếp theo. h là đầu ra của lớp trước khi gộp và h là đầu ra của hoạt

động gộp. Ma trận truy vấn cho lớp tiếp theo được xây dựng từ đầu ra gộp, h . Các ma trận khóa

và giá trị cho lớp tiếp theo được tạo từ đầu ra không gộp, h.

Ma trận trọng số chú ý của mỗi đầu chú ý là (T × T), có độ phức tạp giảm dần cho mỗi lớp kế

tiếp. Đầu ra của sự chú ý nhiều đầu có cùng kích thước với h .

Bằng cách xây dựng truy vấn từ chuỗi gộp cũng như khóa và giá trị từ
chuỗi không gộp, cơ chế chú ý cố gắng tìm hiểu cách các chuỗi gộp và
không gộp nên phối hợp tốt nhất với nhau để mang lại kết quả nén chất
lượng cao. Funnel-Transformer sử dụng tổng hợp trung bình với cả sải chân
và kích thước cửa sổ đều được đặt thành hai.

Bộ giải mã Để hỗ trợ các tác vụ dự đoán cấp mã thông báo trong đó mô hình cần tạo ra một chuỗi

đầu ra đầy đủ, như dịch máy, Funnel-Transformer có một bộ giải mã tùy chọn giúp nâng cấp đầu ra

của bộ mã hóa nén lên độ dài chuỗi đầy đủ. M lớp mã hóa sẽ có chuỗi đầu ra h (M) có độ dài TM

= T/2 (up) được lấy mẫu trong một bước thành h (up) = [h mỗi vectơ ẩn 2 lần:
M 1 . Nó sẽ

1
, . . . , h(up) ] bằng cách lặp lại
T
M 1

(M)
chào
hướng lên
= h i = 1, . . . , T i//2N 1 , (5.5)
tôi
x//y =

sàn(x/y) (5.6)
Machine Translated by Google

112 Máy biến áp cho học máy: Tìm hiểu sâu

Để giải quyết thông tin trùng lặp trong quy trình lấy mẫu lên của Funnel-
Transformer, đầu ra trạng thái ẩn của lớp bộ mã hóa đầu tiên được thêm vào biểu
diễn được lấy mẫu lên: g = h (up) + h (1). Điều này hoạt động như một kết nối
còn lại. Sau đó, họ thêm một vài lớp biến áp lên trên g để tìm hiểu cách kết
hợp tốt nhất các tính năng.

2
Chia tỷ lệ Độ phức tạp về thời gian của Funnel-Transformer là O(d·T 2+T ·d ).
Vì T giảm một nửa ở các lớp mã hóa kế tiếp nên độ phức tạp giảm theo hệ số bốn
2
cho mỗi lớp. Vì O(T · d không đổi d it có xu hướng chiếm ưu ) có số lớn
2
thế, mang lại , sự tăng tốc tuyến tính, thay vì
một bậc hai.
Do việc giảm độ phức tạp nhờ việc gộp giữa các lớp, nên có thể thêm các lớp
bộ mã hóa bổ sung hoặc làm cho các lớp hiện có rộng hơn mà không làm tăng tải
tính toán ở bất kỳ mức độ đáng kể nào.
thái độ.

Hiệu suất Ba kích thước của máy biến áp tiêu chuẩn được so sánh với một số cấu
hình của Máy biến áp phễu, mỗi cấu hình có số lượng hoạt động dấu phẩy động dự
kiến ít hơn hoặc tương tự với máy biến áp mà nó được so sánh:

• lớn: 24 lớp, d = 1024

• Đế: 12 lớp, d =768

• nhỏ: 6 lớp, d = 768

Các so sánh chất lượng được thực hiện cho GLUE và khi Funnel-Transformer
giảm độ dài chuỗi và thêm nhiều lớp hơn, nó hoạt động tốt hơn so với biến áp
tiêu chuẩn về phân loại văn bản và tất cả các bộ dữ liệu GLUE ngoại trừ STS-B.

Khi độ dài chuỗi giảm nhưng độ sâu không tăng, hiệu suất trên bộ dữ liệu phân
loại văn bản GLUE sẽ giảm.

5.1.1.2 Niềm vui

DeLighT [180] là một kiến trúc Transformer đã được sửa đổi, hoạt động giống như
Transformer tiêu chuẩn về dịch máy và mô hình hóa ngôn ngữ; tất cả trong khi sử
dụng ít tham số và FLOP hơn nhiều. Nó giới thiệu một phép biến đổi trên đầu vào
thành khối Transformer xuất hiện trước các phép chiếu thành các không gian truy
vấn, khóa, giá trị.
Machine Translated by Google

Sửa đổi máy biến áp 113

Hình 5.3 Giai đoạn mở rộng của phép biến đổi DeLight, hiển thị
ba phép biến đổi tuyến tính được nhóm (GLT).

Khối DeLighT Khối DeLighT sử dụng N lớp của phép biến đổi lin-ear được nhóm
(GLT) [181] để biến đổi vectơ d chiều đầu tiên
vào không gian có chiều cao hơn dmax = wmdin trong N/2 lớp đầu tiên , sau đó
biến đổi vectơ dmax thành không gian có chiều thấp hơn,
làm, sử dụng N N/2 lớp khác . Vectơ do là thứ sau đó được chiếu trong không
gian truy vấn, khóa và giá trị. Khối DeLighT gần hơn với
đầu ra của mô hình được làm rộng hơn và sâu hơn so với những kết quả gần với mô hình hơn

đầu vào mô hình. DeLightT đã sử dụng do = d/2 và cũng xáo trộn các tính năng
giữa các nhóm trong GLT, sử dụng kết nối bộ trộn [182] để kết hợp
các tính năng được xáo trộn với đầu vào, tương tự như kết nối còn lại.
Pha mở rộng của khối DeLighT được hiển thị trong Hình 5.3.
Mehta và cộng sự. đề xuất rằng bằng cách tăng độ sâu của DeLighT
khối và chiều rộng của các lớp GLT trung gian của nó, máy biến áp
sẽ có khả năng đại diện tăng lên và sau đó người ta có thể
thay thế sự chú ý nhiều đầu bằng sự chú ý một đầu. Tương tự, họ
đề xuất rằng các lớp tuyến tính rộng của khối DeLighT cho phép giảm
kích thước của lớp tiếp liệu lên tới 16x.

Hiệu suất DeLighT hoạt động bằng hoặc tốt hơn máy biến áp tiêu chuẩn trong
dịch máy, mặc dù có một số hạn chế đáng kể.
ít thông số hơn. Tuy nhiên, khi DeLighT được cung cấp nhiều thông số hơn, nó
sẽ hoạt động tốt hơn máy biến áp tiêu chuẩn. Nó cũng đạt được chất lượng
tương tự hoặc tốt hơn so với các mô hình SOTA về dịch máy. Ngoài ra, hiệu suất tăng
với số lượng tham số mạng trong khối DeLighT.
Machine Translated by Google

114 Máy biến áp cho học máy: Tìm hiểu sâu

Hình 5.4 Kết nối chú ý còn lại của RealFormer.

5.1.2 Đấu nối giữa các khối máy biến áp

5.1.2.1 RealFormer

RealFormer, Bộ chuyển đổi lớp chú ý còn lại [107], thêm điểm số còn
lại vào nhật ký chú ý thô (sản phẩm dấu chấm của khóa truy vấn) của
tất cả các đầu chú ý từ lớp trước của bộ biến áp. Trọng số chú ý khi
đó là softmax của nhật ký chú ý tổng hợp. Điều này được thể hiện
dưới dạng sơ đồ trong Hình 5.4 và về mặt toán học trong (5.7)–(5.9).

ResidualMultiHead(Q, K, V, Prev) = concat(head1, . . . , headh)Wo

headi = ResidualAttn(Qi , ki ,Vi , Trước) (5.7) (5.8)

QKT
Attn dư(Q , K ,V. ,Trước ) = softmax + Trước V √
dk

(5.9) trong đó Prev R h×din×dout là nhật ký chú ý từ lớp


biến áp trước đó. din là kích thước chuỗi đầu vào của lớp và dout
là kích thước chuỗi đầu ra của lớp. Đối số của softmax, nhật ký
chú ý hoặc điểm chú ý, được chuyển đến lớp RealFormer tiếp theo.

Phương pháp này có thể được áp dụng cho các kiến trúc máy biến áp
khác, bao gồm cả các lớp giải mã. Khi có nhiều loại mô-đun chú ý trong
máy biến áp, người ta có thể bỏ qua các cạnh để hỗ trợ một kết nối còn
lại cho từng loại chú ý.
Machine Translated by Google

Sửa đổi máy biến áp 115

Hiệu suất RealFormer thường hoạt động tốt hơn kiến trúc máy biến áp tiêu
chuẩn, bao gồm cả việc sử dụng nó trong BERT, tất cả đều không làm tăng số
lượng tham số mô hình.

5.1.3 Thời gian tính toán thích ứng

5.1.3.1 Máy biến áp vạn năng (UT)

Như đã thấy trong các chương trước, máy biến áp khắc phục các vấn đề liên
quan đến RNN, cụ thể là các nút thắt trong tính toán tuần tự và các vấn đề
biến thiên gradient trong số nhiều vấn đề khác. Hơn nữa, khả năng tự chú
ý, sự đổi mới quan trọng trong máy biến áp, giúp song song hóa việc tính
toán các vectơ dựa trên ngữ cảnh cho mỗi ký hiệu và tạo ra một trường tiếp
nhận toàn cầu trong đó ký hiệu nhận thông tin từ tất cả các ký hiệu. Mặt
khác, việc không có sai lệch quy nạp lặp lại của RNN sẽ trở thành một vấn
đề khi giải quyết các nhiệm vụ có cấu trúc phân cấp vốn có hoặc khi độ dài
thay đổi đáng kể giữa dữ liệu huấn luyện và dữ liệu chưa nhìn thấy mà mô
hình dự đoán. Ngoài ra, số lượng tính toán tuần tự trong máy biến áp
không phụ thuộc vào kích thước đầu vào mà chỉ phụ thuộc vào số lớp, khiến
cho việc tính toán không phổ biến hoặc không hoàn chỉnh về mặt Turing.
Máy biến áp áp dụng cùng một lượng tính toán cho tất cả các đầu vào dẫn
đến kém hiệu quả trong nhiều trường hợp việc tính toán có thể bị ảnh hưởng
bởi độ phức tạp.
Máy biến áp vạn năng (UT) của Dehghani et al. [69] là một phần mở rộng
của máy biến áp trong đó khả năng song song hóa và lợi ích trường tiếp
nhận toàn cục được bổ sung bởi độ lệch quy nạp lặp lại của RNN trong khi
có tính phổ biến về mặt tính toán. Thay vì có một số lớp cố định trong máy
biến áp, máy biến áp Universal có khối máy biến áp Universal, tức là cơ
chế tự chú ý, theo sau là phép biến đổi định kỳ cung cấp độ lệch quy nạp
định kỳ cho từng ký hiệu đầu vào song song.
Như được hiển thị trong Hình 5.5, Máy biến áp vạn năng là một hàm tuần
hoàn không theo thời gian mà theo chiều sâu, phát triển song song các
trạng thái ẩn tương ứng với mọi đầu vào, dựa trên mỗi bước trên chuỗi các
trạng thái ẩn trước đó.

UT có nhiều điểm tương đồng với các kiến trúc thần kinh hiện có, chẳng
hạn như Neural GPU [136] và Neural Turing Machine [98]. Nó cũng có thể
được chứng minh là tương đương với một máy biến áp nhiều lớp với các thông
số ràng buộc giữa các lớp của nó. Graves đã đề xuất Thời gian tính toán
thích ứng (ACT), cho phép RNN tìm hiểu linh hoạt số bước tính toán cần
thực hiện giữa việc chấp nhận đầu vào và phát ra đầu ra (thời gian suy
ngẫm) để khắc phục các vấn đề về số lượng cố định
Machine Translated by Google

116 Máy biến áp cho học máy: Tìm hiểu sâu

Hình 5.5 Máy biến áp vạn năng với thông tin từ các vị trí khác nhau sử
dụng tính năng tự chú ý và áp dụng chức năng chuyển tiếp lặp lại.

các bước tính toán cho mỗi ký hiệu. UT kết hợp cơ chế tạm dừng ACT động cho từng vị trí

lấy cảm hứng từ ACT của Graves để điều chỉnh việc tính toán trên mỗi ký hiệu dựa trên độ

phức tạp. Nghiên cứu

cho thấy UT hoạt động tốt hơn máy biến áp tiêu chuẩn trên nhiều phạm vi

NLP và NLU và đạt được công nghệ tiên tiến mới trong các nhiệm vụ phức tạp như

như mô hình ngôn ngữ LAMBADA.

5.1.4 Mối quan hệ lặp lại giữa các khối máy biến áp

5.1.4.1 Máy biến áp-XL

Transformer-XL [67] mô hình phụ thuộc vượt quá độ dài cố định,

đồng thời tôn trọng ranh giới câu. Nó được giới thiệu vì

Cửa sổ ngữ cảnh có chiều rộng cố định của kiến trúc máy biến áp tiêu chuẩn ngăn chặn

nó từ việc học đến các mô hình phụ thuộc ở các phạm vi nằm ngoài phạm vi cố định của nó

cửa sổ. Transformer-XL có thể xử lý các phần phụ thuộc lâu hơn 450%
biến áp và suy luận tiêu chuẩn nhanh hơn 1800 lần so với

Máy biến áp.

Tái phát cấp độ phân đoạn Transformer-XL mở rộng ngữ cảnh của nó ra ngoài cửa sổ cố định

bằng cách sử dụng phương pháp gọi là tái phát cấp độ phân đoạn.

Tính năng lặp lại ở cấp độ phân đoạn hoạt động bằng cách sử dụng đoạn văn bản trước đó

làm ngữ cảnh bổ sung khi xử lý đoạn văn bản hiện tại. Vì
Machine Translated by Google

Sửa đổi máy biến áp 117

để điều này hoạt động, phân đoạn trước đó phải được lưu vào bộ nhớ đệm, cùng với
đầu ra máy biến áp của từng lớp cho đoạn đó.
quần què

Trong máy biến áp tiêu chuẩn, n lớp biến áp sẽ loại bỏ


đặt lớp trước (n - 1) làm đầu vào:

(N) (n 1)
t
) giờ = T máy biến áp(h t (5.10)

(n 1)
và tạo nội bộ truy vấn, khóa và giá trị từ h t :

(N) (n 1)
Q t = h t Wq

(N) (n 1)
K t = h t tuần (5.11)
(N) (n 1)
V.t = h t wv

Lưu ý rằng n = 1 đang được coi là lớp máy biến áp đầu tiên và
(0)
n = 0 là đầu vào của lớp biến áp thứ nhất nên h t = X.

Phương trình. (5.11) thay đổi khi bao gồm phân đoạn trước đó. Coi như
hai đoạn văn bản liên tiếp có chứa các phần trình bày được nhúng
Xt và Xt+1, trong đó t chỉ được sử dụng để biểu thị thứ tự phân đoạn. Khi
quần què

tính toán đầu ra của n lớp biến áp cho phân đoạn hiện tại-
(n 1)
ment, Xt+1, chúng ta có sự đóng góp từ h t , cái nào là cái trước
đầu ra của lớp biến áp cho phân đoạn trước,

(N) (n 1) (n 1)
h t+1 = Máy biến áp XL(h t+1 , ).th (5.12)

Sự phụ thuộc vào phân đoạn trước xuất hiện khi tính toán
khóa và giá trị cho phân đoạn hiện tại:

(N) (n 1)
Q t+1 = h t+1 Wq

(n)
K t+1 = h˜ (n
t+1 1)tuần (5.13)
(N)
V.t+1 = h˜ (n
t 1)wv

(n 1) (n 1)
h˜t+1
(n 1) = [StopGradient(h t ); ht+1 ] (5.14)

trong đó StopGradient có nghĩa là độ dốc không được tính toán trong quá trình
hoạt động.
Phương trình. (5.13) và (5.14) cho thấy cơ chế chú ý đang được
được sử dụng để tính toán sự chú ý đã được sửa đổi kết hợp thông tin từ
trình tự đầu vào trước đó để tính toán biểu diễn dòng điện
trình tự đầu vào. Và còn nhiều điều hơn thế nữa. Máy biến áp
đầu ra cho chuỗi dòng điện phụ thuộc vào đầu ra máy biến áp cho
Machine Translated by Google

118 Máy biến áp cho học máy: Tìm hiểu sâu

BẢNG 5.1 Ở độ sâu lớp ba, đầu ra của máy biến áp trên
phân khúc thứ tư có sự đóng góp từ phân khúc đầu tiên. Để cho ngắn gọn,

T được hiển thị ở trên là hoạt động của Transformer-XL như được mô tả trong (5.12)
Lớp (n) S1 (0) S2 S3 S4

0 (đầu vào) giờ 1 = S1 h (0) = S2 h (0) = S3 h (0) = S4


(0) 2 (0) 3 (0)
1 h (1) = T(h (1) (1) 4(1)
(0)
1 1 ) h2 = T(h 2 , h(0)
1 ) giờ3 = T(h 3 , h(0)
2 ) h4 = T(h 4 , h(0)
3 )
2 h (2) = T(h (1) (2) (1) (2) (1) (2) (1)
1 1 ) h2 = T(h 2 ,h(1)
1 ) h3 = T(h 3 , h(2)
2 ) h4 = T(h 4 , h(1)
3 )
3 h (3) = T(h (2) (3) (2) (3) (2) (3) (2)
1 1 ) h2 = T(h 2 , h(2)
1 ) giờ3 = T(h 3 , h(3)
2 ) h4 = T(h 4 , h(2)
3 )

trình tự trước đó. Đầu ra máy biến áp cho trình tự trước đó


phụ thuộc vào trình tự trước đó và vào máy biến áp trước đó
lớp. Điều này có nghĩa là khi số lớp máy biến áp tăng lên thì
kích thước bối cảnh hiệu quả mà mô hình có thể xử lý cũng tăng lên. Về mặt hình thức, chúng tôi

có thể nói rằng đầu ra của n lớp biến áp trên t bộ phận


quần què quần què

có sự đóng góp từ các phân đoạn từ t n. Một ví dụ về điều này


được thể hiện trong Bảng 5.1, cho bốn đoạn văn bản và ba Transformer-XL
các lớp.

Mã hóa vị trí trong Transformer-XL

Mã hóa vị trí Như đã thảo luận trong Ch. 1, vì Máy biến áp không
chứa các lớp lặp lại hoặc chập, trật tự từ được xây dựng rõ ràng
thông qua mã hóa vị trí. Mỗi chuỗi đầu vào được cung cấp một vị trí
L×d
mã hóa, P R , Trong đó L là độ dài chuỗi tối đa và d là
L×d . Lưu ý rằng
kích thước nhúng và nhúng từ E R
chuỗi đầu vào đầy đủ được biểu thị bằng X = E + P; đây là X giống nhau

được sử dụng xuyên suốt chương này, ví dụ như trong (5.22).


Hàng i của P, pi , chứa mã hóa vị trí cho mã thông báo trong
vị trí i. Tương tự, ei là từ nhúng cho token ở vị trí
Tôi. Vì mã hóa vị trí có tính xác định và độc lập
trong số các thẻ trong dãy, bất kỳ từ nào ở vị trí tôi sẽ có cùng
mã hóa vị trí. Điều này giới thiệu một vấn đề đối với sự lặp lại ở cấp độ phân khúc.
từ chối.

Xét hai chuỗi văn bản liên tiếp Xt+1 và Xt , và bên ngoài-

đặt lớp TransformerXL đầu tiên cho mỗi chuỗi. (5.12) cho chúng ta biết
cái đó

h (1) = Máy biến ápXL(Xt+1, Xt) (5.15)


t+1
Machine Translated by Google

Sửa đổi máy biến áp 119

và (5.14) nói rằng

h˜ (0)
t+1 = [StopGradient(Xt); Xt+1] (5.16)

Vì Xt = Et + P và mã hóa vị trí độc lập với h˜ (0) nên các mã thông báo

trong chuỗi sẽ ghép các bản sao giống


t+1 hệt nhau của mã hóa vị trí. Đây là vấn đề

vì h˜ (0) t+1 biểu thị kích thước ngữ cảnh hiệu quả được mở rộng và do đó mỗi
vị trí trong chuỗi phải có các mã hóa vị trí riêng biệt. Nếu không có mã hóa vị
trí riêng biệt, mô hình sẽ mất thông tin về thứ tự từ. Giải pháp cho vấn đề này
là sử dụng mã hóa vị trí tương đối.

Mã hóa vị trí tương đối Công việc trước đó [224, 124] đã giới thiệu mã hóa vị
trí tương đối như một cách để cơ chế chú ý học hỏi từ khoảng cách giữa hai vị
trí trong một chuỗi, thay vì sử dụng mã hóa vị trí tuyệt đối từ máy biến áp tiêu
chuẩn, làm sai lệch vị trí cơ chế chú ý coi vị trí tuyệt đối là quan trọng. Thay
vào đó, thông tin về khoảng cách tương đối giữa qi và kj sẽ được đưa vào tính
toán trọng số chú ý, làm thiên lệch cơ chế chú ý coi khoảng cách i - j là đại

lượng quan trọng, thay vì vị trí i và j.

Transformer XL đã sửa đổi phép tính ma trận chú ý để sử dụng

mã hóa vị trí tương đối hình sin [67]. Chúng ta có thể thấy bằng cách đầu tiên
T
mở rộng số hạng (i, j) của QKT trong (5.23), qik j . Nhắc lại (5.22), (5.24),
hàng của X là xi = ei + pi , và đó
quần què

và (5.25), chúng ta có thể thấy rằng i

qi = xiWq kj
(5.17)
= xjWk
T
Sử dụng (5.17), chúng tôi mở rộng qikj để có được

T T
Aij = (eiWq + piWq)(WT k e + WT k p j )
j

= T T
eiWqWT k e
j + eiWqWT k p j (5.18)
T T
e
+ piWqWT k j + piWqWT k p j

Máy biến áp XL tham số hóa lại Aij theo năm đại lượng mới:
Ri j , u, v, Wk,E, và Wk,R [67]:

1. Ri j là các mã hóa vị trí tương đối cho một cặp mã thông báo có khoảng
hàng thứ
cách i j và thay thế pj trong (5.18). Ri j là (i j) của ma
L×d
trận mã hóa vị trí tương đối R R .
Machine Translated by Google

120 Máy biến áp cho học máy: Tìm hiểu sâu

2. u thay thế piWq ở số hạng thứ ba của (5.18).

3. v thay thế piWq trong số hạng thứ tư của (5.18).

4. TransformerXL thay thế khóa K bằng hai bộ khóa: dựa trên nội dung và dựa

trên vị trí. Sự thay đổi này dẫn đến việc thay thế ma trận trọng số khóa,

Wk, bằng hai ma trận trọng số, Wk,E và Wk,R, trong đó Wk,E tạo khóa dựa
trên nội dung và Wk,R tạo khóa dựa trên vị trí [67].

Kết quả là (5.18) trở thành

T T
Aij = eiWqWT k,Ee j +eiWqWT k,RRT i j+uWT k,Ee j +vWT k,RRT tôi-j
(5.19)

Lưu ý rằng bằng cách loại bỏ sự phụ thuộc vị trí rõ ràng, xi = ei suy ra X =

E, và do đó qi = eiWq và kj = ejWk,E.
Sử dụng (5.19), chúng ta đi đến dạng cuối cùng của lớp mô hình chú ý của
cơ chế hoạt động của n quần què

Transformer-XL

Một (n)
Attn(n) = softmax t
V. (N), (5.20)
t t
√ dk

trong đó A (n) được sửa đổi (5.19) theo quy định tại (5.13)
t

T T T T
(n) (n) (n) k + q = q
Một (n) t,it,jt,i W(n) RT + bạn k(n) + vW(n) RT (5.21)
t,ij k,R tôi-j t,j k,R tôi-j

Lưu ý rằng tổng trong mẫu số softmax là tổng bị che giấu trên

tập hợp các vị trí quan trọng mà truy vấn hướng tới, Si , như thể hiện trong (5.27).

Ngoài ra, vì x = ei , (0)


t h = Xt .

5.1.5 Máy biến áp phân cấp

Hai ví dụ về máy biến đổi phân cấp là Vision Transformer [78], để nhận dạng hình

ảnh và TimeSformer [29], để nhận dạng hành động/phân loại video. Cả hai mô hình
sẽ được đề cập trong Chương 6.

5.2 MÁY BIẾN ÁP CÓ TỰ CHỌN NHIỀU ĐẦU ĐƯỢC SỬA ĐỔI

5.2.1 Cấu trúc của sự tự chú ý của nhiều đầu

Sự chú ý của nhiều đầu là một cách kết hợp nhiều cơ chế chú ý cho phép
một mô hình tìm hiểu các loại phụ thuộc khác nhau giữa
Machine Translated by Google

Sửa đổi máy biến áp 121

đầu vào và đầu ra. Cơ chế chú ý nhiều đầu là cốt lõi của mọi khối máy biến áp.
Cả khối mã hóa và khối giải mã đều sử dụng khả năng tự chú ý nhiều đầu và khối
giải mã có sự chú ý nhiều đầu thứ hai liên quan đến đầu ra của khối mã hóa,
với ràng buộc nhân quả thích hợp.

Trong phần này, chúng tôi sẽ mô tả cấu trúc tính toán tự chú ý nhiều
đầu cho một chuỗi đầu vào duy nhất gồm L mã thông báo, với kích thước
nhúng d. Chuỗi đầu vào có thể được biểu diễn bằng ma trận L×d X R :

x1
.
X = .
. (5.22)

xL

(Tôi) quần què

x
(i) trong đó xi = 0(x, . . . , d 1 ) là vectơ nhúng của i mã thông báo.

Như chúng ta đã thấy trong phần 2.4.2.1, đầu ra của cơ chế chú ý

(trước khi nối các đầu) có thể được biểu diễn bằng

QKT √
Attn(Q, K, V) = softmax V, (5.23)
dk

trong đó Q, K, V lần lượt là ma trận truy vấn, khóa và giá trị.


Mỗi cái là kết quả của việc chuyển đổi chuỗi đầu vào thành một không gian
vectơ khác nhau:

Q = XWq, R L×dk

K = XWk, R L×dk (5.24)

V = XWv, R L×dv

trong đó dk là thứ nguyên của truy vấn và không gian khóa và thường được

đặt thành d, còn dv là thứ nguyên giá trị. Các ma trận Wq,Wk R d×dk về cơ
bản là ,các
và ma
Wv trận
R quay.
d×dv Mỗi hàng của ma trận truy vấn/khóa/giá trị tương ứng

với vectơ truy vấn/khóa/giá trị của


cái tôi _ mã thông báo:

q1 k1 v1
. . .
Q = . ,K = . ,V = .
. . . (5.25)

ql kL vL

Lưu ý rằng (5.24) có thể được điều chỉnh cho trường hợp chú ý nhiều đầu
giữa hai chuỗi X1 và X2 có độ dài L1 và L2 tương ứng.
Machine Translated by Google

122 Máy biến áp cho học máy: Tìm hiểu sâu

Đối với hai chuỗi, ma trận truy vấn được hình thành từ X1 và ma trận
khóa và giá trị được hình thành từ X2:

Q = X1Wk, R L1×dk×h

K = X2Wk, R L2×dk×h (5.26)

V = X2Wv, R L2×dv×h

trong đó X1 R L1×d và X2 R L2×d . Đây thường là những gì xảy


ra
trong khối giải mã máy biến áp
L×d . X1 R Phần softmax của (5.23) là ma trận trọng số chú ý Aij :

T
j
exp(qik )
√ dk
Aij = , (5.27)
r
r Si exp(qikT
√ dk
)

trong đó Si là tập hợp các vị trí quan trọng mà truy vấn qi có thể tham gia.

5.2.1.1 Tự chú ý nhiều đầu

Cho đến nay, chúng ta mới chỉ thảo luận về sự tự chú ý của một cái đầu. Sự
chú ý nhiều đầu chủ yếu là phân chia các ma trận được hiển thị ở trên thành
các phần h , trong đó h là số lượng đầu chú ý.

Mỗi đầu chú ý có truy vấn/khóa/giá trị riêng có được bằng cách chia
các phiên bản một đầu thành h phần có kích thước bằng nhau, được lập chỉ
mục bởi n = 1, . . . , h:

Qn = XW(q) , _ R L×dk/h

Kn = XW(k) , _ R L×dk/h (5.28)

Vn = XW(v) , _ R L×dv/h

Điều này không có nghĩa là bây giờ chúng ta có ma trận truy vấn, khóa và
giá trị h , nhưng các ma trận trong (5.28) là một phần của ma trận được hiển
thị trong (5.24). Điều này được thể hiện rõ ràng cho truy vấn trong Hình 5.6.
Các ma trận khóa và giá trị được phân chia thành các phần chú ý
cách tương tự với Q và cách tính sự chú ý cho n như mong đợi: trong phần đầu
quần què

QnKT N
Attn(n) (Qn, Kn, Vn) = softmax Vn, (5.29)
dk/h
Machine Translated by Google

Sửa đổi máy biến áp 123

Hình 5.6 Ma trận truy vấn, Q, có thể được phân chia thành h phần tử, như được

mô tả trong (5.28).

Lưu ý rằng đối với trường hợp nhiều đầu, QnKT


N được chia cho dk/h thay vì √ dk.
Sự thay đổi này giải thích cho sự thay đổi về chiều hiệu dụng của truy vấn và
các không gian khóa thành dk/h. Sau đó, các đầu chú ý được kết hợp như mô tả
trong (2.19).

5.2.1.2 Độ phức tạp về không gian và thời gian

Tính toán ma trận trọng số chú ý được mô tả trong phần 5.27 lấy phép nhân ma
2
trận O(L · dk) và tính toán vectơ ngữ cảnh trong phần 5.23 cần O(L độ phức tạp
2
của tự chú ý là O(L · dv) phép nhân ma trận, do đó thời gian com-· dk
2 2
+ L Xem · đv).
xét một chuỗi đầu vào duy nhất của mã thông báo L và truy vấn, khóa và giá
trị có chung một chiều, do đó dk = dv = dmodel. Điều này có nghĩa là Q, K, V
là các ma trận L × dmodel và ma trận trọng số chú ý từ (5.23) là L × L. Giả sử
các số dấu phẩy động 32-bit, việc sử dụng bộ nhớ tăng lên nhanh chóng, như
trong Bảng 5.2. Cần nhiều bộ nhớ hơn khi bao gồm kích thước lô. Ví dụ: nếu kích
thước lô là 32 và độ dài chuỗi là 20.000 thì sẽ cần 51,2 GB để lưu trữ trọng
số tự chú ý. Độ phức tạp về thời gian cũng là bậc hai trong L. Kiểu chia tỷ lệ
này trở nên hạn chế khi chuỗi

BẢNG 5.2 Cách sử dụng bộ nhớ cho trọng số tự chú ý, cho các số float 32-bit [142]
L Bộ nhớ 600 4
MB
1K 1,4 MB
20K 1,6 GB
64K 16,384GB
Machine Translated by Google

124 Máy biến áp cho học máy: Tìm hiểu sâu

chiều dài tăng lên. Ví dụ: nếu độ dài chuỗi tăng gấp đôi, lượng thời gian cần
thiết để tính toán và lưu trữ trọng số chú ý sẽ tăng gấp bốn lần.

5.2.2 Giảm tính phức tạp của việc tự chú ý

Phần này thảo luận về một số mô hình máy biến áp giúp giảm độ phức tạp về mặt

tính toán của tính năng tự chú ý nhiều đầu.

5.2.2.1 Người lâu năm

Khi tính toán sự tự chú ý (bỏ qua yêu cầu nhân quả đối với sự tự chú ý giữa khối
mã hóa và bộ giải mã), thường không có hạn chế nào về vị trí nào trong chuỗi có
thể tham dự lẫn nhau. Điều này có nghĩa là, về nguyên tắc, ma trận trọng số chú ý

dành cho mỗi người đứng đầu có thể rất dày đặc. Khi được xem dưới dạng biểu đồ,
nó tương ứng với biểu đồ lưỡng cực có trọng số, được kết nối đầy đủ. Nếu chuỗi có
L mã thông báo thì sẽ có các cạnh L(L 1)/2 . Longformer [25] thay đổi điều này

bằng cách hạn chế các vị trí có thể tham gia lẫn nhau theo các mẫu cụ thể. Điều
này dẫn đến trọng số chú ý thưa thớt trên tất cả các đầu và tương ứng với việc
xóa các cạnh khỏi biểu đồ chú ý.

Longformer kết hợp sự chú ý toàn cầu với hai loại sự chú ý tầm ngắn, cửa sổ
trượt và cửa sổ trượt mở rộng. Mỗi mẫu chú ý tương ứng với một loại mặt nạ chú ý.

Chú ý cửa sổ trượt Thay vì có thể chú ý đến bất kỳ mã thông báo nào trong chuỗi,
mỗi mã thông báo trong chuỗi được cung cấp một cửa sổ ngữ cảnh có kích thước cố
định, w, vì vậy nó chỉ có thể tham dự các hàng xóm của nó. Ví dụ: nếu chúng ta có

một chuỗi gồm chín mã thông báo, (w1, . . ., w9) và kích thước cửa sổ w = 4 thì
ngữ cảnh của mã thông báo ở giữa, w5, sẽ mở rộng sang phải (w3, w4) và sang trái
( w6, w7) bằng hai mã thông báo mỗi cái. Điều này được thể hiện trong hình 5.7.
Trong chế độ xem biểu đồ, điều này có nghĩa là mỗi đỉnh sẽ được liên kết với
tối đa w 1 đỉnh. Vì vậy, sự thay đổi này làm giảm số cạnh từ L(L 1)/2 xuống

L(w 1). Sự thay đổi đơn giản này làm giảm độ phức tạp từ độ phức tạp bậc hai
trong độ dài chuỗi thành độ phức tạp tuyến tính trong độ dài chuỗi, O(Lw), do ma

trận trọng số chú ý của cửa sổ trượt sẽ có các giá trị Lw khác 0 trong mỗi hàng
(hoặc cột).

Sự chú ý của cửa sổ trượt giãn ra Mẫu chú ý này mở rộng chiều rộng của sự chú ý

của cửa sổ trượt bằng cách thêm các khoảng trống có kích thước d trong
Machine Translated by Google

Sửa đổi máy biến áp 125

· · · · ·

• •• ••• •· ·· · · · ·

• • • • • · · · · ·

· • • • • • • · · ·
· · • • • • • • · ·
· · · • • • • • • ·
· · · · • • • • • •
· · · · · • • • • •
· · · · · · • • •

Hình 5.7 Mẫu chú ý của cửa sổ trượt, với L = 9 và w = 4. Hàng i


tương ứng với truy vấn i. Các cột có dấu • là các khóa truy vấn tôi tham dự
tới và · thể hiện sự thiếu chú ý (thiếu cạnh).

cửa sổ ngữ cảnh. Điều này thực sự mở rộng quy mô hiệu quả của bối cảnh
cửa sổ. Ví dụ: trong chuỗi chín mã thông báo được sử dụng ở trên, giả sử
chúng tôi đã thêm độ giãn d = 2. Khi tạo bối cảnh của w5, chúng tôi sẽ
bây giờ bỏ qua một từ ở giữa. Vì vậy, bối cảnh bên trái của w5 sẽ là
(w1, w3) và ngữ cảnh phù hợp sẽ là (w7, w9). Lưu ý rằng mặc dù
chiều rộng ngữ cảnh tổng thể đã tăng lên, mẫu chú ý này cũng ngăn cản
một mã thông báo từ việc tham dự tới hàng xóm trực tiếp của nó hoặc tới bất kỳ mã thông báo nào

là khoảng cách d 1 tính từ tâm cửa sổ hoặc tới bất kỳ vị trí nào
nó chú ý đến điều đó ở bên trong cửa sổ. Những người đứng đầu chú ý khác nhau có thể

sử dụng các giá trị khác nhau của d để giảm thiểu vấn đề nêu trên. Quả sung.
Hình 5.8 cho thấy sự chú ý của cửa sổ trượt giãn ra đối với L = 2, w = 4 và d = 2.

Sự chú ý toàn cầu Mẫu chú ý chung được chọn cho phép một số mã thông báo tham gia vào

bất kỳ mã thông báo nào khác trong chuỗi. Trong những trường hợp như vậy, tất cả các token

trong chuỗi tham dự vào mã thông báo đó. Điều này tương ứng với việc chọn
các hàng cụ thể của ma trận trọng số chú ý và các cột chuyển vị của chúng.
Longformer quyết định token nào được phép thu hút sự chú ý toàn cầu
căn cứ vào nhiệm vụ đào tạo. Ví dụ, trong các nhiệm vụ hỏi đáp, tất cả
mã thông báo trong câu hỏi có sự chú ý toàn cầu. Số lượng token có
sự chú ý toàn cầu nói chung là độc lập với độ dài chuỗi, do đó toàn cầu
sự chú ý cũng tuyến tính theo độ dài chuỗi. Longformer kết hợp
sự chú ý toàn cầu này với sự chú ý của cửa sổ trượt.
Trọng số cho các mẫu chú ý tổng thể và trong phạm vi ngắn được tính
toán riêng biệt bằng cách gán cho các mẫu cửa sổ toàn cầu và cửa sổ trượt.
Machine Translated by Google

126 Máy biến áp cho học máy: Tìm hiểu sâu

· · · · · ·

· •· ·
· ·· ··· ·· ·
· ·· · · · · ·

• · • · · · · · · · · · · ·

· · · · · · · · · · · · · · ·

• · • · · · · · · · · · · · ·

· • · • · · · · · · · · · · ·
· · • · • · · · · · · · · · ·
· · · • · • · · · · · · · · •
· · · · · · · · · · · · · · ·
· · · · · • · • · · · · · •
· · · · · · · · · · · · · ·
· · · · · · · · · · · · •
·

Hình 5.8 Mẫu chú ý cửa sổ trượt giãn, với L = 12, w = 4,


và d = 2. Hàng i tương ứng với truy vấn i. Các cột có dấu • là khóa
truy vấn đó tôi đang quan tâm và · thể hiện sự thiếu chú ý (thiếu
bờ rìa).

ma trận truy vấn, khóa và giá trị riêng: Qg, Kg, Vg và Qs, Ks, Vs, tương ứng.

Longformer sử dụng kích thước cửa sổ nhỏ cho các lớp thấp hơn và kích thước cửa sổ

lớn hơn cho các lớp cao hơn. Điều này mang lại cho các lớp cao hơn một hệ thống phân cấp

thiên nhiên. Trong thực tế, cửa sổ trượt giãn nở chỉ được sử dụng cho các lớp cao hơn,

để các lớp thấp hơn có thể tập trung vào bối cảnh cục bộ.

5.2.2.2 Bộ cải cách

Reformer, được giới thiệu trong [142], giải quyết sự phức tạp của cơ chế
chú ý bằng cách sửa đổi cơ chế chú ý và giảm mức sử dụng bộ nhớ
bằng cách sử dụng các mạng dư có thể đảo ngược. Những thủ thuật này cho
phép Reformer bao gồm các cửa sổ ngữ cảnh có độ lớn lớn hơn vài bậc so với
một Máy biến áp (tối đa 1.000.000 từ).

Băm chú ý và nhạy cảm cục bộ Như đã thảo luận trong phần
5.2.1.1, sự chú ý tích số chấm được chia tỷ lệ nằm ở cốt lõi của bộ biến
2
đổi có độ phức tạp về thời gian O(L ), điều này trở nên nghiêm trọng vì
số lượng thẻ trong chuỗi, L, tăng lên. Mô hình cải cách
giải quyết vấn đề này bằng cách sửa đổi cơ chế chú ý bằng tính năng nhạy cảm với địa phương

băm. Điều này thay đổi độ phức tạp về thời gian thành O(L log L).
Machine Translated by Google

Sửa đổi máy biến áp 127

Hãy nhớ lại rằng trong chú ý tích số chấm được chia tỷ lệ, ma trận truy vấn, khóa và

giá trị là kết quả của việc chuyển đổi ma trận vectơ đầu vào dmodel -chiều thành các truy

vấn và khóa có thứ nguyên dk và giá trị của thứ nguyên dv.

Trong phương trình của A, số hạng đắt tiền về mặt tính toán là tích QKT , hơn nữa, khi

hàm softmax được áp dụng, chỉ những số hạng lớn nhất dọc theo mỗi chiều dmodel là quan

trọng. Điều này có nghĩa là với mỗi vectơ truy vấn trong Q, chúng ta chỉ cần các khóa

trong K gần nó nhất. Để dễ dàng hơn, họ đặt Q = K, nghĩa là với mỗi vectơ truy vấn, chúng

ta chỉ cần tìm các truy vấn gần nhất. Đây là một vấn đề gần đúng về hàng xóm gần nhất, vì

vậy chúng ta có thể sử dụng hàm băm nhạy cảm cục bộ (LSH).

Băm nhạy cảm cục bộ Băm nhạy cảm cục bộ, hay LSH, được giới thiệu vào năm 1998, trong [129]

như một phương pháp tìm kiếm tương tự gần đúng dựa trên băm. Về mặt hình thức, LSH dựa

trên họ hàm băm F hoạt động trên một tập hợp các mục trong đó, nếu có hai mục như vậy x và

y, P robh F [h(x) = h(y)] = sim( x, y), trong đó sim(x, y) [0, 1] trong hàm tương tự

được xác định trên tập hợp các mục [39]. Hay nói cách khác, bạn có phương pháp LSH bất cứ

khi nào bạn có thể băm các mục trong tập dữ liệu sao cho xác suất xung đột của hai mục bất

kỳ sẽ cao hơn nhiều khi các mục đó ở gần nhau so với khi chúng ở xa nhau.

Có nhiều cách để thực hiện sơ đồ LSH. Reformer sử dụng sơ đồ LSH góc được xác định

trong [6]. Hãy nhớ lại rằng ma trận truy vấn Q (và ma trận khóa K) có hình dạng l ×dk. Để

tính giá trị băm cho Q, hãy bắt đầu bằng cách tạo ma trận R dk × b/2 ngẫu nhiên , trong đó

mỗi cột có một giá trị khác 0 được lấy mẫu thống nhất từ ±1 và b là số lượng giá trị băm.

Tiếp theo, tính toán QR để xoay ma trận truy vấn (và khóa).

Cuối cùng, hàm băm là h(Q) = arg max([QR; QR]) [142]. Sau khi truy vấn và khóa đã được

băm, bạn có thể hoán đổi các chỉ mục sao cho các vị trí chuỗi được băm vào cùng một nhóm

nằm cạnh nhau. Sau đó, trong mỗi nhóm băm, hãy tính toàn bộ mức độ chú ý.

Chúng ta có thể sử dụng thông tin này để xem LSH ảnh hưởng như thế nào đến việc tính

toán sự chú ý bằng cách trước tiên viết lại phương trình về mức độ tự chú ý, (5.23), sử

dụng (5.27):
T
qik j
ai = exp log Z(i, Si) vj , (5h30)
√ dk
j Si
Machine Translated by Google

128 Máy biến áp cho học máy: Tìm hiểu sâu

trong đó Si là tập hợp các vị trí quan trọng mà truy vấn tôi tham dự và Z(i, Si) =
T
qik r
là số hạng chuẩn hóa softmax.
r Si exp
√ dk
Không mất tính tổng quát, chúng ta có thể viết lại (5.30) dưới dạng tổng trên
một tập mở rộng các vị trí then chốt, S˜ i ,Si có thể bao gồm các vị trí mà khí
không quan tâm tới:

T
qik j
ai = điểm kinh nghiệm
m(i, Si) log Z(i, Si) vj (5.31)
√ dk
j S˜i

∞, j /
m(i, Si) = (5.32)
Si 0, ngược lại

Số hạng m(i, Si) trong (5.31) là số hạng che đậy để đảm bảo rằng các vị trí then
chốt mà khí không tham gia sẽ không đóng góp vào tổng.

Như đã đề cập ở trên, tập Si là tập hợp các vị trí chính mà truy vấn tôi tham
gia. Theo sơ đồ LSH được xác định ở trên, Si chỉ nên chứa các vị trí khóa được
băm vào cùng một nhóm với truy vấn, hay nói cách khác

Si = {j : h(qi) = h(kj )} (5.33)

Trước hết, không có gì đảm bảo rằng một truy vấn sẽ có bất kỳ khóa nào để tham

gia. Để giải quyết vấn đề này và đảm bảo rằng h(qi) = h(kj ), [142] sửa khóa kj
qj
sao cho kj = ||qj || . Để tính toán hiệu quả hơn, Reformer thực hiện hai việc đơn
giản

1. Các truy vấn được sắp xếp sao cho các truy vấn trong cùng một nhóm băm sẽ liền kề nhau.

Trong nhóm băm, thứ tự chuỗi ban đầu được giữ nguyên

2. Các truy vấn đã sắp xếp được nhóm thành các khối m truy vấn liên tiếp

2L
m = (5.34)
Số lượng xô

Trong mỗi khối, mỗi vị trí được phép tham gia vào các vị trí khác
trong khối và những vị trí trong khối trước đó. Hai thay đổi này xác định
một tập hợp các vị trí quan trọng mới mà tôi có thể truy vấn:

S
tôi sj tôi
= j : 1 ≤ ≤ , (5.35)
tôi tôi tôi
Tôi

trong đó si là vị trí trong ma trận đã sắp xếp mà vị trí tôi đã được chuyển đến.

(5.35) có thể được sử dụng trong (5.31) để tính toán sự chú ý theo LSH
sơ đồ đã mô tả ở trên.
Machine Translated by Google

Sửa đổi máy biến áp 129

LSH nhiều vòng Do tính ngẫu nhiên vốn có của LSH, nên những thứ tương tự
có thể dễ dàng được băm vào các nhóm khác nhau. Để giải quyết vấn đề này,
thông lệ là thực hiện nhiều vòng LSH. Ví dụ: khi tính gần đúng một vectơ
đặc trưng bằng LSH, người ta có thể băm vectơ đó nhiều lần để tạo ra chữ
ký LSH. Sau đó, thay vì so sánh hai vectơ đặc trưng với độ tương tự
cosin, bạn sẽ so sánh các dấu hiệu LSH của chúng bằng khoảng cách
Hamming. Tương tự, trong Reformer, bạn có thể tính toán nhiều hàm băm cho
truy vấn và khóa rồi kết hợp chúng.
Như đã thảo luận ở trên, một truy vấn tại vị trí i có thể quan tâm đến các
vị trí quan trọng trong Si . Tuy nhiên, nếu chúng ta thực hiện n vòng LSH thì
chúng ta sẽ có được n bộ vị trí chính mà vị trí truy vấn mà tôi có thể tham gia
N
(r)
Si = S Tôi , (5.36)
r=1

sắp xếp (r) = {j : h (r) (qi) = h (r) (qj )}. Sau đó, liên quan đến việc
Tôi

nơi truy vấn S theo nhóm băm, (5.35) trở thành

(r ) (r) (r )
s
j
=
tôi tôi
S˜ (r)
Tôi j : 1 ≤ ≤ . (5.37)
tôi tôi tôi

Chúng ta có thể cập nhật tương tự (5.31) cho LSH nhiều vòng:

ai = exp log Z(i, S(r) (r) ) Tôi log Z(i, Si) a Tôi (5.38)
r

T
qik j
(r)
= (r)
một
tôi điểm kinh nghiệm
m i,j log Z(i, S(r) ) vj Tôi (5.39)
√ dk
j S˜ (r)
Tôi

∞ (r) j / Tôi S
(r)
tôi = 105 (5,40)
tôi, j
nếu i = j log Ni,j

ngược lại

(r )
Ni,j = {r : j S } Tôi (5.41)

Lưu ý rằng trong trường hợp LSH nhiều vòng, Reformer sửa đổi thuật ngữ
che dấu để bao gồm (và giảm trọng số) trường hợp truy vấn ở vị trí i liên
quan đến khóa ở vị trí i. Trường hợp này được thêm vào bởi vì, trong khi
máy biến áp tiêu chuẩn cho phép một vị trí tự quan sát, thì điều này không
có ích khi Q = K, như trường hợp trong chú ý LSH. Điều này vô ích vì hàm
băm LSH h(qi) của bất kỳ vị trí i nào đều bằng chính nó một cách tầm thường.
Machine Translated by Google

130 Máy biến áp cho học máy: Tìm hiểu sâu

Khả năng đảo ngược và bộ nhớ Reformer cũng giải quyết vấn đề bộ nhớ
sử dụng máy biến áp tiêu chuẩn sử dụng các lớp dư có thể đảo ngược.
Các lớp dư được thiết kế để giải quyết vấn đề lỗi đào tạo
tăng theo độ sâu mạng đồng thời tránh được vấn đề biến mất
Độ dốc. Bằng cách viết lại mạng lưới thần kinh theo hàm dư,
độ chính xác đào tạo có thể được thực hiện để tăng theo độ sâu mạng:

y = x + F(x), (5.42)

trong đó x là đầu vào của lớp và y là đầu ra của lớp [105]. ResNets là ngăn xếp của
những lớp dư này.
Trong máy biến áp tiêu chuẩn, mỗi lớp máy biến áp có nhiều hơn
một lớp dư. Ví dụ, một khối mã hóa máy biến áp có
hai khối dư. Khối dư đầu tiên là sự chú ý của nhiều đầu [254],
tiếp theo là chuẩn hóa lớp [13]. Khối dư thứ hai là
mạng chuyển tiếp theo vị trí (FFN) [254], tiếp theo là chuẩn hóa lớp.
Lưu ý rằng hoạt động chuẩn hóa lớp có dạng
x + Lớp con(x), trong đó Lớp con đại diện cho lớp đến. Cho
khối dư đầu tiên, lớp con là sự chú ý của nhiều đầu và đối với
khối dư thứ hai là lớp FFN.
Các lớp dư có thể đảo ngược là một biến thể có thể đảo ngược của phần dư
các lớp được sử dụng trong nhận dạng hình ảnh và được giới thiệu như một sự
thay thế ít tốn bộ nhớ hơn [94]. Mỗi lớp có thể đảo ngược lấy một cặp (x1, x2) làm
đầu vào và trả về một cặp (y1, y2) làm đầu ra:

y1 = x1 + F(x2)
(5.43)
y2 = x2 + G(y1)

Để đảo ngược lớp, chỉ cần trừ phần dư ở cả hai bên:

x2 = y2 G(y1)
(5.44)
x1 = y1 F(x2)

Bây giờ, giả sử chúng ta có một chồng n lớp có thể đảo ngược như vậy, sao cho
đầu vào cho n lớp là đầu ra của lớp n-1. Phương trình. (5.43) và (5.44)
quần què

trở thành quan hệ tái diễn:

(N) (n 1) (n 1)
y1 = y 1 + F(y 2 ) (5,45)
(N) (n 1) (N)
y = y + G(y 1 ) (5.46)
2 (n 1) 2 (n) (N)
y = y G(y 1 ) (5.47)
2 (n 1) 2 (n) (n 1)
y1 = y 1 F(y 2 ) (5,48)
Machine Translated by Google

Sửa đổi máy biến áp 131

Do đó, kích hoạt đầu ra của lớp n-1 có thể được tính từ kích hoạt đầu ra của
lớp n và giá trị của phần dư F và G cho lớp n. Đây là lý do tại sao các kích
hoạt cho lớp dư có thể đảo ngược không cần phải được lưu trữ để thực hiện lan
truyền ngược. Vì các kích hoạt cho các lớp trung gian không cần phải lưu trữ nên
mô hình sẽ sử dụng ít bộ nhớ hơn (mà không làm giảm hiệu suất).

Các lớp có thể đảo ngược trong máy biến áp Bây giờ chúng ta đã hiểu các lớp
dư có thể đảo ngược là gì và chúng tiết kiệm bộ nhớ như thế nào, chúng ta có thể

xem cách chúng được sử dụng trong Reformer [142]. Cơ chế chú ý đóng vai trò là
hàm dư F và mạng chuyển tiếp nguồn cấp dữ liệu theo vị trí là G. Việc chuẩn hóa
lớp trở thành một phần của khối dư vì nó có dạng x+Lớp con(x), trong đó Lớp con

biểu thị hàm dư thích hợp. Tham chiếu [142] cho thấy máy biến áp sử dụng các lớp
dư có thể đảo ngược có hiệu suất tương tự như máy biến áp tiêu chuẩn.

5.2.2.3 Người biểu diễn

Mô hình Người biểu diễn [53] giảm độ phức tạp của cơ chế chú ý bằng cách sử dụng
phương pháp có tên Chú ý nhanh thông qua các tính năng ngẫu nhiên trực giao tích

cực (FAVOR+). Trình biểu diễn không làm sai lệch cơ chế chú ý trước bằng cách
sử dụng các mẫu chú ý, thay vào đó FAVOR+ tính gần đúng phép tính softmax bằng
cách sử dụng hạt nhân.

Sự chú ý như một hạt nhân Bằng cách viết lại công thức tự chú ý ((5.23)), chủ

nghĩa hình thức hạt nhân trở nên rõ ràng:

QKT √
Attn(Q, K, V) = softmax V. (5.49)
dk
T
qik
điểm kinh nghiệm

j √ dk
V. (5,50)
qikTr
r Si exp √ dk

T
qik j
= D 1 điểm kinh nghiệm V, (5,51)
√ dk

trong đó D là ma trận đường chéo của các số hạng Dij = δij r Si


qik r
.
√ dk

exp Lưu ý rằng mỗi phần tử đường chéo là một phần của tổng trong mẫu số softmax
và nghịch đảo của D chỉ đơn giản là ma trận nghịch đảo.
Trong Reformer, sau đó chúng ta có thể xác định lại trọng số chú ý như
Machine Translated by Google

132 Máy biến áp cho học máy: Tìm hiểu sâu

T
qik
,
= Aij = exp sao cho Dij = δij r Si D 1AV. Các Không khí. Do đó Attn(Q, K, V)
j √ dk

truy vấn và khóa có thể được chia tỷ lệ sao cho chiều khóa được hấp thụ vào
T
chúng, Aij chỉ đơn giản là exp(qik Vì Aij phụ ).
j
thuộc vào tích bên trong của truy vấn và vectơ khóa, nên nó là thước đo mức
độ tương tự giữa qi và kj . Những sự chú ý này trọng số có thể được tính gần
đúng bằng thuật toán FAVOR+:

T T T
Aij = φ(q ) φ(k ), (5,52)
Tôi
j

K R L×r
trong đó ánh xạ φ ánh xạ Q, K R L×dk tới Q , , tương ứng,
T T T T ;
với r > 0. Các hàng của Q là φ(q thì ) và các hàng của K là φ(k )
Tôi
j
(5.49) trở thành

T T T T
Attn (Q, K, V) = Dˆ 1 (Q ((K ) V), Dˆ ij = δij φ(q Tôi
)φ(k m) .(5.53)
m Si

Khi các hàm hạt nhân φ(x) như được định nghĩa trong [53], thì sự chú ý có
T
thể được tính gần đúng bằng
trọng lượng Aij = exp qik j

T T
exp(qik ) = Λcos(ω (qi + kj ))ω,
(5,54)
j
2 2
trong đó Λ = exp(-(qi + kj
)/2) và ω được lấy mẫu từ dk- ω
chiều phân phối chuẩn chuẩn. Nếu như trong (5.54) được thay
√ d ω , thế bằng khi đó ω là điểm bất kỳ trên bề mặt của mặt cầu dk chiều
ω

bán kính √ dk.


Phép tính gần đúng hạt nhân này của phép tính softmax làm giảm độ phức
tạp bậc hai xuống độ phức tạp gần như tuyến tính theo độ dài chuỗi và lỗi
xấp xỉ có thể được giảm bằng cách lấy mẫu lại định kỳ ω.

5.2.2.4 Con chim lớn

Big Bird là một nỗ lực khác nhằm cung cấp cho Transformer một cơ chế chú
ý thưa thớt cho phép mở rộng quy mô tuyến tính. Nó cũng được chứng minh
là Turing hoàn chỉnh và một hàm xấp xỉ hàm chuỗi phổ quát [292].

Cơ chế chú ý là một biểu đồ có hướng. Big Bird mô tả cơ chế chú ý dưới
dạng biểu đồ có hướng. Các đỉnh đại diện cho vị trí L trong chuỗi đầu
vào. Các cạnh có hướng biểu thị trọng số chú ý trước softmax. Nói cách
khác, các cạnh có hướng là tích bên trong giữa vectơ truy vấn và vectơ
khóa, trong đó i đỉnh thứ
Machine Translated by Google

Sửa đổi máy biến áp 133

sẽ chỉ có các cạnh có hướng với các đỉnh tương ứng với các vị trí then chốt mà nó

có thể quan tâm, như được mô tả bởi tập Si trong (5.27).

Ma trận kề Việc biểu diễn đồ thị đưa ra vấn đề giảm độ phức tạp của cơ chế chú ý
dưới dạng một vấn đề về kích thước đồ thị, có thể được giải quyết bằng lý thuyết
đồ thị. Big Bird mô tả biểu đồ chú ý với ma trận kề L × L , A:

1, j Si 0,
A(i, j) = (5,55)
ngược lại

Khi ma trận kề là tất cả các đơn vị, A(i, j) = 1, (i, j), thì chúng ta có
một đồ thị được kết nối đầy đủ trong đó mỗi đỉnh được kết nối với mọi đỉnh khác
và một cơ chế chú ý có độ phức tạp bậc hai.

Bất cứ khi nào A(i, j) = 0, điều đó có nghĩa là cạnh (i, j) không tồn tại và do

đó vị trí truy vấn i (qi) không thể tham dự vào vị trí khóa j (kj ).

Các mẫu biểu đồ chú ý Sử dụng khung lý thuyết đồ thị, Big Bird kết hợp ba mẫu chú
ý: chú ý ngẫu nhiên, chú ý cửa sổ trượt và chú ý toàn cầu. Mỗi mẫu chú ý tương
ứng với một cách cụ thể để khởi tạo ma trận kề.

Chú ý ngẫu nhiên Mẫu chú ý ngẫu nhiên của Big Bird được lấy cảm hứng từ loại đồ

thị ngẫu nhiên Erdős-Renyi [84] kết nối các đỉnh một cách ngẫu nhiên với xác suất
đồng đều. Trong sự chú ý ngẫu nhiên của Big Bird, mỗi truy vấn qi liên quan đến
một số khóa ngẫu nhiên. Xét về ma trận kề, A(i, :) = 1 với r vị trí then chốt

được chọn ngẫu nhiên, có xác suất bằng nhau. Một ví dụ về ma trận kề cho mẫu chú
ý ngẫu nhiên được hiển thị trong Hình 5.9.

Sự chú ý của cửa sổ trượt Sự chú ý cục bộ của Big Bird bắt nguồn từ biểu đồ thế

giới nhỏ Watts-Strogatz [265] trên một mạng vòng, trong đó mỗi đỉnh được kết nối
với w lân cận, do đó có w/2 lân cận ở mỗi bên. Điều này cho phép truy vấn tại vị
trí i quan tâm đến các khóa tại các vị trí trong cửa sổ [i w/2, i+w/2]. Xét về

mặt ma trận kề, A(i, i w/2 : i+w/2) = 1. Điều này tương tự với sự chú ý của cửa
sổ trượt trong Longformer đã được thảo luận trong Phần. 5.2.2.1. Một ví dụ về ma
trận kề cho cửa sổ trượt được thể hiện trong hình 5.10.
Machine Translated by Google

134 Máy biến áp cho học máy: Tìm hiểu sâu

· · ·
• • • • ·
· · · · • · · ·
· • • ·
· · · · · · · · · ·
· • • · · • • • · · · · ·
• · · • · · • · · • • •
· • • • • • • · • · · • ·
· • • · · · • • • • · · ·
• • • · · • • · · • · ·
· • · · • · • · · • • • • •
• • • · · • • • · · · · ·
· · • · · · · · · · · · •
· • · · · • • · · · · · •
· • • · · • • • • · · · •

Hình 5.9 Ma trận kề ngẫu nhiên, với L = 12 và r = 7. Hàng i


tương ứng với truy vấn i. Các cột có dấu • là các khóa truy vấn tôi tham dự
tới và · thể hiện sự thiếu chú ý (thiếu cạnh).

· · · · · · · ·

•• •• • •· ·
· · · · · · · ·
• • • • • · · · · · · · ·
· • • • • • • · · · · · ·
· · • • • • • • · · · · ·
· · · • • • • • • · · · ·
· · · · • • • • • • · · ·
· · · · · • • • • • • · ·
· · · · · · • • • • • • ·
· · · · · · · • • • • • •
· · · · · · · · • • • • •
· · · · · · · · · • • •

Hình 5.10 Ma trận kề cận chú ý cửa sổ trượt, với L = 12 và


w = 4. Hàng i tương ứng với truy vấn i. Các cột có dấu • là các khóa
truy vấn tôi quan tâm và · thể hiện sự thiếu chú ý (thiếu một cạnh).
Machine Translated by Google

Sửa đổi máy biến áp 135

· · • • · · • · · · · ·
· · • • · · • · · · · ·

• • • • • • • • • • • • •
• • • • • • • • • • • • •
· · • • · · • · · · · ·
· · • • · · • · · · · ·

• • • • • • • • • • • • •
· · • • · · • · · · · ·
· · • • · · • · · · · ·
· · • • · · • · · · · ·
· · • • · · • · · · · ·
· · • • · · • · · · · ·

Hình 5.11 Ma trận kề cận chú ý tổng thể cho cấu trúc máy biến áp bên
trong, với L = 12 và G = 3, 4, 7. Hàng i tương ứng
để truy vấn i. Các cột có • là các khóa mà tôi quan tâm đến và ·
thể hiện sự thiếu chú ý (thiếu cạnh).

Sự chú ý toàn cầu Big Bird cũng cho phép một số token tham dự vào tất cả
token trong chuỗi. Những token toàn cầu này cũng được tất cả mọi người tham gia
mã thông báo. Big Bird sử dụng hai loại token toàn cầu: biến áp nội bộ
xây dựng và xây dựng máy biến áp bên ngoài.

Trong cấu trúc máy biến áp bên trong, một tập hợp con của đỉnh L , G,
được thăng cấp thành token toàn cầu. Do đó, các truy vấn hoặc khóa ở các vị trí đó

tham gia vào tất cả các vị trí khác. Ở đây, A(i, :) = A(:, i) = 1, i G.
ma trận kề B mở rộng được thể hiện trên hình 5.11.
Cấu trúc máy biến áp bên ngoài bổ sung thêm g mã thông báo vào
mã thông báo L hiện có . Các token bổ sung có tính toàn cầu. Những ví dụ bao gồm
mã thông báo đặc biệt được sử dụng trong máy biến áp, như [CLS]. Điều này về cơ bản tạo ra một

ma trận kề mới, B, bao gồm các mã thông báo đặc biệt bằng cách thêm vào trước
g hàng và cột trên A. Ở đây, B(i, :) = B(:, i) = 1, trong đó i =
1, . . . , g, và B(g + i, g + j) = A(i, j), trong đó i và j = L. Cái

1, . . . , ma trận kề B mở rộng được thể hiện trên hình 5.12.


Cuối cùng, một ví dụ về ma trận kề cho sự kết hợp ngẫu nhiên,
cửa sổ trượt và sự chú ý chung (cấu trúc bên ngoài) được hiển thị trong
Hình 5.13.
Machine Translated by Google

136 Máy biến áp cho học máy: Tìm hiểu sâu

• • • • • • • • • • • • •
• • • • • • • • • • • • •
• • • • • • • • • • • • •
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·
• • • · · · · · · · · ·

Hình 5.12 Ma trận kề cận chú ý toàn cục cho cấu trúc biến đổi bên ngoài,
với L = 9 và g = 3. Hàng i tương ứng với truy vấn
Tôi. Các cột có • là các khóa mà tôi tham gia truy vấn và · đại diện cho một
thiếu sự chú ý (thiếu cạnh).

• • • • • • • • • • • • • • •
• • • • • • • • • • • • • • •
• • • • · · · · · · · • • · •
• • • • • • · • · • · · • • ·
• • • • • • • · • · · · • · ·
• • · • • • • • • · · · · • · ·
• • · · • • • • · · • • · · · ·
• • · • · · • • • • · · · • · ·
• • • · · · • • • • · · · • ·
• • · · · · · · · · · · · · · · · •
• • · · · • · · • • • • • · •
• • • · · • · · · · · • • • • · ·

Hình 5.13 Ma trận kề cận chú ý của Big Bird cho cấu trúc biến đổi bên
ngoài, với L = 12, g = 2, w = 4 và r = 4. Hàng i tương ứng với truy vấn
i. Các cột có dấu • là các khóa mà tôi quan tâm đến
và · thể hiện sự thiếu chú ý (thiếu cạnh).
Machine Translated by Google

Sửa đổi máy biến áp 137

Nhân ma trận thưa hiệu quả Bằng cách làm cho ma trận kề (và ma trận chú ý tương
ứng) trở nên thưa thớt, tốc độ tăng tốc do GPU cung cấp sẽ bị loại bỏ. Điều này
là do việc nhân các ma trận với độ thưa tùy ý không hiệu quả trên GPU. Tuy
nhiên, các ma trận có độ thưa thớt được nhóm thành các khối có thể được nhân
lên một cách hiệu quả trên GPU [100].

Để giải quyết vấn đề này, Big Bird nhóm các khối truy vấn và khóa lại với
nhau, sau đó thêm độ thưa thớt theo khối thay vì theo vị trí chuỗi riêng lẻ
[292]. Chọn kích thước khối b, sau đó chia độ dài chuỗi L thành các khối L/b .
Vì vậy, thay vì các truy vấn và khóa L , sẽ có các truy vấn và khóa L/b . Điều
này sửa đổi từng kiểu chú ý được thảo luận ở trên theo những cách tương đối đơn
giản:

1. Chú ý ngẫu nhiên Số lượng khóa ngẫu nhiên cho một truy vấn cần quan tâm,
r, trở thành số khối khóa ngẫu nhiên mà khối truy vấn chú ý.

2. Cửa sổ trượt chú ý Khối truy vấn tôi tham dự khóa


khối i (w 1)/2 đến i + (w 1)/2.

3. Sự chú ý toàn cầu Định nghĩa về sự chú ý toàn cầu không thay đổi, ngoại
trừ việc nó được định nghĩa theo các khối chứ không phải theo vị trí
trình tự.

5.2.3 Cải thiện khả năng chú ý bằng nhiều đầu

Bây giờ chúng tôi tập trung vào một số cách mà cơ chế chú ý đã được thay đổi
để cải thiện hiệu suất của máy biến áp.

5.2.3.1 Sự chú ý của người nói

Vaswani và cộng sự. [254] cho thấy rằng sự chú ý nhiều đầu cho phép bộ chuyển
đổi thực hiện các phép tính chú ý riêng biệt h (số lượng đầu chú ý). Thay vào
đó , Đầu biết nói Chú ý [227] cho phép các đầu chú ý chia sẻ thông tin. Nó
hoạt động bằng cách thêm hai lớp tuyến tính chiếu tích của truy vấn và ma trận
khóa, QKT (logits chú ý), vào một không gian mới và chiếu các trọng số chú ý,
Sof tmax(QKT ), vào một không gian mới.

Talking-Heads Chú ý (THA) cũng phân chia các đầu chú ý thành ba loại: đầu
dành cho truy vấn và khóa, đầu dành cho giá trị và đầu dành cho nhật ký chú ý
và trọng số chú ý. Chúng ta hãy xem xét điều này một cách chi tiết.
Machine Translated by Google

138 Máy biến áp cho học máy: Tìm hiểu sâu

Hãy nhớ lại phần 5.2.1.1 rằng sự chú ý nhiều đầu giữa

hai dãy X1, X2 có độ dài L1 và L2 là:

Q = X1Wq, R L1×dk×h

K = X2Wk, R L2×dk×h (5,56)

V = X2Wv, R L2×dv×h

trong đó X1 R L1×d , X2 R L2×d , Wq,Wk R d×dk×h , và Wv


R d×dv×h ,với

α = QKT , R L1×L2×h (5,57)


α
A(Q, K) = softmax , R L1×L2×h (5,58)
√ dk

C(Q, K, V) = A(Q, K)V, R L1×dv×h (5,59)


L2

trong đó α là logit chú ý, A(Q, K) là trọng số chú ý và C(Q,


K, V) là vectơ “ngữ cảnh” biểu thị đầu ra của đầu chú ý h trước
khi nối các đầu chú ý và lớp chiếu cuối cùng.

Phân vùng các đầu chú ý THA sửa đổi cơ chế chú ý theo một số cách
như được trình bày trong (5.56)–(5.59). Đầu tiên, nó thay đổi kích
thước đầu chú ý của Q và K thành số lượng đầu chú ý của khóa truy
vấn hk và thay đổi thứ nguyên đầu chú ý của V thành số lượng đầu
chú ý giá trị hv. Điều này xảy ra bằng cách thay đổi thứ nguyên
của ma trận chiếu tạo ra ma trận truy vấn, khóa và giá trị từ
chuỗi đầu vào. Nói cách khác, (5.56) trở thành

Q = X1Wq, R L1×dk×hk

K = X2Wk, R L2×dk×hk (5,60)

V = X2Wv, R L2×dv×hv

trong đó Wq,Wk R d×dk×hk , và Wv R d×dv×hv .

Chiếu nhật ký chú ý Tiếp theo, nhật ký chú ý α được chiếu bằng một lớp tuyến
tính kết hợp các đầu chú ý của khóa truy vấn với các đầu trọng số/logit chú
ý, Wα R hk×h và chú ý ,
Machine Translated by Google

Sửa đổi máy biến áp 139

các trọng số được chiếu bằng một lớp tuyến tính trộn các đầu giá trị chú ý với

các đầu logit/trọng lượng chú ý, các từ WA R h×hv , (5.57)–(5.59) . Ở nơi khác

trở thành

α = QKT , R L1×L2×hk (5.61)

Pα = αWα, R L1×L2×h (5.62)



A(Q, K) = softmax , R L1×L2×h (5.63)
√ dk

PA(Q, K) = AWA, R L1×L2×hv (5,64)

C(Q, K, V) = PAV, R L1×dv×hv (5,65)


L2

trong đó Pα là nhật ký chú ý dự kiến và PA(Q, K) là trọng số chú ý dự kiến.

Hiệu suất của Người nói chuyện (THA) được đánh giá bằng cách đào tạo
một mô hình T5 sử dụng THA và các siêu tham số tương tự như bài báo T5
(ngoại trừ việc loại bỏ tình trạng bỏ học trong quá trình đào tạo
trước) và đào tạo mô hình ALBERT tương tự. Các tác giả nhận thấy rằng
THA luôn hoạt động tốt hơn so với sự chú ý của nhiều đầu [227]. Chỉ cần
chiếu nhật ký chú ý hoặc chỉ trọng số chú ý chỉ tốt hơn một chút so với
việc sử dụng chú ý nhiều đầu thuần túy. Hiệu suất tăng đáng kể đến từ
việc sử dụng cả hai dự đoán. Việc sử dụng sự chú ý của người nói trên
các lớp tự chú ý của khối bộ mã hóa có tác động lớn hơn đến hiệu suất
của mô hình so với việc sử dụng sự chú ý của người nói trên các lớp
chú ý của khối giải mã.
Sự chú ý của nhiều người đã phải trả giá và các dự đoán mà THA
bổ sung, Wα và WA, sẽ làm tăng chi phí đó. Tính toán nhật ký chú ý
dự kiến, Pα, cộng L1 · L2 · hk · h phép nhân ma trận và tính toán
trọng số chú ý dự kiến, PA, cộng L1 · L2 · h · hv phép nhân ma
trận. Cùng với nhau, THA cộng các phép nhân ma trận L1 ·L2 · h ·(hk
+ hv) , điều này sẽ làm cho việc tính toán tốn kém hơn. Các tác
giả lưu ý rằng nếu h < dk và h < dv thì chi phí của các phép chiếu
THA sẽ thấp hơn chi phí của các phép tính chú ý nhiều đầu hiện có.
Vì vậy, tóm lại, Talking-Heads Chú ý cải thiện chất lượng mô hình nhưng
phải trả giá bằng việc tăng thời gian tính toán; cho phép người dùng quyết
định loại đánh đổi nào họ muốn thực hiện.
Machine Translated by Google

140 Máy biến áp cho học máy: Tìm hiểu sâu

5.2.4 Sự chú ý có thành kiến với người đi trước

Phần này thảo luận về một số mô hình thiên vị cơ chế chú ý bằng cách ấn định vị

trí nào có thể tham gia vào vị trí nào. Mô hình Longformer, được thảo luận
trong phần 5.2.2.1 và mô hình Big Bird, được thảo luận trong phần 5.2.2.4 đều
là ví dụ về sự chú ý với người ưu tiên, vì mỗi mô hình sử dụng các mẫu chú ý cụ
thể, như sự chú ý của cửa sổ trượt trong phần 5.2.2.1 và 5.2.2.4 . Chúng ta
cũng đã thảo luận một ví dụ khác về sự chú ý thiên vị với các linh mục trong
phần 5.1.2.1, Realformer.

5.2.5 Truy vấn nguyên mẫu

5.2.5.1 Tập trung chú ý

2
Sự chú ý theo cụm [256] là một phương pháp để tránh sự chú ý của O(L ·dk+
2
L · dv) độ phức tạp về thời gian tuyến tính hóa việc tính toán trọng số tự

chú ý bằng cách phân cụm các truy vấn băm LSH bằng thuật toán phân cụm k-means.
Và sử dụng trọng tâm truy vấn làm truy vấn để tính toán ma trận chú ý.

Phân cụm các vectơ truy vấn Sự chú ý theo cụm xảy ra theo hai giai đoạn. Đầu
tiên, mỗi vectơ truy vấn được băm bằng phép băm nhạy cảm với địa phương. Các
truy vấn băm sau đó được nhóm thành cụm C với phương tiện k.
Số liệu khoảng cách được sử dụng cho phương tiện k là khoảng cách Hamming. Các
trọng tâm của j cụm được đưa ra bởi
quần què

L
c = i=1 Tứ Kỳ
qj
_ L (5,66)
i=1 Sij
c
qj ở đâu là trọng tâm của cụm j và ma trận S {0, 1} phân chia các
quần què

L×C
vectơ truy vấn thành C cụm không chồng lấp, vì vậy nếu Sij = 1 thì qi thuộc cụm

j. Các truy vấn centroid được nhóm R C×dk thành Qc , ma trận truy vấn thực
trận với ma , ma trận các vectơ trọng tâm. Sau đó chúng ta có thể thay thế
centroid truy vấn, Qc và tính toán ma trận chú ý phân cụm:

QcKT
Ac = softmax , R C×L (5,67)
(dk)

Bạn có thể dừng ở đây và chỉ sử dụng các trọng số chú ý được nhóm để tính
toán đầu ra của cơ chế chú ý. Phép tính này có độ phức tạp về thời gian là O(CL

· dk + LC · dv), tuyến tính rõ ràng theo độ dài chuỗi. Tuy nhiên, có thể cải
thiện xấp xỉ mức độ chú ý theo cụm bằng cách tìm k khóa có điểm chú ý cao nhất
trong
Machine Translated by Google

Sửa đổi máy biến áp 141

mỗi cụm C. Và, đối với mỗi khóa top-k của một cụm, hãy tính mức độ chú ý với
các truy vấn trong cụm đó:

T
mˆ j exp qikl
, nếu Tjl = 1
t = L T
một
il
r=1 Tjr exp qikr (5,68)

Một
c nếu không thì
cái gì đó,

ở đâu mˆ j = L
i=1 TijAc và T {0, 1} C×L: nếu Tij = 1 thì ki là một trong
ij các khóa top-k trong cụm j.

Sau đó tính toán các vectơ ngữ cảnh (trung bình có trọng số của các giá
trị) của cụm chú ý và sử dụng nó làm ma trận giá trị: Vˆ = AtV, R L×dv .
Điều này làm cho độ phức tạp của phép tính chú ý theo cụm thành O(CL· dk + LC ·

dv + kL max(dk, dv)), tuyến tính theo độ dài chuỗi.

Hiệu suất Sự chú ý theo cụm vượt trội hơn biến áp tiêu chuẩn và Reformer về
nhận dạng giọng nói tự động với bộ dữ liệu âm thanh WSJ và Switch-board. Nó
cũng gần giống với RoBERTa đã được huấn luyện trước trên GLUE và SQuAD, nhưng
hiệu suất bị giảm trong một phút. Nó hoạt động tốt hơn trên GLUE so với RoBERTa,
nhưng không hoạt động tốt hơn trên SQuAD, nơi nó kém hơn một chút.
Khi số lượng cụm tăng lên, phép tính gần đúng sẽ trở nên chính xác hơn. Nó
hội tụ nhanh gấp đôi so với máy biến áp tiêu chuẩn, đối với độ dài chuỗi dài và
đối với độ dài chuỗi ngắn, sự chú ý phân cụm không nhanh hơn máy biến áp tiêu
chuẩn.

5.2.6 Bộ nhớ khóa-giá trị được nén


5.2.6.1 Luna: Chú ý lồng nhau thống nhất tuyến tính

Luna [177], viết tắt của Chú ý lồng nhau thống nhất tuyến tính, thay thế tính
toán trọng số chú ý trong mỗi đầu chú ý bằng hai phép tính chú ý tuyến tính
lồng nhau bằng cách sử dụng một chuỗi đầu vào bổ sung, có thể học được, trong
l×d ,
học cách mã hóa thông tin theo ngữ cảnh: P R độ dài của đó l là

chuỗi.
Như đã thảo luận trước đó, đầu ra của phần đầu chú ý giữa một truy vấn có
n×d m×d
trình tự, X R và một chuỗi ngữ cảnh, C R , thể được ghi
BẰNG

T
XWq(CWk) dk/h n×d
Y = Attn(X, C) = softmax CV, R (5,69)
Machine Translated by Google

142 Máy biến áp cho học máy: Tìm hiểu sâu

trong đó Wq,Wk,Wv là các phép chiếu tuyến tính chiếu một chuỗi đầu vào
vào các không gian truy vấn, khóa và giá trị tương ứng, như trong (5.24).

Luna chú ý

Gói chú ý Lớp chú ý đầu tiên được lồng vào nhau sẽ tính toán mức độ chú ý
giữa chuỗi bổ sung P và chuỗi ngữ cảnh C.
Luna gọi đây là “sự chú ý”. Đầu ra của nó là “ngữ cảnh đóng gói”, YP =
l×d
Attn(P, C), độ phức tạp , và nó có cùng chiều với P. Nó

R là O(lm).

Giải nén sự chú ý Lớp thứ hai trong số các lớp chú ý lồng nhau sẽ tính
toán sự chú ý giữa chuỗi đầu vào và chuỗi văn bản ngữ cảnh được đóng gói,
YP . Luna gọi đây là “sự chú ý giải nén”: YX = Attn(X, YP ), R chuỗi đầu
n×d
vào X. Độ phức tạp . Đầu ra của nó có cùng chiều với
của nó là O(ln).

Sự chú ý của Luna Luna kết hợp các lớp chú ý gói và giải nén theo trình
tự, tạo thành lớp Luna: YX, YP = LunaAttn(X, P, C), bao gồm hai lớp chú ý
nhiều đầu được hiển thị trong Hình 5.14. P được khởi tạo cho mã hóa vị trí
của máy biến áp và đối với các khối máy biến áp tiếp theo, YP được sử dụng
thay cho P.
Vì các lớp chú ý gói và chú ý giải nén được sắp xếp theo trình tự nên
độ phức tạp tổng hợp của chúng là O(lm + ln). Do chuỗi đầu vào bổ sung P
có độ dài cố định nên độ phức tạp kết hợp của cơ chế chú ý nhiều đầu của
Luna là tuyến tính theo độ dài của chuỗi đầu vào X. Với những sửa đổi nhỏ,
Luna cũng có thể hỗ trợ sự chú ý chéo nhân quả.

Hiệu suất của Luna được so sánh với hiệu suất của máy biến áp tiêu chuẩn
và 11 máy biến áp hiệu quả khác trên điểm chuẩn Long Range Arena (LRA)
[242]. Nó hoạt động tốt trên tất cả các nhiệm vụ, vượt trội hơn hầu hết,
nhưng không phải tất cả, các mô hình; đạt được độ chính xác trung bình cao
nhất. Luna luôn nhanh hơn máy biến áp tiêu chuẩn và nhiều, nhưng không phải
tất cả, máy biến áp hiệu quả mà nó được so sánh. Nó cũng hiệu quả về bộ nhớ
hơn so với máy biến áp tiêu chuẩn, với mức sử dụng bộ nhớ tương đương với
các máy biến áp hiệu quả khác và đánh bại một số ít.
Machine Translated by Google

Sửa đổi máy biến áp 143

Hình 5.14 Kiến trúc của khối mã hóa Luna. P là dãy phụ
cho khối và X là chuỗi đầu vào của khối. P sẽ là
chuỗi bổ sung cho khối Luna tiếp theo và P sẽ là chuỗi đầu vào
của khối Luna tiếp theo.

5.2.7 Xấp xỉ cấp thấp

5.2.7.1 Máy định hình

Trong [259], Wang và cộng sự. chứng minh rằng ma trận trọng số tự chú ý của
máy biến áp tiêu chuẩn [254] có thể xấp xỉ bằng ma trận cấp thấp [83], giảm
2
độ phức tạp từ O(L ) đến O(L), trong đó L là
độ dài trình tự.
Linformer giới thiệu hai ma trận chiếu tuyến tính biến đổi
ma trận khóa và giá trị của i đầu chú ý: Ei = δR và
quần què

k×L
Fi = exp δ R, trong đó R R và các thành phần của nó được rút ra từ
2 3
N (0, 1/k), δ = θ(1/L), k = 5 log(dL)/( ), và là sai số gần
đúng. Ngoài ra, dk = dv = d. Sự gần đúng này có nghĩa là
đầu ra của mỗi đầu chú ý trong cơ chế có thể gần đúng
bởi headi = Ai · FiVi , Ở đâu

T
Khí(EiKi) L×k
Ai = softmax , R (5,70)
dk/h

Ai là xấp xỉ cấp thấp của ma trận trọng số chú ý cho


cái tôi _ đầu chú ý. Độ phức tạp của nó là O(kL), đó là lý do tại sao Linformer
Machine Translated by Google

144 Máy biến áp cho học máy: Tìm hiểu sâu

cũng là một cách để giảm độ phức tạp về không gian và thời gian của cơ chế chú
ý và do đó phù hợp với các phương pháp được thảo luận trong phần 5.2.2.

Các tác giả xem xét ba biến thể của việc chia sẻ tham số để thực hiện
Linformer thậm chí còn hiệu quả hơn:

1. Chia sẻ E và F trên tất cả các mục chú ý (chia sẻ theo chiều hướng): Ei =
E, Fi = F

2. Chia sẻ các phép chiếu giữa các đầu và ma trận khóa/giá trị: Ei = Fi =
E

3. Chia sẻ các phép chiếu giữa các đầu, ma trận khóa/giá trị và bố cục mô hình
ers (chia sẻ theo lớp)

Tốc độ suy luận lần đầu tiên được thử nghiệm dựa trên bộ chuyển đổi tiêu
chuẩn [254]. Khi độ dài chuỗi L tăng lên, máy biến áp tiêu chuẩn trở nên chậm
hơn. Tốc độ Linformer hầu như không đổi và nhanh hơn đáng kể đối với các chuỗi
dài. Vương và cộng sự. giữ cố định độ dài chuỗi và thay đổi kích thước lô để
xử lý chuỗi văn bản.
Hành vi này được mong đợi vì độ dài chuỗi được giữ cố định.
Để kiểm tra hiệu suất, Linformer đã được đào tạo theo cách tương tự như
RoBERTa [170] và so sánh bằng cách sử dụng độ phức tạp xác thực và hiệu suất
của các tác vụ tiếp theo. Dựa trên sự phức tạp, hiệu suất của Linformer tăng
khi k tăng và chất lượng của Linformer gần giống với chất lượng của máy biến
áp tiêu chuẩn với L = 512, k = 128 và L = 1024, k = 256. Dựa trên hiệu suất của
tác vụ xuôi dòng, hiệu suất của Linformer là có thể so sánh với RoBERTa khi L
= 512, k = 128 và hoạt động tốt hơn RoBERTa ở k = 256. Hiệu suất của L = 1024,
k = 256 và L = 512, k = 256 là tương tự nhau, cho thấy hiệu suất của Linformer
được kiểm soát nhiều hơn bằng k nhiều hơn L/k. Có hai kết quả chính:

1. Chia sẻ tham số theo lớp hoạt động tốt nhất.

2. Hiệu suất khi sử dụng chia sẻ theo lớp gần giống với hiệu suất khi sử
dụng không chia sẻ tham số. Điều này cho thấy rằng số lượng tham số do
Linformer giới thiệu có thể giảm đi mà không ảnh hưởng đến chất lượng.

Mô hình Người biểu diễn, đã được thảo luận trong phần 5.2.2.3, cũng dựa
trên sự chú ý gần đúng ở cấp độ thấp.
Machine Translated by Google

Sửa đổi máy biến áp 145

5.3 ĐIỀU CHỈNH ĐỂ HIỆU QUẢ NHIỆM VỤ ĐÀO TẠO

5.3.1 ĐIỆN

ELECTRA [58] giới thiệu một nhiệm vụ đào tạo trước mới, giải mã mã thông báo
thay thế, kết hợp những gì tốt nhất của mô hình ngôn ngữ ẩn và mô hình ngôn ngữ
thông thường, cho phép ELECTRA học hiệu quả hơn so với các mô hình trước đó.
ELECTRA là mô hình hai chiều, giống như mô hình ngôn ngữ đeo mặt nạ. Tuy nhiên,
không giống như mô hình ngôn ngữ đeo mặt nạ, nó học từ tất cả các vị trí trong
chuỗi đầu vào.

5.3.1.1 Phát hiện mã thông báo bị thay thế

Phát hiện mã thông báo được thay thế (RTD) giúp mô hình tìm hiểu mã thông báo
nào có nhiều khả năng ở vị trí nhất định trong một chuỗi vì mô hình học cách
thay thế và xác định từng mã thông báo trong dữ liệu huấn luyện. Theo cách này,
ELECTRA giống như người phân biệt đối xử trong Mạng đối thủ sáng tạo (GAN). Ở

đây, không giống như GAN, trình tạo không được huấn luyện để đánh lừa bộ phân
biệt và vectơ nhiễu không được thêm vào đầu vào của trình tạo.

ELECTRA được đào tạo bằng cách sử dụng kết hợp máy tạo và máy phân biệt.
Trình tạo là một mô hình ngôn ngữ đeo mặt nạ và trình phân biệt đối xử chính là
ELECTRA. Do đó, ELECTRA cần ít dữ liệu đào tạo hơn so với các mô hình ngôn ngữ
đeo mặt nạ trước đó, như BERT, vì các mô hình ngôn ngữ đeo mặt nạ không che
giấu mọi mã thông báo trong dữ liệu đào tạo. Bộ tạo và bộ phân biệt đều là bộ
mã hóa máy biến áp.

Quá trình đào tạo bắt đầu bằng việc bộ tạo chọn một tập hợp ngẫu nhiên gồm

k vị trí, m = (m1, . . ., mk), từ chuỗi đầu vào, sao cho mỗi vị trí có i =
trí mi chiều , 1, . . . , k, được rút ra thống nhất từ [1, L], trong đó L là vị
dài chuỗi. Mỗi mã thông báo trong chuỗi đầu vào x = (x1, . . . , xL) tại các vị
trí trong m sẽ được thay thế bằng mã thông báo [MASK].
Trình tự bị che dấu là

che mặt
x = THAY THẾ(x, m, [MASK]) (5,71)

Sau đó, trình tạo sẽ tìm hiểu các phiên bản chưa được che giấu của các to-
ken được che giấu trong x. Xác suất để trình tạo tạo ra một mã thông báo xt cụ
thể là

T
kinh nghiệm _ hG(x)t
P cướpG(xt |x) = , (5,72)
t exp (e(x ) ThG(x)t)

trong đó et là vectơ nhúng cho mã thông báo xt .


Machine Translated by Google

146 Máy biến áp cho học máy: Tìm hiểu sâu

Trình phân biệt đối xử học cách biết mã thông báo nào trong chuỗi được tạo bởi trình

tạo. Điều này hoạt động bằng cách tạo một chuỗi trong đó các mã thông báo bị che giấu đã

được thay thế bằng các mẫu (mã thông báo “hỏng”) từ trình tạo:

c x = THAY THẾ(x, m, ˆxi) (5,73)

trong đó ˆxi là các token được tạo bởi trình tạo:

ˆxi P robG(xi |x bị che) (5,74)

nơi tôi m. Sau đó, bộ phân biệt sẽ học cách xác định mã thông báo nào có trong đầu
c
trong x
vào x ban đầu. Ở đây, không giống như GAN, trình tạo không được huấn luyện để đánh

lừa bộ phân biệt và vectơ nhiễu không được thêm vào đầu vào của trình tạo.

5.3.2 T5

T5, Công cụ chuyển đổi văn bản thành văn bản [205], là kết quả của một cuộc khảo sát nhằm

tìm hiểu phương pháp học chuyển văn bản nào hoạt động tốt nhất. Nó định hình lại các tác

vụ NLP tiêu chuẩn dưới dạng chuyển đổi văn bản thành văn bản, trong đó đầu vào và đầu ra là

các chuỗi. Điều này trái ngược với các mô hình ngôn ngữ được che dấu như BERT, xuất ra nhãn

lớp hoặc một khoảng đầu vào.

Việc định dạng lại các nhiệm vụ đào tạo có nghĩa là bạn có thể sử dụng cùng một mô

hình và hàm mất mát cho bất kỳ nhiệm vụ NLP nào. Việc sử dụng tính năng chuyển đổi văn bản

thành văn bản (chuyển đổi trình tự) cho phép bạn huấn luyện một mô hình cho nhiều tác vụ

cùng một lúc, sử dụng lại kiến trúc mô hình, hàm mất mát và siêu tham số. Phụ lục D của

Raffel et al. có các ví dụ về cách định dạng đầu vào cho từng bộ dữ liệu mà mô hình T5 đã

được huấn luyện hoặc tinh chỉnh.

5.4 THAY ĐỔI TIỂU ĐỒNG BIẾN ÁP

Phần này thảo luận về các sửa đổi đối với Máy biến áp mà không sửa đổi

nếu cơ chế chú ý hoặc hồ sơ bộ nhớ của mô hình.

5.4.1 Máy biến áp chuyển mạch

Mô hình Hỗn hợp các chuyên gia (MoE) đã góp phần mang lại nhiều thành công nhưng phải trả

giá bằng sự phức tạp và chi phí đào tạo [225]. Tuy nhiên, sự kết hợp của các mô hình chuyên

gia không chia sẻ các tham số, dẫn đến


Machine Translated by Google

Sửa đổi máy biến áp 147

Hình 5.15 Khối mã hóa Switch Transformer minh họa hai đầu vào to-kens x1 và x2 đang được

xử lý qua mạng. FFN dày đặc là

được thay thế bằng việc chuyển FFN thành một trong những chuyên gia.

trong một mô hình thưa thớt với chi phí tính toán đáng kể và đào tạo không ổn định. Máy
biến áp chuyển mạch giải quyết hầu hết các vấn đề này bằng một giải pháp mới

thuật toán định tuyến giữa các chuyên gia, cho phép tăng số lượng tham số mà không tăng

chi phí tính toán [87].

Sự đổi mới cốt lõi của máy biến áp chuyển mạch là thay thế máy biến áp chuyển tiếp

lớp trong máy biến áp với lớp chuyển tiếp nguồn cấp dữ liệu chuyển tiếp, như thể hiện trong

Hình 5.15.

Trong máy biến áp tiêu chuẩn, một mạng chuyển tiếp duy nhất tuân theo

các đầu ra từ lớp chú ý nhiều đầu. Nó chịu trách nhiệm về

dịch mã thông báo đại diện theo mã thông báo sang máy biến áp tiếp theo

khối đầu vào. Như thể hiện trong hình 5.15, trong một máy biến áp chuyển mạch, thay vì

một mạng chuyển tiếp nguồn cấp dữ liệu, cũng có nhiều mạng chuyển tiếp nguồn cấp dữ liệu

được biết đến như những chuyên gia. Sau sự chú ý của nhiều người đứng đầu, mỗi đại diện

mã thông báo, x, chỉ được chuyển đến một chuyên gia. Chuyên gia được chọn từ
N
một tập hợp N chuyên gia, {Ei(x)} tôi=1
bằng cách tính toán phân bố xác suất

qua các chuyên gia:

p(x) = softmax (Wr · x) (5,75)

trong đó Wr R
N×d
là một ma trận trọng số có thể học được để xác định

chuyên gia nào được chọn và d là chiều của việc gửi lại mã thông báo, x. Chuyên gia có

xác suất lớn nhất tương ứng với


Machine Translated by Google

148 Máy biến áp cho học máy: Tìm hiểu sâu

thành phần lớn nhất của 5,75: p(x) = (p1, . . . , pN ), gọi nó là pj , và được sử dụng để

tính toán biểu diễn mã thông báo được cập nhật. Vì vậy, mặc dù các thông số

đã tăng gấp bốn lần nhờ có bốn mạng chuyển tiếp nguồn cấp dữ liệu, cứng

định tuyến đảm bảo rằng chi phí tính toán vẫn giữ nguyên. Như vậy

mạng chuyển tiếp nguồn cấp dữ liệu cho phép mở rộng quy mô của các chuyên gia tới bất kỳ

số (bị ràng buộc bởi dung lượng bộ nhớ) mà không tăng tính toán
chi phí và không cần bất kỳ sự chuyển giao nào sẽ giúp ích trong quá trình phân chia.

Tính song song của mô hình sẽ phân chia mô hình trên các thiết bị (lõi/máy)

trong khi sử dụng cùng một dữ liệu trong lô, dẫn đến một lượng lớn
mô hình xử lý chậm hơn do luồng tuần tự; nút cổ chai được giới thiệu bởi giao tiếp.

Mặt khác, tính song song của dữ liệu giữ cho

mô hình có trọng số không đổi và chia nhỏ dữ liệu, cho phép cải thiện

tốc độ tính toán nhưng mô hình có công suất thấp hơn do kích thước. Công tắc

Transformer sử dụng dữ liệu và tính song song của chuyên gia—tức là mỗi dữ liệu được

được phân chia cho một chuyên gia trên một thiết bị sử dụng trọng số chuyên gia của nó để

tính toán. Bản thân các chuyên gia được phân bổ và không liên lạc với nhau, dẫn đến

sự song song hoàn toàn và chi phí tính toán thấp hơn. Các tác giả sử dụng các chuyên

gia, dữ liệu và mô hình song song

để mở rộng quy mô thành một mô hình khổng lồ mà ngay cả một chuyên gia cũng không phù hợp
thiết bị.

So với T5-Base và T5-large, máy biến áp công tắc hiển thị

với cùng FLOPS, các mô hình có thể rất lớn và

vượt trội trong nhiều nhiệm vụ ngôn ngữ tự nhiên và trong các chế độ đào tạo khác

nhau, chẳng hạn như đào tạo trước, tinh chỉnh và đào tạo đa nhiệm.

Kết quả đa ngôn ngữ ấn tượng hơn khi chúng cho thấy mức tăng so với mô hình MT5

tương đương trên 101 ngôn ngữ.

5.5 NGHIÊN CỨU TRƯỜNG HỢP: PHÂN TÍCH TÌNH CẢM

5.5.1 Mục tiêu

Nghiên cứu điển hình này xem xét trọng số chú ý của mô hình T5 được

tinh chỉnh để trích xuất khoảng tình cảm. Đầu vào của mô hình trích xuất khoảng này

là một khoảng văn bản chứa tình cảm tích cực hoặc tiêu cực.

Đầu ra là chuỗi con của văn bản đầu vào làm cho khoảng

có tình cảm xác định.

5.5.2 Dữ liệu, Công cụ và Thư viện

pip cài đặt ngọn đuốc máy biến áp câu bertviz

Liệt kê 5.1 Thiết lập môi trường Python


Machine Translated by Google

Sửa đổi máy biến áp 149

Để sử dụng mô hình này, chúng ta sẽ cần ba thư viện Python: máy biến áp của

Huggingface, câu của Google và thư viện bertviz. Chúng có thể được cài đặt bằng cách

chạy lệnh shell được hiển thị trong Liệt kê 5.1. Sau khi môi trường được thiết lập, mô

hình và mã thông báo có thể được tải vào bộ nhớ, như trong Liệt kê 5.2.

nhập khẩu ngọn


đuốc từ máy biến áp nhập khẩu T5ForConditionalGeneration,
AutoTokenizer
nhập numpy dưới dạng np

# Sử dụng GPU, nếu có thiết


bị = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_name =

"mrm8488/t5-base-finetuned-span-sentiment-extract"
tokenizer = AutoTokenizer.from_pretrain(model_name) model =

T5ForConditionalGeneration.from_pretrain(model_name) model =
model.to(device)

Liệt kê 5.2 Mô hình tải và mã thông báo

Để trích xuất cảm xúc theo mô hình này, bạn có thể sử dụng

hàm được định nghĩa trong Liệt kê 5.3.

def get_sentiment_span(văn bản, tình cảm):


query = f"question: {sentiment} bối cảnh: {text}"
input_ids = tokenizer.encode(query, return_tensors="pt",
add_special_tokens=True)
input_ids = input_ids.to(device)
generate_ids = model.generate(input_ids=input_ids, num_beams=1,

max_length=80).squeeze()
dự đoán_span = tokenizer.decode(generated_ids,
Skip_special_tokens=True,
clean_up_tokenization_spaces=True)
trả lại dự đoán_span

text = "Bạn là người tốt nhưng chân bạn hôi quá."


get_sentiment_span(text, "tích cực") # >
'người tốt'

get_sentiment_span(văn bản, "tiêu cực") #


> 'chân bạn bốc mùi.'

Liệt kê 5.3 Trích xuất khoảng cảm xúc từ văn bản đầu vào
Machine Translated by Google

150 Máy biến áp cho học máy: Tìm hiểu sâu

Mô hình lấy đầu vào theo dạng sau:

câu hỏi: bối cảnh [tích cực/tiêu cực]: [văn bản thể hiện tình cảm cụ thể].

Nghiên cứu điển hình này tập trung vào tình cảm tích cực trong một chuỗi văn
bản có cả tình cảm tích cực và tiêu cực. Dòng chữ có nội dung “Bạn là người tốt
nhưng chân bạn lại có mùi hôi”. Do đó, đối với cảm xúc tích cực, văn bản đầu
vào đầy đủ của mô hình trích xuất span là “câu hỏi: bối cảnh tích cực: Bạn là
người tốt, nhưng chân bạn lại hôi”.

5.5.3 Thí nghiệm, kết quả và phân tích

Có nhiều phương pháp đã được sử dụng để phân tích ảnh hưởng của cơ chế chú ý
đến đầu ra của mô hình.

Chúng ta sẽ chỉ xem xét một điều: đơn giản là hình dung các trọng số của sự chú ý

(với BertViz [255]).

5.5.3.1 Hình dung sự chú ý của trọng lượng đầu

Mô hình T5 có 12 lớp, mỗi lớp có ba cơ chế chú ý:

1. bộ mã hóa tự chú ý

2. Bộ giải mã tự chú ý

3. gây chú ý chéo

Mỗi cơ chế chú ý có 12 đầu và do đó có 144 bộ trọng số chú ý, một bộ cho mỗi
lựa chọn lớp và đầu chú ý. Chúng ta sẽ sử dụng thư viện BertViz [255] để xem

trọng số của các đầu chú ý, điều này được hiển thị trong Liệt kê 5.4.

từ nhập khẩu bertviz head_view

def view_cross_attn_heads(văn bản, tình cảm, lớp=Không có, đầu=Không có):

query = f"question: bối cảnh {sentiment}: {text}" input_ids =


tokenizer.encode(query, return_tensors="pt", add_special_tokens=True)
input_ids = input_ids.to(device)

với ngọn đuốc.no_grad():


Machine Translated by Google

Sửa đổi máy biến áp 151

đầu ra = model.forward(input_ids=input_ids, bộ giải


mã_input_ids=input_ids, đầu
ra_attentions=True,
return_dict=True)

token = tokenizer.convert_ids_to_tokens(input_ids[0])
head_view(output.cross_attentions, token, layer=layer, head=heads)

def view_decoding_attn_heads(văn bản, tình cảm, lớp=Không có,


đầu=Không có):

query = f"câu hỏi: bối cảnh {sentiment}: {text}"


input_ids = tokenizer.encode(query, return_tensors="pt",
add_special_tokens=True)
input_ids = input_ids.to(thiết bị)

với ngọn đuốc.no_grad():


đầu ra = model.forward(input_ids=input_ids,
bộ giải mã_input_ids=input_ids,
out_attentions=True,
return_dict=True)

mã thông báo = tokenizer.convert_ids_to_tokens(input_ids[0])


head_view(output.decoding_attentions, token, layer=layer,
đầu=đầu)

def view_encoding_attn_heads(văn bản, tình cảm, lớp=Không có,


đầu=Không có):

query = f"question: bối cảnh {sentiment}: {text}" input_ids =


tokenizer.encode(query, return_tensors="pt", add_special_tokens=True)
input_ids = input_ids.to(device)

với ngọn đuốc.no_grad():


đầu ra = model.forward(input_ids=input_ids,
bộ giải mã_input_ids=input_ids,
out_attentions=True,
return_dict=True)

mã thông báo = tokenizer.convert_ids_to_tokens(input_ids[0])


head_view(output.encoding_attentions, token, layer=layer,
đầu=đầu)
Machine Translated by Google

152 Máy biến áp cho học máy: Tìm hiểu sâu

view_cross_attn_heads(văn bản, "tích cực")


view_decoding_attn_heads(văn bản, "tích cực")
view_encoding_attn_heads(văn bản, "tích cực")

Liệt kê 5.4 Trực quan hóa trọng số của sự chú ý

Để bắt đầu, chúng tôi muốn xem liệu trọng số của bất kỳ đầu chú ý nào có hiển thị

từ “tích cực” trong văn bản đầu vào liên quan đến bất kỳ mã thông báo nào trong chuỗi

sau được trích xuất hay không.

Chúng ta có thể thấy rằng “tích cực” liên quan đến “tốt đẹp” trong ba đầu của sự

chú ý của bộ mã hóa. Chúng được thể hiện trong hình 5.16. Trong năm đầu của cơ chế

chú ý chéo, “tích cực” và “tốt đẹp” đều hướng đến “con người”.

Chúng được thể hiện trong hình 5.17.

5.5.3.2 Phân tích

Trong khi có 11 người chú ý (trong số 432 người) thể hiện sự chú ý mạnh mẽ giữa “tích

cực” và sự chú ý, thậm chí còn có nhiều người khác không làm như vậy. Nhiều đầu chú ý

khác trong mô hình trích xuất khoảng thuộc loại mẫu chú ý được hiển thị trong [57],

đặc biệt là chú ý rộng rãi trong đó mỗi mã thông báo tham dự gần như mọi mã thông báo

khác và loại mà mỗi mã thông báo tham dự mã thông báo sau.

Phân tích trên đặt ra câu hỏi về khả năng sử dụng trọng số chú ý để giải thích các

dự đoán. Và gần đây, [143] nhận thấy phân tích trọng số chú ý trình bày ở trên là một

phương pháp kém để phân tích

Hình 5.16 Bộ mã hóa chú ý đến các đầu từ lớp 3 (đầu 5), 4 (đầu 11) và 6 (đầu 11), từ

trái sang phải.


Machine Translated by Google

Sửa đổi máy biến áp 153

Hình 5.17 Các đầu chú ý chéo từ các lớp 8, 9 và 10. Hàng trên cùng hiển
thị các đầu 1, 2 và 11 của lớp 8 (từ trái sang phải). Hàng dưới cùng
hiển thị đầu 0 của lớp 9 và đầu 1 của lớp 10.

một cơ chế chú ý Có một số bài viết đề xuất các phương pháp phân tích
khác. Chúng tôi sẽ mô tả một trong số chúng dưới đây.
Định mức đầu ra của cơ chế chú ý Phân tích một cơ chế chú ý bằng
cách sử dụng định mức của các thành phần đầu ra của nó được đề xuất
bởi [143]. Nhớ lại (5.29), cho thấy cách xác định sự tự chú ý trong
máy biến áp tiêu chuẩn cho một đầu chú ý duy nhất. Như được hiển thị
trong (2.19), sau khi nối các đầu chú ý, chúng ta áp dụng một lớp tuyến
tính để thu được đầu ra của cơ chế chú ý. Lớp tuyến tính
Machine Translated by Google

154 Máy biến áp cho học máy: Tìm hiểu sâu

có trọng số WO, mang lại cho cơ chế kết quả sau:

L
yi = Aijv(xj ) (5,76)
j=1 WO
L
= (5,77)
Aij f(xj )
j=1

trong đó Aij là trọng số chú ý từ (5.27), v(xj ) là một


vectơ giá trị từ 5.25, và f(xj ) = v(xj )WO. f(xj ) là đầu ra
của cơ chế chú ý tương ứng với mã thông báo đầu vào j xj . quần què

Trong [143], Kobayashi và cộng sự. đặc biệt đề nghị sử dụng ||Aijf(xj )||
vì đó là mức độ mà tôi chú ý đến mã thông báo j. Họ cũng chứng minh rằng ||

f(xj )|| và Aij là những đại lượng có ý nghĩa và đôi khi đóng vai trò trái
ngược nhau trong việc xác định hành vi của mô hình.
Machine Translated by Google

CHƯƠNG 6

Được đào tạo trước và

Ứng dụng cụ thể


Máy biến áp

Kiến trúc máy biến áp được giới thiệu như một mô hình ngôn ngữ
đã chuyển văn bản trong một ngôn ngữ này thành văn bản ở một ngôn ngữ khác-

thước đo [254]. Kể từ ứng dụng đầu tiên đó cho dịch máy, kiến trúc máy biến áp đã
được áp dụng cho thị giác máy tính, xử lý âm thanh và xử lý video cũng như các vấn

đề khác trong NLP. Kiến trúc máy biến áp đã được chứng minh là một cách đáng tin cậy

để lấy chuỗi đầu vào và chuyển đổi nó thành một thứ khác.

6.1 XỬ LÝ VĂN BẢN

Phần này mô tả một số cách mà biến áp đã được áp dụng để xử lý văn bản theo miền cụ

thể và một tiến bộ gần đây được thực hiện trong trình tự văn bản đối với xử lý trình

tự văn bản.

6.1.1 Máy biến áp dành riêng cho miền

Máy biến áp đã được tạo ra cho các ứng dụng dành riêng cho miền bằng cách tinh chỉnh

các mô hình được đào tạo trước như BERT. Chúng ta sẽ xem xét một vài.

6.1.1.1 BioBERT

BioBERT [152] là mô hình ngôn ngữ dành riêng cho miền được xây dựng bằng cách tinh
chỉnh BERT trên một bộ sưu tập lớn văn bản y sinh. BioBERT là

DOI: 10.1201/9781003170082-6 155


Machine Translated by Google

156 Máy biến áp cho học máy: Tìm hiểu sâu

được tạo ra vì ELMo và BERT không hoạt động tốt trong lĩnh vực y sinh

văn bản vì dữ liệu đào tạo của họ không bao gồm nó. BioBERT vượt trội hơn các mô hình

trước đó về ba nhiệm vụ NLP hữu ích cho văn bản y sinh

khai thác: nhận dạng thực thể được đặt tên (NER), trích xuất mối quan hệ và

trả lời câu hỏi (QA).

Có ba bước để chuyển từ mô hình BERT được đào tạo trước sang mô hình

Mô hình BioBERT Điểm khởi đầu là mô hình BERT được đào tạo trước. Các

Bước tiếp theo là đào tạo trước mô hình về tóm tắt PubMed và PubMed

Bài viết toàn văn trung tâm. Cuối cùng, sau khi quá trình đào tạo trước kết thúc, BioBERT

được tinh chỉnh thêm về NER, trích xuất mối quan hệ và câu hỏi

trả lời các nhiệm vụ, sử dụng bộ dữ liệu dành riêng cho nhiệm vụ.

BioBERT sử dụng từ vựng BERT viết theo cách không thay đổi. Họ có

không làm điều này, họ sẽ không thể bắt đầu với một nhân viên được đào tạo trước

mô hình BERT. BioBERT được đào tạo trong 23 ngày, trên 8 máy NVIDIA Volta
GPU V100.

6.1.1.2 Khoa học viễn tưởng

SciBERT [24] là mô hình ngôn ngữ được xây dựng để xử lý văn bản khoa học. Nó

sử dụng kiến trúc BERT, nhưng đã được đào tạo về toàn văn và tóm tắt của 1,4

triệu bài báo từ trang web Semantic Scholar ( semanticcholar.org).

Giống như BERT, SciBERT sử dụng mã thông báo WordPiece với 30.000 to-ken, nhưng nó

không sử dụng vốn từ vựng của BERT. Thay vào đó, kho từ vựng của SciBERT được xây dựng

từ kho ngữ liệu Semantic Scholar. SciBERT đã được đánh giá

về năm nhiệm vụ NLP: NER, trích xuất PICO, phân loại văn bản, trích xuất mối quan hệ và

phân tích cú pháp phụ thuộc. Trích xuất PICO là một chuỗi

nhiệm vụ dán nhãn áp dụng cho các bài viết về thử nghiệm lâm sàng trong đó một mô hình

trích xuất các phạm vi đề cập đến những người tham gia, các biện pháp can thiệp, so sánh,

hoặc kết quả của một thử nghiệm lâm sàng. Quá trình đào tạo mất một tuần trên 8 lõi đơn
TPU.

6.1.1.3 FinBERT

Với mô hình ULMFit [119], Howard và Ruder đã chỉ ra rằng việc điều chỉnh

một mô hình ngôn ngữ đã được đào tạo trước trên kho ngữ liệu từ miền đích

dẫn đến các số liệu phân loại được cải thiện. FinBERT [7] là kết quả của

xem liệu ý tưởng tương tự có thể được áp dụng cho BERT hay không, với giá trị bằng hoặc lớn hơn

thành công. FinBERT cố gắng thực hiện điều này theo hai cách: (1) đào tạo thêm trước về

một kho dữ liệu tài chính lớn và (2) chỉ đào tạo trước các câu từ một

tập hợp phân tích tình cảm tài chính. Để đào tạo trước, FinBERT sử dụng
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 157

tập hợp con của tập dữ liệu Reuters TRC2 đã được lọc để phục vụ mục đích tài chính

từ khóa. Kho văn bản thu được có hơn 29 triệu từ, trên 46.143

các tài liệu. Để phân tích tình cảm, bộ dữ liệu Financial Phrasebank là
đã sử dụng. Nó có 4845 câu từ LexisNexis.

6.1.2 Bộ biến đổi văn bản thành văn bản

Như đã thảo luận ở phần 5.3.2, mô hình T5 của Raffel et al. [205] đã đóng khung lại

các tác vụ NLP tiêu chuẩn dưới dạng chuyển đổi văn bản thành văn bản, trong đó

đầu vào và đầu ra là chuỗi. Kể từ khi giới thiệu T5, đã có

là hai tiến bộ quan trọng: một phiên bản đa ngôn ngữ có tên mT5

[281], hỗ trợ 101 ngôn ngữ và một biến thể không có mã thông báo hoạt động

trực tiếp trên byte UTF-8, ByT5 [280]. Trong phần này, chúng tôi thảo luận về ByT5.

6.1.2.1 ByT5

ByT5 [280] là mô hình cấp byte, tận dụng các chuỗi được mã hóa dưới dạng chuỗi byte

UTF-8. Một phần động lực cho ByT5 này

là các mô hình không có mã thông báo sẽ mạnh mẽ hơn đối với những từ vựng không có sẵn

từ, lỗi chính tả, cách viết hoa và những thay đổi về hình thái. Không có token

mô hình sẽ không sử dụng từ vựng cố định để ánh xạ bài kiểm tra tới mã thông báo. Một

mô hình cấp byte sẽ chỉ cần 256 vectơ nhúng thay vì số lượng lớn

số lượng cần thiết khi sử dụng một từ vựng cố định. Sự sụt giảm lớn về

kích thước từ vựng đi kèm với việc sử dụng byte có nghĩa là có thể có nhiều tham số hơn
được sử dụng ở nơi khác trong mô hình.

Do các chuỗi byte dài hơn các chuỗi mã thông báo và độ phức tạp tính toán của

phép chuyển đổi là bậc hai về độ dài chuỗi (ngoại trừ sự chú ý được tuyến tính hóa),

công việc trước đó đã cố gắng giảm thiểu độ phức tạp ngày càng tăng đi kèm với việc

sử dụng cấp độ byte và cấp độ ký tự.

trình tự. ByT5 bắt đầu với kiến trúc mT5, nhưng khác với mT5

theo một số cách. Thứ nhất, không có mã thông báo SentencePiece. Các byte UTF-8 thô

được sử dụng làm đầu vào và các phần nhúng được học cho mỗi

256 byte. Ngoài ra, có ba mã thông báo đặc biệt được thêm vào từ vựng: mã thông báo

đệm, mã thông báo EOS và mã thông báo không xác định. Các

nhiệm vụ đào tạo trước được thay đổi sao cho độ dài của phần bị che của

nhịp đầu vào dài hơn in trong T5. trong T5, bộ mã hóa và giải mã

mô-đun có cùng số lớp. Hạn chế đó được loại bỏ trong

ByT5 và bộ mã hóa của nó có số lớp gấp ba lần bộ giải mã.

Cuối cùng, các byte UTF-8 bất hợp pháp sẽ bị xóa khỏi đầu ra.
Machine Translated by Google

158 Máy biến áp cho học máy: Tìm hiểu sâu

Như đã thảo luận ở trên, tính mạnh mẽ là một trong những lợi ích được giả thuyết

khi làm việc với byte thay vì mã thông báo. Để kiểm tra tính khả thi của giả

thuyết, các tác giả đã thêm sáu loại nhiễu vào dữ liệu và xem nó ảnh hưởng đến hiệu

suất như thế nào:

1. Thực hiện xóa bằng cách cho mỗi nhân vật có 10% cơ hội xuất hiện
đã xóa.

2. Cho mỗi nhân vật 10% cơ hội được thêm, xóa hoặc biến đổi

(với xác suất ngang nhau).

3. Cho mỗi nhân vật 20% cơ hội được nhân đôi 1-3 lần.

4. Viết hoa mỗi ký tự và đệm nó bằng dấu cách.

5. Viết hoa mỗi ký tự khi ngôn ngữ sử dụng chữ hoa chữ thường.

6. Đặt ngẫu nhiên kiểu chữ của từng ký tự khi sử dụng ngôn ngữ
trường hợp.

Nhiễu được đưa vào theo một trong hai cách: vào dữ liệu tinh chỉnh và đánh giá

hoặc chỉ vào dữ liệu đánh giá. Đối với bài tập trả lời câu hỏi, tiếng ồn được thêm

vào ngữ cảnh nhưng không được thêm vào câu hỏi hoặc câu trả lời. Đối với nhiệm vụ

huấn luyện đòi hỏi câu, tiếng ồn được thêm vào tiền đề và giả thuyết. Đối với cả

hai loại tiếng ồn, bài báo cho thấy ByT5 thực sự có khả năng chống ồn tốt hơn mT5.

6.1.3 Tạo văn bản

Một trong những thành công nổi tiếng nhất của các mô hình ngôn ngữ dựa trên máy biến

áp là việc tạo văn bản với các mô hình ngôn ngữ GPT-2 và GPT-3, được xây dựng từ

các lớp bộ giải mã máy biến áp.

6.1.3.1 GPT: Đào tạo trước mang tính sáng tạo

Nhóm các mô hình đào tạo trước tổng quát là một phần của xu hướng mô hình hóa ngôn

ngữ trong đó mô hình lần đầu tiên được đào tạo trên dữ liệu không được giám sát,

theo kiểu bất khả tri về nhiệm vụ và sau đó được tinh chỉnh cho một nhiệm vụ cụ thể.

Mô hình đầu tiên trong họ này, cùng tên GPT [202], trước tiên huấn luyện trước một
chồng các lớp bộ giải mã máy biến áp trên một lượng lớn văn bản không được gắn nhãn

và sau đó được tinh chỉnh trên dữ liệu dành riêng cho nhiệm vụ được gắn nhãn. GPT

là một mô hình tự hồi quy, có nghĩa là nó sử dụng dữ liệu đầu vào từ các bước trước

của trình tự để dự đoán các giá trị sau trong trình tự. GPT được đánh giá dựa trên bốn loại
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 159

Nhiệm vụ hiểu ngôn ngữ tự nhiên: suy luận ngôn ngữ tự nhiên, trả lời câu
hỏi, tương tự ngữ nghĩa và phân loại văn bản.

Đào tạo trước không được giám sát Trong giai đoạn này, GPT bắt đầu với một tập hợp mã

thông báo và di chuyển qua đó, học cách dự đoán mã thông báo tiếp theo, dựa trên một

số ngữ cảnh trước đó. Chính thức hơn, với một kho văn bản không được gắn nhãn U =

(w1, . . . , wn), mô hình học xác suất có điều kiện của việc đoán trước mã thông báo

wt với k mã thông báo trước đó , P(wt |wt 1, . . . , wt k), bằng cách giảm thiểu khả

năng ghi nhật ký âm

L1(U) = log P(wt |wt 1, . . . , wt k; Θ) (6.1)


t

trong đó Θ đại diện cho các tham số mô hình. Tối ưu hóa là giảm độ dốc ngẫu nhiên.

Tinh chỉnh có giám sát Trong giai đoạn này, mô hình được tinh chỉnh trên kho văn bản

có nhãn, dành riêng cho nhiệm vụ, C, trong đó mỗi điểm dữ liệu là một chuỗi mã thông

báo x = (x1, . . . , xm) và nhãn lớp y . Mô hình bộ giải mã được đào tạo trước được sử

dụng làm bộ tạo đặc trưng cho dữ liệu được gắn nhãn và lớp tuyến tính được kết nối đầy

đủ, với kích hoạt softmax và ma trận trọng số W, được thêm vào nó và được đào tạo bằng

cách giảm thiểu khả năng ghi nhật ký âm thứ hai

L2(C) = log P(y|x;W) (x,y) (6.2)

Radford và cộng sự. nhận thấy rằng mô hình hội tụ nhanh hơn và tổng quát hóa tốt

hơn khi mục tiêu mô hình hóa ngôn ngữ từ giai đoạn không giám sát, (6.1), được thêm vào

(6.2). Vì vậy, mục tiêu đầy đủ là tổng có trọng số L2(C) + λL1(C).

Định dạng dữ liệu để tinh chỉnh Dữ liệu cho từng nhiệm vụ trong bốn nhiệm vụ đào

tạo được định dạng khác nhau:

• Dữ liệu phân loại văn bản có định dạng đơn giản; mỗi phiên bản được đặt trong

dấu ngoặc với mã thông báo bắt đầu và kết thúc, do đó đầu vào được định dạng như

[s, văn bản,/s].

• Một thể hiện suy luận ngôn ngữ tự nhiên (NLI) có hai phần, tiền đề p và giả

thuyết h. Các nhãn có thể mang tính kế thừa, mâu thuẫn hoặc trung tính. Đầu vào

được định dạng như [s, p, $, h,/s], trong đó $ là mã thông báo phân cách.
Machine Translated by Google

160 Máy biến áp cho học máy: Tìm hiểu sâu

• Một thể hiện tương tự văn bản có hai chuỗi văn bản, có thể ở dạng

bất cứ yêu cầu; vì vậy cả hai đơn hàng đều được bao gồm. Đầu vào được định dạng như
một trường hợp kế thừa.

• Đối với việc trả lời câu hỏi và lý luận thông thường, các câu hỏi trắc nghiệm

AKA, mỗi trường hợp là một chuỗi ngữ cảnh, một câu hỏi và

một tập hợp k câu trả lời có thể có, {ak}. Từ một trường hợp như vậy, mô hình k

đầu vào được xây dựng bằng cách nối ngữ cảnh, câu hỏi,

mã thông báo dấu phân cách $ và một trong những câu trả lời có thể có. Mỗi cái được sử dụng

như một đầu vào riêng biệt.

Đào tạo mô hình Mô hình này là một tập hợp gồm 12 lớp giải mã máy biến áp, với 12

đầu tự chú ý đeo mặt nạ. Kích thước mô hình là 768,

các lớp chuyển tiếp sử dụng df f = 3072. Đã học cách nhúng vị trí,
thay vì các phần nhúng cố định được sử dụng trong Máy biến áp tiêu chuẩn.

Dữ liệu đào tạo trước Quá trình đào tạo trước mô hình ngôn ngữ có trên bộ dữ liệu

BooksCor-pus [303] và 1B Word Benchmark [197] .

Tinh chỉnh dữ liệu Một số dữ liệu được lấy từ đa tác vụ GLUE

điểm chuẩn [257]. Năm bộ dữ liệu NLI đã được sử dụng: SNLI, MNLI, QNLI, Sc-iTail và

RTE. Dữ liệu trắc nghiệm được lấy từ bộ dữ liệu RACE [145].

Đánh giá dựa trên tập dữ liệu Story Cloze Test [190]. Sự giống nhau về mặt ngữ nghĩa

có trong kho dữ liệu Diễn giải của Microsoft (MRPC) [75], Quora

Bộ dữ liệu Cặp câu hỏi (QQP) [43] và Độ tương tự văn bản ngữ nghĩa

điểm chuẩn (STS-B) [38]. Phân loại văn bản được đánh giá trên The Cor-pus of

Linguistic Acceptability (CoLA) [264] và Stanford Sentiment

Ngân hàng cây (SST-2) [230].

6.1.3.2 GPT-2

Nếu mô hình GPT đầu tiên thể hiện được sức mạnh của khả năng sáng tạo

đào tạo trước thì GPT-2 [203] cho thấy một mô hình ngôn ngữ có thể học

các nhiệm vụ NLP cụ thể mà không được đào tạo rõ ràng về các nhiệm vụ đó.

Đây là loại ứng dụng zero-shot tương tự của mô hình được thảo luận trong

Chương 3 và 4.

Kiến trúc mô hình Tương tự như GPT, GPT-2 sử dụng một dãy máy biến áp

các khối giải mã. Bộ giải mã được sửa đổi một chút. Trong tiêu chuẩn

máy biến áp, mô-đun định mức lớp xuất hiện sau sự chú ý của nhiều đầu
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 161

và sau mạng chuyển tiếp theo vị trí, như một phần của kết nối dư. Thay vào đó, trong

GPT-2, mô-đun định mức lớp xuất hiện trước sự chú ý của nhiều đầu và trước quá trình

tiếp liệu theo vị trí. Kết nối còn lại bây giờ chỉ bao gồm phần bổ sung, thay vì phần

bổ sung và định mức lớp. Một mô-đun định mức lớp bổ sung được đặt trong khối giải mã

cuối cùng, sau sự chú ý của nhiều đầu. Trọng số của các lớp dư được khởi tạo khác

với trong mô hình GPT. Trọng số của lớp dư được chia cho 1/ √ N, trong đó N là số lớp

dư trong toàn bộ mô hình.

GPT-2 sử dụng mã thông báo mã hóa cặp byte (BPE) [92] để bất kỳ chuỗi UTF-8 nào

cũng có thể được biểu diễn bằng từ vựng chỉ 256 byte. Việc tính toán với các byte

UTF-8 thô chưa được thực hiện ở đây vì các mô hình ngôn ngữ cấp byte không hoạt động

ở cấp độ mô hình ngôn ngữ cấp độ từ.


1

Bốn biến thể với kiến trúc được mô tả đã được huấn luyện. Các

mẫu lớn nhất trong số bốn mẫu này là mẫu có tên "GPT-2". Nó có 1,542 tỷ tham số và sử

dụng 48 lớp giải mã máy biến áp. Mỗi cái được đánh giá trên một số bộ dữ liệu mô hình

hóa ngôn ngữ mà không cần đào tạo thêm.

GPT-2 đã đạt được tính năng tiên tiến nhất trên bảy trong số tám bộ dữ liệu.

6.1.3.3 GPT-3

GPT-3 [32] là một phần của xu hướng trong các mô hình ngôn ngữ biến đổi trong đó việc
tăng số lượng tham số dẫn đến tăng khả năng của mô hình ngôn ngữ trong việc thực hiện

các tác vụ xuôi dòng mà không cần đào tạo cụ thể về nhiệm vụ.

Kiến trúc mô hình GPT-3 sử dụng kiến trúc mô hình giống như GPT-2, với một ngoại lệ:

các cơ chế chú ý trong các lớp biến áp xen kẽ giữa các mẫu thưa thớt dải tần dày đặc

và cục bộ. Mẫu dải thưa thớt đã được sử dụng trong Máy biến áp thưa thớt [50] bằng

cách chỉ tính toán sự chú ý giữa một số cặp khóa truy vấn được lựa chọn thưa thớt.

Để nghiên cứu ảnh hưởng của việc đếm tham số trong việc học theo ngữ cảnh, Brown

và cộng sự. đã đào tạo tám mô hình có kích cỡ khác nhau. Mô hình nhỏ nhất, “GPT-3

Small” có 125 triệu tham số, 12 lớp giải mã Transformer, kích thước mô hình là 768,

12 đầu chú ý, mỗi đầu chú ý có kích thước 64 ( dk = dv = 64), mã thông báo được xử lý

theo lô 500.000 ,

1Lưu ý rằng điều này đã thay đổi vào năm 2021 với sự ra đời của mô hình ngôn
ngữ ByT5 [280].
Machine Translated by Google

162 Máy biến áp cho học máy: Tìm hiểu sâu

và sử dụng tỷ lệ học tập 6e-4. Model lớn nhất, “GPT-3 175B” hay chỉ
“GPT-3”, có 175 tỷ tham số, 96 lớp giải mã Transformer, kích thước mô hình
12288, 96 đầu chú ý, kích thước đầu 128 (dk = dv = 128), đã được xử lý mã
thông báo theo lô 3,2 triệu và sử dụng tỷ lệ học tập 0,6e-4. GPT-3 có số
lượng thông số gấp hơn 1000 lần so với GPT-3 nhỏ. Tất cả các mô hình đều
được đào tạo trên 300 tỷ mã thông báo và sử dụng cửa sổ ngữ cảnh gồm 2048

mã thông báo. Lưu ý rằng mạng chuyển tiếp theo vị trí có df f = 4dmodel.
Các mô hình lớn hơn sử dụng kích thước lô lớn hơn sử dụng tốc độ học tập
nhỏ hơn.

Hiệu suất Một số kích thước của mô hình GPT-3 đã được đánh giá cho khả
năng học không, một lần và ít lần bắn, Brown và cộng sự. mô tả các loại
hình học tập trong ngữ cảnh khác nhau. Với kiểu học vài lần, GPT-3 cung
cấp cho mô hình nhiều ví dụ về nhiệm vụ mong muốn sẽ phù hợp với cửa sổ
ngữ cảnh (10–100 ví dụ). Học một lần sau đó sẽ cung cấp một ví dụ và mô
tả nhiệm vụ, trong khi phương pháp zero-shot không cung cấp ví dụ nào mà
chỉ cung cấp mô tả nhiệm vụ. Không có cập nhật độ dốc hoặc tinh chỉnh.
Mô hình được đánh giá trên 12 bộ dữ liệu NLP.

Kết quả cho thấy khi số lượng tham số mô hình tăng lên, mô hình cần
ít phần trình diễn hơn để học cách thực hiện một nhiệm vụ (và do đó đạt
được mục tiêu chính xác nhất định). Khi sử dụng vài lần chụp, hiệu suất
của mô hình sẽ tăng nhanh hơn theo kích thước mô hình, cho thấy các mô
hình lớn hơn sẽ học tập trong ngữ cảnh tốt hơn.

Đánh giá và điều hòa mô hình Đối với một vài cảnh quay, K ví dụ được rút
ngẫu nhiên từ tập huấn luyện (hoặc tập phát triển nếu không có tập huấn
luyện được gắn nhãn) để sử dụng làm điều hòa, cách nhau 1–2 dòng mới. K
thay đổi từ 0 đến kích thước của cửa sổ ngữ cảnh. Một số ví dụ chỉ có phần
mô tả nhiệm vụ được sử dụng làm điều kiện. Đối với các nhiệm vụ có nhiều
lựa chọn, K ví dụ về ngữ cảnh với lựa chọn đúng được sử dụng làm điều
kiện và một ví dụ bổ sung về ngữ cảnh chỉ là mục cần hoàn thành. Giống như
GPT-2, điểm khả năng của mô hình ngôn ngữ cho mỗi lần hoàn thành có thể
được tính điểm. Phân loại nhị phân thường được coi là một câu hỏi trắc
nghiệm, trong đó các câu trả lời có thể là những từ có ý nghĩa, như “tích
cực” hoặc “tiêu cực”. Trong một số trường hợp, tác vụ này được định dạng
giống như mô hình T5. Các nhiệm vụ điền vào chỗ trống đã được hoàn thành
bằng cách sử dụng tìm kiếm chùm tia. Xem tài liệu chuyên đề để biết ví dụ
từ mọi tập dữ liệu được sử dụng để đánh giá GPT-3.
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 163

Mỗi kích thước của mô hình GPT-3 cũng đã được thử nghiệm trên một số

nhiệm vụ khác bằng cách sử dụng điều kiện không, một hoặc vài lần: sắp
xếp lại các từ, so sánh SAT, số học, sử dụng các từ bất thường trong câu
sau khi nhìn thấy từ được xác định, tạo ra nội dung bài báo và sửa lỗi
ngữ pháp tiếng Anh.

6.2 TẦM NHÌN MÁY TÍNH

Ứng dụng rõ ràng nhất của máy biến áp để xử lý hình ảnh là nhận dạng tuổi hình ảnh (phân

loại hình ảnh AKA). Trước máy biến áp, chất lượng cao nhất trong nhận dạng hình ảnh đến từ

mạng lưới thần kinh tích chập (CNN) [150]. Có một số mô hình biến áp thuần túy được áp

dụng để nhận dạng hình ảnh có khả năng cạnh tranh với các mô hình CNN tiên tiến nhất. Trong

phần này, chúng tôi tập trung vào Vision Transformer (ViT) [78], được giới thiệu để xem

các mô hình biến áp thuần túy có thể có hiệu quả như thế nào đối với thị giác máy tính.

6.2.1 Máy biến áp tầm nhìn

Cho một hình ảnh có các kênh có độ phân giải H × W và C , hình ảnh có thể được biểu thị

bằng x R H×W×C. ViT bắt đầu bằng cách chia hình ảnh hai chiều thành một chuỗi N mảng
2
·C)
hình ảnh, xp R N×(P với độ phân giải P × P, trong đó N = HW/P2 . Chuỗi các mảng hình ,

ảnh giống như chuỗi mã thông báo trong tiêu chuẩn máy biến áp [254].

Trước khi gửi chuỗi bản vá qua lớp nhúng, phần nhúng có thể học được tương tự như mã

thông báo [CLS] trong BERT, xcls được thêm vào trước mỗi vectơ bản vá. Vậy xp [xcls; xp].

Sử dụng lớp nhúng, E R (P Epos R (N+1)×D, chúng tôi tính toán đầu vào cho Máy biến
2
áp. D là kích thước ẩn của ·C)×D và mã hóa vị trí một chiều,

Máy biến áp.

(1) (N)
z0 = [xcls; x P E; · · · ; xp _ E] + Sử thi (6.3)

Từ đây, z0 được chuyển vào bộ mã hóa máy biến áp tiêu chuẩn


kiến trúc với các lớp mã hóa L :

z tôi = MultiHeadAttn(LayerNorm(zl 1) + zl 1 zl = F (6.4)

eedFwd(LayerNorm(zl) + z l y = LayerNorm(z (6.5)


0
L), (6.6)
Machine Translated by Google

164 Máy biến áp cho học máy: Tìm hiểu sâu

0
trong đó l = 1, . . . , L và z L là phần nhúng phân loại cho lớp mã hóa cuối

cùng. Ngoài ra, lớp chuyển tiếp nguồn cấp dữ liệu có hai lớp được kết nối đầy đủ,

theo sau là chức năng kích hoạt GELU. Một trong những điểm khác biệt của ViT so với

máy biến áp tiêu chuẩn là trong ViT, hoạt động LayerNorm được áp dụng cho đầu ra

của lớp trước đó trước khi kết nối dư diễn ra. Trong máy biến áp tiêu chuẩn [254],

kết nối dư đã được thêm trước LayerNorm.

Thông qua một loạt thử nghiệm với ViT, [78] chứng minh rằng các sai lệch quy
nạp do CNN đưa ra rất hữu ích cho các tập dữ liệu nhỏ, nhưng không hữu ích cho các

tập dữ liệu lớn hơn. Với các tập dữ liệu lớn hơn, mô hình có thể tự tìm hiểu các

mối tương quan có liên quan, như đã được hiển thị cho các Máy biến áp khác nhau.

ViT cũng cho thấy mối quan hệ không gian giữa các mảng (khoảng cách bên trong hình

ảnh) được học bằng mã hóa vị trí. Các bản vá gần nhau sẽ có mã hóa vị trí tương tự
nhau. Các mối tương quan không gian hai chiều cũng được học bằng mã hóa vị trí, tức

là các mảng trong cùng một hàng hoặc cột có mã hóa vị trí tương tự. Các thí nghiệm

cũng chứng minh rằng việc mã hóa cứng cấu trúc hai chiều của các mảng hình ảnh

thành mã hóa vị trí không cải thiện được chất lượng. Điều này có thể là do việc

xây dựng các thành kiến quy nạp vào một mô hình linh hoạt như máy biến áp sẽ ngăn

cản nó tự học được điều gì là quan trọng hoặc không quan trọng.

Cuối cùng, Vision Transformer điều tra việc sửa đổi cơ chế tự chú ý, sự chú ý

hướng trục [126, 114]. Chú ý theo trục, trong đó sự chú ý nằm giữa các mảng trong
cùng một hàng hoặc cùng một cột. ViT thực sự tạo ra các khối biến áp hướng trục,

trong đó có cơ chế chú ý hàng theo sau là cơ chế chú ý cột.

6.3 NHẬN DẠNG NÓI TỰ ĐỘNG

Nhận dạng giọng nói tự động (ASR), là khi hệ thống tự động chuyển đổi tín hiệu âm
thanh lời nói thành văn bản, đưa ra một thách thức duy nhất không có trong các tác

vụ thị giác máy tính và NLP. Tín hiệu giọng nói là chuỗi các giá trị liên tục chứ

không phải các giá trị rời rạc như những giá trị được thấy trong hình ảnh hoặc văn

bản. Điều này có nghĩa là bạn không thể thực hiện đào tạo trước giống như cách bạn

làm về thị giác máy tính hoặc NLP. Ví dụ: trong NLP, bạn có các từ hoặc đơn vị từ

phụ riêng biệt, được xác định trong chính tín hiệu đầu vào.

Tương tự, trong thị giác máy tính, bạn có các đơn vị con hình ảnh trong tín hiệu

đầu vào, pixel. Không có đơn vị con tích hợp trong tín hiệu giọng nói. Điều này làm

cho việc tập luyện trước trở nên khó khăn, dù có bị che giấu hay không. Phần này

đề cập đến ba cách áp dụng máy biến áp cho ASR.


Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 165

6.3.1 Wav2vec 2.0

Bước đầu tiên trong wav2vec 2.0 [16] sử dụng bộ mã hóa tính năng tích chập

(đó là CNN) để chuyển đổi âm thanh lời nói đầu vào, X, thành một chuỗi

của các biểu diễn, (z1, . . , zT . Độ dài của chuỗi T, là


số bước thời gian trong âm thanh. Một số nhịp trong chuỗi

biểu diễn lời nói sau đó được che dấu.

Có thể học được các mã hóa vì lời nói được phân tách thành các đơn vị giọng

nói riêng biệt giống như mã thông báo WordPiece được sử dụng làm

đầu vào vào một văn bản Transformer. Các đơn vị giọng nói là một tập hợp hữu hạn

các đơn vị rời rạc của chuỗi âm thanh và ngắn hơn các âm vị (chúng là

dài 25 mili giây). Mã hóa giọng nói tiềm ẩn tương tự như cách nhúng được học trong
lớp nhúng ban đầu trong trình biến đổi văn bản.

Các mã hóa được che giấu này được chuyển vào một máy biến áp để xây dựng các biểu

diễn được văn bản hóa theo ngữ cảnh. Hàm mất tương phản [219, 250] cho phép
máy biến áp wav2vec 2.0 tìm hiểu tầm quan trọng tương đối của bài phát biểu
các đơn vị.

Lưu ý rằng các đơn vị giọng nói riêng biệt cũng cho phép đào tạo đa ngôn ngữ,

trong đó mô hình tìm hiểu đơn vị nào chỉ được sử dụng cho một ngôn ngữ cụ thể.

ngôn ngữ và đơn vị nào được sử dụng trên nhiều ngôn ngữ.

Quá trình đào tạo Như chúng ta đã thấy trong suốt cuốn sách này, những người

chuyển hóa có thể sử dụng đào tạo trước trên một kho ngữ liệu lớn để học nhiều loại

các đặc điểm của ngôn ngữ tự nhiên, sau đó tinh chỉnh cho một tập hợp nhất định

nhiệm vụ. Đây là những gì xảy ra với wav2vec 2.0, ngoại trừ việc nó kết hợp quá

trình đào tạo trước không được giám sát và tự giám sát, chỉ cần một lượng tương đối nhỏ

lượng dữ liệu được dán nhãn để tinh chỉnh.

6.3.2 Speech2Text2
Speech2Text2 [258] là một ứng dụng mạnh mẽ khác của công nghệ không giám sát
huấn luyện trước máy biến áp sang ASR, trong đó khối giải mã được thêm vào

phía trên bộ mã hóa wav2vec 2.0. Sau khi đào tạo trước, mô hình được tinh chỉnh

với tổn thất CTC. Bộ giải mã chỉ được huấn luyện trong quá trình tinh chỉnh, nó

không được đào tạo trước.

Vì Speech2Text2 sử dụng bộ giải mã nên nó cũng có thể được sử dụng để kết hợp

dịch máy và ASR, tức là âm thanh có thể bằng tiếng Anh

và phiên âm có thể bằng tiếng Pháp. Vương và cộng sự. cũng đã tinh chỉnh Speech2Text

cho nhiệm vụ này, đạt được công nghệ tiên tiến mới về

một số cặp ngôn ngữ


Machine Translated by Google

166 Máy biến áp cho học máy: Tìm hiểu sâu

6.3.3 HuBERT: Đơn vị ẩn BERT

Để giải quyết vấn đề không có đơn vị lời nói được xác định trước, Hsu et al. giới thiệu

HuBERT (Hidden Units BERT) [120]. HuBERT sử dụng phân cụm để

tạo ra các đơn vị tiếng nói ồn ào mà sau đó có thể được xử lý như các từ phụ

có thể trải qua quá trình đào tạo trước giống như BERT.

HuBERT sử dụng các nhãn nhiễu như một chuỗi các mã thông báo đầu vào có thể

được đeo mặt nạ để đào tạo trước BERT. Vì vậy, giống như BERT học cách biểu diễn văn bản bị

che giấu để có thể dự đoán chính xác nội dung bị che giấu.

mã thông báo, HuBERT tìm hiểu các cách thể hiện của bài phát biểu ồn ào, không bị che giấu

các đơn vị con để nó có thể dự đoán chính xác các đơn vị giọng nói bị che giấu.

Trong HuBERT, tín hiệu giọng nói thô được đưa qua bộ mã hóa CNN để

tạo ra tín hiệu giọng nói được mã hóa X = [x1, . . . , xT ] có chiều dài T, nhiều

giống như trong wav2vec 2.0. Tập hợp các chỉ số trong tín hiệu giọng nói được mã hóa X là

rồi bịt mặt. Trình tự bị che này được sử dụng làm đầu vào cho máy biến áp giống BERT. HuBERT

cũng thực hiện việc tạo mặt nạ theo cách tương tự như
wav2vec 2.0.

HuBERT sử dụng k-mean trên các tính năng MFCC [279] của lời nói thô

tín hiệu để tìm các đơn vị ẩn rời rạc không cần thiết [290]. Nó gọi những thứ này

[z1, . . . , zT ], trong đó zt [C] là biến phân loại của lớp C. Những cái này

zt được sử dụng làm “mã thông báo” đầu ra mà quá trình đào tạo trước BERT cần

dự đoán chính xác. Hsu và cộng sự. cũng thử nghiệm việc sử dụng một nhóm

của các mô hình phân cụm thay cho một phương tiện k duy nhất, theo sau là sản phẩm

lượng tử hóa [99].

Sau khi đào tạo trước, HuBERT sử dụng phương pháp mất phân loại theo thời gian (CTC) kết

nối tiêu chuẩn để tinh chỉnh mô hình bằng cách sử dụng âm thanh được gắn nhãn

dữ liệu. Lưu ý rằng bộ mã hóa tính năng CNN bị treo trong quá trình tinh chỉnh.

6.4 MÁY BIẾN ÁP ĐA PHƯƠNG THỨC VÀ ĐA NHIỆM VỤ

Sau khi tỏ ra rất hiệu quả trong nhiều nhiệm vụ NLP, Transformer

đã cho thấy tính hiệu quả của chúng ngay cả trong các nhiệm vụ kết hợp liên quan đến nhiều

các phương thức như hình ảnh, văn bản và video. Đặc biệt xung quanh các nhiệm vụ kết hợp

hình ảnh và văn bản, nhiều kiến trúc máy biến áp đã được đề xuất

mở rộng mô hình BERT cơ sở để kết hợp đầu vào trực quan cùng với

đầu vào ngôn ngữ [173, 123]. Trong phần này chúng ta sẽ đề cập đến một số

kiến trúc chung chung hơn và được chấp nhận.


Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 167

6.4.1 BERT Tầm nhìn và Ngôn ngữ (VilBERT)

BERT Tầm nhìn và Ngôn ngữ (VilBERT) là một mô hình chung cho việc học tập

các biểu diễn bất khả tri về nhiệm vụ cho hình ảnh và văn bản [173]. Hình ảnh đầu tiên

được chuyển đổi thành một luồng gồm một chuỗi các vùng được ánh xạ tới các vectơ đặc

trưng bằng cách sử dụng mạng phát hiện đối tượng. Văn bản vẫn diễn ra bình thường

luồng mã thông báo được ánh xạ tới các phần nhúng từ và vị trí dưới dạng luồng

của các trình tự. Như được hiển thị trong Hình 6.1, VilBERT sử dụng khối chuyển đổi

tiêu chuẩn (TRM) và khối biến áp đồng chú ý (Co-TRM)


cung cấp sự tương tác thưa thớt giữa hai phương thức. Mô-đun Co-TRM tính toán các ma

trận truy vấn, khóa và giá trị tương tự như mô-đun

khối biến áp tiêu chuẩn để biểu diễn hình ảnh và ngôn ngữ tại

bất kỳ lớp trung gian nào. Tuy nhiên, các khóa và giá trị từ mỗi phương thức được

cung cấp làm đầu vào cho khối chú ý nhiều đầu của phương thức khác. Do đó, khối chú

ý nhiều đầu của Co-TRM tạo ra

các tính năng tập trung sự chú ý cho từng phương thức được điều chỉnh dựa trên phương thức khác và

tạo điều kiện cho việc học tập chung. Kiến trúc cho phép nhiều lớp TRM

và Co-TRM để sàng lọc và phụ thuộc vào nhiệm vụ. Đầu ra phụ thuộc vào nhiệm vụ và có

thể đơn giản như một perceptron nhiều lớp (MLP) được theo sau bởi lớp soft-max để

tính điểm cho sự tương đồng giữa

hình ảnh và văn bản. Có thể có nhiều đầu ra tương ứng với

nhiều nhiệm vụ, tất cả đều được học song song.

Việc đào tạo VilBERT diễn ra qua nhiều giai đoạn khác nhau tương tự như

đào tạo mạng khởi đầu. Đầu tiên, văn bản và hình ảnh được huấn luyện độc lập. Mô

hình BERT được huấn luyện từ đầu đến cuối trên một kho dữ liệu lớn cho

hai nhiệm vụ: mô hình ngôn ngữ đeo mặt nạ (MLM) và dự đoán câu tiếp theo (NSP). Phát

hiện đối tượng được đào tạo trước dựa trên R-CNN nhanh hơn

mạng trích xuất các hộp giới hạn và các đặc điểm trực quan của chúng từ hình ảnh

và xử lý chúng thông qua mạng. Tiếp theo, chú thích khái niệm

Hình 6.1 ViLBERT xử lý văn bản và hình ảnh để học cách biểu diễn chung cho các tác
vụ đa phương thức.
Machine Translated by Google

168 Máy biến áp cho học máy: Tìm hiểu sâu

tập dữ liệu bao gồm nhiều ví dụ về hình ảnh và chú thích của chúng

được sử dụng cho các nhiệm vụ học tập chung như ánh xạ các vùng trong hình ảnh tới

dự đoán văn bản và từ ẩn từ hình ảnh. Cuối cùng, mô hình

được đào tạo để giải quyết các nhiệm vụ cụ thể liên quan đến các phương thức trực

quan và văn bản như Trả lời câu hỏi bằng hình ảnh (VQA), Visual Commonsense

Lý luận (VCR), Truy xuất hình ảnh và Nối đất pha. Nghiên cứu
cho thấy VilBERT đạt được kết quả tiên tiến trong cả bốn nhiệm vụ so với các mô hình

nhiệm vụ cụ thể hiện có.

6.4.2 Máy biến áp hợp nhất (UniT)

Trong tác phẩm của họ Máy biến áp là tất cả những gì bạn cần: Học đa nhiệm đa phương

thức với Máy biến áp hợp nhất [123], Hu và Singh đề xuất một Máy biến áp hợp nhất

Máy biến áp (UniT) có thể cùng học và thực hiện bảy nhiệm vụ trên
phương thức của văn bản và hình ảnh.

Như được hiển thị trong Hình 6.2, đối với mỗi phương thức, có một mạng bộ mã hóa,

và đầu ra của mạng bộ mã hóa được nối để tạo thành một khớp nối

đại diện. Đầu ra bộ mã hóa kết hợp chảy qua bộ giải mã

mạng có khối chú ý chéo nhiều đầu để nhúng đầu vào dành riêng cho nhiệm vụ, xuất

kết quả cho từng đầu dành riêng cho nhiệm vụ, chẳng hạn như

như phát hiện lớp đối tượng, trả lời câu hỏi trực quan, phân loại tình cảm,
vân vân.

Hình 6.2 Đơn vị xử lý văn bản và hình ảnh để học cách biểu diễn chung cho các tác
vụ đa phương thức.
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 169

Để đào tạo các nhiệm vụ chỉ dành cho thị giác và ngôn ngữ hình ảnh, độ tuổi hình ảnh

trước tiên được xử lý bởi khối mạng thần kinh tích chập, sau đó là

bởi một bộ mã hóa biến áp để có được các biểu diễn trực quan ẩn. TRONG

Ngoài ra, do các nhiệm vụ liên quan đến hình ảnh khác nhau như phát hiện đối tượng và VQA

có thể yêu cầu thông tin dành riêng cho nhiệm vụ, vectơ nhúng nhiệm vụ sẽ được thêm vào

bộ mã hóa máy biến áp. Bộ mã hóa văn bản

sử dụng BERT được đào tạo trước với các phần nhúng văn bản và vectơ nhúng dành riêng cho

nhiệm vụ tương tự như bộ mã hóa hình ảnh. Bộ giải mã là miền bất khả tri lấy các đầu vào

được nối từ các phương thức truyền vào

khối chú ý chéo nhiều đầu và các truy vấn dành riêng cho nhiệm vụ chảy vào

sự chú ý nhiều đầu vào của máy biến áp giải mã. Đào tạo

xảy ra trên nhiều nhiệm vụ cùng nhau, trong đó một nhiệm vụ ngẫu nhiên và một tập dữ liệu

điền vào một loạt mẫu được chọn ở mỗi lần lặp đào tạo. mô hình đơn vị

cho thấy hiệu suất mạnh mẽ và có thể so sánh được trên bảy nhiệm vụ trong tám

các bộ dữ liệu cho công việc trước đó đã được thiết lập tốt trên mỗi miền, giữ nguyên

thông số tương tự.

6.5 XỬ LÝ VIDEO VỚI TIMESFORMER

Có một số cách mà máy biến áp có thể được áp dụng cho video.

Phần này sẽ thảo luận về một ứng dụng như vậy, phân loại video/nhận dạng hành động.

TimeSformer [29] là câu trả lời cho câu hỏi liệu có thể thực hiện phân loại video

hiệu suất hoặc nhận dạng hành động bằng tính năng tự chú ý thay vì kết hợp hay không.
TimeSformer sử dụng cơ chế chú ý đã được sửa đổi và sử dụng phương pháp phá vỡ của Vision

Transformer

một hình ảnh thành một chuỗi các bản vá làm điểm bắt đầu.

6.5.1 Bản vá nhúng

TimeSformer chia một video clip thành một chuỗi các mảng hình ảnh tương tự
về cách Biến đổi Tầm nhìn trong phần 6.2.1 phá vỡ cấu trúc hai chiều

hình ảnh thành một chuỗi các bản vá hình ảnh. Đầu vào của mô hình là một video

với khung F RGB ở độ phân giải H × W. Nó có thể được biểu diễn bằng một
ma trận bốn chiều X R Cao×W×3×F H×W×3
. Mỗi khung hình (R ) bên trong

đầu vào sau đó được phân tách thành N bản vá không chồng chéo có kích thước P × P,
3P 2
trong đó N = HW/P2 . Mỗi miếng vá được chuyển thành một vectơ x(p,t) R ,

trong đó p = 1, . . . , N là chỉ số bản vá và t = 1, . . . , chỉ F là thời gian/khung hình


mục.
Machine Translated by Google

170 Máy biến áp cho học máy: Tìm hiểu sâu

Bước tiếp theo là tạo ra một vectơ nhúng, z (p,t) (0) R D, với

mỗi bản vá, trong đó D là kích thước ẩn của Transformer:

(0) tư thế
z
(p,t) = x(p,t)E + e (p,t) , (6.7)

tư thế D
trong đó e R là mã hóa vị trí bao gồm vị trí không gian và chỉ
(p,t)
mục khung, E là lớp nhúng đã học và D là kích thước ẩn (tương tự như dmodel
trong máy biến áp tiêu chuẩn). Lưu ý rằng chỉ số trên (0) trong z biểu thị
(0)
rằng đây là lớp cũ TimeS- (p,t) đầu tiên , có chỉ số 0. Giống như trong
Vision Transformer, (0)
TimeSformer bổ sung thêm phần nhúng đã học vào z tương ứng (p,t)

(0) đến mã thông báo phân loại đặc biệt của BERT, z
(0,0).

6.5.2 Tự chú ý

Trong TimeSformer, cơ chế tự chú ý gần như giống hệt với mọi máy biến áp
khác. Trong hầu hết các máy biến áp, đầu vào của sự chú ý nhiều đầu là ma
trận truy vấn, khóa và giá trị. Tương tự như 5.24, mỗi cái là kết quả của
việc chuyển đổi phần nhúng đầu vào thành một không gian vectơ khác nhau.
Mỗi không gian vectơ được tham số hóa lần lượt bằng các ma trận WQ, WK và
WQ . Ma trận W được sử dụng để xoay các phần nhúng đầu vào vào không gian
truy vấn, khóa và giá trị. Do đó, các vectơ truy vấn, khóa và giá trị cho
một bản vá trong lớp TimeSformer l là

(l,h) (l 1)
= LayerNorm z (p,t) W(l,h) R D/H
q
(p,t) Q (6.8)
(l,h) (l 1) W(l,h) R D/H
k
(p,t)
= LayerNorm z (p,t) K (6.9)
(l,h) (l 1)
v = LayerNorm z (p,t) W(l,h)
V. R D/H
(6.10)
(p,t)

H là số lượng đầu chú ý, l là chỉ số lớp và h là chỉ số đầu chú ý. D/H


tương tự như thứ nguyên khóa/giá trị được sử dụng trong Transformer vani.
Lưu ý rằng TimeSformer cung cấp truy vấn, khóa và giá trị có cùng thứ
nguyên và mỗi ma trận W là R D/H×D.

Lưu ý rằng đầu ra của lớp trước được thực hiện thông qua thao tác LayerNorm
trước khi tính toán truy vấn, khóa và giá trị; điều này giống như trong
Vision Transformer, như được trình bày trong phần 6.6.
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 171

6.5.2.1 Tự chú ý theo không gian thời gian

TimeSformer sử dụng chú ý tích số chấm theo tỷ lệ, như được thấy trong phần 5.23.

Sử dụng các vectơ truy vấn, khóa và giá trị được xác định ở trên, chúng ta có thể tính toán

trọng số chú ý giữa bản vá (p, t) và bản vá (p , t ) trong lớp l:

T
(l,h) (l,h) (l,h)
Một
= softmax q · k (p,t) (p ,t) (6.11)
(p,t),(p ,t)

T
(l,h) (l,h) ·
exp q k
(p,t) (p ,t)
=
T
(6.12)
(l,h) (l,h) · k
(u,r)
(u,r) S(p,t) exp q (p,t)

trong đó S(p,t) là tập hợp các bản vá mà bản vá (p, t) có thể xử lý. Lưu ý rằng có chứa phân

(l) vì
z (p,t)loại nhúng tại (0, 0), truy vấn, khóa và giá trị bao gồm thuật ngữ mã thông

báo phân loại: q(p,t) = [q(0,0); q(p,t) ].


Hệ số căn bậc hai trong phần 6.12 đã được lược bỏ để cho ngắn gọn.

Các trọng số NF + 1 cho bản vá (p, t) có thể được nhóm thành một
vectơ
T T
(l,h) (l,h) (l,h) = softmax q · ka (p,t)
(p,t) (0,0)
(l,h) ; k (p,t)
(6.13)

Bằng cách nhìn vào vị trí tương đối của miếng vá (p, t) và miếng vá (p , t ), người ta thấy

rằng có hai loại chú ý trong phần 6.12. Trường hợp (p, t) chỉ được phép tham gia vào các

mảng trong cùng một khung, tức là t = t, là sự chú ý về không gian. Điều này làm giảm số

lượng tích chấm cần tính từ NF +1 xuống N +1. Trường hợp (p, t) chỉ được phép tham gia vào

các miếng vá ở các khung khác nhau nhưng ở cùng một vị trí (p = p) , thì chúng ta có sự chú

ý tạm thời. Điều này làm giảm số lượng tích số chấm cần được tính từ NF + 1 xuống F + 1. Cả

hai cách đơn giản hóa ở trên đều giống như một mặt nạ chú ý và sẽ cần được thêm vào S(p,t)

khi tính hệ số chuẩn hóa của hoạt động softmax. Phần còn lại của quá trình tính toán tự chú

ý nhiều đầu diễn ra như mong đợi ở máy biến áp.

6.5.2.2 Khối chú ý không gian thời gian

Bài báo [29] xem xét bốn cách hạn chế S(p,t) : chỉ chú ý không gian, chú ý không-thời gian
bị phân chia, chú ý cục bộ và toàn cầu thưa thớt, và chú ý hướng trục.

Sự chú ý không-thời gian bị phân chia có cơ chế chú ý không gian và thời gian riêng

biệt; khối thời gian, tiếp theo là khối không gian.


Machine Translated by Google

172 Máy biến áp cho học máy: Tìm hiểu sâu

(l)
Việc nhúng đầu ra của chú ý thời gian nhiều đầu, z là (p,t) , được tính toán
sauvà
đó đưa vào khối chú ý không gian nhiều đầu làm đầu vào. Trong sơ đồ này, các khối
thời gian và không gian đều có các không gian truy vấn, khóa và giá trị riêng.
Bởi vì các khối theo thứ tự nên có F + 1 + N + 1 = N + F + 2 so sánh khóa truy
vấn trên mỗi bản vá (p, t). Lưu ý rằng thứ tự của các khối chú ý đã được tìm thấy

thông qua các thử nghiệm. Sự chú ý thưa thớt của địa phương và toàn cầu là sự kết
hợp của sự chú ý không-thời gian cục bộ, trong đó địa phương được xác định là các
mảng F ×H/2×W/2 lân cận và sự chú ý toàn cầu với bước tiến bằng 2 theo chiều thời

gian và không gian. Như đã định nghĩa, sự chú ý cục bộ và toàn cầu thưa thớt là
một sự gần đúng ở mức độ thô đối với sự chú ý đầy đủ về không gian và thời gian.

Cuối cùng, sự chú ý theo trục tương tự như trong Vision Transformer, trong đó có
sự chú ý về không gian giữa các mảng trong một khung nằm trong cùng một hàng hoặc
cột; cũng có sự chú ý tạm thời giữa các miếng vá ở cùng một vị trí trong các
khung hình khác nhau.
Khi độ phân giải không gian tăng lên và video dài hơn, sự chú ý không-thời
gian được phân chia sẽ có tỷ lệ tốt hơn so với sự chú ý không-thời gian chung vì
các thành phần không gian và thời gian được tách biệt trong trường hợp bị chia.
Lưu ý rằng, đối với một bản vá, sự chú ý về không gian và thời gian đều tuyến

tính. Không gian là O(N) và thời gian là O(F), do đó tỷ lệ được chia là O(N + F).
Sự chú ý chung là O(N · F).
Bài viết nhận thấy rằng trong nhiều trường hợp, sự chú ý về không gian còn
quan trọng hơn sự chú ý về thời gian. Tuy nhiên, có những trường hợp sự chú ý
tạm thời là rất quan trọng. Một phát hiện khác là sự chú ý không-thời gian được
phân chia có thể học nhiều hơn sự chú ý không-thời gian chung, đầy đủ vì trường
hợp chia coi chúng như hai cơ chế chú ý riêng biệt và do đó nó có tham số gấp đôi
và về nguyên tắc có thể học nhiều hơn. . Vì lý do này, phương pháp chú ý được đề
xuất là phân chia sự chú ý theo không gian và thời gian.

6.6 BIẾN ĐỒ HỌA

Máy biến áp có thể được áp dụng cho bộ dữ liệu đồ thị không? Khi một máy biến áp
sử dụng cơ chế chú ý đầy đủ, nghĩa là nó không có độ thưa được mã hóa cứng, nó
sẽ xử lý chuỗi đầu vào dưới dạng biểu đồ được kết nối đầy đủ. Điều này đúng với
văn bản, hình ảnh, video, v.v. Chúng tôi đã thấy điều này đối với dữ liệu văn bản
với Big Bird trong phần 5.2.2.4, đối với hình ảnh với Vision Transformer trong
phần 6.2.1 và với video cho TimeSformer trong phần 6.5. Sự chú ý được kết nối đầy
đủ cho phép mô hình tìm hiểu tầm quan trọng tương đối của từng kết nối. Tuy
nhiên, đối với các tập dữ liệu đồ thị, bất kỳ nút nào cũng có thể có nhiều liên kết sử dụng
Machine Translated by Google

Máy biến áp được đào tạo trước và dành riêng cho ứng dụng 173

sự chú ý được kết nối đầy đủ sẽ khó tính toán, vì sự chú ý hoàn toàn
đã có độ phức tạp bậc hai đối với các chuỗi đơn giản.
Đây là mục đích của Graph Transformer được giới thiệu trong [80]. Nó giải quyết
sự phức tạp của việc tự chú ý bằng cách cho phép một nút tham dự các nút khác
trong vùng lân cận cục bộ của nó.

6.6.1 Mã hóa vị trí trong biểu đồ

Như đã thảo luận trong phần 5.2.1, cơ chế chú ý tích số chấm tỷ lệ có độ phức
tạp bậc hai cả về thời gian và bộ nhớ. Vì đồ thị có thể có số lượng nút rất
lớn, nên để biến đổi đồ thị khả thi về mặt tính toán, cần phải có sự chú ý
thưa thớt cục bộ đối với bất kỳ nút nào. Vấn đề với điều này là các biểu đồ
chung không có khái niệm về khoảng cách giữa các nút, khiến việc sử dụng mã
hóa vị trí để cung cấp thước đo khoảng cách hoặc vị trí là không tầm thường,
như thường thấy trong Transformers. Như được mô tả trong [80], vấn đề này được

giải quyết bằng cách sử dụng mã hóa vị trí Laplacian [81], được tạo ra thông
qua việc nhúng quang phổ vào không gian Euclide.

6.6.1.1 Mã hóa vị trí Laplacian

Mã hóa vị trí Laplacian cho đồ thị có n nút được tính từ ma trận kề


và ma trận bậc của đồ thị:

= I D 1/2AD 1/2 (6.14)

= UTΛU, (6.15)

Trong đó A là ma trận kề, D là ma trận độ, Λ là ma trận giá trị riêng (đường

chéo) và U là ma trận vectơ riêng.


Mã hóa vị trí cho nút i λi được xây dựng bằng cách lấy k vectơ riêng
không tầm thường nhỏ nhất, mỗi vectơ được chuẩn hóa, với hệ số 1 được
gán ngẫu nhiên cho mỗi vectơ.

6.6.2 Đầu vào biến áp đồ thị

Chúng ta có thể mô tả đồ thị G như một tập hợp các nút và các cạnh giữa các
nút. Mỗi nút i có đặc điểm αi R dn×1 trong đó dn
, là số đặc điểm của nút. Mỗi

cạnh giữa các nút i và j có đặc điểm βij R de×1 trong đó de là số đặc điểm ,
của cạnh. Lớp đầu vào của Transformer đồ thị có hai lớp nhúng, một để nhúng
các nút và một để nhúng các cạnh. Cả hai lớp nhúng đều tạo ra d chiều

You might also like