Openarchive.nure.ua



Міністерство освіти і науки України

Харківський національний університет радіоелектроніки

|Факультет |комп’ютерної інженерії та управління |

| |(повна назва) |

|Кафедра |електронних обчислювальних машин |

| |(повна назва) |

АТЕСТАЦІЙНА РОБОТА

Пояснювальна записка

|Рівень вищої освіти | |

|Формальне представлення аналізу релевантності |

|тексту в новинних сайтах з використанням |

|багатоцільової моделі NLP |

|(тема) |

|Виконав: |

|студент | |курсу, групи | КСМм-18-1 |

|Усачов В. С. |

|(прізвище, ініціали) |

|Спеціальність | |

| |

|(код і повна назва спеціальності) |

|Тип програми |освітньо-професійна |

| |(освітньо-професійна або освітньо-наукова) |

|Освітня програма | |

| |

|(повна назва освітньої програми) |

|Керівник: |ст. викл. Олізаренко С. А. |

| |(посада, прізвище, ініціали) |

Допускається до захисту

|Зав. кафедри ЕОМ | | |Коваленко А.А. |

| |(підпис) | |(прізвище, ініціали) |

2019 р.

|Факультет | |

|Кафедра |електронних обчислювальних машин |

|Рівень вищої освіти | |

| | | |

|Спеціальність | | |

| | |(код і повна назва) |

|Тип програми | |освітньо-професійна |

| | |(освітньо-професійна або освітньо-наукова) |

|Освітня програма | | |

| | |(повна назва) |

Харківський національний університет радіоелектроніки

|ЗАТВЕРДЖУЮ: |

|Зав. кафедри | |

| |(підпис) |

|“| |”| |20 | |р.|

ЗАВДАННЯ

НА АТЕСТАЦІЙНУ РОБОТУ

|студентові |Усачову Вадиму Сергійовичу |

| |(прізвище, ім’я, по батькові) |

|1. Тема роботи |Формальне представлення аналізу релевантності тексту в |

|в новинних сайтах з використанням багатоцільової моделі NLP |

| |

|затверджена наказом по університету від |“|01 |”|листопада |2019 р. |№ |1616 Ст |

|2. Термін подання студентом роботи до екзаменаційної комісії |18 грудня 2019 |

|3. Вхідні дані до роботи | |

|Глибокі нейронні мережі в NLP. |

|Вимоги до якості роботи глибоких нейронних мереж при вирішенні задач NLP |

|3 База даних новинних статей426 зібраних з RSS-каналів New York Times |

| |

| |

| |

| |

|4. Перелік питань, що потрібно опрацювати в роботі | |

|Аналіз предметної області |

|Формальне представлення аналізу релевантності тексту в новинних сайтах |

|Обчислювальний експеримент |

|Розробка практичної рекомендації |

|Висновки |

| |

| |

| |

|5. Перелік графічного матеріалу із зазначенням креслеників, схем, плакатів, комп’ютерних |

|ілюстрацій (слайдів) | |

|Демонстраційні матеріали. Плакати – 12 арк. ф. А4 |

| |

| |

| |

| |

| |

| |

| |

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

|Найменування розділу |Консультант |Позначка консультанта |

| |(посада, прізвище, ім’я, по батькові) |про виконання розділу |

| | |підпис |дата |

| | | | |

| | | | |

КАЛЕНДАРНИЙ ПЛАН

|№ |Назва етапів роботи |Термін |Примітка |

| | |виконання етапів роботи | |

|1 |Аналіз сучасного стану проблеми. |04.11.19 – 05.11.19 | |

|2 |Постановка задачі дослідження |06.11.19 – 10.11.19 | |

|3 |Аналіз літератури |11.11.19 – 18.11.19 | |

|4 |Формальне представлення аналізу |19.11.19 – 03.12.19 | |

| |релевантності тексту в новинних сайтах | | |

|5 |Експеримент і аналіз отриманих результатів |04.12.19 – 09.12.19 | |

|6 |Оформлення пояснювальної записки |10.12.19 – 13.12.19 | |

|7 |Підготовка до захисту |14.12.19 – 15.12.19 | |

| | | | |

| | | | |

| | | | |

| | | | |

Дата видачі завдання 04 листопада 2019 р.

|Студент | |

| |(підпис) |

|Керівник роботи | | |ст. викл. Олізаренко С. А. |

| |(підпис) | |(посада, прізвище, ініціали) |

РЕФЕРАТ

Пояснювальна записка атестаційної роботи: 75 с., 23 рис., 1 табл., 2 дод., 81 джерело.

ГЛИБОКА НЕЙРОННА МЕРЕЖА, МОДЕЛЬ, НОВИННА СТАТТЯ, ПОПЕРЕДНЯ ОБРОБКА, РЕЛЕВАНТНІСТЬ ТЕКСТУ.

Метою атестаційної роботи є формальне представлення процесу аналізу релевантності тексту в новинних статтях з використанням багатоцільової моделі BERT (Bidirectional Encoder Representations from Transformers).

У ході виконання атестаційної роботи був проведений детальний аналіз сучасних підходів що застовуються в Natural Language Processing (NLP), було розкрито поняття глибоких нейронних мереж, були проаналізовані різні моделі з попередньою підготовкою для початку роботи для обробки природної мови при аналізі новинних статей. Далі були сформовані критерії оцінки якості роботи глибоких нейронних мереж та виконане формальне представлення процесу аналізу релевантності тексту в новинних статтях з використанням багатоцільової моделі BERT. На закінченні був проведений експеремент в середовищі Google Colab з використанням фреймворку Tensorflow та надані практичні рекомендації по застосуванню розробленого програмного додатку.

ABSTRACT

Master’s thesis 75 pages, 23 figures, 1 table, 2 appendicy, 81 sources.

DEPTH NEURAL NETWORK, MODEL, NEWS ARTICLE, PRE-PROCESSING, RELEVANCE OF TEXT.

The purpose of performance appraisal is to formally represent the process of analyzing the relevance of text in news articles using the Bidirectional Encoder Representations from Transformers (BERT) multipurpose model.

During the performance of the performance appraisal, a detailed analysis of the current approaches to natural language processing (NLP) was conducted, the concepts of deep neural networks were revealed, various models were prepared with a preliminary preparation for the beginning of work for natural language processing in the analysis of news articles. The criteria for assessing the quality of the work of deep neural networks were then formed and a formal presentation of the text relevance analysis process in news articles using the multi-purpose BERT model was performed. In the end, we experimented with the Google Colab environment using the Tensorflow framework and provided practical guidelines for using the developed software application.

ЗМІСТ

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ І ТЕРМІНІВ 8

ВСТУП 9

1 ДОСЛІДЖЕННЯ ПРЕДМЕТНОЇ ОБЛАСТІ ТА МАТЕМАТИЧНОГО АПАРАТУ ДЛЯ ФОРМАЛЬНОГО ПРЕДСТАВЛЕННЯ ПРОЦЕСІВ В NLP 11

1.1 Аналіз предметної області та формальна постановка задачі і визначення мети дослідження 11

1.2 Аналіз математичного апарату для формального представлення процесів в NLP 13

1.2.1 Аналіз основних підходів з використанням нейронних мереж для вирішення задач NLP 13

1.2.2 Багатозадачне навчання 16

1.2.3 Word embedding (векторне подання слів) 17

1.2.4 Рекурентні, згорткові та рекурсивні нейронні мережі 20

1.2.5 Моделі sequence-to-sequence (seq2seq) 23

1.2.6 Механізм уваги та нейронні мережі з асоціативною пам'яттю 25

1.2.7 Попередньо навчені мовні моделі 28

2 ФОРМАЛІЗАЦІЯ ПРОЦЕСУ АНАЛІЗУ РЕЛЕВАНТНОСТІ ТЕКСТУ В НОВИННИХ СТАТТЯХ З ВИКОРИСТАННЯМ ПОПЕРДНЬО НАВЧЕНОЇ БАГАТОЦІЛЬОВОЇ ГЛИБОКОЇ НЕЙРОМЕРЕЖЕВОЇ МОДЕЛІ BERT 36

2.1 Аналіз основних попередньо навчених багатоцільових мовних моделей на основі глибоких нейронних мереж 36

2.2 Дослідження особливостей побудови, навчання та застосування багатоцільової глибокої нейромережевої моделі BERT 40

2.3 Формальне представлення аналізу релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT 42

3 ВИЗНАЧЕНЯ ПРОГРАМНИХ ТА АПАРАТНИХ ЗАСОБІВ ДЛЯ РЕАЛІЗАЦІЇЇ БАГАТОЦІЛЬОВИХ МОДЕЛЕЙ NLP. ПРОВЕДЕННЯ ЕКСПЕРЕМЕНТУ ТА ОЦІНКА ЯКОСТІ ФУНКЦІОНУВАННЯ МОДЕЛІ 47

3.1 Визначення програмних та апаратних засобів для реалізаціїї багатоцільових моделей NLP 47

3.2 Проведення експеременту та оцінка якості функціонування розробленої моделі 48

ВИСНОВКИ 52

ДОДАТОК А Графічний матеріал атестаційної роботи 63

ДОДАТОК Б Топологія моделі BERT 70

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ І ТЕРМІНІВ

BERT – Bidirectional Encoder Representations from Transformers

CNN – Convolutional neural network

CPU – Central processing unit

GPU – Graphics processing unit

LSTM –Long short term memoryNLP – Natural Language Processing

RNN – Recurrent neural network

ПС – пошукова система

ВСТУП

У зв'язку з розвитком інформаційних інтернет ресурсів, в яких можна знаходити різноманітну інформацію, за останні роки відбулося стрімке збільшення кількості пошуку релевантного контенту: релевантні повідомлення в блогах і соціальних мережах, даних щодо послуг або товарів, фільмів, книг, ресторанів, новинних статтях щодо політичних, соціальних, спортивних та інших подій - контенту, що створюється і використовується відповідними користувачами інтернету.

Релевантність контенту - фактор, який робить найбільший вплив на процес побудови видачі відповідної інформації пошуковими системами (ПС). Раніше для визначення релевантності тексту ПС враховували тільки кількість присутніх в ньому ключових фраз, що в точності відповідають запиту. Причому при збільшенні числа повторень підвищувалася позиція документа. Це приводило до того, що часто зустрічалися нерелевантні сторінки або документи з переспамленним контентом, який не тільки погано читався, але і не був корисним для користувачів. На даний час при визначенні релевантності контенту пошукові системи застосовують складні алгоритми і враховують велику кількість чинників. При цьому одним з найперспективніших підходів вважається підхід на основі застосування моделей NLP з використанням глибоких нейронних мереж.

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

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

Для досягнення поставленої мети були сформульовані наступні часткові завдання:

- аналіз предметної області та формальна постановка задачі і визначення мети дослідження;

- дослідження існуючих методів та моделей для NLP на основі глибоких нейронних мереж;

- формальне представлення аналізу релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT;

- визначення підходів для оцінки якості релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT;

- аналіз програмних та апаратних засобів для реалізаціїї багатоцільових моделей NLP;

- проведення експеременту та оцінка якості функціонування багатоцільової глибокої нейромережевої моделі BERT для аналізу релевантності тексту в новинних статтях.

1 ДОСЛІДЖЕННЯ ПРЕДМЕТНОЇ ОБЛАСТІ ТА МАТЕМАТИЧНОГО АПАРАТУ ДЛЯ ФОРМАЛЬНОГО ПРЕДСТАВЛЕННЯ ПРОЦЕСІВ В NLP

1.1 Аналіз предметної області та формальна постановка задачі і визначення мети дослідження

В рамках аналізу предметної області розглянемо наступні основні критерії релевантності контенту:

щільність і форма ключових слів;

природність і корисність;

релевантні заголовки і структурні блоки;

виділення ключових слів і важливої інформації;

наявність корисного додаткового контенту.

Щільність ключових слів - це частота вживання запиту в тексті. Якщо кількість ключів перевищує максимально допустиме значення, позиція документа знижується. Матеріали, в яких присутні тільки прямі входження запиту, не отримують високу релевантність. Для вирішення цієї проблеми використовуються словоформи і розбиваються фрази, додаючи актуальні уточнення.

Природність і корисність. Для підвищення релевантності контенту важливо, щоб вписані запити виглядали максимально природно. Ключові слова повинні бути рівномірно розподілені по тексту. контент сторінки повинен якомога повніше відповідати на питання користувача. Стаття, що містить непотрібну або неактуальну інформацію може бути не оцінена як релевантна.

Релевантні заголовки і структурні блоки. Заголовки по можливості повинні містити ключові слова і потрібні уточнення, пов'язані з утриманням структурних блоків. для кожного з них необхідно підібрати відповідні ключі. Один з ефективних підходів для вирішення цієї задачі - структурування контенту. Він включає створення змісту статті (з посиланнями) і написання зачіпок заголовків за якими користувач захоче перейти.

Виділення ключових слів і важливої інформації. Виділяють ключові запити тільки в важливих структурних блоках. Для невеликої статті (2-3 тис. символів) одного-двох разів цілком достатньо. Природність і корисність стоять на першому плані. Важливу інформацію можна оформити у вигляді цитат.

Наявність корисного додаткового контенту. Релевантність тексту значно підвищиться, якщо розмістити в ньому корисні зображення та відеоматеріали.

В рамках даного дослідження вирішується наступне практичне завдання: новинний сайт надає список новинних статей, їх заголовки, описи, дати публікації, посилання і категорії. З огляду на статтю, необхідно автоматично з використанням методів та моделей NLP знайти інші статті, які стосуються тієї ж теми, не покладаючись на інформацію про категорії (щоб можливо було застосувати алгоритм до декількох джерел в майбутньому). Ця постановка практичного завдання дозволяє врахувати 3 – 5 критерії релевантності новинного контенту, що визначені вище.

Обробка природної мови (NLP) - область, що знаходиться на перетині computer science, штучного інтелекту та лінгвістики. Мета полягає в обробці і "розумінні" природної мови для вирішення самих різноманітних завдань, пошук (письмова або усна); показ підходящої онлайн реклами; автоматичний (або за сприянням) переклад; аналіз настроїв для задач маркетингу; розпізнавання мови і чат-боти; голосові помічники (автоматизована допомогу покупцеві, замовлення товарів і послуг) та ін.

На сучасному етапі істотна частина технологій NLP працює завдяки глибокому навчанню (deep learning) - області машинного навчання, яка почала активно використовуватися на початку цього десятиліття з наступних причин:

накопичені великі обсяги навчальних даних;

розроблено потужні обчислювальні засоби: багатоядерні CPU і GPU;

створено нові моделі і алгоритми з розширеними можливостями і поліпшеною продуктивністю, c гнучким навчанням на проміжних уявленнях;

з'явилися навчальні методи c використанням контексту, нові методи регуляризації та оптимізації.

У глибокому навчанні відповідні моделі та алгоритми дозволяють автоматично витягти кращі ознаки або подання з сирих вхідних даних.

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

Глибоке навчання призвело до прориву в областях розпізнавання мови і комп'ютерному зорі. Ці моделі часто навчаються за допомогою одного поширеного алгоритму і не вимагають традиційного побудови ознак під конкретну задачу.

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

1.2 Аналіз математичного апарату для формального представлення процесів в NLP

1.2.1 Аналіз основних підходів з використанням нейронних мереж для вирішення задач NLP

Завдання мовного моделювання полягає в тому, щоб спрогнозувати наступне слово в тексті на основі попереднього слова (слів). В основі класичних підходів лежить N-програмна модель яка полягає в тому, щоб обробити N-грами, які модель не зустрічала, з використанням методів згладжування (Kneser & Ney, 1995).

Перша нейронна мовна модель була побудована на основі нейромережі прямого поширення в 2001 році (Йошуа Бенжі). Схема відповідної нейронної мережі представлена на рис. 1.1.

[pic]

Рисунок 1.1 – Схема нейромережевої мовної моделі прямого поширення

В якості вхідних даних ця модель приймає векторні уявлення n попередніх слів. На даний час для таких векторних уявлень слів використовують стиснений варіант - word embedding. Ці стислі вектори об'єднуються і передаються в прихований шар, вихідні дані якого потім передаються в softmax шар, де спрацьовує функція активації (вона вирішує, який сигнал піде далі, а який «потухне», так визначається і підсумкова видача нейромережі). Word embedding - це зіставлення довільній суті (наприклад, вузла в графі) деякому вектору (рис. 1.2).

[pic]

Рисунок 1.2 – Приклад візуалізації сутності поняття embedding

В подальшому для мовного моделювання замість нейронних мереж з прямим зв'язком стали використовуватися рекурентні нейронні мережі (RNN; Mikolov et al., 2010), а також мережі з довго-короткостроковою пам'яттю (LSTM-мережі; Graves, 2013). В останні роки було запропоновано багато нових мовних моделей, що розширюють можливості класичних LSTM-мереж. Однак класичні LSTM-мережі зберігають свої позиції (Melis et al., 2018). Навіть звичайна нейронна мережа з прямим зв'язком, використана Бенжі в 2001 році, в деяких умовах здатна скласти конкуренцію більш складним моделям, оскільки всі вони вчаться сприймати тільки найближчі попередні слова (Daniluk et al. 2017). Окремі дослідження ведуться для того, щоб зрозуміти, яка саме інформація дозволяє таким мовним моделям працювати (Kuncoro et al., 2018; Blevins et al., 2018).

На даний час розглядають наступні етапи розвитку застування нейромережевих моделей в NLP:

багатозадачне навчання.

word embedding (векторні уявлення слів). Модели word2vec (моделі векторного уявлення слів) для спрощення мовного моделювання.

моделі sequence-to-sequence (seq2seq). Відповідні моделі генерують вихідну послідовність, прогозуючі по одному слову за раз. За допомогою seq2seq-моделей працює машинний переклад, вилучення інформації та багато інших завдань в NLP.

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

1.2.2 Багатозадачне навчання

Багатозадачне навчання - це загальний підхід, при якому моделі навчаються виконанню різних завдань на одних і тих же параметрах. У нейронних мережах цього можна домогтися, зв'язавши ваги різних шарів. Фактично при багатозадачному навчанні модель стимулюють до створення всередині себе такого представлення даних, яке дозволяє виконати відразу декілька завдань. Це особливо корисно для навчання загальним низькорівневим уявленням, на базі яких потім відбувається «концентрація уваги» моделі або в умовах обмеженої кількості навчальних даних.

Багатозадачне навчання нейромереж для обробки природної мови було вперше застосовано в 2008 році Коллобером і Уестоном (Collobert & Weston, 2008). В цих моделях матриця векторних уявлень слів є спільною для двох моделей, які навчаються різним завданням (рис. 1.3):

[pic]

Рисунок 1.3 – Приклад спільного використання матриці векторних уявлень шарів

Спільне використання одних і тих же векторних уявлень слів дозволяє моделям взаємодіяти і обмінюватися загальною інформацією низькорівневого характеру, тобто деякими «базовими» уявленнями про елементи текстів.

У статті також були висунуті такі ідеї, як створення попередньо навчених матриць векторних уявлень слів і використання згорткових нейронних мереж для роботи з текстом. Раніше згорткові мережі (CNN) використовувалися тільки для зображень, і лише недавно вони були застосовані в NLP.

Багатозадачне навчання на зараз використовується для самих різних завдань обробки природної мови. Відповідні моделі все частіше оцінюються за результатами рішення відразу декількох завдань за їхньою здатністю до узагальнення (Wang et al., 2018; McCann et al., 2018).

1.2.3 Word embedding (векторне подання слів)

Щільні векторні уявлення слів або word embedding використовуються з 2001 року. Основне нововведення, запропоноване в 2013 році Томашом Міколових і його співавторами, зробило навчання цих векторних уявлень слів більш ефективним за допомогою усунення прихованого шару і апроксимації мети. Ці зміни дозволили в сукупності з ефективною реалізацією word2vec моделі провести масове навчання векторних уявлень слів.

У word2vec моделі є два підходи щодо представлення слів (рис. 1.4): «безперервний мішок слів (continuous bag of words)» і «словосполучення з пропуском (skip-gram)». Вони розрізняються по своєї мети:

перший підхід передбачає центральне слово на основі оточуючих його слів;

другий підхід виконує зворотну дію.

[pic]

Рисунок 1.4 – Архітектури "безперервний мішок слів (continuous bag of words)" і "словосполучення з пропуском (skip-gram)"

Хоч ці векторні уявлення і не відрізняються концептуально від тих, які були навчені за допомогою нейронної мережі з прямим зв'язком, навчання на дуже великому корпусі дозволяє їм навчитися, наприклад, приблизно визначати гендерні та частково часові відносини між словами і їх формами, а також відносини, наприклад, між країною і її столицею (рис. 1.5).

[pic]

Рисунок 1.5 – Відносини визначені моделлю word2vec

Ці відносини викликали інтерес до векторних уявлень слів. Багато досліджень були присвячені визначенню походження цих лінійних відносин (Arora et al., 2016 року; Mimno & Thompson 2017; Antoniak & Mimno, 2018; Wendlandt et al., 2018). Однак більш пізні дослідження показали, що відносини між словами не завжди визначаються об'єктивно (Bolukbasi et al., 2016). Розвиток векторних уявлень слів став основним напрямком в області природної обробки мови завдяки тому, що використання попередньо навчених уявлень для ініціалізації моделі NLP покращує результативність вирішення широкого спектра наступних завдань.

Незважаючи на багато нововведень, алгоритм word2vec як і раніше популярний і широко використовується в наш час. Word2vec моделі стали використовуватися навіть за межами рівня слова: модель «словосполучення з пропуском» з негативною вибіркою (skip-gram with negative sampling) зручна для навчання векторних уявлень на основі локального контексту, використовувалася для створення векторних уявлень пропозицій (Mikolov & Le, 2014 ; Kiros et al., 2015) і навіть за межами області обробки природної мови: в мережах (Grover & Leskovec, 2016), біологічних послідовностях (Asgari & Mofrad, 2015), та інших областях.

Одним з напрямків є проекція векторних уявлень слів різних мов в один і той же простір для забезпечення міжмовноuj перекладу (з нуля). Навчання такої проекції необхідної якості повністю без вчителя стає все імовірніше (наприклад, для схожих мов) (Conneau et al., 2018; Artetxe et al., 2018; Søgaard et al., 2018), що знаходить застосування в перекладі з нізкоресурсних мов і назад, а також машинному перекладі без вчителя (Lample et al., 2018; Artetxe et al., 2018).. Однак більш пізні дослідження показали, що відносини між словами не завжди визначаються об'єктивно (Bolukbasi et al., 2016).

1.2.4 Рекурентні, згорткові та рекурсивні нейронні мережі

Рекурентні нейронні мережі (RNN) були очевидним вибором при роботі з динамічними вхідними послідовностями в NLP. Традиційні RNN (Elman, 1990) були швидко замінені LSTM-мережами, тобто мережами з довго-короткостроковою пам'яттю (Hochreiter & Schmidhuber, 1997), які вирішили проблему зникаючого (або вибухового) градієнта.

Схема шарів LSTM-мережі представлена на рис. 1.6. Двунаправлена LSTM-мережа (Graves et al., 2013) зазвичай використовується для роботи одночасно з лівим (попередньою ею і правим (наступним) контекстом.

[pic]

Рисунок 1.6 – Структура LSTM-мережі

Коли згорткові нейронні мережі (CNN) стали широко використовуватися в комп'ютерному зорі, вони також почали застосовуватися в обробці мови (Kalchbrenner et al., 2014; Kim et al., 2014 року). При роботі з текстом, параметри згорткові нейромережі задаються тільки в двох вимірах, причому фільтри необхідно переміщати тільки в часовому вимірі. На рис. 1.7 представлена схема типової згорткової нейромережі, що використовується для обробки природньої мови.

[pic]

Рисунок 1.7 – Згорткова нейронна мережа для обробки тексту

Перевага згорткових нейронних мереж полягає в тому, що їх можна виконувати паралельно більш ефективно, ніж RNN, оскільки стан нейронних елементів на кожному часовому кроці залежить тільки від локального контексту (завдяки операції згортки), а не від всіх минулих станів, як в RNN. З використанням розширених згорток можуть бути розширені і самі CNN, що дозволить їм охопити більш широкий контекст (Kalchbrenner et al., 2016). CNN і LSTM-мережі також можуть бути об'єднані і вкладені одна в одну (Wang et al., 2016), а згортки можуть бути використані для прискорення LSTM-мереж (Bradbury et al. 2017).

RNN і CNN розглядають мову як послідовність слів. Однак з лінгвістичної точки зору мова за своєю суттю ієрархічна: слова утворюють одиниці вищого порядку, такі як фрази і пропозиції, які, в свою чергу, можуть рекурсивно об'єднуватися відповідно до правил мови. Ідея що прийшла з області лінгвістики розглядати пропозиції як дерева, а не як послідовність слів, породжує рекурсивні нейронні мережі (Socher et al., 2013), схема роботи яких представлена на рис. 1.8.

[pic]

Рисунок 1.8 – Рекурсивна нейронна мережа для обробки тексту

Рекурсивні нейронні мережі будують уявлення послідовності знизу вгору, на відміну від RNN, які обробляють пропозицію зліва направо або справа наліво. У кожному вузлі дерева нове уявлення обчислюється шляхом «злиття» уявлень дочірніх вузлів. Оскільки дерево також можна розглядати як метод, які просто змінює порядок обробки даних в RNN, LSTM-мережі природним чином було розширено до дерев (Tai et al., 2015).

Не тільки RNN і LSTM-мережі можуть бути розширені таким чином для роботи з ієрархічними структурами. Векторні уявлення слів також можна навчати, спираючись не лише на локальному, а й на граматичному контексті (Levy & Goldberg, 2014 року); мовні моделі можуть генерувати слова на основі синтаксичного стека (Dyer et al., 2016); а згорткові нейронні мережі на графах можуть оперувати деревами (Bastings et al. 2017).

1.2.5 Моделі sequence-to-sequence (seq2seq)

У 2014 році розроблено нову модель навчання - sequence-to-sequence (з послідовності в послідовність), загальною концепцією якої є перетворення однієї послідовності в іншу з використанням нейронної мережі. Механізм її роботи полягає в тому, що одна нейромережа-кодер (encoder) обробляє пропозицію символ за символом і стискає дані в векторне подання. Друга нейромережа-декодер (decoder) потім прогнозує вихідні дані, також посимвольно, грунтуючись на стані кодера, і приймаючи в якості вхідних даних символ, передбачений на попередньому кроці. Схема роботи моделі представлена на рис. 1.9.

[pic]

Рисунок 1.9 – Модель для обробки тексту seq2seq

Застосування цієї структури в машинному перекладі виявилося дуже ефективним. Важливо відзначити, що модель декодера може бути налаштована на генерацію не тільки послідовності, але і довільних уявлень. Це дозволяє, наприклад, згенерувати підпис для картинки на її основі (Vinyals et al., 2015) (рис. 1.10), текст на основі таблиці (Lebret et al., 2016) опис на основі змін вихідного коду (Loyola et al. 2017), і багато іншого.

[pic]

Рисунок 1.10 – Приклад генерації підпису для картинки

Sequence-to-sequence навчання може застосовуватися до частих в NLP завдань структурного прогнозування, коли вихідні дані мають конкретну структуру. Для простоти висновок лінеаризeзується (рис. 1.11). При достатньому обсязі навчальних даних, ці нейронні мережі продемонстрували здатність безпосередньо навчатися виробляти лінеаризований висновок для проведення синтаксичного аналізу (Vinyals et al, 2015), виділення іменованих об'єктів (Gillick et al., 2016), та ін.

[pic]

Рисунок 1.11 – Лінеаризація дерева синтаксичного аналізу

Кодери для послідовностей і декодери зазвичай засновані на RNN, але можуть використовуватися і інші типи моделей. Нові архітектури в основному з'являються з області машинного перекладу, яка виступає в якості основи для sequence-to-sequence архітектур. Останні моделі - це глибокі LSTM-мережі (Wu et al., 2016), згорткові кодери (Kalchbrenner et al., 2016 року; Gehring et al. 2017), архітектура Transformer (Vaswani et al. 2017) і комбінація LSTM-мережі з цієї архітектурою (Chen et al., 2018).

1.2.6 Механізм уваги та нейронні мережі з асоціативною пам'яттю

Механізм уваги (Bahdanau et al., 2015) - одне з ключових сучасних нововведень в області нейронного машинного перекладу. Механізм уваги дозволив моделям нейронного машинного перекладу перевершити класичні системи машинного перекладу, засновані на перекладі фраз. Основним вузьким місцем в sequence-to-sequence навчанні є те, що весь вміст вихідної послідовності потрібно стиснути в вектор фіксованого розміру. Механізм уваги полегшує це завдання, так як дозволяє декодеру орієнтуватися на приховані стані вихідної послідовності, які потім у вигляді середньозваженого значення надаються в якості додаткових вхідних даних в декодер (рис. 1.12).

[pic]

Рисунок 1.12 – Структурна схема механізму уваги

Доступні різні форми механізму уваги (Luong et al., 2015). Механізм уваги широко застосовується і потенційно корисний при вирішенні будь-якої задачі, яка вимагає прийняття рішень на основі певних компонентів вхідних даних. Він застосовувався в синтаксичному аналізі пропозицій на основі граматики складових (Vinyals et al., 2015), читанні з розумінням прочитаного (Hermann et al., 2015), навчанні на одному прикладі (Vinyals et al., 2016) і багатьох інших. Вхідні дані не обов'язково повинні бути послідовністю, а можуть складатися з інших уявлень, як в разі створення підпису для зображення (Xu et al., 2015). Корисний побічний ефект механізму уваги полягає в тому, що він забезпечує уявлення про внутрішню роботу моделі. Гуртуючись на вагах уваги, можна дізнатися, які компоненти вхідних даних мають відношення до конкретного вихідного результату.

Механізм уваги також не зводиться тільки до перегляду вхідної послідовності. Механізм уваги можна використовувати для перегляду навколишніх слів у реченні або документі, щоб отримати більш контекстно-залежні уявлення слів. Багаторівнева увага лежить в основі архітектури Transformer (Vaswani et al. 2017), на даний момент передової моделі, що використовується для нейронного машинного перекладу.

Механізм уваги можна розглядати як форму нечіткої пам'яті, що складається з минулих прихованих станів моделі. Причому модель самостійно вирішує, що саме витягувати з пам'яті. Є багато різних варіацій, наприклад, нейронна машина Тьюринга (Graves et al., 2014 року), мережа пам'яті (MemNN) (Weston et al., 2015) і наскрізні мережі пам'яті (MemN2N) (Sukhbaatar et al., 2015), мережі динамічної пам'яті (Kumar et al., 2015), диференційовний нейрокомп'ютер (Graves et al., 2016) і рекурентна сутнісна мережа (Henaff et al. 2017).

Нейронні мережі з асоціативною пам'яттю подібно механізму увазі реалізуються на основі подібності, асоціації, з поточним станом. Пам'ять, як правило, може записуватися і зчитуватися. Моделі відрізняються тим, як у них влаштована пам'ять і як вони її використовують. Наприклад, наскрізні мережі пам'яті обробляють вхідні дані кілька разів і кожного разу оновлюють пам'ять, щоб зробити процес умовиводи багатоступеневим. Пам'ять нейронних машин Тьюринга вміє запам'ятовувати відносні шляхи, що дозволяє їм навчатися простим алгоритмам (комп'ютерним програмам), таким як сортування. Моделі з асоціативної пам'яттю, як правило, застосовуються у вирішенні завдань, для яких корисно зберігати інформацію протягом тривалого часу, наприклад, в мовному моделюванні або читання з розумінням прочитаного. Концепція пам'яті дуже універсальна: як пам'ять може функціонувати база знань або таблиця, також вона може бути заповнена на основі всіх вхідних даних або окремих їх компонентів.

1.2.7 Попередньо навчені мовні моделі

Попередньо навчені векторні уявлення слів не залежать від контексту, який аналізується в даний момент, і використовуються тільки для ініціалізації ваг першого шару в моделях. За останній час цілий ряд завдань навчання з вчителем використовувався для попереднього навчання нейронних мереж (Conneau et al. 2017; McCann et al. 2017; Subramanian et al., 2018). Для навчання мовних моделей потрібен нерозмічений текст і таким чином, масштаби навчання можуть досягати мільярдів токенов, нових доменів та ін.

Попередньо підготовлені мовні моделі були вперше запропоновані в 2015 році (Dai & Le, 2015), але тільки недавно їх корисність при вирішенні найрізноманітніших завдань була доведена. Попередньо підготовлені мовні моделі можуть використовуватися як складові цільової моделі (Peters et al., 2018), або мовна модель може бути точно налаштована на дані завдання-адресата (Ramachandran et al. 2017; Howard & Ruder, 2018). Вбудовування попередньо підготовленої мовної моделі значно покращує навіть самі сучасні рішення різних завдань NLP. Основні попередньо навчені мовні моделі розглянуто в 2 розділі.

1.3 Аналіз особливостей розробки інтелектуальних автоматизованих систем в рамках інтелектуальної технології

Під інтелектуальною інформаційною технологією розуміються прийоми, способи і методи виконання функцій збору, зберігання, обробки, передачі і використання знань. Основнім елементом автоматизованих систем, які розробляються з використання інтелектуальної інформаційної технології, є база знань (БЗ), що представляє собою сукупність правил, фактів, механізмів виведення та програмних засобів.

Безпосередньо розробка БЗ є складним процесом, який має багатокритеріальний, ітераційний, розгалужений характер. Традиційні технології розробки БЗ розглядають цей процес, як поетапний з використанням моделі швидкого прототипування. Вважається, що вже на початкових етапах необхідно мати первинне уявлення про майбутню БЗ. Прототип БЗ – це усічена версія БЗ, призначена для демонстрації життєздатності і можливостей вибраного підходу, а також для перевірки і оцінки правильності формалізації, реалізації і використання закладених знань про вирішувану задачу. Класичними є наступні етапи розробки БЗ з використанням моделі швидкого прототипування (рис. 1.1):

етап ідентифікації, на якому уточнюються цілі і завдання, планується хід розробки БЗ, визначаються склад розробників, джерела знань і т. д.;

етап отримання знань, на якому здійснюється перенесення знань від джерел знань до інженера зі знань (когнітолога);

етап концептуалізації (структуризації) знань, на якому виявляється структура отриманих знань про предметну область;

етап формалізації знань, на якому будується формалізоване уявлення концепцій про предметну область на основі вибраної (або розробленої) моделі представлення знань. З одного боку, даний етап традиційно вважається найбільш складним в процесі розробки БЗ. З іншого боку, саме на етапі формалізації повинні бути всебічно враховані всі знання про предметну область для конкретної задачі. Це, в свою чергу, впливає на особливості застосування (удосконалення) існуючого або розробленого нового апарату формалізації знань;

етап реалізації, на якому створюється прототип БЗ на основі вибраних або розроблених програмно-технічних засобів;

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

[pic]

Рисунок 1.13 – Основні етапи розробки БЗ на основі моделі швидкого прототипування

Разом з цим, моделі швидкого прототипування притаманні наступні недоліки:

- по-перше, відсутня можливість врахування загальних підходів і відмінностей в поданні (формалізації) знань різної природи;

- по-друге, має місце достатньо умовне поділення даного процесу на нечітко сформульовані етапи, не враховуються єдині принципи представлення процесу розробки БЗ як інтелектуальної системи, системи розпізнавання і програмної системи, не забезпечується наскрізне представлення результатів розробки БЗ в єдиному електронному форматі.

Значення показника трудомісткості [pic] розробки БЗ з використанням [pic]-технології можна визначити як відношення об'єму БЗ в функціональних точках (Function Points) до продуктивності праці розробників з урахуванням впливу коефіцієнтів зміни трудомісткості:

|[pic], |(1.1) |

де [pic] – об'єм БЗ;

[pic] – продуктивність праці розробників БЗ;

[pic] – коефіцієнти зміни трудомісткості, що враховують залежність [pic]-ої складової сукупних витрат від [pic]-го чинника. В якості таких чинників виступають чинники процесу безпосередньої розробки БЗ, чинники програмної і технічної оснащеності та кваліфікації розробників.

В свою чергу, значення показника трудомісткості [pic] впливає на тривалість розробки БЗ відповідно до наступного виразу:

|[pic]. |(1.2) |

1.4 Формування платформи моделювання глибокого навчання для інтелектуальних автоматизованих систем

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

Методика розробки єдиної апаратної і програмної платформи включає виконання наступних основних операцій і дій:

Вибір апаратного прискорювача обчислень. Такими прискорювачами на даний момент, як правило, є:

програмовані логічні інтегральні схеми (FPGA), що використовуються в крупних корпораціях, наприклад, в датацентрах Microsoft;

графічні процесори (GPU), що підтримують стандарт OPENCL. Всі GPU підтримують відповідний фреймворк, але в глибокому навчанні він на даний момент широкого застосування не знайшов;

графічні процесори (GPU), що підтримують технологію CUDA, – основний варіант для реалізації сучасних глибоких нейронних мереж;

багатоядерні центральні процесори CPU ("суперкомп'ютерна архітектура", архітектура мейнфреймов та ін.). У глибокому навчанні в даний час використовуються рідко.

Вибір бібліотеки нейромережевих примітивів для апаратних засобів:

бібліотека cuDNN, побудована над CUDA з апаратними засобами NVIDIA. Для cuDNN на теперішній час доступний реліз-кандидат четвертої версії інтерактивної системи глибокого навчання Digits 4.0, що забезпечує моделювання виявлення і класифікації об'єктів на цифрових знімках;

є реалізації для OPENCL, але масово на сьогодні вони не використовуються.

Вибір способу реалізації хост-мови програмування. Сьогоднішні реалізації мов програмування архітектури глибоких нейронних мереж (фреймворки або бібліотеки глибокого навчання) створюються як embedded DSL, без синтаксису, в рамках будь-якої хост-мови програмування загального призначення. Для побудови (розробки програмної реалізації) архітектури глибокої нейронної мережі (опису кількості її шарів, зв'язків між шарами та ін.), потрібен як механізм embedded DSL, так і хост-мова загального призначення. На сьогодні (окрім традиційного використання бібліотек на C/C++ і множини інших реалізацій бібліотек глибокого навчання) є дві основні такі розширювані хост-мови: Python і Lua. До хост-мови можна віднести і бібліотеки наукових обчислень: робота з матрицями, побудова графіків, символьні обчислення, використання для цих операцій GPU. Наприклад, для Piton у якості хост-мови виступають NumPy, Theano і ряд інших бібліотек, для Lua – це Torch.

Вибір власне бібліотеки або фреймворка глибокого навчання. Процедура порівняльного аналізу фреймворков реалізується на основі наступних критеріїв:

швидкість навчання – відображає час навчання нейромережевих моделей, розглянутих на етапі проведення експериментів;

швидкість класифікації – відображає час класифікації одного зображення;

точність класифікації – критерій, який дозволяє оцінити середнє значення і дисперсію показників точності класифікації;

зручність використання – критерій, який дозволяє оцінити час, витрачений на вивчення бібліотеки;

гнучкість настройки зв'язків між шарами, установки параметрів методів, а також наявність різних способів обробки даних;

об'єм функціонала – наявність реалізації типових моделей глибоких нейронних мереж;

наявність і зручність використання документації і навчальних матеріалів.

Вибір власне моделі глибокої нейронної мережі (повнозв'язаної нейромережі, згорткової нейронної мережі, автокодувальника, обмеженої машини Больцмана та ін.), реалізованої в рамках фреймворка глибокого навчання, обраного на попередньому етапі.

В якості базового фреймворку в роботі обрано TensorFlow. TensorFlow - це ML-framework від Google, який призначений для проектування, створення і вивчення моделей глибокого навчання.

В останні роки обсяг збору даних у багатьох галузях стрімко зростає, і машинне навчання є важливою технікою для осмислення цих, здавалося б, нескінченних даних. Теорія штучного інтелекту, машинне навчання (ML), - це практика, яка допомагає програмному забезпеченню виконувати завдання без явного програмування або правил. Надаючи набір прикладів, комп'ютер вивчає шаблони на основі даних і дозволяє розробникам навчати моделі. Ця прогностична модель може потім подавати прогнози про раніше невідомі данні. Наприклад, якщо система передбачає, що користувачеві сподобається певне відео, то система може рекомендувати це відео користувачеві.

Основні переваги TensorFlow.

Проста побудова моделі. TensorFlow пропонує кілька рівнів абстракції, тому можна вибрати відповідний для потреб предметної області. Є можливість створювати і навчати моделі за допомогою високорівневого API-інтерфейсу Keras, що полегшує початок роботи з TensorFlow і машинне навчання.

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

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

Використовується TensorFlow Extended (TFX), якщо розробнику потрібен повноцінний конвеєр ML. Для запуску виведення на мобільних і периферійних пристроях використовується TensorFlow Lite. Навчання і розгортання моделей в середовищах JavaScript з використанням TensorFlow.js.

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

TensorFlow також підтримує екосистему потужних додаткових бібліотек і моделей для експериментів, включаючи Ragged Tensors, TensorFlow Probability, Tensor2Tensor і BERT.

2 ФОРМАЛІЗАЦІЯ ПРОЦЕСУ АНАЛІЗУ РЕЛЕВАНТНОСТІ ТЕКСТУ В НОВИННИХ СТАТТЯХ З ВИКОРИСТАННЯМ ПОПЕРДНЬО НАВЧЕНОЇ БАГАТОЦІЛЬОВОЇ ГЛИБОКОЇ НЕЙРОМЕРЕЖЕВОЇ МОДЕЛІ BERT

2.1 Аналіз основних попередньо навчених багатоцільових мовних моделей на основі глибоких нейронних мереж

Багатоцільові моделі - це моделі які підтримують різноманітні задачі NLP (машинний переклад, системи відповіді на питання, чат-боти, аналіз настроїв і т.д.) Основним компонентом цих багатоцільових моделей NLP є концепція мовного моделювання з використанням попередньо навчених моделей. В рамках дослідження проаналізуємо наступні основні глибокі нейромережеві моделі відповідного класу (рис. 2.1):

ULMFiT;

Transformer (трансформатор);

Google BERT;

Трансформатор-XL;

OpenAI GPT-2.

[pic]

Рисунок 2.1 – Класифікація сучасних моделей NLP та місце в ній попередньо навчених багатоцільових мовних моделей на основі глибоких нейронних мереж

Модель Universal Language Model Fine-tuning (ULMFiT) була запропонована і розроблена Джеремі Ховардом з Fast.ai і Себастьяном Рудер з DeepMind. ULMFiT досягає найсучасніших результатів з використанням нових технологій НЛП. Ця модель включає точне налаштування заздалегідь підготовленій мовної моделі, навченої на наборі даних Wikitext 103 до нового набору даних таким чином, щоб попередньо підготовлена модель не забувла те, що вивчала раніше. ULMFiT перевершує численні сучасні рішення задач класифікації тексту. Особливістю застосування є те, що для ULMFiT потрібно дуже мало прикладів з навчальної виборки для навчання. Схему узагальненого використання ULMFiT наведено на рис. 2.2.

[pic]

Рисунок 2.2 – Узагальнена схема використання ULMFiT

Модель на основі архітектури трансформатору може бути використана практично у всіх сучасних задачах в NLP. Вона була представлена у 2017 році компанією Google. Так порівняльний аналіз можливостей архітектури трансформатору з іншими мовними нейромережевими моделями для завдань переводу тексту наведено на рис. 2.3.

[pic]

Рисунок 2.3 – Порівняльний аналіз можливостей архітектури трансформатору з іншими мовними нейромережевими моделями

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

Модель Google BERT враховує контекст по обидва боки (зліва і справа) слова (рис. 2.4). Всі попередні моделі розглядали одну сторону слова за один прохід - або ліву, або праву. Ця двунаправленість допомагає моделі краще зрозуміти контекст, в якому використовувалося слово. Крім того, BERT призначений для багатозадачного навчання, тобто він може одночасно виконувати різні завдання NLP. BERT - це перша некерована, глибоко двунаправлена система для попередньої підготовки моделей NLP. Модель Google BERT була навчена з використанням тільки текстового нерозміченого дуже великого розміру корпусу. На момент випуску BERT показував найкращі результати з 11 завдань NLP.

[pic]

Рисунок 2.4 – Сутність двонаправленості моделі BERT

Модель Transformer-XL дозволяє розуміти контекст тексту, що виходить за рамки обмежень щодо фіксованої довжини вхідних даних. Так Transformer-XL розпізнає послідовність вхадних даних, яка приблизно на 80% довша, ніж RNN, і на 450% довша, ніж у звичайних трансформаторів, які зазвичай мають кращу продуктивність, ніж RNN, але є гіршими в завданнях моделювання великих послідовностей через контекстно фіксовану довжину. При цьому Transformer-XL працює в 1800 разів швидше ніж звичайний Transformer під час оцінки завдань моделювання мови, оскільки повторне обчислення йому не потрібно. Transformer-XL має кращу продуктивність при прогнозуванні вибірки для довгих послідовностей завдяки довгостроковому моделюванню залежностей, а також для коротких послідовностей завдяки вирішенню проблеми фрагментації контексту.

GPT-2 (спадкоємець GPT) була навчена передбачати наступне слово на 40 Гб Інтернет-тексту. GPT-2 - це велика мовна модель на основі трансформаторів з 1,5 мільярдами параметрів, підготовлена на наборі даних із 8 мільйонів веб-сторінок. GPT-2 навчається з метою передбачити наступне слово, враховуючи всі попередні слова в межах деякого тексту. GPT-2 - це пряме збільшення масштабу параметрів моделі та обсягу даних у порівнянні з GPT, а саме з більш ніж 10-кратними збільшенням кількості параметрів моделі та 10-кратний збільшенням обсягу даних для навчання. GPT-2 відображає широкий набір можливостей, включаючи також можливість генерувати умовні синтетичні зразки тексту високої якості.

2.2 Дослідження особливостей побудови, навчання та застосування багатоцільової глибокої нейромережевої моделі BERT

Модель BERT є багатоцільовою моделлю з різноманітними розвинутими архітектурами для вирішення різних завдань:

- попередньо навчені моделі, наприклад:

- моделі за попередньою підготовкою на основі прикладного корпусу - BioBERT (біомедицинський текст), SciBERT (наукові публікації), ClinicalBERT та ClinicalBERT (клінічні замітки). Випробувані ориентированного корпусу за прикладними напрямками показали більш високу продуктивність при тонкому настроюванні для наступних завдань НЛП, таких як NER та ін.;

- мультимовна модель, попередньо підготовлена з використанням 104 мов для передачі навчання з нуля на багатомовному контенті;

- модель ERNIE (ERNIE 2), яка включає формалізований граф знань;

- модель TransBERT, яка використовує три етапи до навчання, перший без нагляду, за яким наступні два вже контрольних кроки;

- модель videoBERT, яка спільно вивчає відео та вивчає мовне представлення і представляє embedding відеокадрів у вигляді спеціальних токенів дескриптора разом із текстом для попередньої підготовки;

- модель, яка має можливості нейромереж Graph і BERT (G-BERT) для представлення та рекомендації медичного / діагностичного коду;

- тонко налаштовані моделі (моделі точно налаштовані на конкретні завдання з використанням попередніх моделей навчання), наприклад:

- DocBERT (класифікація документів);

- PatentBERT (класифікація патентів).

В роботі безпосередньо для аналізу релевантності тексту в новинних статтях використовується попередньо навчена модель BERT для 104 мов.

Архітектура BERT заснована на Transformer. На даний час існує два варіанти (рис. 2.5):

- базовий BERT: 12 шарів (трансформаторні блоки), 12 голів уваги та 110 міліонів параметрів;

- BERT Large: 24 шара (трансформаторні блоки), 16 голів уваги та 340 міліонів параметрів.

[pic]

Рисунок 2.5 – Варіанти топологій BERT

Для початку кожне вхідне представлення являє собою поєднання з 3-х запропонованих варіантів (рис.2.6):

- вкладені позиції: BERT вивчає і використовує позиційні вставки для визначення положення слів в реченні;

- вкладені сегменти: BERT також може використовувати пари речень у своїх вхідних даних для задач питання-відповідь;

- вкладені токени: це вкладення, вивчені для конкретного токену з словаря токенів WordPiece.

[pic]

Рисунок 2.6 – Структура BERT для попередньої обробки тексту

BERT попередньо навчена двом завданнями NLP:

моделювання мовної маски(Masked Language Models (MLM));

прогнозування наступного речення.

Сутність моделювання мовної маски полягає в тому, що замість прогнозування наступного слова, будується модель для прогнозування пропущеного слова з самого речення з використанням токену [Mask].

Моделі мовної маски (MLM) навчаються розуміти співвідношення між словами. Крім того, BERT реалізує завдання «Прогнозування наступних речень» для завдань, що вимагають розуміння взаємозв’язку між реченнями (Next Sentence Prediction (NSP)). Зважаючи на те, що це задачі двійкової класифікації, вони можуть бути легко згенеровані з будь-якого корпусу, розбивши його на два речення.

2.3 Формальне представлення аналізу релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT

Для формального представлення аналізу релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT розроблено відповідний узагальнений алгоритм. Узагальнений алгоритм формального представлення аналізу релевантності тексту в новинних статтях включає виконання наступних основних етапів:

попередня тонке налаштування багатоцільової моделі BERT для завдання класифікації релевантних речень з текстів новинних статей;

реалізація моделі NLP для створення вкладень слів з наступним формуванням вбудовування речення (sentence embedding);

визначення ступенів подібності релевантності текстів на основі вкладення речення (sentence embedding) із застосуванням вибраної метрики (показників оцінки) та тонко налаштованої моделі BERT;

аналіз результатів визначення ступенів релевантності текстів новинних статей на різних мовах.

Для реалізації багатофункціональної моделі BERT для аналізу релевантності тексту в новинних статтях пропонується використовувати модель багатомовної версії BERT. Відповідна модель безпосередньо включає 104 мови, 768 шарів та 177M параметрів.

Як вже зазначалось в BERT вхідна послідовність складається з двох речень (тексту), кожне з яких закінчується токеном [SEP]. Токен [CLS] додається до початку послідовності «голові», відповідні скриті стани якої використовуються для визначення наступного речення відповідно виразу

tokens = ['[CLS]'] + tokens_sen_1 + ['[SEP]'] + tokens_sen_2 + ['[SEP]'] (2.1)

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

Наприклад назва статті «What Is and Isn’t Affected by the Government Shutdown», її опис «Transportation Security Administration officers checking passengers at Pittsburgh International Airport last week. The agency’s employees have called out sick in increased numbers across the country since the shutdown began.» Тоді її перетворення після токенізації BERT має вигляд «[CLS] what is and isn ’ t affected by the government shut ##down [SEP] transportation security administration officers checking passengers at pittsburgh international airport last week . the agency ’ s employees have called out sick in increased numbers across the country since the shut ##down began .[SEP]». Приклад дано\ послідовності з опис з іншої новинної статті «[CLS] what is and isn ’ t affected by the government shut ##down [SEP] gr ##udge ##s can be good . they are one habit that humans have evolved to keep ourselves from the pain of breakup ##s and also from eating mo ##zza ##rella sticks for every meal . [SEP]»

У даному дослідженні на другому етапі розглядається тільки питання використання багатофункціональної моделі NLP для формального представлення процесу аналізу релевантності тексту в новинних статтях. Разом з тим питання побудови навчального набору даних для тонкого налаштування моделі BERT в дослідженні не розглядається.

У дослідженні тонко налаштована мультимовна модель BERT використовується для створення контекстних вкладень слова. У зв'язку з цим в роботі розглядаються можливості використання векторів окремих шарів і комбінацій моделей BERT для визначення найкращих вкладень слів у реченні. Це пов’язане, з тим, що різні шари BERT кодують досить різні види інформації, які можуть бути використані відповідною схемою в різних завданнях NLP. По-друге, на різних шарах можуть бути отримані достатньо високі показники якості роботи нейронної мережі без тонкого налаштування (Alammar, 2019). У даній роботі досліджувалися результати формування векторів слова на наступних шарах моделі (додаток А):

7 Embedding-Norm False (First Layer);

79, 87, 95, 103 Encoder-12-FeedForward-Norm False (Sum Last Four Hidden);

79, 87, 95, 103 Encoder-12-FeedForward-Norm False (Concat Last Four Hidden);

103 Encoder-12-FeedForward-Norm False (Last Layer).

Формування вкладення речення (sentence embedding) виконувалось із застосуванням двох наступних підходів:

визначення кожного вкладення речення (sentence embedding) як вкладення речення середніх значень відповідних елементів усіх вбудованих слів тексту в новинних статтях (mean);

визначення кожного вкладення речення з використанням узагальненого спеціалізованого слоя MaskedGlobalMaxPool1D, як розширення базової мультимовної моделі Bert (pool).

Приклад топології розробленої моделі для реалізації другого етапу формального представлення аналізу релевантності тексту в новинних статтях наведено на рис. 2.7.

[pic]

Рисунок 2.7 – Приклад топології розробленої моделі на основі тонкого налаштованої моделі BERT для реалізації другого етапу

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

Існує кілька метрик визначення ступенів подібності, наприклад, подібність Жакарду, K-засоби, подібність косинусу, відстань Дженсена-Шеннона та ін.

У рамках дослідження на третьому етапі пропонується використовувати подібність косинусу для визначення релевантних контентів відповідно до виразу

[pic]. (2.2)

де u, v - вбудовування речення, отримані за результатами роботи багатоцільової нейромережевої моделі NLP.

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

[pic]. (2.3)

Приклад топології розробленої моделі для реалізації третього етапу формального представлення аналізу релевантності тексту в новинних статтях наведено на рис. 2.8.

Зміст четвертого етапу узагальненого алгоритму формального представлення аналізу релевантності тексту в новинних статтях розглянуто у 3 розділі.

[pic]

Рисунок 2.8 – Приклад топології розробленої моделі для визначення косинусу подібності при реалізації третього етапу

3 ВИЗНАЧЕНЯ ПРОГРАМНИХ ТА АПАРАТНИХ ЗАСОБІВ ДЛЯ РЕАЛІЗАЦІЇЇ БАГАТОЦІЛЬОВИХ МОДЕЛЕЙ NLP. ПРОВЕДЕННЯ ЕКСПЕРЕМЕНТУ ТА ОЦІНКА ЯКОСТІ ФУНКЦІОНУВАННЯ МОДЕЛІ

3.1 Визначення програмних та апаратних засобів для реалізаціїї багатоцільових моделей NLP

В якості базового програмного-апаратного сервісу в роботі використовується сервіс Colaboratory, який представляє ноутбук Jupyter з можливістю безкоштовно використовувати GPU Tesla K80 з 13 Гб відеопам'яті. Наявність графічних процесорів є критично важливим фактором для швидкого навчання моделей глибокого навчання. Без GPU навчання нейромережі займають багато годин / днів і не дозволяють полноценно експериментувати з структурою мереж. Об'єм відео пам’яті також дуже важливий. Більше пам’яті - можна встановити більший розмір батта і використовувати більш складні моделі. Ноутбуки доступні через диск Google в .ipynb форматі і можливо їх запускати локально. Дідтримується Python 2.Х і 3.Х. Код виконується на серверах в докерних контейнерах. Можно закрити браузер, всі процеси на серверах продовжують працювати, можна також підключитися до серверів снова. Docker контейнер видає тимчасове користування на 12 годин. Можна встановити і використовувати будь-які програми всередині контейнера. Colaboratory також підтримує сумісну роботу над ноутбуком, за типом google docs.

У якості базової мови програмування використовується Python 3.Х. Python - високомобільний програмний модуль для програмного забезпечення загального використання, орієнтований на підвищення продуктивності. Синтаксис ядра Python мінімалістичний. У той же час, стандартна бібліотека включає великий об'єм різноманітних функцій. Python підтримує технологічне, об'єктно-орієнтоване, функціональне та аспектно-орієнтоване програмування. Основні архітектурні риси - динамічна типізація, автоматичне управління пам’яттю, повна інтроспекція, механізм обробки підключень, підтримка багатопоточних розрахункі, високорівневі структури даних.

У якості базової бібліотекі глибокого навчання використовується бібліотека Tensorflow. Бібліотечне програмне забезпечення для машинного навчання представляє собою нове покоління внутрішніх технологій DistBelief, яке було розроблене командою Google Brain для значної кількості завдань. Бібліотеки TensorFlow спрощує вбудування у додаток самонавчаючих елементів та функцій штучного інтелекту, призначених для розпізнавання мови, організації комп'ютерного зору або обробки природньої мови. TensorFlow не єдина бібліотека глубокого навчання, але як і пошуковий механізм Google, вона вважається найкращою у своєму класі. Альтернативні бібліотекі глибокого навчання, наприклад, " Torch " яке створили швейцарські дослідники та розробка Каліфорнійського університете у Берклі Caffe, остання версія якого була спроектована при участі Facebook.

3.2 Проведення експеременту та оцінка якості функціонування розробленої моделі

В якості тестових наборів даних для дослідження можливостей застосування багатофункціональної моделі Bert для визначення релевантності тексту в новинних статтях використовувався:

розмічений набір SentEval (STSbencmark) для оцінювання адекватності результатів роботи нейромережевої моделі при вирішенні завдань визначення семантичного подібності;

набір даних, що включають в себе повністю одинакові речення, на різних мовах ("англійський - китайський", "англійський - іспанський", "англійський - німецький", "англійський - італійський", "англійський - російський") для оцінки результатів роботи розробленої нейромережевої моделі при вирішенні завдань аналізу релевантності тексту в новинних статтях.

У таблиці 3.1 показано результати роботи розробленої моделі на основі Bert у різних конфігураціях на наборі SentEval.

Таблиця 3.1 – Результати роботи розробленої моделі

|№ |Тип релевантності |Конфигурація модели |Значення оцінки релевантності |

| | | |(%) |

| | |шар |спосіб формування sentence embedding | |

| |Повністю релевантні |First Layer |pool |90.6 |

| | |Sum Last Four Hidden |pool |88.53 |

| | |Concat Last Four Hidden |pool |91.72 |

| | |Concat Last Four Hidden |mean |90.16 |

| | |Last Layer |pool |82.6 |

| | |Last Layer |mean |52.6 |

| |Частково релевантні |First Layer |pool |87.1 |

| | |Sum Last Four Hidden |pool |81.02 |

| | |Concat Last Four Hidden |pool |86.97 |

| | |Concat Last Four Hidden |mean |86.6 |

| | |Last Layer |pool |72.8 |

| | |Last Layer |mean |64.09 |

| |Не релевантні |First Layer |pool |84.77 |

[pic]

Рисунок 3.1 – Приклад діаграми розсіювання та значень розмірності для конфігурації моделей з First Layer

[pic]

Рисунок 3.2 – Приклад діаграми розсіювання та значень розмірності для конфігурації моделей з Concat Last Four Hidden

[pic]

Рисунок 3.3 – Приклад діаграми розсіювання та значень розмірності для конфігурації моделей з Last Layer

Аналіз результатів дослідження можливих застосувань розробленої багатофункціональної моделі на основі Bert для визначення релевантності тексту в новинних статтях демонструє, що найвищий рівень значень релевантності для різних наборів даних має модель з конфігурацією Concat Last Four Hidden за рахунок використання спеціалізованого слоя MaskedGlobalMaxPool1D. У цьому випадку потрібно врахувати увагу і на тому, що нижча оцінка рівня релевантності також істотно підіймається, і інтервал між верхніми і нижчими гранічними оцінками релевантності в моделях з конфігурацією Concat Last Four Hidden один з самих не великих.

ВИСНОВКИ

За результатами виконання роботи вирішене актуальне завдання формалізації процесу аналізу релевантності тексту новинного контенту. У ході вирішення поставленого завдання проведено аналіз предметної області та дослідження існуючих методів та моделей для NLP на основі глибоких нейронних мереж за результатами яких у якості базової багатоцільової моделі NLP обрано багатоцільову глибоку нейромережеву модель Bert. Виконно формальне представлення процесу аналізу релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT. Таким чином мета даної роботи щодо формального представлення аналізу релевантності тексту в новинних статтях з використанням багатоцільової глибокої нейромережевої моделі BERT є досягнутою.

За результатми проведення експеременту та оцінка якості функціонування багатоцільової глибокої нейромережевої моделі BERT для аналізу релевантності тексту в новинних статтях виявленні проблемні

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

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

1) розбивати текст необхідно з урахування накладення отриманих вкладень речення для того, щоб максимально зберегти контекстуальну залежність слову в пропозиціях на межах векторів;

2) при об'єднанні векторів у єдине речення необхідно забезпечити контроль подвійного використання гранічних слів;

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

ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ

1. KANNAN, A., KURACH, K., RAVI, S., KAUFMANN, T., TOMKINS, A., MIKLOS, B., ... & RAMAVAJJALA, V. (2016, AUGUST). SMART REPLY: AUTOMATED RESPONSE SUGGESTION FOR EMAIL. IN PROCEEDINGS OF THE 22ND ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING (PP. 955-964). ACM.

2. Mikolov, T., Karafiát, M., Burget, L., Černocký, J., & Khudanpur, S. (2010). Recurrent neural network based language model. In Eleventh Annual Conference of the International Speech Communication Association.

3. Graves, A. (2013). Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850.

4. Melis, G., Dyer, C., & Blunsom, P. (2018). On the State of the Art of Evaluation in Neural Language Models. In Proceedings of ICLR 2018.

5. Daniluk, M., Rocktäschel, T., Weibl, J., & Riedel, S. (2017). Frustratingly Short Attention Spans in Neural Language Modeling. In Proceedings of ICLR 2017.

6. Collobert, R., Weston, J., Bottou, L., Karlen, M., Kavukcuoglu, K., & Kuksa, P. (2011). Natural Language Processing (almost) from Scratch. Journal of Machine Learning Research, 12(Aug), 2493–2537. Retrieved from .

7. Ruder, S., Bingel, J., Augenstein, I., & Søgaard, A. (2017). Learning what to share between loosely related tasks. ArXiv Preprint ArXiv:1705.08142. Retrieved from

8. Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Distributed Representations of Words and Phrases and their Compositionality. In Advances in Neural Information Processing Systems.

9. Mikolov, T., Corrado, G., Chen, K., & Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. Proceedings of the International Conference on Learning Representations (ICLR 2013).

10. Arora, S., Li, Y., Liang, Y., Ma, T., & Risteski, A. (2016). A Latent Variable Model Approach to PMI-based Word Embeddings. TACL, 4, 385–399.

11. Mimno, D., & Thompson, L. (2017). The strange geometry of skip-gram with negative sampling. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing (pp. 2863–2868).

12. Antoniak, M., & Mimno, D. (2018). Evaluating the Stability of Embedding-based Word Similarities. Transactions of the Association for Computational Linguistics, 6, 107–119.

13. Wendlandt, L., Kummerfeld, J. K., & Mihalcea, R. (2018). Factors Influencing the Surprising Instability of Word Embeddings. In Proceedings of NAACL-HLT 2018.

14. Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. Proceedings of the Conference on Empirical Methods in Natural Language Processing, 1746–1751. Retrieved from

15. Pennington, J., Socher, R., & Manning, C. D. (2014). Glove: Global Vectors for Word Representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, 1532–1543.

16. Levy, O., & Goldberg, Y. (2014). Neural Word Embedding as Implicit Matrix Factorization. Advances in Neural Information Processing Systems (NIPS), 2177–2185. Retrieved from

17. Levy, O., Goldberg, Y., & Dagan, I. (2015). Improving Distributional Similarity with Lessons Learned from Word Embeddings. Transactions of the Association for Computational Linguistics, 3, 211–225. Retrieved from

18. Le, Q. V., & Mikolov, T. (2014). Distributed Representations of Sentences and Documents. International Conference on Machine Learning - ICML 2014, 32, 1188–1196. Retrieved from

19. Kiros, R., Zhu, Y., Salakhutdinov, R., Zemel, R. S., Torralba, A., Urtasun, R., & Fidler, S. (2015). Skip-Thought Vectors. In Proceedings of NIPS 2015. Retrieved from

20. Grover, A., & Leskovec, J. (2016, August). node2vec: Scalable feature learning for networks. In Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 855-864). ACM.

21. Asgari, E., & Mofrad, M. R. (2015). Continuous distributed representation of biological sequences for deep proteomics and genomics. PloS one, 10(11), e0141287.

22. Conneau, A., Lample, G., Ranzato, M., Denoyer, L., & Jégou, H. (2018). Word Translation Without Parallel Data. In Proceedings of ICLR 2018. Retrieved from

23. Artetxe, M., Labaka, G., & Agirre, E. (2018). A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings. In Proceedings of ACL 2018.

24. Søgaard, A., Ruder, S., & Vulić, I. (2018). On the Limitations of Unsupervised Bilingual Dictionary Induction. In Proceedings of ACL 2018.

25. Ruder, S., Vulić, I., & Søgaard, A. (2018). A Survey of Cross-lingual Word Embedding Models. To be published in Journal of Artificial Intelligence Research. Retrieved from

26. Kalchbrenner, N., Grefenstette, E., & Blunsom, P. (2014). A Convolutional Neural Network for Modelling Sentences. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (pp. 655–665). Retrieved from

27. Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. Proceedings of the Conference on Empirical Methods in Natural Language Processing, 1746–1751. Retrieved from

28. Kalchbrenner, N., Espeholt, L., Simonyan, K., Oord, A. van den, Graves, A., & Kavukcuoglu, K. (2016). Neural Machine Translation in Linear Time. ArXiv Preprint ArXiv: Retrieved from

29. Wang, J., Yu, L., Lai, K. R., & Zhang, X. (2016). Dimensional Sentiment Analysis Using a Regional CNN-LSTM Model. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL 2016), 225–230.

30. Bradbury, J., Merity, S., Xiong, C., & Socher, R. (2017). Quasi-Recurrent Neural Networks. In ICLR 2017. Retrieved from

31. Socher, R., Perelygin, A., & Wu, J. (2013). Recursive deep models for semantic compositionality over a sentiment treebank. Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, 1631–1642.

32. Tai, K. S., Socher, R., & Manning, C. D. (2015). Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. Acl-2015, 1556–1566.

33. Levy, O., & Goldberg, Y. (2014). Dependency-Based Word Embeddings. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Short Papers) (pp. 302–308).

34. Dyer, C., Kuncoro, A., Ballesteros, M., & Smith, N. A. (2016). Recurrent Neural Network Grammars. In NAACL. Retrieved from

35. Bastings, J., Titov, I., Aziz, W., Marcheggiani, D., & Sima’an, K. (2017). Graph Convolutional Encoders for Syntax-aware Neural Machine Translation. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing.

36. Vinyals, O., Toshev, A., Bengio, S., & Erhan, D. (2015). Show and tell: A neural image caption generator. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 3156-3164).

37. Lebret, R., Grangier, D., & Auli, M. (2016). Generating Text from Structured Data with Application to the Biography Domain. Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Retrieved from

38. Loyola, P., Marrese-Taylor, E., & Matsuo, Y. (2017). A Neural Architecture for Generating Natural Language Descriptions from Source Code Changes. In ACL 2017. Retrieved from

39. Vinyals, O., Kaiser, L., Koo, T., Petrov, S., Sutskever, I., & Hinton, G. (2015). Grammar as a Foreign Language. Advances in Neural Information Processing Systems.

40. Gillick, D., Brunk, C., Vinyals, O., & Subramanya, A. (2016). Multilingual Language Processing From Bytes. In NAACL (pp. 1296–1306). Retrieved from

41. Wu, Y., Schuster, M., Chen, Z., Le, Q. V, Norouzi, M., Macherey, W., … Dean, J. (2016). Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation. ArXiv Preprint ArXiv:1609.08144.

42. Gehring, J., Auli, M., Grangier, D., Yarats, D., & Dauphin, Y. N. (2017). Convolutional Sequence to Sequence Learning. ArXiv Preprint ArXiv:1705.03122. Retrieved from

43. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … Polosukhin, I. (2017). Attention Is All You Need. In Advances in Neural Information Processing Systems.

44. Chen, M. X., Foster, G., & Parmar, N. (2018). The Best of Both Worlds: Combining Recent Advances in Neural Machine Translation. In Proceedings of ACL 2018.

45. Bahdanau, D., Cho, K., & Bengio, Y. (2015). Neural Machine Translation by Jointly Learning to Align and Translate. In ICLR 2015.

46. Luong, M.-T., Pham, H., & Manning, C. D. (2015). Effective Approaches to Attention-based Neural Machine Translation. In Proceedings of EMNLP 2015. Retrieved from

47. Hermann, K. M., Kočiský, T., Grefenstette, E., Espeholt, L., Kay, W., Suleyman, M., & Blunsom, P. (2015). Teaching Machines to Read and Comprehend. Advances in Neural Information Processing Systems. Retrieved from

48. Xu, K., Courville, A., Zemel, R. S., & Bengio, Y. (2015). Show, Attend and Tell: Neural Image Caption Generation with Visual Attention. In Proceedings of ICML 2015.

49. Vinyals, O., Blundell, C., Lillicrap, T., Kavukcuoglu, K., & Wierstra, D. (2016). Matching Networks for One Shot Learning. In Advances in Neural Information Processing Systems 29 (NIPS 2016). Retrieved from

50. Graves, A., Wayne, G., & Danihelka, I. (2014). Neural turing machines. arXiv preprint arXiv:1410.5401.

51. Weston, J., Chopra, S., & Bordes, A. (2015). Memory Networks. In Proceedings of ICLR 2015.

52. Sukhbaatar, S., Szlam, A., Weston, J., & Fergus, R. (2015). End-To-End Memory Networks. In Proceedings of NIPS 2015. Retrieved from

53. Kumar, A., Irsoy, O., Ondruska, P., Iyyer, M., Bradbury, J., Gulrajani, I., ... & Socher, R. (2016, June). Ask me anything: Dynamic memory networks for natural language processing. In International Conference on Machine Learning (pp. 1378-1387).

54. Graves, A., Wayne, G., Reynolds, M., Harley, T., Danihelka, I., Grabska-Barwińska, A., … Hassabis, D. (2016). Hybrid computing using a neural network with dynamic external memory. Nature.

55. Henaff, M., Weston, J., Szlam, A., Bordes, A., & LeCun, Y. (2017). Tracking the World State with Recurrent Entity Networks. In Proceedings of ICLR 2017.

56. Sutskever, I., Vinyals, O., & Le, Q. V. (2014). Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems.

57. McCann, B., Bradbury, J., Xiong, C., & Socher, R. (2017). Learned in Translation: Contextualized Word Vectors. In Advances in Neural Information Processing Systems.

58. Conneau, A., Kiela, D., Schwenk, H., Barrault, L., & Bordes, A. (2017). Supervised Learning of Universal Sentence Representations from Natural Language Inference Data. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing.

59. Subramanian, S., Trischler, A., Bengio, Y., & Pal, C. J. (2018). Learning General Purpose Distributed Sentence Representations via Large Scale Multi-task Learning. In Proceedings of ICLR 2018.

60. Dai, A. M., & Le, Q. V. (2015). Semi-supervised Sequence Learning. Advances in Neural Information Processing Systems (NIPS ’15). Retrieved from

61. Peters, M. E., Neumann, M., Iyyer, M., Gardner, M., Clark, C., Lee, K., & Zettlemoyer, L. (2018). Deep contextualized word representations. In Proceedings of NAACL-HLT 2018.

62. Howard, J., & Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. In Proceedings of ACL 2018. Retrieved from

63. Lample, G., Ballesteros, M., Subramanian, S., Kawakami, K., & Dyer, C. (2016). Neural Architectures for Named Entity Recognition. In NAACL-HLT 2016.

64. Plank, B., Søgaard, A., & Goldberg, Y. (2016). Multilingual Part-of-Speech Tagging with Bidirectional Long Short-Term Memory Models and Auxiliary Loss. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.

65. Ling, W., Trancoso, I., Dyer, C., & Black, A. (2016). Character-based Neural Machine Translation. In ICLR. Retrieved from

66. Lee, J., Cho, K., & Bengio, Y. (2017). Fully Character-Level Neural Machine Translation without Explicit Segmentation. In Transactions of the Association for Computational Linguistics.

67. Jia, R., & Liang, P. (2017). Adversarial Examples for Evaluating Reading Comprehension Systems. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing.

68. Miyato, T., Dai, A. M., & Goodfellow, I. (2017). Adversarial Training Methods for Semi-supervised Text Classification. In Proceedings of ICLR 2017.

69. Yasunaga, M., Kasai, J., & Radev, D. (2018). Robust Multilingual Part-of-Speech Tagging via Adversarial Training. In Proceedings of NAACL 2018. Retrieved from

70. Ganin, Y., Ustinova, E., Ajakan, H., Germain, P., Larochelle, H., Laviolette, F., … Lempitsky, V. (2016). Domain-Adversarial Training of Neural Networks. Journal of Machine Learning Research, 17.

71. Kim, Y., Stratos, K., & Kim, D. (2017). Adversarial Adaptation of Synthetic or Stale Data. In Proceedings of ACL (pp. 1297–1307).

72. Semeniuta, S., Severyn, A., & Gelly, S. (2018). On Accurate Evaluation of GANs for Language Generation. Retrieved from

73. Fang, M., Li, Y., & Cohn, T. (2017). Learning how to Active Learn: A Deep Reinforcement Learning Approach. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. Retrieved from

74. Wu, J., Li, L., & Wang, W. Y. (2018). Reinforced Co-Training. In Proceedings of NAACL-HLT 2018.

75. Paulus, R., Xiong, C., & Socher, R. (2018). A deep reinforced model for abstractive summarization. In Proceedings of ICLR 2018.

76. Celikyilmaz, A., Bosselut, A., He, X., & Choi, Y. (2018). Deep communicating agents for abstractive summarization. In Proceedings of NAACL-HLT 2018.

77. Ranzato, M. A., Chopra, S., Auli, M., & Zaremba, W. (2016). Sequence level training with recurrent neural networks. In Proceedings of ICLR 2016.

78. Wang, X., Chen, W., Wang, Y.-F., & Wang, W. Y. (2018). No Metrics Are Perfect: Adversarial Reward Learning for Visual Storytelling. In Proceedings of ACL 2018. Retrieved from

79. Liu, B., Tür, G., Hakkani-Tür, D., Shah, P., & Heck, L. (2018). Dialogue Learning with Human Teaching and Feedback in End-to-End Trainable Task-Oriented Dialogue Systems. In Proceedings of NAACL-HLT 2018.

80. Kuncoro, A., Dyer, C., Hale, J., Yogatama, D., Clark, S., & Blunsom, P. (2018). LSTMs Can Learn Syntax-Sensitive Dependencies Well, But Modeling Structure Makes Them Better. In Proceedings of ACL 2018 (pp. 1–11). Retrieved from

81. Blevins, T., Levy, O., & Zettlemoyer, L. (2018). Deep RNNs Encode Soft Hierarchical Syntax. In Proceedings of ACL 2018. Retrieved from

ДОДАТОК А

Графічний матеріал атестаційної роботи

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

[pic]

ДОДАТОК Б

Топологія моделі BERT

Model

__________________________________________________________________________________________________

Layer (type) Output Shape Param # Connected to

==================================================================================================

Input-Token (InputLayer) (None, 512) 0

__________________________________________________________________________________________________

Input-Segment (InputLayer) (None, 512) 0

__________________________________________________________________________________________________

Embedding-Token (TokenEmbedding [(None, 512, 768), ( 91812096 Input-Token[0][0]

__________________________________________________________________________________________________

Embedding-Segment (Embedding) (None, 512, 768) 1536 Input-Segment[0][0]

__________________________________________________________________________________________________

Embedding-Token-Segment (Add) (None, 512, 768) 0 Embedding-Token[0][0]

Embedding-Segment[0][0]

__________________________________________________________________________________________________

Embedding-Position (PositionEmb (None, 512, 768) 393216 Embedding-Token-Segment[0][0]

__________________________________________________________________________________________________

Embedding-Dropout (Dropout) (None, 512, 768) 0 Embedding-Position[0][0]

__________________________________________________________________________________________________

Embedding-Norm (LayerNormalizat (None, 512, 768) 1536 Embedding-Dropout[0][0]

__________________________________________________________________________________________________

Encoder-1-MultiHeadSelfAttentio (None, 512, 768) 2362368 Embedding-Norm[0][0]

__________________________________________________________________________________________________

Encoder-1-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-1-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-1-MultiHeadSelfAttentio (None, 512, 768) 0 Embedding-Norm[0][0]

Encoder-1-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-1-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-1-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-1-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-1-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-1-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-1-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-1-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-1-MultiHeadSelfAttention-

Encoder-1-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-1-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-1-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-2-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-1-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-2-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-2-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-2-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-1-FeedForward-Norm[0][0]

Encoder-2-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-2-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-2-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-2-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-2-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-2-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-2-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-2-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-2-MultiHeadSelfAttention-

Encoder-2-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-2-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-2-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-3-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-2-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-3-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-3-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-3-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-2-FeedForward-Norm[0][0]

Encoder-3-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-3-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-3-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-3-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-3-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-3-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-3-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-3-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-3-MultiHeadSelfAttention-

Encoder-3-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-3-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-3-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-4-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-3-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-4-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-4-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-4-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-3-FeedForward-Norm[0][0]

Encoder-4-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-4-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-4-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-4-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-4-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-4-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-4-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-4-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-4-MultiHeadSelfAttention-

Encoder-4-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-4-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-4-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-5-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-4-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-5-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-5-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-5-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-4-FeedForward-Norm[0][0]

Encoder-5-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-5-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-5-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-5-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-5-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-5-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-5-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-5-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-5-MultiHeadSelfAttention-

Encoder-5-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-5-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-5-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-6-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-5-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-6-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-6-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-6-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-5-FeedForward-Norm[0][0]

Encoder-6-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-6-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-6-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-6-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-6-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-6-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-6-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-6-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-6-MultiHeadSelfAttention-

Encoder-6-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-6-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-6-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-7-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-6-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-7-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-7-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-7-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-6-FeedForward-Norm[0][0]

Encoder-7-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-7-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-7-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-7-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-7-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-7-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-7-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-7-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-7-MultiHeadSelfAttention-

Encoder-7-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-7-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-7-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-8-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-7-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-8-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-8-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-8-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-7-FeedForward-Norm[0][0]

Encoder-8-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-8-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-8-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-8-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-8-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-8-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-8-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-8-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-8-MultiHeadSelfAttention-

Encoder-8-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-8-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-8-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-9-MultiHeadSelfAttentio (None, 512, 768) 2362368 Encoder-8-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-9-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-9-MultiHeadSelfAttention[

__________________________________________________________________________________________________

Encoder-9-MultiHeadSelfAttentio (None, 512, 768) 0 Encoder-8-FeedForward-Norm[0][0]

Encoder-9-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-9-MultiHeadSelfAttentio (None, 512, 768) 1536 Encoder-9-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-9-FeedForward (FeedForw (None, 512, 768) 4722432 Encoder-9-MultiHeadSelfAttention-

__________________________________________________________________________________________________

Encoder-9-FeedForward-Dropout ( (None, 512, 768) 0 Encoder-9-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-9-FeedForward-Add (Add) (None, 512, 768) 0 Encoder-9-MultiHeadSelfAttention-

Encoder-9-FeedForward-Dropout[0][

__________________________________________________________________________________________________

Encoder-9-FeedForward-Norm (Lay (None, 512, 768) 1536 Encoder-9-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-10-MultiHeadSelfAttenti (None, 512, 768) 2362368 Encoder-9-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-10-MultiHeadSelfAttenti (None, 512, 768) 0 Encoder-10-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-10-MultiHeadSelfAttenti (None, 512, 768) 0 Encoder-9-FeedForward-Norm[0][0]

Encoder-10-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-10-MultiHeadSelfAttenti (None, 512, 768) 1536 Encoder-10-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-10-FeedForward (FeedFor (None, 512, 768) 4722432 Encoder-10-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-10-FeedForward-Dropout (None, 512, 768) 0 Encoder-10-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-10-FeedForward-Add (Add (None, 512, 768) 0 Encoder-10-MultiHeadSelfAttention

Encoder-10-FeedForward-Dropout[0]

__________________________________________________________________________________________________

Encoder-10-FeedForward-Norm (La (None, 512, 768) 1536 Encoder-10-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-11-MultiHeadSelfAttenti (None, 512, 768) 2362368 Encoder-10-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-11-MultiHeadSelfAttenti (None, 512, 768) 0 Encoder-11-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-11-MultiHeadSelfAttenti (None, 512, 768) 0 Encoder-10-FeedForward-Norm[0][0]

Encoder-11-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-11-MultiHeadSelfAttenti (None, 512, 768) 1536 Encoder-11-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-11-FeedForward (FeedFor (None, 512, 768) 4722432 Encoder-11-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-11-FeedForward-Dropout (None, 512, 768) 0 Encoder-11-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-11-FeedForward-Add (Add (None, 512, 768) 0 Encoder-11-MultiHeadSelfAttention

Encoder-11-FeedForward-Dropout[0]

__________________________________________________________________________________________________

Encoder-11-FeedForward-Norm (La (None, 512, 768) 1536 Encoder-11-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Encoder-12-MultiHeadSelfAttenti (None, 512, 768) 2362368 Encoder-11-FeedForward-Norm[0][0]

__________________________________________________________________________________________________

Encoder-12-MultiHeadSelfAttenti (None, 512, 768) 0 Encoder-12-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-12-MultiHeadSelfAttenti (None, 512, 768) 0 Encoder-11-FeedForward-Norm[0][0]

Encoder-12-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-12-MultiHeadSelfAttenti (None, 512, 768) 1536 Encoder-12-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-12-FeedForward (FeedFor (None, 512, 768) 4722432 Encoder-12-MultiHeadSelfAttention

__________________________________________________________________________________________________

Encoder-12-FeedForward-Dropout (None, 512, 768) 0 Encoder-12-FeedForward[0][0]

__________________________________________________________________________________________________

Encoder-12-FeedForward-Add (Add (None, 512, 768) 0 Encoder-12-MultiHeadSelfAttention

Encoder-12-FeedForward-Dropout[0]

__________________________________________________________________________________________________

Encoder-12-FeedForward-Norm (La (None, 512, 768) 1536 Encoder-12-FeedForward-Add[0][0]

__________________________________________________________________________________________________

Pooling (MaskedGlobalMaxPool1D) (None, 768) 0 Encoder-12-FeedForward-Norm[0][0]

==================================================================================================

Total params: 177,262,848

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download