Температура — это гиперпараметр LSTM (и нейронных сетей в целом), используемый для контроля случайности прогнозов путем масштабирования логитов перед применением softmax. Температурное масштабирование широко используется для повышения производительности задач НЛП, использующих уровень принятия решений Softmax.

Чтобы объяснить его полезность, мы рассмотрим случай генерации естественного языка, в котором нам нужно генерировать текст путем выборки новых последовательностей из языковой модели (используя часть декодера архитектуры seq-to-seq). На каждом временном шаге на этапе декодирования нам нужно предсказать токен, что делается путем выборки из распределения softmax (по словарю) с использованием одного из методов выборки. Короче говоря, после получения логитов качество и разнообразие прогнозов контролируются распределением softmax и применяемым к нему методом выборки. Эта статья посвящена настройке распределения softmax для управления разнообразием и новизной прогнозов. О последнем будет рассказано в следующей статье.

Рис. 1 представляет собой снимок того, как делается предсказание на одном из промежуточных временных шагов в фазе декодирования.

Но в чем здесь проблема?

Сгенерированная последовательность будет иметь предсказуемую и общую структуру. И причина этого в меньшей энтропии или случайности в распределении softmax, в том смысле, что вероятность того, что будет выбрано конкретное слово (соответствующее индексу 9 в приведенном выше примере), равно намного выше, чем другие слова. Предсказуемость последовательности не является проблемой, если цель состоит в том, чтобы получить реалистичные последовательности. Но если цель состоит в том, чтобы создать новый текст или изображение, которое никогда раньше не видели, случайность — это святой Грааль.

Решение?

Увеличить случайность. И это именно то, что делает масштабирование температуры. Он характеризует энтропию распределения вероятности, используемого для выборки, другими словами, он контролирует, насколько неожиданным или предсказуемым будет следующее слово. Масштабирование выполняется путем деления логит-вектора на значение T, обозначающее температуру, с последующим применением softmax.

Эффект такого масштабирования можно представить на рис. 3:

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

Вывод:
Шкала температуры контролирует плавность распределения вывода. Следовательно, это повышает чувствительность к кандидатам с низкой вероятностью. При T → ∞ распределение становится более равномерным, что увеличивает неопределенность. Наоборот, когда T → 0, распределение коллапсирует в точечную массу.

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

Ссылки:

  1. Контекстная температура в языковом моделировании
  2. Дистилляция знаний в нейронной сети
  3. О калибровке современных нейронных сетей

Подпишитесь на Intuitive Shorts (мой информационный бюллетень Substack), чтобы читать быстрые и интуитивно понятные обзоры концепций ML/NLP/DS.