paint-brush
Nhúng vị trí: Bí mật đằng sau độ chính xác của mạng lưới thần kinh biến áptừ tác giả@sanjaykn170396
2,693 lượt đọc
2,693 lượt đọc

Nhúng vị trí: Bí mật đằng sau độ chính xác của mạng lưới thần kinh biến áp

từ tác giả Sanjay Kumar10m2022/12/04
Read on Terminal Reader

dài quá đọc không nổi

Một bài viết giải thích trực giác đằng sau “nhúng vị trí” trong các mô hình máy biến áp từ bài báo nghiên cứu nổi tiếng - “Attention Is All You Need”. Một bài viết giải thích trực giác. Khái niệm nhúng trong NLP là một quy trình được sử dụng trong xử lý ngôn ngữ tự nhiên để chuyển đổi văn bản thô thành các vectơ toán học. Nhúng là làm cho mạng lưới thần kinh hiểu được sự phụ thuộc về trật tự và vị trí trong câu. Điều này là do mô hình học máy sẽ không thể sử dụng trực tiếp đầu vào ở định dạng văn bản cho các quy trình tính toán khác nhau.
featured image - Nhúng vị trí: Bí mật đằng sau độ chính xác của mạng lưới thần kinh biến áp
Sanjay Kumar HackerNoon profile picture
Một bài báo giải thích trực giác đằng sau “việc nhúng theo vị trí” trong các mô hình máy biến áp từ bài báo nghiên cứu nổi tiếng - “Attention Is All You Need”.

mục lục

  • Giới thiệu
  • Khái niệm nhúng trong NLP
  • Cần nhúng vị trí trong Transformers
  • Các loại thí nghiệm thử và sai ban đầu
  • Nhúng vị trí dựa trên tần suất
  • Sự kết luận
  • Tài liệu tham khảo

Giới thiệu

Sự ra đời của kiến trúc máy biến áp trong lĩnh vực học sâu chắc chắn đã mở đường cho cuộc cách mạng thầm lặng, đặc biệt là trong các nhánh của NLP. Một trong những phần không thể thiếu nhất của kiến trúc máy biến áp là “nhúng theo vị trí” giúp mạng thần kinh có khả năng hiểu được thứ tự của các từ và sự phụ thuộc của chúng trong một câu dài.

Tuy nhiên, chúng tôi biết rằng RNN và LSTM, được giới thiệu nhiều trước khi máy biến áp có khả năng hiểu thứ tự từ ngay cả khi không nhúng vị trí. Sau đó, bạn sẽ nghi ngờ rõ ràng rằng tại sao khái niệm này lại được giới thiệu trong máy biến áp và lợi thế thực sự đằng sau việc xúi giục khái niệm này. Hãy để chúng tôi khái niệm hóa tất cả các thông tin này trong bài viết này.

Khái niệm nhúng trong NLP

Nhúng là một quá trình được sử dụng trong xử lý ngôn ngữ tự nhiên để chuyển đổi văn bản thô thành các vectơ toán học. Điều này là do mô hình học máy sẽ không thể sử dụng trực tiếp đầu vào ở định dạng văn bản cho các quy trình tính toán nội bộ khác nhau.

Quá trình nhúng được thực hiện bởi các thuật toán như Word2vec, Glove, v.v. được gọi là nhúng từ hoặc nhúng tĩnh.

Ở đây, một kho văn bản lớn chứa rất nhiều từ được chuyển vào bên trong một mô hình cho quá trình đào tạo. Mô hình sẽ gán một giá trị toán học tương ứng cho mỗi từ bằng cách giả định rằng các từ xuất hiện gần nhau thường xuyên hơn là tương tự nhau. Sau quá trình này, các giá trị toán học dẫn xuất được sử dụng để tính toán thêm.

Ví dụ,

Hãy xem xét rằng kho văn bản của chúng tôi có 3 câu như đã đề cập ở đây-

  • Chính phủ Anh, nơi trao một khoản trợ cấp lớn hàng năm cho nhà vua và hoàng hậu tại Palermo, tuyên bố có một số quyền kiểm soát đối với chính quyền.
  • Bữa tiệc hoàng gia bao gồm, ngoài nhà vua và hoàng hậu, con gái của họ Marie Therese Charlotte (Madame Royale), em gái của nhà vua là Madame Elisabeth, người hầu Clery và những người khác.
  • Điều này bị gián đoạn bởi tin tức về sự phản bội của Mordred, và Lancelot, không tham gia vào cuộc xung đột chết người cuối cùng, sống lâu hơn cả vua và hoàng hậu, và sự sụp đổ của Bàn Tròn.

Ở đây, chúng ta có thể thấy hai từ “King”“Queen” xuất hiện thường xuyên. Do đó, mô hình sẽ giả định rằng có thể có một số điểm tương đồng giữa những từ này. Khi những từ này được chuyển thành các giá trị toán học, chúng sẽ được đặt ở một khoảng cách nhỏ khi được biểu diễn trong không gian đa chiều.

Nguồn ảnh: Minh họa của tác giả

Hãy tưởng tượng có một từ khác “Road” thì theo logic nó sẽ không xuất hiện thường xuyên hơn với “King”“Queen” trong một kho văn bản lớn. Do đó, từ đó sẽ được đặt cách xa nhau trong không gian.

Nguồn ảnh: Minh họa của tác giả

Về mặt toán học, một vectơ được biểu diễn bằng một dãy số trong đó mỗi số biểu thị độ lớn của từ trong một chiều cụ thể.

Ví dụ,

Chúng tôi đại diện cho từ "King" trong 3 chiều ở đây. Do đó, nó có thể được biểu diễn theo giả thuyết trong một không gian [0.21,0.45,0.67] .

Từ "Queen" có thể được biểu diễn theo giả thuyết là [0.24,0.41,0.62] .

Từ "Đường" có thể được biểu diễn theo giả thuyết là [0.97,0.72,0.36] .

Cần nhúng vị trí trong Transformers

Như chúng ta đã thảo luận trong phần giới thiệu, nhu cầu nhúng vị trí là làm cho mạng nơ-ron hiểu được thứ tự và sự phụ thuộc vị trí trong câu.

Ví dụ: Chúng ta hãy xem xét các câu sau-

Câu 1 - “Mặc dù ngày hôm nay Sachin Tendulkar không đạt được kỷ lục, nhưng anh ấy đã đưa đội đến vị trí chiến thắng”.

Câu 2 - “Mặc dù Sachin Tendulkar đã chạm mốc một thế kỷ hôm nay, nhưng anh ấy đã không thể đưa đội đến vị trí chiến thắng”.

Cả hai câu trông giống nhau vì chúng chia sẻ hầu hết các từ nhưng ý nghĩa nội tại của cả hai đều rất khác nhau. Thứ tự và vị trí của một từ như “not” đã thay đổi toàn bộ ngữ cảnh của thông tin được chuyển tải ở đây.

Do đó, việc hiểu thông tin về vị trí là rất quan trọng khi làm việc với các dự án NLP. Nếu mô hình hiểu sai ngữ cảnh khi chỉ sử dụng các con số trong một không gian đa chiều, nó có thể dẫn chúng ta đến những hậu quả nghiêm trọng, đặc biệt là trong các mô hình dự đoán.

Để vượt qua thách thức này, các kiến trúc mạng thần kinh như RNN (Mạng thần kinh tái phát) và LSTM (Bộ nhớ ngắn hạn dài hạn) đã được giới thiệu. Ở một mức độ nào đó, những kiến trúc này đã rất thành công trong việc hiểu thông tin vị trí. Bí quyết chính đằng sau thành công của họ là họ cố gắng học những câu dài bằng cách giữ nguyên thứ tự liên tiếp của các từ. Thêm vào đó, họ sẽ có thông tin liên quan đến những từ được đặt rất gần với “từ quan tâm” và những từ được đặt rất xa từ “từ quan tâm”.

Ví dụ,

Hãy xem xét câu sau đây-

“Sachin là vận động viên cricket vĩ đại nhất mọi thời đại.”

Nguồn ảnh: Minh họa của tác giả

Những từ được gạch chân bằng màu đỏ là “từ quan tâm”. Đó là từ mà mạng thần kinh (RNN/LSTM) cố gắng học thông qua các quy trình toán học phức tạp như nhúng. Chúng ta có thể thấy ở đây “từ quan tâm” được duyệt tuần tự theo văn bản gốc.

Ngoài ra, họ có thể ghi nhớ sự phụ thuộc giữa các từ bằng cách ghi nhớ các “từ theo ngữ cảnh” . Ở đây, các từ ngữ cảnh là những từ được đặt gần “từ quan tâm”. Như một minh chứng đơn giản, chúng ta có thể coi các từ ngữ cảnh là những từ được gạch chân bởi màu xanh lá cây trong hình ảnh sau đây khi học từng “ từ quan tâm” .

Nguồn ảnh: Minh họa của tác giả

Thông qua các kỹ thuật này, RNN/LSTM có thể hiểu thông tin vị trí trong một kho văn bản lớn.

Tất cả đang diễn ra tốt đẹp. Đúng?

Sau đó, vấn đề thực sự ở đây là gì?

Vấn đề thực sự là việc duyệt tuần tự các từ trong một kho văn bản lớn. Hãy tưởng tượng rằng chúng ta có một kho văn bản thực sự lớn với 1 triệu từ, sẽ mất rất nhiều thời gian để duyệt tuần tự từng từ. Đôi khi, việc dành nhiều thời gian tính toán như vậy để đào tạo các mô hình là không khả thi.

Để vượt qua thử thách này, một kiến trúc tiên tiến mới đã được giới thiệu - "Transformers".

Một trong những đặc điểm quan trọng của kiến trúc máy biến áp là nó có thể học tập văn bản bằng cách xử lý song song tất cả các từ. Ngay cả khi bạn có 10 từ hay 1 triệu từ, nó không thực sự quan tâm đến độ dài của văn bản.

Nguồn ảnh: Minh họa của tác giả

Nguồn ảnh: Minh họa của tác giả

Bây giờ, có một thách thức liên quan đến quá trình xử lý từ song song này. Vì tất cả các từ được truy cập đồng thời nên thông tin phụ thuộc sẽ bị mất. Do đó, mô hình sẽ không thể nhớ “ngữ cảnh” của một từ cụ thể và thông tin liên quan đến mối quan hệ giữa các từ không thể được lưu giữ chính xác. Vấn đề này một lần nữa dẫn chúng ta đến thách thức ban đầu là duy trì sự phụ thuộc theo ngữ cảnh mặc dù thời gian tính toán/đào tạo mô hình đã giảm đáng kể.

Bây giờ, làm thế nào chúng ta có thể giải quyết tình trạng này?

Giải pháp là “Nhúng theo vị trí”.

Các loại thí nghiệm thử và sai ban đầu

Ban đầu, khi khái niệm này được giới thiệu, các nhà nghiên cứu rất háo hức tìm ra một phương pháp tối ưu hóa có thể bảo toàn thông tin vị trí trong kiến trúc máy biến áp.

Phương pháp đầu tiên được thử như một phần của thử nghiệm thử và sai này là "Nhúng theo vị trí dựa trên Chỉ mục từ" .

Ở đây, ý tưởng là giới thiệu một vectơ toán học mới cùng với vectơ từ này có thể chứa chỉ mục của một từ cụ thể.

Nguồn ảnh: Minh họa của tác giả

Giả sử rằng đây là biểu diễn của các từ trong không gian đa chiều-

Nguồn ảnh: Minh họa của tác giả

Sau khi thêm vectơ vị trí, độ lớn và hướng có thể thay đổi vị trí của mỗi từ như sau:

Nguồn ảnh: Minh họa của tác giả

Một trong những nhược điểm lớn liên quan đến kỹ thuật này là nếu độ dài của câu rất lớn thì độ lớn của vectơ vị trí cũng sẽ tăng theo tỷ lệ thuận. Giả sử một câu có 25 từ thì từ đầu tiên sẽ được thêm một vectơ vị trí có độ lớn bằng 0 và từ cuối cùng sẽ được thêm một vectơ vị trí có độ lớn là 24. Sự chênh lệch lớn này có thể gây ra sự cố khi chúng ta đang chiếu những giá trị này trong các chiều cao hơn.

Một kỹ thuật khác đã cố gắng giảm cường độ lớn của vectơ vị trí là “Nhúng vị trí dựa trên một phần độ dài của câu” .

Ở đây, giá trị phân số của mỗi từ đối với độ dài của câu được tính bằng độ lớn của vectơ vị trí.

Giá trị phân số được tính bằng công thức-

Giá trị = 1/N-1

  • Trong đó "N" là vị trí của một từ cụ thể.

Ví dụ,

Hãy xem xét câu này-

Nguồn ảnh: Minh họa của tác giả

Trong kỹ thuật này, độ lớn tối đa của vectơ vị trí có thể được giới hạn bằng 1 bất kể độ dài của câu. Nhưng, có một kẽ hở lớn trong hệ thống này.

Nếu chúng ta đang so sánh 2 câu với độ dài khác nhau thì giá trị nhúng cho một từ tại một vị trí cụ thể sẽ khác nhau. Một từ hoặc vị trí cụ thể phải có cùng một giá trị nhúng trong toàn bộ văn bản để dễ hiểu ngữ cảnh của nó. Nếu cùng một từ trong các câu khác nhau sở hữu các giá trị nhúng khác nhau thì việc biểu diễn thông tin của toàn bộ văn bản trong một không gian đa chiều sẽ trở thành một nhiệm vụ rất phức tạp. Ngay cả khi chúng ta đạt được một không gian phức tạp như vậy thì vẫn có khả năng cao là một lúc nào đó mô hình sẽ sụp đổ do quá nhiều thông tin bị bóp méo. Do đó, kỹ thuật này đã bị loại bỏ khỏi tiến trình tiếp theo đối với việc nhúng vị trí trong máy biến áp.

Cuối cùng, các nhà nghiên cứu đã đưa ra một hệ thống “Nhúng vị trí dựa trên tần số” đã nhận được sự hoan nghênh của giới phê bình trên toàn cầu và cuối cùng được tích hợp vào kiến trúc máy biến áp và được đề cập trong sách trắng nổi tiếng - “Chú ý là tất cả những gì bạn cần” .

Nhúng vị trí dựa trên tần suất

Theo kỹ thuật này, các nhà nghiên cứu đề xuất một cách độc đáo để nhúng các từ dựa trên tần số sóng bằng công thức sau-

Nguồn ảnh: Minh họa của tác giả

Ở đâu,

  • “pos” là vị trí hoặc giá trị chỉ mục của từ cụ thể trong câu
  • “d” là độ dài/kích thước tối đa của vectơ đại diện cho một từ cụ thể trong câu.
  • “i” đại diện cho các chỉ số của từng thứ nguyên nhúng theo vị trí. Nó cũng biểu thị tần số. Khi i=0, nó được coi là tần số cao nhất và đối với các giá trị tiếp theo, tần số được coi là cường độ giảm dần.


    Nguồn ảnh: Minh họa của tác giả

    Nguồn ảnh: Minh họa của tác giả

    Nguồn ảnh: Minh họa của tác giả

Vì chiều cao của đường cong phụ thuộc vào vị trí của từ được mô tả trên trục x, chiều cao của đường cong có thể được sử dụng làm đại diện cho vị trí của từ.

Nếu 2 từ có độ cao tương tự nhau thì chúng ta có thể coi rằng mức độ gần nhau của chúng trong câu là rất cao.

Tương tự, nếu 2 từ có độ cao chênh lệch nhau nhiều thì chúng ta có thể coi rằng mức độ gần nhau của chúng trong câu là rất thấp.

Theo văn bản ví dụ của chúng tôi - “Sachin là một vận động viên crickê cừ khôi” ,

Đối với từ “Sachin” ,

  • vị trí = 0
  • d = 3
  • i[0] = 0,21, i[1] = 0,45, i[2] = 0,67


Khi áp dụng công thức,

Nguồn ảnh: Minh họa của tác giả

Với tôi = 0,

PE(0,0) = sin(0/10000^2(0)/3)
PE(0,0) = sin(0)
PE(0,0) = 0

Với i = 1,

PE(0,1) = cos(0/10000^2(1)/3)
PE(0,1) = cos(0)
PE(0,1) = 1


Với tôi = 2,

PE(0,2) = sin(0/10000^2(2)/3)
PE(0,2) = sin(0)
PE(0,2) = 0


Đối với từ "Tuyệt vời",

  • tư thế =3
  • d = 3
  • i[0] = 0,78, i[1] = 0,64, i[2] = 0,56

Khi áp dụng công thức,

Nguồn ảnh: Minh họa của tác giả

Với tôi = 0,

PE(3,0) = sin(3/10000^2(0)/3)
PE(3,0) = sin(3/1)
PE(3,0) = 0,05

Với i = 1,

PE(3,1) = cos(3/10000^2(1)/3)
PE(3,1) = cos(3/436)
PE(3,1) = 0,99

Với tôi = 2,

PE(3,2) = sin(3/10000^2(2)/3)
PE(3,2) = sin(3/1,4)
PE(3,2) = 0,03

Nguồn ảnh: Minh họa của tác giả

Ở đây, giá trị lớn nhất sẽ được giới hạn ở mức 1 (vì chúng ta đang sử dụng hàm sin/cos). Do đó, không có phạm vi cho các vectơ vị trí cường độ cao vốn là một vấn đề trong các kỹ thuật trước đó.

Hơn nữa, các từ có độ gần nhau cao có thể rơi ở độ cao tương tự ở tần số thấp hơn và độ cao của chúng sẽ hơi khác nhau ở tần số cao hơn.

Nếu các từ có khoảng cách gần nhau thấp thì độ cao của chúng sẽ rất khác nhau ngay cả ở tần số thấp hơn và chênh lệch độ cao của chúng sẽ tăng lên khi tần số tăng.

Ví dụ,

Hãy xem xét câu - "Nhà vua và Hoàng hậu đang đi bộ trên đường."

Hai chữ “Vua”“Đường” được đặt cách xa nhau.

Hãy xem xét rằng 2 từ này có độ cao xấp xỉ nhau sau khi áp dụng công thức tần số sóng. Khi chúng ta đạt đến tần số cao hơn (chẳng hạn như 0), độ cao của chúng sẽ trở nên khác nhau hơn.

Nguồn ảnh: Minh họa của tác giả

Nguồn ảnh: Minh họa của tác giả

Nguồn ảnh: Minh họa của tác giả

Dòng chữ “King”“Queen” được đặt ở khoảng cách gần.

2 từ này sẽ được đặt ở độ cao tương tự ở các tần số thấp hơn (chẳng hạn như 2 ở đây). Khi chúng ta đạt đến tần số cao hơn (chẳng hạn như 0), chênh lệch độ cao của chúng sẽ tăng lên một chút để phân biệt.

Nguồn ảnh: Minh họa của tác giả

Nhưng chúng ta cần lưu ý rằng nếu các từ có ít khoảng cách gần nhau hơn, độ cao của chúng sẽ khác biệt đáng kể khi chúng ta tiến tới các tần số cao hơn. Nếu các từ có mức độ gần nhau cao, thì độ cao của chúng sẽ chỉ khác một chút khi chúng ta chuyển sang tần số cao hơn.

kết luận

Thông qua bài viết này, tôi hy vọng bạn có được hiểu biết trực quan về các phép tính toán học phức tạp đằng sau việc nhúng Vị trí trong học máy. Tóm lại, chúng ta đã thảo luận về định đề đằng sau khái niệm “Nhúng”, Một số loại khác nhau của nó và nhu cầu triển khai nhúng theo vị trí để đạt được các mục tiêu nhất định.

Đối với những người đam mê công nghệ quan tâm đến lĩnh vực “Xử lý ngôn ngữ tự nhiên, tôi nghĩ nội dung này sẽ hữu ích trong việc hiểu một cách ngắn gọn một số phép tính phức tạp. Để biết thêm thông tin chi tiết, bạn có thể tham khảo tài liệu nghiên cứu nổi tiếng - “Attention is all you need” (Tôi đã thêm ul để truy cập tài liệu nghiên cứu này trong phần tham khảo).

Tài liệu tham khảo