Если мы сложим энкодеры Трансформеров, то получим BERT

Кодировщики в архитектуре «последовательность к последовательности» предназначены для вывода вложений слов, обеспечивающих контекст слова. И компонент декодирования преобразует эти вложения в наблюдаемые человеком последовательности.

Преобразователь содержит кодировщик и декодер для машинного нейронного перевода. BERT берет только часть кодировщика от Transformers и копирует кодировщики для формирования стека. Стек энкодеров! По сути, BERT — это стек кодировщиков.

Кодировщики идентичны по структуре и разбиты на два подуровня: уровень самоконтроля и уровень прямой связи. Слой внутреннего внимания – это слой, который помогает кодировщику смотреть на другие слова во входном предложении, когда он кодирует конкретное слово. Выходные данные уровня внутреннего внимания передаются в нейронную сеть с прямой связью. К каждой позиции независимо применяется одна и та же сеть прямой связи.

Перед передачей слов в кодировщик слова преобразуются во вложения. Размер встраивания постоянен, и это гиперпараметр, который можно изменить, как правило, это самое длинное предложение в обучающем наборе. После создания вложений слова передаются на уровень самообслуживания. Каждая передача информации с разных уровней происходит параллельно, в отличие от RNN/LSTM (из-за уровня самоконтроля).

Предположим, нам нужно перевести это предложение: «Животное не перешло улицу, потому что слишком устало».

Что означает «это» в предложении? Когда модель обрабатывает слово «это», самовнимание позволяет ей ассоциировать «это» с «животным».

По мере того как модель обрабатывает каждое слово (каждую позицию во входной последовательности), внутреннее внимание позволяет ей искать в других позициях во входной последовательности подсказки, которые могут помочь улучшить кодирование этого слова.

Если вы знакомы с RNN, подумайте о том, как сохранение скрытого состояния позволяет RNN объединять свое представление предыдущих слов/векторов, которые она обработала, с текущим, который она обрабатывает. Самовнимание — это метод, который Трансформер использует, чтобы встроить «понимание» других релевантных слов в то, которое мы сейчас обрабатываем.

Перед передачей вложений на уровень внутреннего внимания модель должна понимать порядок слов во входной последовательности. Чтобы решить эту проблему, преобразователь добавляет вектор к каждому входному встраиванию. Эти векторы следуют определенному шаблону, который изучает модель, что помогает ей определять положение каждого слова или расстояние между разными словами в последовательности.

Одна деталь в архитектуре кодировщика, которую мы должны упомянуть, прежде чем двигаться дальше, заключается в том, что каждый подуровень (самовнимание, ffnn) в каждом кодере имеет остаточное соединение вокруг него, и за ним следует этап нормализации уровня.

Это завершает один кодировщик, стек кодировщика этого типа составляет BERT.

Часть 3. Как использовать модель BERT?

www.arpanghoshal.com