Привет! Новый способ обучения нейронных сетей: основан на переосмыслении старых идей AI, смешанных с "сохранением" в видеоиграх. Это способ заставить "удар", который может спасти определенные типы моделей (особенно маленькие или экзотические топологии), когда они застревают. Слепой. Эволюционный. Давление.
Я называю это "Фрустрация": это как перезапуск сохраненной видеоигры и повторная попытка сражения с боссом. Как? Возьмите последний известный хороший (LKG) эпоху, ЗАТЕМ убейте нейрон. Затем переобучите. В отличие от Dropout, ущерб не является временным шумом во время батчей. Мы ломаем модель ПОСЛЕ того, как она улучшится.
В состоянии фрустрации (постоянная [стохастическая] абляция) повреждение представляет собой яму, которую необходимо избегать и заполнять одновременно в течение следующей эпохи. 2 стратегии: уничтожить все веса (как в скрытом слое) для нейрона или только входящие (как для выходного логита).
Мы протестировали простые топологии MLP-сетей, варьирующиеся от миллионов параметров до сотен, каталогизируя их "обучаемость" в зависимости от ширины (количество нейронов) и глубины (количество слоев). PSA восстановила некоторые модели, которые не смогли спасти Dropout и Weight Decay: хаотический режим (в синем).
Это работает даже в сломанных дизайнах, где проблема исчезающего градиента делает обратное распространение бесполезным. (Что, когда у вас нет пропускных соединений, не так много слоев!) Кроме того, вы можете разделить ущерб и обучать несколько поврежденных LKG одновременно на разных GPU.
Документ отражает первое доказательство концепции, и да, у всей идеи есть *много* ограничений. Особенно то, насколько вычислительно расточителен механизм, или что он был на наборе данных MNIST (игрушечный) и не на ImageNet. Но хорошие новости! Первые тесты ResMLP показывают многообещающие результаты!
Мы действительно старались быть тщательными. Мы протестировали 98 топологий, многие из которых имели конфигурации с совпадением параметров (разные размеры, одинаковое количество параметров). Мы измерили 3 различных метода PSA по сравнению с 3 контрольными, в каждом из 10 испытаний. Всего 5,880 испытаний. Воспроизводимо.
Даже в условиях, когда проблема исчезающего градиента должна была сделать обучение невозможным (например, в простом MLP 18x18), PSA смогла обучаться, атакуя выходные логиты на MNIST. Не верите мне? Попробуйте и посмотрите!
Здесь много классных маленьких "ага" моментов. Имейте в виду, что ни одна из основных идей не нова. Мы просто организовали их по-новому, чтобы попробовать что-то, что действительно возможно только сейчас, когда графические процессоры так мощны.
Будущая работа: • Воспроизведение оригинальных тестов на ResMLP, CNN и Transformers (ResMLP исправляет VGP, но для патологических топологий, похоже, PSA все еще помогает) • Попробовать на ImageNet <- дорого, но это настоящая проверка, которая нам нужна.
Наблюдения: • Устранение одного и того же логита вывода последовательно создает "анти-экспертные" модели, и когда вы смотрите на их матрицы путаницы, вы можете увидеть дислексию в действии (убейте 2, и классификация переполняется до 5, 7 и 8) • Нам не обязательно придерживаться стохастических атак
Почему это ценно? • Если это работает на больших наборах данных и современных архитектурах моделей, то я надеюсь, что это может стать ценным инструментом для создания Малых Языковых Моделей (SLMs).
GitHub с документом и кодом здесь:
1,51K