September 7

Attention: Attention!

Привет, друзья! На связи ваш Дата-автор! =)

Я очень часто экспериментирую — просто стесняюсь делиться. Кажется, что мысли и идеи — тривиальны, а ещё я всегда боюсь дать что-то недостоверное (ну знаете там с ошибкой в коде, например).

Но решила попробовать. Поэтому, в этой статье я даю небольшую вводную про Attention, показываю, как внимание влияет на качество модели и делюсь ролью механизма внимания в области explainable AI.

Что ты такое?

В DNN Attention — механизм, который позволяет модели фокусироваться на наиболее "релевантных" частях входных данных, игнорируя части менее важные. Своей популярностью attention во многом обязан архитектуре моделей Transformer, ведь она основана на механизмах attention полностью. Однако, до 2023 года (тогда был опубликован Transformer), attentions также применялись, но в основном вместе с реккуретными нейронными сетями (RNN) в задаче машинного перевода.

Рис. 1 Feeding Hidden State as Input to Decoder
Taken from “Effective Approaches to Attention-based Neural Machine Translation”, 2015.

Насколько attention усложняет Seq2Seq модель и улучшает ли это её качество? И вообще, какой attention лучше использовать для задачи машинного перевода?

На эти вопросы, конечно, ответили до меня. Но я — исследователь, поэтому убедиться в ответе "Bahdanau attention" хотелось самостоятельно. И так, была собрана домашняя лабаратория:

Набор данных: предложения на двух языках — русском и английском. Данные взяты с ресурса tatoeba.org. Количество наблюдений 730519, для ускорения обучения взяты только 100 тыс.. Из этих 100 тыс. наблюдения отфильтрованы и взяты только такие, что они короче, чем 10 токенов или их длина равна 10 токенам.

Итого, подопытные 89851 пар, среди которых 31868 уникальных значений на русском языке и 13078 на английском.

Модель: простенькая Sequence to Sequence, архитектуры изображенной на рис. 2.

Attentions: для эксперимента были взяты Bahdanau и Luong attention. Формулы и описание привожу на изображении ниже.

Реализованные подходы к вниманию вы можете найти в файле attentions.py, а сами модели в файле models.py.

Было обучено 5 моделей — с каждым из вниманий и вовсе без внимания. Обучение состояло из 50 эпох, размер батча — 200.

Результаты обучения 5-ти RNN

Лучшим подходом к вниманию действительно оказался Bahdanau attention. Время обучения увеличилось примерно на 20% и функция потерь оказалась ниже более чем в два раза.

Изменение функции потерь от эпохи к эпохе.

Внимание в explainable AI.

С момента популяризации, механизм attention также стал распространяться в области XAI. Действительно, ведь согласно интуитивному определению — веса внимания — прямое отражение того, на что "смотрит" модель. И в эксперименте это абсолютно видно!

Визуализация карт внимания.

Но позволяет ли внимание сделать "прозрачную" модель? И да, и нет.
В настоящее время показано, что:

  • возможно полностью изменить веса внимания и добиться того же прогноза (также веса внимания допускают и другие состязательные вмешательства);
  • веса внимания не обязательно коррелируют (часто — вообще не коррелируют) с другими методами объяснения;

Кроме того, опровергая attention в качестве объяснения, исследователи отмечают, что внимание строится не на основе самих слов, а на основе их эмбеддингов, что тоже умаляет точность построенных карт. Данный факт можно оспорить, сформулировав гипотезу о том, что модель имитирует пространство слов корпуса в векторном пространстве. Но насколько эта гипотеза является правдой, в силу больших размерностей, открытый вопрос.

Общий вывод о внимании

Attention — сильный инструмент, улучшающий качество модели. На свойство объяснимости attention также влияет, однако является не более и не менее чем ещё одной попыткой глубже понять скрытые зависимости, изучаемые моделью.


Спасибо за ваше внимание, друзья!
Всегда рада видеть вашу обратную связь в Data Blog'е, где я пишу про объяснимость моделей и свой опыт в области Data Science.

А также на курсе про Explainable AI в ML и DL (и в благодарность за чтение скидка по промо ATTENTION до 30 сентября)!

До новых встреч и доброго вам времени,
Ваш Дата-автор!