Почему модель BERT должна сохранять 10% токена MASK неизменным?

Я читаю модельную статью BERT. В задаче «Маскированная языковая модель» во время предварительного обучения модели BERT в документе говорится, что модель будет выбирать 15% токенов в случайном порядке. В выбранном токене (Ti) 80% будет заменено токеном [MASK], 10% Ti останется без изменений и 10% Ti будет заменено другим словом. Думаю, модель просто нужно заменить на [МАСКА] или достаточно другого слова. Почему модель должна выбирать слово случайным образом и оставлять его неизменным? Предсказывает ли процесс предварительного обучения только токен [MASK] или 15% всего случайного токена?


person Thanh Kiet    schedule 22.09.2020    source источник
comment
документ находится здесь, а рассматриваемое предложение находится в 3.1 предварительное обучение BERT Задача № 1 Маскированная LM .   -  person N. Kiefer    schedule 22.09.2020


Ответы (1)


Это сделано потому, что они хотят предварительно обучить двунаправленную модель. В большинстве случаев сеть будет видеть предложение с токеном [MASK] и обучена предсказывать слово, которое должно быть там. Но при тонкой настройке, которая выполняется после предварительного обучения (тонкая настройка - это обучение, которое проводят все, кто хочет использовать BERT для своей задачи), токенов [MASK] нет! (если вы специально не делаете LM в маске).

Это несоответствие предтренинга и обучения (внезапное исчезновение токена [MASK]) ими смягчается, с вероятностью 15% слово не заменяется на [MASK]. Задача все еще существует, сеть должна предсказать токен, но на самом деле она уже получает ответ в качестве входных данных. Это может показаться нелогичным, но имеет смысл в сочетании с тренировкой [MASK].

person N. Kiefer    schedule 22.09.2020
comment
Я думаю, вы отвечаете на вопрос, почему бы просто не использовать МАСКУ в одиночку, без ЗАМЕНЯЕМЫХ или ТОЧНЫХ СЛОВ ?. Вопрос кажется немного другим: почему бы просто не использовать только MASK + REPLACED, без SAME-WORD ?. Ответ заключается в том, что без SAME-WORD модель будет стараться избегать использования ввода токена k для создания вывода токена k, поскольку каждый раз, когда ее просят предсказать, токен неверен (либо MASK, либо REPLACED). (Модель не сможет полностью проигнорировать это; ее архитектура этого не позволит. Но она попытается.) Это может быть контрпродуктивным, поскольку входной токен k вполне уместен для выхода токена k. - person max; 27.06.2021