Нейронные сети состоят из нейронов объединенных синаптическими связями в вычислительные структуры.
Пример такой структуры является многослойная искусственная нейронная сеть прямого распространения. По-другому такие структуры называют многослойными персептронами.
Говоря совсем по-простому нейронная сеть – это черный ящик. Вы подаете на вход, какие-либо значения, и получаете от нее ответ на выходе.
Нейронная сеть строит сложную функциональную зависимость выхода от входа.
На этот вопрос мы уже ответили в предыдущем уроке (ссылка).
Обучение нейронной сети - это процесс подбора весовых коэффициентов синаптических связей между искусственными нейронами таким образом, чтобы сеть корректно решала поставленную задачу.
Из предыдущих уроков вы помните, что существует три способа обучения нейронных сетей: с учителем, без учителя и подкреплением. При выборе любого из способов вам нужно определенным образом подобрать весовые коэффициенты так, чтобы ошибка на выходе была минимальной.
Итак, давайте рассмотрим процесс обучения нейронной сети на примере прогноза погоды.
Возьмем для примера температуру воздуха в Москве в июле в разбивке по дням за 10 лет.
Примем что на вход сети подаются значения температуры сегодня.
На выходе - значения температуры завтра.
Во время обучения вы подаете на вход сети значения температуры сегодня. На выходе получаете от нее некие значения и сравниваете с эталонным образцом. Например, значения температуры воздуха в Москве 19.07.2020 (вход) и 20.07.2020 (выход).
На выходе происходит расчет ошибки нейронной сети. Если ошибка велика, происходит подстройка весовых коэффициентов всех связей между нейронами НС на всех промежуточных слоях.
Все примеры обучающей выборки в случайном порядке подаются на вход, а выходное значение сети сравнивается эталонным выходным значением. Один такой цикл называется эпохой обучения.
Далее процесс повторяется до тех пор, пока ошибка не примет приемлемого значения. Сеть обучена и может быть использована для работы.
Теперь подавая на вход значения температуры сегодня, вы получите на выходе сети значение температуры завтра. Этого значения не было в обучающей выборке, но нейронная сеть обучена и успешно решает задачу прогнозирования
Обучающая выборка - множество примеров, относящихся к одному объекту при определенных условиях его исследования.
Эпоха обучения - цикл однократного предъявления нейронной сети всех обучающих примеров в случайном порядке. При этом алгоритм обучения и настройки сети остаются неизменными.
Ошибка обучения - величина расхождения между выходным значением нейронной сети и эталонным примером обучающей выборки.
Крайне важный момент! Помимо обычных нейронов на изображении нейронной сети вы видели нейроны смещения или коэффициенты смещения. Они нужны для того, чтобы иметь возможность получать выходной результат, путем сдвига графика функции активации вправо или влево.
С практической точки зрения
1.) Алгоритмы локальной оптимизации с вычислением частных производных первого порядка:
2.) Алгоритмы локальной оптимизации с вычислением частных производных первого и второго порядка:
3) Стохастические алгоритмы оптимизации:
В 1975 году Пол Вербос разработал метод обратного распространения ошибки (BackPropagation). Этот метод лег в основу одноименного алгоритма.
В данном курсе для начинающих не будем углубляться в математику. Напомним, что задача обучения - оптимально подобрать значения весовых коэффициентов. Опишем кратко основные шаги алгоритма обратного распространения ошибки.
Математически это выглядит так:
Далее более подробно рассмотрим данный алгоритм в отдельной статье.
Нейронные сети требуют обучения. Для обучения необходимы: