краткое введение
Я изучаю CNN в последнее время, начиная с самых простых классических сетей, таких как LeNet, и я собираюсь провести более подробное исследование развития CNN и записать учебный контент здесь.
История развития CNN
AlexNet
AlexNet заняла первое место в конкурсе классификации изображений ImageNet 2012 года, мгновенно увеличив количество ошибок в топ-5 более чем на десять процентов. После этого CNN вернулся на сцену истории. Сначала посмотрите на его сетевую структуру:
Сетевая структура AlexNet
-
Conv_1: Сверточный слой, ввод:
,использовать
Кусок
Свертка ядра с шагом
, длина и ширина после свертки равны
, поэтому выходной формат
-
Max-pooling: ввод как
,pool:
, размер шага: 2, поэтому длина и ширина после бассейна:
, вывод:
-
Conv_2: сверточный слой, ввод:
,использовать
Кусок
, размер шага
, прокладка такая же. Есть два вида одинаковых, которые обычно используются в Padding:
-
SAME padding:
-
VALID padding:
Итак, на данный момент Padding есть как слева, так и справа.
. Выходной результат:
.
-
-
Max-pooling: Введите как:
, бассейн есть
, размер шага
, длина:
, вывод:
-
Conv_3,Conv_4,Conv_5: Оба входа и выхода
, размер шага
, ядро
, ОтступыSame.
-
Max-pooling:входить
, бассейн:
, размер шага
Выход
, это,
характеристическая переменная.
-
FC: Полностью связанный слой имеет два скрытых слоя, начиная с
Объяснение высокой производительности AlexNet
- Нелинейная функция активации:ReLU
- Способы предотвращения переобучения:Dropout,Data augmentation
- Обучение работе с большими данными: миллионыImageNetданные изображения
- Другое: реализация GPU,LRNИспользование слоев нормализации
ReLU
преимущество:
- ReLUПо сути, это кусочно-линейная модель, и прямой расчет очень прост, без необходимости таких операций, как экспоненты;
- ReLUЧастная производная также очень проста, градиент распространяется обратно, нет необходимости в таких операциях, как возведение в степень или деление;
- ReLUПроблема расхождения градиента возникает непросто.Когда функции активации Tanh и Logistic находятся на обоих концах, производная стремится к нулю, а градиент более приблизительно равен 0 после многоуровневого умножения;
- ReLUПравая сторона закрыта, так что многие выходы скрытого слоя равны 0, то есть сеть становится разреженной, что действует как регуляризация, аналогичная L1, которая может в определенной степени уменьшить переоснащение.
недостаток:
Левая сторона полностью закрыта, легко заставить некоторые скрытые узлы никогда не переворачиваться, поэтому они появляются позжеpReLU,random ReLUждать улучшения иReLUлегко изменит распределение данных, поэтомуReLUдобавить послеBatch NormalizationЭто также широко используемый метод улучшения.
Data Augmentation
- Из исходного изображения (256, 256) произвольно обрежьте несколько изображений (224, 224). [Трансформация перевода, обрезка]
- Отразите изображение по горизонтали. [Преобразование отражения, флип]
- Добавьте к изображению случайное освещение. [Освещение, преобразование цвета, дрожание цвета]
Когда AlexNet обучается, обработка по увеличению данных:
- Случайный урожай. Во время обучения произвольно кадрируйте изображения 256*256 до 224*224, а затем разрешите отражение по горизонтали, что эквивалентно умножению выборок на
.
- Во время теста было выполнено 5 кропов в верхнем левом, верхнем правом, нижнем левом, нижнем правом и среднем, а затем перевернуто, всего 10 кропов, а затем результаты усреднялись. Автор сказал, что без случайной обрезки большие сети в основном переобучаются (при существенном переобучении).
- сделать для пространства RGBPCA, а затем выполните
Гауссово возмущение. В результате процент ошибок снизился еще на 1%.
Dropout
Объединение нескольких обучающих моделей может уменьшить ошибку теста, но в нейронных сетях обучение каждой модели занимает много времени и стоит дорого.DropoutПоместив в скрытый слойrateВероятность случайным образом устанавливает выход некоторых нейронов равным 0, и эти нейроны не участвуют ни в прямом, ни в обратном распространении. Таким образом, каждый раз при представлении входных данных нейронная сеть пробует другую структуру, но распределяет веса между всеми ними. Поскольку существование нейронов не может зависеть от других конкретных нейронов, этот метод уменьшает сложные межадаптационные отношения нейронов. Просто разделите на.
Local Response Normalization
По сути, этот слой также предназначен для предотвращения насыщения функции активации.
является сферой влияния нейрона.
являются гиперпараметрами.
Использованная литература:
- ImageNet Classification with Deep Convolutional Neural Networks
- [Оригинал] # Обзор глубокого обучения # LeNet, AlexNet, GoogLeNet, VGG, ResNet
- Сверточные нейронные сети — история эволюции] От LeNet до AlexNet
- Нормализация локального ответа глубокого обучения LRN (нормализация локального ответа) Понимание
- Сверточная нейронная сеть