Это сообщение в блоге направлено на то, чтобы дать читателям некоторое представление о глубоких нейронных сетях и интуитивном понимании техники отсева.

Глубокие нейронные сети

Глубокие нейронные сети - это модели, состоящие из нескольких слоев простых нелинейных нейронов. С составом достаточного количества нейронов модель может изучать чрезвычайно сложные функции, которые могут точно выполнять сложные задачи, которые невозможно жестко запрограммировать, такие как классификация изображений, перевод, распознавание речи и т. Д. Ключевым аспектом глубоких нейронных сетей является то, что они возможность автоматически запоминать представление данных, необходимое для обнаружения или классификации признаков, без каких-либо априорных знаний¹.

Например, VGG16 (показанный ниже) представляет собой сверточную нейронную сеть, которая обучается на данных ImageNet Large Scale Visual Recognition Competition (ILSVRC). Он имеет 16 слоев и 138 миллионов параметров и способен с высокой точностью классифицировать 1000 различных объектов.

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

Коадаптация и отсев

Одна из наиболее очевидных причин переобучения - это совместная адаптация. Согласно wiki, на генетическом уровне коадаптация - это накопление взаимодействующих генов в генофонде популяции путем отбора. Давление отбора на один из генов будет влиять на его взаимодействующие белки, после чего происходят компенсаторные изменения. Итак, в нейронной сети коадаптация означает, что одни нейроны сильно зависят от других. Если эти независимые нейроны получают «плохие» входные данные, то это также может повлиять на зависимые нейроны, и в конечном итоге это может значительно изменить производительность модели, что может произойти при переобучении.

Самым простым решением проблемы переобучения является выпадение, и оно работает следующим образом: каждый нейрон в сети случайным образом пропускается с вероятностью от 0 до 1.

Реализуя такую ​​технику, модель вынуждена иметь нейроны, которые могут изучать хорошие функции (или необходимое представление данных), не полагаясь на другие нейроны. Следовательно, полученная модель может быть более устойчивой к невидимым данным. Хинтон также делает интересное наблюдение о сходстве между прекращением учебы и ролью пола в эволюции:

Одна из возможных интерпретаций смешиваемости, сформулированная в том, что пол разбивает наборы совместно адаптированных генов, и это означает, что достижение функции с помощью большого набора совместно адаптированных генов далеко не так надежно, как достижение той же функции, возможно, меньше, чем оптимально. множеством альтернативных способов, каждый из которых использует только небольшое количество коадаптированных генов. Это позволяет эволюции избегать тупиков, в которых улучшение приспособленности требует скоординированных изменений большого количества коадаптированных генов. Это также снижает вероятность того, что небольшие изменения в окружающей среде вызовут значительное снижение приспособленности - явление, известное как «переобучение» в области машинного обучения.

Кроме того, отсев позволяет обучать очень глубокие нейронные сети, такие как VGG16, за разумное время, поскольку большое количество вычислений сокращается, поскольку многие нейроны исключаются из сети.

Эмпирическое доказательство

Хинтон проводит ряд экспериментов, чтобы проверить эффективность отсева. Ниже представлен один из экспериментов с использованием набора данных MNIST, который состоит из 60 000 изображений 28x28 рукописных цифр.

Наилучший ранее опубликованный результат для этой задачи с использованием обратного распространения ошибки без предварительной тренировки, распределения веса или улучшений обучающей выборки показан в виде горизонтальной линии. Верхний набор строк - это частота ошибок теста на наборе тестов MNIST для различных архитектур нейронных сетей, обученных 50% отсеву для всех скрытых слоев. Нижний набор линий также использует 20% отсев для входного слоя.

Ниже приведен результат другого эксперимента с использованием TIMIT, широко используемого теста для распознавания чистой речи с небольшим словарным запасом.

Частота ошибок классификации кадров в основном тестовом наборе эталонного теста TIMIT. Сравнение стандартной и отсевной тонкой настройки для разных сетевых архитектур. Исключение 50% скрытых единиц и 20% вводимых единиц улучшает классификацию.

Заключение

Попробуйте использовать дропаут, когда переобучение сохраняется.

использованная литература

  1. Ю. ЛеКун, Ю. Бенжио и Г. Э. Хинтон, Nature 521, 436–444 (2016).
  2. Г. Э. Хинтон и др. Улучшение нейронных сетей путем предотвращения коадаптации детекторов функций https://arxiv.org/abs/1207.0580 (2012)