Основи ШІ
Що таке трансформаторні нейронні мережі?
Трансформаторні нейронні мережі: опис
Трансформатори – це тип моделі машинного навчання, який спеціалізується на обробці та інтерпретації послідовних даних, що робить їх оптимальними для завдань обробки природної мови. Щоб краще зрозуміти, що таке трансформаторна модель машинного навчання, і як вони працюють, давайте розглянемо трансформаторні моделі та механізми, які їх рухають.
Ця стаття охоплює:
- Моделі послідовності до послідовності
- Архітектура трансформаторної нейронної мережі
- Механізм уваги
- Відмінності між трансформаторами та РНН/ЛСТМ
Моделі послідовності до послідовності
Моделі послідовності до послідовності – це тип моделі обробки природної мови, який використовується для перетворення послідовностей одного типу в послідовність іншого типу. Існують різні типи моделей послідовності до послідовності, такі як рекурентні нейронні мережі та довготривала короткочасна пам’ять (ЛСТМ).
Традиційні моделі послідовності до послідовності, такі як РНН та ЛСТМ, не є основним предметом цієї статті, але розуміння їх необхідно для оцінки того, як працюють трансформаторні моделі та чому вони перевершують традиційні моделі послідовності до послідовності.
У короткому, РНН-моделі та ЛСТМ-моделі складаються з мереж кодування та декодування, які аналізують вхідні дані на різних часових інтервалах. Мережа кодування відповідає за формування закодованого представлення слів у вхідних даних. На кожному часовому інтервалі мережа кодування приймає вхідну послідовність та приховане стан з попереднього часу інтервалу. Приховані стани оновлюються під час проходження даних через мережу, доки не буде сформований “контекстний вектор” на останньому часовому інтервалі. Контекстний вектор потім передається мережі декодування, яка використовується для генерації цільової послідовності шляхом прогнозування найбільш ймовірного слова, яке поєднується з вхідним словом для відповідних часових інтервалів.
Ці моделі можна розширити за допомогою використання “механізму уваги”. Механізм уваги визначає, які частини вхідного вектора мережа повинна зосередитися на генерації правильного виводу. Інакше кажучи, механізм уваги дозволяє трансформаторній моделі обробляти одне вхідне слово, одночасно звертаючи увагу на відповідну інформацію, що міститься в інших вхідних словах. Механізми уваги також маскують слова, які не містять відповідної інформації.
Архітектура трансформаторної нейронної мережі
Ми розглянемо механізм уваги більш детально пізніше, але зараз давайте розглянемо архітектуру трансформаторної нейронної мережі на вищому рівні.
Загалом, трансформаторна нейронна мережа виглядає приблизно так:

Хоча загальна структура може змінюватися між мережами, основні частини залишаються однаковими: позиційні кодування, векторні слова, механізм уваги, нейронна мережа з прямим розповсюдженням.
Позиційні кодування та векторні слова
Трансформаторна нейронна мережа працює шляхом прийняття послідовності вхідних даних та перетворення їх у дві інші послідовності. Трансформатор генерує послідовність векторних слів та позиційних кодувань.
Векторні слова – це просто текст, представлений у числовому форматі, який може обробляти нейронна мережа. Тоді як позиційні кодування – це векторні представлення, що містять інформацію про позицію поточного слова у вхідному реченні відносно інших слів.
Інші текстові нейронні мережі, такі як РНН та ЛСТМ, використовують вектори для представлення слів у вхідних даних. Ці векторні представлення відображають слова у постійні значення, але це обмеження, оскільки слова можуть використовуватися у різних контекстах. Трансформаторна мережа вирішує цю проблему, роблячи значення слів більш гнучкими, використовуючи синусоїдальні функції, щоб дозволити словам приймати різні значення залежно від позиції слова у реченні.
Це дозволяє нейронній мережі зберегти інформацію щодо відносної позиції вхідних слів, навіть після того, як вектори проходять через шари трансформаторної мережі.
Позиційні кодування та векторні слова додаються разом, а потім передаються в мережі кодування та декодування. Хоча трансформаторні нейронні мережі використовують схему кодування/декодування, як і РНН та ЛСТМ, одна з основних відмінностей між ними полягає в тому, що все вхідне дані подаються в мережу одночасно, тоді як у РНН/ЛСТМ дані подаються послідовно.
Мережі кодування відповідають за перетворення вхідних даних у представлення, які може вивчити мережа, тоді як мережі декодування роблять протилежне, перетворюючи кодування у розподіл імовірностей, який використовується для генерації найбільш ймовірних слів у вихідному реченні. Важливо, що обидві мережі кодування та декодування мають механізм уваги.
Оскільки ГПУ здатні до паралельної обробки, декілька механізмів уваги використовуються паралельно, обчислюючи відповідну інформацію для всіх вхідних слів. Ця можливість звертати увагу на декілька слів одночасно, яку називають “багатокроковою увагою”, допомагає нейронній мережі вивчити контекст слова у реченні, і це одна з основних переваг, які трансформаторні мережі мають над РНН та ЛСТМ.
Механізм уваги
Механізм уваги – це найважливіша частина трансформаторної мережі. Механізм уваги дозволяє трансформаторним моделям вийти за межі обмежень уваги типової РНН- або ЛСТМ-моделі. Традиційні моделі послідовності до послідовності відкидають всі проміжні стани та використовують лише останній стан/контекстний вектор під час ініціалізації мережі декодування для генерації прогнозів щодо вхідної послідовності.
Відкидання всього, крім кінцевого контекстного вектора, працює досить добре, коли вхідні послідовності досить короткі. Однак, коли довжина вхідної послідовності збільшується, продуктивність моделі погіршується при використанні цього методу. Це відбувається через те, що досить складно підсумувати довгу вхідну послідовність як один вектор. Рішенням є збільшення “уваги” моделі та використання проміжних станів кодування для конструкції контекстних векторів для мережі декодування.
Механізм уваги визначає, наскільки важливі інші вхідні токени для моделі під час створення кодувань для будь-якого даного токену. Наприклад, “воно” – це загальна займенник, часто використовуваний для позначення тварин, коли їх стать невідома. Механізм уваги дозволить трансформаторній моделі визначити, що в поточному контексті “воно” відноситься до білки, оскільки вона може розглянути всі відповідні слова у вхідному реченні.
Механізм уваги можна використовувати трьома різними способами: кодування-декодування, тільки кодування, тільки декодування.
Увага кодування-декодування дозволяє декодеру розглянути вхідні послідовності під час генерації виводу, тоді як механізми уваги тільки кодування та тільки декодування дозволяють мережам розглянути всі частини попередніх та поточних послідовностей відповідно.
Конструкція механізму уваги можна розділити на п’ять кроків:
- Обчислення оцінки для всіх станів кодування.
- Обчислення ваг уваги
- Обчислення контекстного вектора
- Оновлення контекстного вектора з попереднього виводу часу
- Генерація виводу з декодера
Перший крок – це обчислення декодером оцінки для всіх станів кодування. Це робиться шляхом навчання мережі декодування, яка є базовою нейронною мережею з прямим розповсюдженням. Коли декодер навчається на першому слові вхідної послідовності, жодного внутрішнього/прихованого стану ще не створено, тому останній стан кодування зазвичай використовується як попередній стан декодера.
Для розрахунку ваг уваги використовується функція softmax для генерації розподілу імовірностей для ваг уваги.
Після розрахунку ваг уваги необхідно обчислити контекстний вектор. Це робиться шляхом множення ваг уваги та прихованого стану разом для кожного часу.
Після обчислення контекстного вектора його використовують разом з словом, згенерованим на попередньому часовому інтервалі, для генерації наступного слова у вихідній послідовності. Оскільки декодер не має попереднього виводу для посилання на першому часовому інтервалі, часто використовується спеціальний “стартовий” токен замість нього.
Відмінності між трансформаторами та РНН/ЛСТМ
Давайте розглянемо деякі відмінності між РНН та ЛСТМ.
РНН обробляють вхідні дані послідовно, тоді як прихований стан зберігається та змінюється вхідними словами під час проходження даних через мережу. Приховані стани РНН зазвичай містять дуже мало відповідної інформації щодо попередніх вхідних даних. Нові вхідні дані часто перезаписують поточний стан, що призводить до втрати інформації та погіршення продуктивності з часом.
Натомість, трансформаторні моделі обробляють всю вхідну послідовність одночасно. Механізм уваги дозволяє кожному вихідному слову бути інформованим кожним вхідним словом та прихованим станом, що робить мережу більш надійною для довгих текстів.
ЛСТМ – це модифікована версія РНН, змінена для обробки довших вхідних послідовностей. Архітектура ЛСТМ використовує структуру під назвою “брами”, з “вхідними брамами”, “вихідними брамами” та “брамами, які забувають”. Проект брами займається втратою інформації, властивою для моделей РНН. Дані все ще обробляються послідовно, а рекурентна конструкція робить ЛСТМ-моделі важкими для навчання за допомогою паралельної обробки, що робить час навчання довшим.
Інженери ЛСТМ часто додавали механізми уваги до мережі, що було відомо як покращення продуктивності моделі. Однак згодом було виявлено, що сам механізм уваги покращував точність. Це відкриття призвело до створення трансформаторних мереж, які використовували механізми уваги та паралельну обробку завдяки ГПУ.












