Обучение методами нейронных сетей: алгоритм обратного распространения
Характеристика алгоритма. Сетевые конфигурации. Многослойная сеть, которая может обучаться с помощью процедуры обратного распространения. Этапы выполнения алгоритма. Программа создания однонаправленной сети. Статистика использования других алгоритмов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 15.08.2020 |
Размер файла | 79,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Обучение методами нейронных сетей: алгоритм обратного распространения
Савиных Н.В., Светкин А.В.
ANNOTATION
Back propagation algorithm -- a classis neural network training method -- is considered in the article. The network configurations are overviewed. All main phases are described. A sample program is produced, as well as disadvantages of concerned algorithm.
Савиных Наталья Вячеславовна Студент факультета Электроники и приборостроения Орловский государственный технический университет, г. Орел
Светкин Александр Васильевич Студент факультета Электроники и приборостроения Орловский государственный технический университет, г. Орел
Введение
алгоритм сеть конфигурация
Искусственные нейронные сети - это системы, индуцированные биологией, т.к. состоят из элементов, функциональные возможности которых аналогичны большинству элементарных функций биологического нейрона.
Искусственные нейронные сети могут менять свое поведение в зависимости от внешней среды, что обуславливает интерес, который они вызывают. После предъявления входных сигналов (возможно, вместе с требуемыми выходами) они самонастраиваются для обеспечения требуемой реакции. Было разработано множество обучающих алгоритмов, каждый со своими сильными и слабыми сторонами. Среди них важную роль играет алгоритм обратного распространения (back propagation).
Данный алгоритм используется в широкой сфере прикладных исследований: машинное визуальное распознавание букв, рукописных слов; превращение печатного английского текста в высококачественную речь; диагностика ошибок [1].
1.Общая характеристика алгоритма
Обратное распространение -- это систематический метод для обучения многослойных искусственных нейронных сетей с помощью изменения весов связей. В отличие от других алгоритмов ошибка распространяется от выходного слоя к входному, т.е. в направлении, противоположном направлению прохождения сигнала при нормальном функционировании сети [1]. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Как правило, сеть обучается на многих парах (группа всех обучающих пар называется обучающим множеством).
Количество итераций алгоритма для достижения заданной величины ошибки может быть неопределенно большим. Но несмотря на это процедура обратного распространения является более функциональной по сравнению с другими методами обучения. Например, сеть встречного распространения ошибки (counter propagation) не может строить точные аппроксимации и уступает сети обратного распространения в большинстве приложений по сетевому отображению [2]. Если рассматривать стохастические методы обучения, то они позволяют избегать одной из самых важных проблем -- попадания в локальный минимум, но требуют для обучения еще большего количества времени.
2.Сетевые конфигурации
На рисунке 1 представлен нейрон, используемый в качестве основного структурного элемента в сетях обратного распространения.
Рисунок 1 -- Искусственный нейрон с активационной функцией
На вход нейрона поступает некоторое множество сигналов (О1, О2,…,Оn), каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес (w1, w2,…, wn), и все произведения суммируются (суммирующий блок У), создавая выход (NET). Сигнал NET далее преобразуется активационной функцией F и дает выходной нейронный сигнал OUT.
3.Многослойная сеть
На рисунке 2 представлена многослойная сеть, которая может обучаться с помощью процедуры обратного распространения.
Рисунок 2 -- Двухслойная сеть обратного распространения
Первый слой нейронов (соединенный с входами) служит лишь в качестве распределительных точек, суммирования входов в них не производится. Входной сигнал проходит через них к весам на их выходах, а каждый нейрон последующих слоев выдает сигнал OUT.
4.Этапы выполнения алгоритма
Выполнение алгоритма начинается с создания произвольно сгенерированных весов для многослойной сети [1]. Затем процесс, описанный ниже, повторяется до тех пор, пока средняя ошибка на входе не будет признана достаточно малой:
1. Из обучающего множества выбирается очередная обучающая пара (значение выхода обозначим C).
2. Рассчитывается прямое распространение входного сигнала через сеть (определяются весовые суммы Si и выходы OUTi для каждой ячейки).
3. Начиная с выходов, выполняется обратное движение через ячейки выходного и промежуточного слоя, при этом рассчитываются значения ошибок входных и скрытых ячеек.
4. Веса сети обновляются пропорционально разности между целевым значением выхода и рассчитанным значением.
Коэффициент пропорциональности при обновление весов можно выбирать, исходя из следующих правил. При малом коэффициенте процесс обучения занимает больше времени, но минимизируется вероятность пропуска правильной комбинации весов. Если коэффициент обучения слишком велик, скорость обучения выше, но правильные веса связей могут быть никогда не найдены. Поэтому целесообразно начинать обучение с достаточно малого коэффициента, постепенно его увеличивая.
5.Программа создания однонаправленной сети
Рассмотрим следующую задачу:
Задан массив, состоящий из нескольких значений функции (S>0) на интервале (0;1). Создать нейронную сеть такую, что при вводе этих значений на выходах сети получались бы значения параметров C, A, S.
Следует отметить, что данная задача решается с использованием среды MatLab7.0 [3].
Сеть, решающая данную задачу имеет:
1. Диапазон изменения параметров C, A, S равный (0;1). Значения, близкие к 0, исключаются, так как функция не определена при S равном 0.
2. Количество входных и эталонных векторов равно 100, каждый входной вектор содержит 21 значение функции y, каждый эталонный вектор - 3 значения коэффициентов.
Для достижения точности результата 0.05 было проделано 3602 циклов обучения.
Результат тестирования сети на основе регрессионного анализа (когда эталонные значения сравниваются со значениями, полученными на выходе сети) получились следующими:
- эталонные значения коэффициентов: C равно 0.2, A равно 0.8, S равно 0.7.
- значения, получаемые на выходе: C равно 0.2240, A равно 0.8319, S равно 0.7891, что близко к правильному ответу.
Статистика использования других алгоритмов
Приведем общую по некоторым алгоритмам статистику решения рассмотренной ранее задачи (данные остаются прежними):
1. Пакетная тренировка с использование правил обучения для весов и смещений: за 2000 циклов обучения достигнутая точность равна 19.3832.
2. Метод связанных градиентов Флетчера-Пауэлла (Fletcher-Powell): из возможных 2000 циклов для обучения понадобилось 1421, при этом была достигнута точность 0.0999935.
3. Метод связанных градиентов Полака-Рибира (Polak-Ribiere): из возможных 2000 циклов для обучения понадобилось 999 при этом была достигнута точность 0.0997629.
4. Одноступенчатый метод секущих: за 2000 циклов обучения достигнутая точность равна 0.211934.
5. Метод случайных приращений: самый длительный по времени обучения из рассмотренных, за 2000 циклов обучения достигнутая точность равна 0.796866.
Недостатки алгоритма
Недостатками рассмотренного алгоритма являются: неопределенно долгий процесс обучения и отсутствие гарантии в положительном результате обучения.
Длительное время обучения может быть результатом неоптимального выбора длины шага. Неудачи обычно возникают по двум причинам: паралича сети (значения весов могут в результате коррекции стать очень большими величинами) и попадания в локальный минимум [4].
Тем не менее, алгоритм обратного распространения обладает преимуществом прямого поиска, то есть веса всегда корректируются в направлении, минимизирующем функцию ошибки. Благодаря своей простоте данный алгоритм остается одним из наиболее распространенных. Кроме того, многими исследователями были предложены улучшения и обобщения описанного выше основного алгоритма обратного распространения [5].
Литература
алгоритм сеть многослойный
Джонс М.Т. Программирование искусственного интеллекта в приложениях. Пер. с англ. Осипов А.И. - М.: ДМК Пресс, 2004. - 312 с.:ил.
Parker D.B. Learning logic. Invention Report S81-64, File 1, Office of Technology Licensing, Stanford University, Stanford, CA. 1982.
Лазарев Ю. Моделирование процессов и систем в MatLab. учебный курс.-СПБ.:Питер; Киев: Издательская группа BHV, 2005. - 512 с.:ил.
Wasserman P.D. 1988b. Experiments in translating Chinese characters using backpropagation. Proceedings of the Thirty-Third IEEE Computer Society International Conference. Washington, D. C.: Computer Society Press of the IEEE.
Burr D.J. 1987. Experiments with a connecnionlist text reader. In Proceedings of the IEEE First International Conferense on Neural Networks, eds. M. Caudill and C.Butler, vol. 4, pp. 717-24. San Diego, CA: SOS Printing.
Размещено на Allbest.ru
...Подобные документы
Обучение нейронных сетей как мощного метода моделирования, позволяющего воспроизводить сложные зависимости. Реализация алгоритма обратного распространения ошибки на примере аппроксимации функции. Анализ алгоритма обратного распространения ошибки.
реферат [654,2 K], добавлен 09.06.2014Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Рассмотрение способов применения и основных понятий нейронных сетей. Проектирование функциональной структуры автоматизированной системы построения нейросети обратного распространения ошибки, ее классов и интерфейсов. Описание периода "бета тестирования".
дипломная работа [3,0 M], добавлен 02.03.2010Разработка систем автоматического управления. Свойства нейронных сетей. Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров. Формальная модель искусственного нейрона. Обучение нейроконтроллера при помощи алгоритма обратного распространения ошибки.
реферат [1,4 M], добавлен 05.12.2010Программное обеспечение для получения исходных данных для обучения нейронных сетей и классификации товаров с их помощью. Алгоритм метода обратного распространения ошибки. Методика классификации товаров: составление алгоритма, программная реализация.
дипломная работа [2,2 M], добавлен 07.06.2012Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Искусственные нейронные сети как вид математических моделей, построенных по принципу организации и функционирования сетей нервных клеток мозга. Виды сетей: полносвязные, многослойные. Классификация и аппроксимация. Алгоритм обратного распространения.
реферат [270,4 K], добавлен 07.03.2009Разработка алгоритма выполнения операций умножения двоичных чисел в формате расширенной точности на сумматоре обратного кода. Преобразование входной строки в десятичное число. Разработка алгоритма арифметической операции. Тестирование программы-эмулятора.
курсовая работа [119,1 K], добавлен 24.06.2012Обучение нейросимулятора определению видовой принадлежности грибов по их заданным внешним признакам с применением алгоритма обратного распространения ошибки. Зависимость погрешностей обучения и обобщения от числа нейронов внутреннего слоя персептрона.
презентация [728,2 K], добавлен 14.08.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Характеристика моделей обучения. Общие сведения о нейроне. Искусственные нейронные сети, персептрон. Проблема XOR и пути ее решения. Нейронные сети обратного распространения. Подготовка входных и выходных данных. Нейронные сети Хопфилда и Хэмминга.
контрольная работа [1,4 M], добавлен 28.01.2011Определение, история создания и развития компьютерных вирусов; способы их распространения и борьбы с ними. Классификация вирусов по среде обитания, деструктивным возможностям и особенностям алгоритма работы; резидентные и нерезидентные программы.
контрольная работа [37,9 K], добавлен 27.04.2014Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Основы нейрокомпьютерных систем. Искусственные нейронные сети, их применение в системах управления. Алгоритм обратного распространения. Нейронные сети Хопфилда, Хэмминга. Современные направления развития нейрокомпьютерных технологий в России и за рубежом.
дипломная работа [962,4 K], добавлен 23.06.2012Виды социальных медиа. Критерии эффективности продвижения аккаунта в социальных сетях. Программная реализация алгоритма моделирования распространения информации в социальной сети "Twitter". Разработка клиентского приложения. Апробация интерфейса системы.
дипломная работа [5,4 M], добавлен 08.02.2016Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.
дипломная работа [1,5 M], добавлен 22.09.2016