- Давайте изучим архитектуру трансформера.
Этот видео является вводным в серию видео о кодерах,
декодерах и кодер-декодерах.
В этой серии,
мы попытаемся понять, что представляет собой трансформерная сеть,
и постараемся объяснить это простыми, высокоуровневыми терминами.
Понимание нейронных сетей не требуется,
может помочь только понимание основ векторов и тензоров.
Для начала
мы возьмем эту диаграмму
из оригинальной статьи о трансформерах,
озаглавленной "Внимание - все, что вам нужно".
Как мы увидим здесь,
мы можем использовать только некоторые его части,
в зависимости от того, что мы пытаемся сделать.
Мы не будем углубляться в конкретные слои,
составляющие эту архитектуру,
но попытаемся понять различные способы
использования этой архитектуры.
Для начала давайте
разделим эту архитектуру на две части.
Слева находится кодер,
а справа - декодер.
Их можно использовать вместе,
но можно и независимо.
Давайте разберемся, как они работают.
Кодер принимает входные данные, представляющие собой текст.
Он преобразует этот текст, эти слова,
в числовые представления.
Эти числовые представления
могут также называться эмбеддингами, или признаками.
Мы увидим, что он использует механизм самовнимания
в качестве основного компонента.
Мы рекомендуем вам посмотреть видео
о кодерах специально для того, чтобы понять
что такое это числовое представление,
а также как оно работает.
Мы изучим механизм самовнимания более подробно,
а также его двунаправленные свойства.
Декодер аналогичен кодеру.
Он также может принимать текстовые входы.
Он использует аналогичный механизм, что и кодер,
который также является маскированным самовниманием.
Он отличается от кодера
своим однонаправленным свойством
и традиционно используется в авторегрессионной манере.
Здесь мы также рекомендуем вам посмотреть видео о декодерах,
особенно для того, чтобы понять, как все это работает.
Комбинирование этих двух частей
дает так называемый кодер-декодер,
или трансформер последовательности в последовательность.
Кодер принимает входные данные
и вычисляет высокоуровневое представление этих входов.
Эти выходы затем передаются в декодер.
Декодер использует выход кодера,
наряду с другими входными данными для создания прогноза.
Затем он прогнозирует выход,
который он будет повторно использовать в будущих итерациях,
отсюда и термин "авторегрессивный".
Наконец, чтобы получить представление
о кодерах-декодерах в целом,
мы рекомендуем вам ознакомиться с видео о кодерах-декодерах.