глоссарий

R-Drop

R-Drop

R-Drop — это метод регуляризации, который заставляет нейросеть давать стабильные предсказания при повторном применении dropout. Важность метода в том, что он значительно снижает переобучение: модель учится опираться на устойчивые признаки, а не на случайности. Стандартный dropout уже помогает, но R-Drop усиливает его, требуя, чтобы для одного и того же примера сеть выдавала одинаковое распределение вероятностей даже с разными случайно выключенными нейронами. Он особенно полезен при обучении больших языковых моделей, где переобучение проявляется наиболее ярко.

Как это работает интуитивно? Представь студента, у которого перед экзаменом случайно исчезают листы конспекта. Если он отвечает одинаково при любой потере, он понимает суть. Технически: один и тот же батч прогоняется дважды, каждый раз с новым dropout. Сеть получает два вектора вероятностей. Она минимизирует обычную ошибку и штраф за расхождение между этими векторами (KL-дивергенцию). Так модель выравнивает свои "мнения" и становится устойчивой к случайным выключениям.

Практический пример — классификация тональности отзыва. Пусть есть фраза "Фильм хороший, но концовка подкачала". В первом прогоне dropout может выключить слово "но", во втором — "концовка". Нестабильная модель выдаст разные метки: то позитив, то негатив. R-Drop штрафует расхождение, заставляя сеть учитывать контекст целиком. В результате точность на новых данных растет, и это особенно заметно на сложных текстах с противопоставлениями.

Вывод: R-Drop — простой и эффективный способ улучшения обобщения. Он не меняет архитектуру, легко встраивается в трансформеры и дает прирост качества. Это пример того, как требование согласованности при случайных выключениях делает модель сильнее.