Добавлен: 06.07.2023
Просмотров: 88
Скачиваний: 2
Контролируемое обучение нейросети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функции ошибок Е на данном множестве примеров путем выбора значений весов W. Достижение минимума называется сходимостью процесса обучения. Именно возможность этого и доказал Розенблатт. Поскольку ошибка зависит от весов нелинейно, получить решение в аналитической форме невозможно, и поиск глобального минимума осуществляется посредством итерационного процесса так называемого обучающего алгоритма. Разработано уже более сотни разных обучающих алгоритмов, отличающихся друг от друга стратегией оптимизации и критерием ошибок. Обычно в качестве меры погрешности берется средняя квадратичная ошибка (СКО):
где М - число примеров в обучающем множестве. Минимизация величины Е осуществляется с помощью градиентных методов. Изменение весов происходит в направлении, обратном к направлению наибольшей крутизны для функции:
Здесь ? - определяемый пользователем параметр, который называется коэффициентом обучения.
2.2. Обратное распространение ошибки
Одним из самых распространенных алгоритмов обучения нейросетей прямого распространения является алгоритм обратного распространения ошибки (Back Propagation, BP). Этот алгоритм был переоткрыт и популяризован в 1986 г. Румельхартом и МакКлелландом из группы по изучению параллельных распределенных процессов в Массачусетском технологическом институте. Здесь я хочу подробно изложить математическую суть алгоритма, так как очень часто в литературе ссылаются на какой-то факт или теорему, но никто не приводит его доказательства или источника. Честно говоря, то же самое относится к теореме об отображении нейросетью любой функциональной зависимости, на которой основываются все попытки применить нейросети к моделированию реальных процессов. Приведём алгоритм работы нейросети Итак, это алгоритм градиентного спуска, минимизирующий суммарную квадратичную ошибку:
Здесь индекс i пробегает все выходы многослойной сети. Основная идея ВР состоит в том, чтобы вычислять чувствительность ошибки сети к изменениям весов. Для этого нужно вычислить частные производные от ошибки по весам. Пусть обучающее множество состоит из Р. образцов, входы которого где ? - длина шага в направлении, обратном к градиенту обозначены через {xik} Вычисление частных производных осуществляется по правилу цепи: вес входа i-гo нейрона, идущего от j-гo нейрона, пересчитывается по формуле:
где ? - длина шага в направлении, обратном к градиенту
Если рассмотреть отдельно k-тый образец, то соответствующее изменение весов равно:
Множитель вычисляется через аналогичные множители из последующего слоя, и ошибка, таким образом, передается в обратном направлении. Для выходных элементов получим:
Для скрытых элементов множитель определяется так:
где индекс h пробегает номера всех нейронов, на которые воздействует i-ый нейрон.
Заключение
Из теоремы об отображении практически любой функции с помощью многослойной нейросети следует, что обучаемая нами нейронная сеть в принципе способна сама подстроиться под любые данные с целью минимизации суммарной квадратичной ошибки. Чтобы этого не происходило, при обучении нейросетей используют следующий способ проверки сети. Для этого обучающую выборку еще перед началом обучения разбивают случайным образом на две подвыборки: обучающую и тестовую. Обучающую выборку используют собственно для процесса обучения, при этом изменяются веса нейронов. А тестовую используют в процессе обучения для проверки на ней суммарной квадратичной ошибки, но при этом не происходит изменение весов. Если нейросеть показывает улучшение аппроксимации и на обучающей, и на тестовой выборках, то обучение сети происходит в правильном направлении. Иначе может снижаться ошибка на обучающей выборке, но происходит ее увеличение на тестовой. Последнее означает, что сеть "переобучилась" и уже не может быть использована для прогнозирования или классификации. В этом случае немного изменяются веса нейронов, чтобы вывести сеть из окрестности локального минимума ошибки.
Литература:
- Мак-Каллок У.С., Питтс У. Логическое исчисление идей, относящихся к нервной активности // Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 2003. С. 362 - 384.
- Минский М., Пейперт С. Перцептроны./ Минский М. Мир, 2015. 234 с.
- Розенблат Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга. Мир, 2016, 248 с.
- С. Короткий, "Нейронные сети: Алгоритм обратного распространения". СПб, 2002, 328 с.
- С. Короткий,"Нейронные сети: Основные положения. СПб, 2017. 357 с.
- Фомин С.В., Беркенблит М.Б. Математические проблемы в биологии. М.: Наука, 2014, 200 с.
- Фон Нейман Дж. Вероятностная логика и синтез надежных организмов из ненадежных компонент. // Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 2015, С. 68 - 139.