Гроккинг: новое слово в нейронных сетях

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2022-01-13 20:17

Сначала маленькое вступление для новичков: нейронные сети учатся эпохами - то есть один и тот же объект обычно несколько раз предъявляется в процессе обучения модели. Отсюда возникает иногда маленькая проблема - они могут переобучаться, просто запоминать объекты обучающей выборки. В этом случае, они прекрасно предсказывают обучающую выборку, но точность предсказания на тестовой оказывается значительно хуже, иногда падает до 0. Часто в процессе обучения, когда замечают, что началось переобучение, то есть качество предсказаний на контрольной или, что лучше, на отдельной - валидационной выборке вышло на плато или пошло вниз, то обучение нейронной сети останавливают. Это называется "ранней остановкой". И часто следят, чтобы на обучающей выборке качество не сильно отличалось от контрольной - опять таки так можно засечь признаки переобучения и того, что данных просто было мало для обучения. Особенно остро проблема переобучения стоит, когда в моделировании используются относительно маленькая выборка, а нейронная сеть, наоборот, достаточно сложная и большая (то есть содержит много настраиваемых весов).

Забавный эффект увидели ребята из OpenAI и Google. Если кратко, они использовали сложную нейронную сеть (декодирующий трансформер с двумя слоями, всего 40 000 параметров), а в обучении использовались простые и небольшие по объему наборы данных, которые описывали простые математические операции над входными данными (остаток от деления на заданное число суммы дескрипторов, например). Как я понял, трансформеру предъявлялись какие уравнения были использованы (как текст) и входные параметры в уравнения, ему надо было предсказать выход на новых уравнениях и входах. Так вот, они анализировали как изменяется предсказательная способность моделей на этих синтетических наборах данных и обнаружили, что часто успевает наступить переобучение и модель не может ничего предсказать на контрольных выборках. Это логично. Но оказалось, если продолжить обучение после того, как наступает переобучение, то модель может выйти на нормальную предсказательную способность. То есть сначала модель запоминает все данные обучающей выборки и не может ничего предсказать на тестовой, но при продолжении обучения она выходит на хорошую обобщающую способность и начинает нормально предсказывать на тестовой выборке! Посмотрите одну из картинок из статьи: там видно, что на 100 эпохах модель еще ничего не может предсказать ни на обучающей, ни на тестовой выборке, при 1000 эпохах выходит в режим переобучения - когда лосс-функция на тестовой выборке уходит в небеса, а на обучающей - достигает 0 (как и положено). Тут бы мы остановили обучение в норме, констатировав, что сетки переобучаются на этих данных и тут нужны другие подходы/сетки/больше данных. Но авторы решили учить дальше. Поначалу все логично - со временем ситуация с переобучением только ухудшается: модель все лучше запоминает обучающие данные и все хуже начинает воспроизводить тестовую выборку. Но вдруг при 1 000 000 эпохах модель неожиданно понимает, как все надо было делать на самом деле и начинает идеально предсказывать и на обучающей, и на контрольных выборках. То есть после того, как переобучилась, она вдруг начинает понимать как на самом деле устроены данные. Похожая ситуация была для разных наборов данных, хоть и, справедливости ради, не всегда - на некоторых наборах не дожидались такого эффекта. Этот эффект и назвали гроккингом. Авторы исследовали как влияют разные факторы (регуляризации, оптимизаторы, объемы данных и пр.) на гроккинг. Объяснения они не нашли, хоть и некоторые интересные наблюдения сделали. Одна только проблема с практическим применением гроккинга - надо уж очень долго нейронки учить.

Насколько гроккинг справедлив для других архитектур, насколько он проявляется на реальных выборках, и насколько этот эффект общий для нейронок - интересно посмотреть. Будем ждать... Ну и статья, по традиции компаний, препринт. Будут ли авторы дальше что-то делать - это еще вопрос. Хотя посмотреть стоит. С этими трансформерами много непонятного.

П.С. Ребята, кто лучше знаком с английским или субкультурой - поясните, пожалуйста, откуда это слово могло взяться? Я просто этого слова не знаю и переводчик просто транслит делает. Не пойму, как они его придумали.

П.П.С. В комментах помогли с переводом этого слова. Оказывается это что-то типа "чутье" или "наитие" - интуитивное глубокое понимание.

https://arxiv.org/pdf/2201.02177.pdf


Источник: arxiv.org

Комментарии: