Кажется, предполагается, что учитель принуждает во время обучения (т. Е. Вместо использования предположения декодера для позиции в качестве входных данных для следующей итерации, он использует известный токен.
Термин «принуждение учителя» меня немного беспокоит, потому что он как бы пропускает идею: нет ничего плохого или странного в подаче следующего известного токена в модель RNN - это буквально единственный способ вычислить . Если вы определяете распределение по последовательностям как как это обычно делается, когда каждый условный термин моделируется с помощью RNN, то «принудительное использование учителей» является истинным Процедура, которая правильно максимизирует вероятность регистрации. (Я опускаю написание последовательности условий выше, потому что это ничего не меняет.)logP(y1,…,yN)P(y)=∏iP(yi|y<i)x
Учитывая повсеместность MLE и отсутствие хороших альтернатив, я не думаю, что допущение «принуждения учителей» нежелательно.
Тем не менее, по общему признанию, существуют проблемы, связанные с этим, а именно: модель присваивает высокую вероятность всем точкам данных, но выборки из модели не обязательно соответствуют истинному распределению данных (что приводит к выборкам «низкого качества»). Возможно, вас заинтересует «Профессор Форсинг» (Lamb et al.), Который смягчает это с помощью состязательной процедуры обучения, не отказываясь от MLE.
Это не оштрафовало бы длинные последовательности. Поскольку вероятность составляет от 1 до N выходных данных, если декодер сгенерировал более длинную последовательность, все после первого N не будет учитывать потери.
а также
Если модель предсказывает ранний токен End-of-String, функция потерь по-прежнему требует N шагов - это означает, что мы генерируем выходные данные на основе необученного "многообразия" моделей. Это кажется небрежным.
Ни одна из этих проблем не возникает во время тренировки. Вместо того, чтобы думать о модели авторегрессионной последовательности как о процедуре вывода прогноза, думайте о ней как о способе вычисления вероятности данной последовательности. Модель никогда ничего не предсказывает - вы можете выбрать последовательность или токен из дистрибутива, или вы можете спросить его, каков наиболее вероятный следующий токен - но они принципиально отличаются от прогноза (и вы не делаете выборку во время обучения или).
Если так, был ли какой-либо прогресс в более продвинутой функции потерь?
Вполне могут быть цели, специально разработанные в каждом конкретном случае для различных задач моделирования. Тем не менее, я бы сказал, что MLE по-прежнему доминирует - с ним была обучена недавняя модель GPT2, которая достигла современного уровня производительности по широкому спектру задач моделирования на естественном языке и понимания задач.