Многослойная искусственная нейронная сеть является неотъемлемой частью глубокого обучения. И этот урок поможет вам с обзором многослойной ИНС, а также с переобучением и недообучением. Мало того, к концу урока вы также узнаете:
- Проанализируйте, как упорядочить и минимизировать функцию стоимости в нейронной сети.
- Выполнить обратное распространение для корректировки весов в нейронной сети.
- Проверьте сходимость в многослойной ИНС.
- Изучите многослойную ИНС.
- Реализовать прямое распространение в многослойном персептроне (MLP).
- Понять, как на емкость модели влияет недообучение и переоснащение.
Понимание однослойной ИНС
Правило персептрона и правило Адалин использовались для обучения однослойной нейронной сети.
Веса обновляются на основе единичной функции в правиле персептрона или линейной функции в правиле Адалин.
История многослойной ИНС
Глубокое обучение занимается обучением многослойных искусственных нейронных сетей, также называемых глубокими нейронными сетями. После разработки персептрона Розенблатта в 1950-х годах интерес к нейронным сетям отсутствовал до 1986 года, когда доктор Хинтон и его коллеги разработали алгоритм обратного распространения для обучения многослойной нейронной сети. Сегодня это горячая тема для многих ведущих фирм, таких как Google, Facebook и Microsoft, которые вкладывают значительные средства в приложения, использующие глубокие нейронные сети.
Многослойная ИНС
Полностью подключенная многослойная нейронная сеть называется многослойным персептроном (MLP).
Он имеет 3 слоя, включая один скрытый слой. Если она имеет более 1 скрытого слоя, она называется глубокой ИНС. MLP является типичным примером искусственной нейронной сети с прямой связью. На этом рисунке i-я единица активации в l-м слое обозначена как ai(l).
Количество слоев и количество нейронов называются гиперпараметрами нейронной сети, и они нуждаются в настройке. Чтобы найти для них идеальные значения, необходимо использовать методы перекрестной проверки.
Тренировка корректировки веса выполняется с помощью обратного распространения ошибки. Более глубокие нейронные сети лучше справляются с обработкой данных. Однако более глубокие слои могут привести к исчезновению проблем с градиентом. Для решения этой задачи требуются специальные алгоритмы.
Обозначения
В представлении ниже:
- ai(in) относится к i-му значению во входном слое.
- ai(h) относится к i-му блоку скрытого слоя.
- ai(out) относится к i-му модулю в выходном слое.
- ao(in) — это просто единица смещения, равная 1; он будет иметь соответствующий вес w0.
- Весовой коэффициент от слоя l к слою l+1 представлен как wk,j(l).
Здесь представлен упрощенный вид многослойного изображения. На этом изображении показана полностью связанная трехслойная нейронная сеть с 3 входными и 3 выходными нейронами. Член смещения добавляется к входному вектору.
Прямое распространение
В следующих темах давайте подробно рассмотрим прямое распространение.
Процедура обучения МЛП
Процедура обучения MLP выглядит следующим образом:
- Начиная с входного слоя, распространяйте данные на выходной слой. Этот шаг является прямым распространением.
- На основе вывода вычислить ошибку (разницу между прогнозируемым и известным результатом). Ошибка должна быть минимизирована.
- Обратно распространите ошибку. Найдите его производную по каждому весу в сети и обновите модель.
Повторите три шага, приведенные выше, в течение нескольких эпох, чтобы узнать идеальные веса.
Наконец, выходные данные берутся через пороговую функцию для получения предсказанных меток классов.
Прямое распространение в MLP
На первом этапе вычислите единицу активации al(h) скрытого слоя.
Единица активации является результатом применения функции активации φ к значению z. Он должен быть дифференцируемым, чтобы иметь возможность изучать веса с помощью градиентного спуска. Функция активации φ часто является сигмовидной (логистической) функцией.
Это позволяет использовать нелинейность, необходимую для решения сложных задач, таких как обработка изображений.
Сигмовидная кривая
Сигмовидная кривая представляет собой S-образную кривую.
Активация скрытого слоя
Активация скрытого слоя представлена как:
- z(h) = a(in) W(h)
- а(ч) =
Для выходного слоя:
- Z (выход) = A (ч) W (выход)
- А (выход) =