Концепції, які слід знати, перш ніж почати Трансформери

Концепції, які слід знати, перш ніж почати Трансформери

Вихідний вузол: 1894868

Нейронні мережі навчаються за допомогою чисел, тому кожне слово буде зіставлено з векторами для представлення певного слова. Рівень вбудовування можна розглядати як таблицю пошуку, яка зберігає вбудовування слів і отримує їх за допомогою індексів.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

Слова, які мають однакове значення, будуть близькими з точки зору подібності евклідової відстані/косинуса. наприклад, у наведеному нижче слові «субота», «неділя» та «понеділок» пов’язані з тим самим поняттям, тому ми бачимо, що слова подібні.
 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer

Визначення позиції слова. Чому нам потрібно визначати позицію слова? оскільки трансформаторний кодер не має повторюваності, як рекурентні нейронні мережі, ми повинні додати деяку інформацію про позиції у вхідні вбудовані дані. Це робиться за допомогою позиційного кодування. Автори статті використали наступні функції для моделювання позиції слова.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

Ми спробуємо пояснити позиційне кодування.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

Тут «pos» відноситься до позиції «слова» в послідовності. P0 відноситься до вбудовування позиції першого слова; «d» означає розмір вбудованого слова/токена. У цьому прикладі d=5. Нарешті, «i» відноситься до кожного з 5 окремих вимірів вбудовування (тобто 0, 1,2,3,4, XNUMX, XNUMX, XNUMX)

якщо «i» змінюватися у рівнянні вище, ви отримаєте купу кривих із різними частотами. Зчитування значень вбудовування позиції на різних частотах, надання різних значень при різних розмірах вбудовування для P0 і P4.

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

В цьому запит, Q представляє векторне слово, the ключі К всі інші слова в реченні, і значення V представляє вектор слова.

Мета звернення уваги полягає в тому, щоб обчислити важливість ключового терміна порівняно з терміном запиту, пов’язаним з тією самою особою/реччю чи поняттям.

У нашому випадку V дорівнює Q.

Механізм уваги дає нам значення слова в реченні.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

Коли ми обчислюємо нормалізований скалярний добуток між запитом і ключами, ми отримуємо тензор, який представляє відносну важливість кожного слова для запиту.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

Під час обчислення скалярного добутку між Q і KT ми намагаємося оцінити, як вирівнюються вектори (тобто слова між запитом і ключами) і повертаємо вагу для кожного слова в реченні.

Потім ми нормалізуємо результат d_k у квадраті, а функція softmax упорядковує доданки та масштабує їх між 0 і 1.

Нарешті, ми множимо результат (тобто ваги) на значення (тобто всі слова), щоб зменшити важливість нерелевантних слів і зосередитися лише на найважливіших словах.

Багатонаправлений вектор виведення уваги додається до оригінального позиційного введення. Це називається залишковим з’єднанням/пропущеним з’єднанням. Вихід залишкового з'єднання проходить через нормалізацію рівня. Нормований залишковий вихід пропускається через поточкову мережу прямого зв’язку для подальшої обробки.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer

Маска — це матриця такого ж розміру, що й показники уваги, заповнена значеннями 0 і нескінченністю.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer
 

Причина маски полягає в тому, що як тільки ви берете softmax замаскованих балів, негативні нескінченності стають нульовими, залишаючи нульові оцінки уваги для майбутніх токенів.

Це говорить моделі не зосереджуватися на цих словах.

Метою функції softmax є отримання дійсних чисел (додатних і від’ємних) і перетворення їх на додатні числа, сума яких дорівнює 1.

 

Концепції, які ви повинні знати, перш ніж потрапити в Transformer

 
 
Равікумар Надувін зайнятий створенням і розумінням завдань НЛП за допомогою PyTorch.

 
Оригінал. Повідомлено з дозволу.
 

Часова мітка:

Більше від KDnuggets