Сегодня 9-й день моего ноябрьского обновления.
Подгоночная способность нейронных сетей зависит от большого количества настроек параметров (современные глубокие нейронные сети содержат миллионы или миллиарды параметров), поэтому могут возникнуть проблемы переобучения. Для улучшения нейронных сетей необходима методика обнаружения переобучения и смягчения переобучения.
досрочное прекращение обучения
Отслеживая точность набора тестовых данных в зависимости от обучения, простой способ уменьшить переоснащение состоит в следующем:Когда обнаруживается, что точность тестовых данных значительно не улучшается, обучение прекращается..
Глядя на набор данных MNIST, есть три набора данных: training_data, test_data и validation_Data. В предыдущем обучении использовались только training_data и test_data, Фактически, роль validation_Data заключается в смягчении переобучения.
Зачем использовать validation_Data вместо test_data?
Подумайте о том, что процесс обучения на самом деле является процессом изучения гиперпараметров.Если вы используете test_data для уменьшения переобучения training_data, это может привести к тому, что окончательные изученные гиперпараметры будут переоснащены test_data, поэтому использование стороннего набора данных validation_Data является своего рода лучшим вариантом. , этот метод иногда называютhold outметод, т. е. validation_Data — это та часть, которая «вынимается» из набора данных.
Увеличьте размер обучающей выборки
Одним из лучших способов уменьшить переоснащение является увеличение количества обучающих выборок. При достаточном количестве обучающих данных даже очень большую сеть нелегко переобучить, но сложность реализации этого метода заключается в том, что возможность такого большого количества размеченных данных в реальности очень мала, а искусственная стоимость размечания данных также велика. ужасный.
нормализация данных
Метод нормализации также является методом, который может эффективно уменьшить переоснащение обучения.Один из наиболее часто используемых методов нормализации——снижение веса или нормализация L2.
Основная идея нормализации L2 состоит в том, чтобы добавить к функции стоимости дополнительный член, называемыйсрок нормализации, кросс-энтропийная функция стоимости с нормировочным членом, добавленным следующим образом:
очевидно- добавленный нормировочный член, гденазывается параметром нормализации,представляет размер тренировочного набора.
Общая форма функции стоимости с добавлением члена нормализации может быть записана как (представляет исходную функцию стоимости):
Обратите внимание, что в члене нормализации нет смещения, то есть он не влияет на изменение смещения, верноНайдите частную производную двух параметров:
По правилам градиентного спуска получается формула настройки двух параметров:
очевидноРегулировка не изменилась
должно быть положительным числом, т. е.сделатьизменения меньше, ауменьшено наразмер определяет. (поэтому и называется распад веса), это также видно из формулыстановится больше, это влияет на настройку члена регуляризации, поэтомуКогда размер обучающего набора данных велик, его следует соответствующим образом увеличить.значение.
Почему нормализация может помочь смягчить переоснащение
Объясните принцип на простом примере для набора данных, показанного на следующем рисунке:
Постройте модель в соответствии с данными. Очевидно, что такие простые данные не требуют такого мощного оружия, как нейронная сеть.многочленподходить. На графике 10 точек, и полная подгонка дает полином 9-го порядка:, изображение этого полинома выглядит так:
Но используя простую линейную модельВы также можете получить хорошие результаты следующим образом:
Теперь, чтобы подумать о:Какая модель является подходящей моделью, которую мы хотим?
При использовании этих двух моделей для прогнозирования новой выборки, очевидно, будет большой разрыв между результатами прогнозирования, и здесь необходимо ввести интуитивное объяснение.принцип бритвы Оккама, простое понимание:Для одной и той же проблемы, если существует несколько теорий, которые могут объяснить ее одновременно, выберите ту, в которой меньше и слабее предположения, пока не возникнет необъяснимое явление или проблема..
Но очевидно, что эта теория не всегда справедлива, определите, какое из двух объясненийпрощеНа самом деле это довольно тонкая работа, и настоящим испытанием модели является не ее простота, а ее способность предсказывать новые действия в новых сценариях.
В целом, нормализованные нейронные сети часто способны обобщать лучше, чем денормализованные, что является лишь одним из способов.экспериментальный факт.
Другие методы нормализации
нормализация L1
формула:
Чтобы наблюдать эффект нормализации L1,Найдите частную производную, чтобы получить:
функционировать в соответствии сПоложительное или отрицательное значение , возвращает соответствующее значение,,,.
Уравнение обновления:
Его можно найтиЗначение является константой, то есть нормализацией L1, позволяяВычтите константу, чтобы уменьшить, а при нормализации L2, полагаяумножить науменьшить масштабзначение, разница между ними заключается в том, что когдаКогда значение велико, эффект нормализации L2 будет более очевидным,Эффект нормализации L1 более выражен при малом значении . Конечный результат:Нормализация L1 имеет тенденцию группировать веса сети на относительно небольшом количестве соединений высокой важности., относительные другие веса станут меньше. (частным случаем являетсяснижение веса не производится)
Dropout
В отличие от нормализации L1 и L2, технология Dropout не изменяет функцию стоимости, принцип заключается в том, чтобы скрыть некоторые нейроны с определенной вероятностью (например, p = 0,5) в прямом распространении на каждой итерации (реализация уровня кода позволяет определенному нейрону быть с вероятностью p элемент перестает работать, фактически значение его функции активации становится равным 0 с вероятностью p), что может сделать модель более обобщающей.
Принцип Dropout эквивалентен обучению сетей с разной структурой для разных наборов данных, а затем взятию их среднего значения. Разные сети могут давать разное переобучение, а метод Dropout может уменьшить переобучение, компенсируя друг друга. Кроме того, обновление весов в этот метод больше не зависит от совместного действия неявных узлов с фиксированными отношениями, заставляя сеть изучать больше применимых функций.