Недавно натолкнулся на вопрос в чате ODS: почему алгоритм, генерирующий текст буква-за-буквой, сэмплит буквы не из p
(вектор вероятностей следующей буквы, предсказанный языковой моделью), а из p'=softmax(log(p)/t)
(где t
— это ещё какой-то непонятный положительный скаляр)?
Быстрый и непонятный ответ: t
— это "температура", и она позволяет управлять разнообразием генерируемых текстов. А ради длинного и детального ответа, собственно, и написан этот пост.