КАКОВЫ НЕКОТОРЫЕ ОСНОВНЫЕ ПРОБЛЕМЫ ПРИ ОБУЧЕНИИ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ?
Проблема исчезающих/взрывающихся градиентов
Это препятствует схождению нейронной сети и, следовательно, неправильному обучению весов.
Решение
- Нормализованная инициализация весов
- Нормализация вывода промежуточных слоев (пакетная нормализация)
Проблема деградации
Эта проблема возникает экспериментально, а не теоретически.
Замечено, что когда глубина NN увеличивается выше определенного значения, точность обучения становится насыщенной, а затем начинает медленно снижаться при дальнейшем увеличении количества слоев.
Это явно не из-за «переобучения», потому что точность обучения падает, а не точность тестирования.
Эта проблема «деградации» решается с помощью «глубоких остаточных сетей (ResNet)».
Архитектура
Чтобы решить проблему деградации, ResNet вводит короткие соединения для формирования остаточных блоков.
Что такое короткие соединения?
- В этих соединениях входной сигнал остаточного блока снова добавляется к его выходному сигналу перед подачей на следующий остаточный блок.
- В каждом из остаточных блоков может быть два или три сверточных слоя.
Что такое остаточные блоки?
Есть два типа остаточных блоков
- Базовый остаточный блок — используется для действительно неглубоких резетов (18 и 34)
input -> BN -> ReLu -> Conv1 -> BN -> ReLu -> Conv2 -> output1 -> функция быстрого доступа
- Bottleneck Residual Block — в основном используется для более глубоких повторных сетей (50 и
вход -> BN -> ReLu -> Conv1 -> BN -> ReLu -> Conv2 -> BN -> ReLu -> Conv3 -> output1 -> функция быстрого доступа
Что здесь делает функция быстрого доступа?
output=input+output1 - › BN -> ReLu -> конечный вывод остаточного блока
Что делать, если параметры input и output1 не совпадают при их добавлении?
Метод A: нулевое заполнение — дополнительные параметры не вводятся.
y = F(x, {Wi}) + x
Метод B: получение проекции output1 с использованием
output1_modified=output1 * Вт
у = F(x, {Wi}) + Wsx.
Метод C: использование свертки в функции быстрого доступа для преобразования ввода в соответствии с размерами вывода 1. Основная проблема этого метода заключается в том, что он вводит больше параметров, что увеличивает сложность.