День 101 # NLP365 поглибленого дослідження архітектури дієт RASA Райан Онг Назустріч науці про дані
Сучасна архітектура для намірів та класифікації об'єктів
Райан Онг
10 квітня · 6 хв читання
Привіт усім, мене звати Райан. Я працюю вченим з даних у Лондоні. Я дуже захоплений процесом обробки природних мов (NLP), і зараз я працюю над проектом # NLP365 (+1), де я документую свою навчальну подорож NLP кожен день у 2020 році. Не соромтеся перевіряти, що я вивчав протягом останні 100 днів тут.

Сьогоднішня публікація висвітлює архітектуру дієти RASA. Мені дуже подобається архітектура дієти RASA, і хоча мені здалося, що відео з поясненнями RASA є дуже інформативними, я не хочу переглядати все відео при перегляді архітектури DIET в майбутньому, тому нижче всі мої примітки щодо дієти RASA:)
DIET розшифровується як Dual Intent та Entity Transformer. DIET - це багатозадачна архітектура трансформатора, яка може виконувати як класифікацію намірів, так і розпізнавання сутностей разом. Він складається з декількох компонентів, що дозволяє нам мати гнучкість для обміну різними компонентами. Наприклад, ми могли б експериментувати з використанням різних вбудованих слів, таких як BERT та GloVe.
Багато попередньо навчених мовних моделей дуже важкі в тому сенсі, що вони вимагають великої обчислювальної потужності, а час виведення тривалий, тому, незважаючи на високу продуктивність, вони не розроблені для розмовних програм ШІ. Дієта відрізняється від себе:
- Це модульна архітектура, яка дозволяє розробникам програмного забезпечення мати більшу гнучкість в експериментах
- З точки зору точності відповідає попередньо навченим мовним моделям
- Перевершує поточний рівень SOTA, і тренуватися в 6 разів швидше
Перш за все, які дані навчання нам потрібні для навчання моделі DIET? Архітектура вимагає, щоб набір даних містив вхідний текст, мітки (цілі) наміру та мітки (сутності).
Архітектура має багато компонентів, і вона має загальну втрату для оптимізації (мінімізації), яка складається з трьох втрат:
- Втрата юридичної особи
- Втрата намірів
- Втрата маски
Як вхідні речення посилаються на втрату сутності під час навчання? Нижче наведені шари, що пов'язують вхідні речення із втратою сутності:
- Індивідуальний шлях маркера
- Трансформаторний шар
- Умовне випадкове поле (CRF)
Індивідуальний шлях маркера розбивається на два під-шляхи
- Попередньо оброблені вкладення. Це може бути BERT або GloVe. Тут ви можете експериментувати з різними вкладеннями. Результатом є числове представлення маркера
- Розріджені функції + нейронна мережа прямого подавання (FFNN). Складається з одноразових кодерів N-грамів символьного рівня як особливості та передається на рівень прямого подавання
Вихідні дані двох під-шляхів об'єднуються разом і подаються в інший FFNN. Результатом роботи FFNN є 256-мірний вектор.
Виходи окремого шляху маркера подаються у 2-шаровий трансформаторний шар. Клацніть тут, щоб отримати гарну статтю про трансформатори. Згодом виходи шару трансформатора подаються в шар умовного випадкового поля (CRF). Усередині CRF ми маємо FFNN, який приймає вихідні дані трансформаторного шару і класифікує, який об'єкт є вихідним. Наприклад, слово "ping" має сутність "game_name". Між цими FFNN ми маємо матрицю переходів. Ідея матриці переходів полягає в тому, щоб зафіксувати ситуацію, коли, якщо є маркер, який є суттю, сусідні маркери з великою ймовірністю теж будуть суттю. Для кожного маркера ми маємо мітку сутності "істина-земля", і це може бути використано під час навчання для навчання як нашої FFNN, так і матриці переходів (їх ваги).