Мягкое внимание против жесткого внимания

В этом сообщении в блоге Необоснованная эффективность повторяющихся нейронных сетей, Андрей Карпати упоминает будущие направления для машинного обучения на основе нейронных сетей:

Концепция внимания - это самое интересное недавнее архитектурное новшество в нейронных сетях. [...] мягкая схема внимания для адресации памяти удобна, потому что она держит модель полностью дифференцируемой, но, к сожалению, она жертвует эффективностью, потому что все, на что можно обратить внимание, сопровождается (но мягко). Подумайте об этом, объявив указатель на C, который не указывает на конкретный адрес, но вместо этого определяет весь дистрибутив по всем адресам во всей памяти, а разыменование указателя возвращает взвешенную сумму указанного содержимого (что было бы дорого работа!). Это побудило несколько авторов к тому, чтобы сменять модели мягкого внимания на трудное внимание, когда вы выбираете конкретный кусок памяти для наблюдения (например, действие чтения/записи для некоторой ячейки памяти, а не чтение/запись со всех ячеек в некоторой степени). Эта модель значительно более философски привлекательна, масштабируема и эффективна, но, к сожалению, она также недифференцируема.

Я думаю, что я понял метафору указателя, но что именно внимание и почему трудно не дифференцировать?

Я нашел объяснение относительно внимания здесь, но все еще путается о мягкой/твердой части.

Ответы

Ответ 1

Что такое внимание?

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

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

Представьте, что вы были с завязанными глазами и отправлены на неожиданную вечеринку по случаю дня рождения, и вы просто открыли глаза. Что бы вы видели? День рождения!

Теперь, когда мы говорим, что вы видите картину, это более короткая версия следующей более технически правильной последовательности действий, которая заключается в том, чтобы перемещать ваши глаза со временем и собирать информацию о сцене. Вы не видите каждый пиксель изображения одновременно. Вы просматриваете определенные аспекты изображения один раз за один раз и суммируете информацию. Например, даже в такой захламленной картине вы узнаете своего дядю Билла и двоюродного брата Сэма:). Почему это? Потому что вы следите за определенными существенными аспектами текущего изображения.

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

Надеюсь, что это ответит на вопрос Что такое трудное внимание?. Теперь о природе его дифференцируемости. Ну, помните, как мы удобно подобрали правильные места, чтобы посмотреть, глядя на фотографию дня рождения? Как мы это сделали? Этот процесс включает в себя выбор, который трудно представить в терминах дифференцируемой функции входа (изображения). Например, основываясь на том, на что вы уже посмотрели, и на изображении, решите, где искать дальше. У вас может быть нейронная сеть, которая выводит ответ здесь, но мы не знаем правильный ответ! На самом деле нет правильного ответа. Как же мы должны подготовить сетевые параметры? Обучение нейронной сети критически зависит от дифференцируемой функции потерь входов. Примеры таких функций потерь включают функцию потери прав логарифма правдоподобия, функцию потери квадратов потерь и т.д. Но в этом случае у нас нет правильного ответа на то, что искать дальше. Как тогда мы можем определить потерю? В этом месте появляется поле машинного обучения, называемое усиление обучения (RL). RL позволяет выполнять градиент в пространстве политик с помощью таких методов, как метод усиления и алгоритмы актерского критика.

Что такое мягкое внимание?

Эта часть ответа заимствована из статьи, которая носит название обучающих машин для чтения и понимания. Основная проблема с методами RL, такими как метод усиления, заключается в том, что они имеют высокий разброс (с точки зрения градиента ожидаемого вознаграждения, рассчитанного), который линейно масштабируется с количеством скрытых единиц в вашей сети. Это не очень хорошо, особенно если вы собираетесь построить большую сеть. Следовательно, люди стараются искать дифференцируемые модели внимания. Все это означает, что термин внимания и, как результат, функция потерь является дифференцируемой функцией входов и, следовательно, все градиенты существуют. Следовательно, мы можем использовать наш стандартный алгоритм backprop наряду с одной из обычных функций потерь для обучения нашей сети. Итак, что такое мягкое внимание?

В контексте текста это относится к способности модели выбирать ассоциировать большее значениес некоторыми словами в документе по отношению к другим токенам. Если вы читаете документ и должны отвечать на вопрос, основываясь на нем, сосредоточение внимания на определенных токенах в документе может помочь вам лучше ответить на вопрос, чем просто читать каждый токен, как если бы он был одинаково важен. Это основная идея мягкого внимания в тексте. Причина, по которой это дифференцируемая модель, заключается в том, что вы решаете, сколько внимания уделяется каждому токену, основанному исключительно на конкретном токене и вопросе в руке. Например, вы можете представить токены документа и запрос в одном и том же векторном пространстве и посмотреть на тождество с точки зрения товара/косинуса как мера того, сколько внимания вы должны заплатить за этот конкретный токен, учитывая этот запрос. Заметим, что операция косинусного расстояния полностью дифференцируема по отношению к ее входам, и, следовательно, общая модель оказывается дифференцируемой. Обратите внимание, что точная модель, используемая в документе, отличается, и этот аргумент справедлив только для демонстрации, хотя в других моделях используется оценка внимания на основе точечного продукта.