Помощь в написании студенческих работ
Антистрессовый сервис

Обучение нейронной сети

РефератПомощь в написанииУзнать стоимостьмоей работы

Причины здесь две. Первая заключается в том, что зачастую обученная сеть в дальнейшем реализуется на другой платформе, в частности, на аппаратном уровне. Вторая причина — оптимизация часто приводит к существенному снижению количества входных переменных за счет исключения избыточных, не влияющих на конечный результат. Этот факт придает нейросетям качественно новое свойство: можно не заботиться… Читать ещё >

Обучение нейронной сети (реферат, курсовая, диплом, контрольная)

Аналогия с мозгом не заканчивается на структуре нейрона и сети нейронов. Из природы позаимствована также идея обучения нейронных сетей. Известно, что человеческий мозг способен к самообучению, причем достигает успехов зачастую, не зная природы процессов, лежащих в основе выполняемых действий. Например, чтобы попасть мячом в баскетбольное кольцо, робот-баскетболист должен измерить расстояние до кольца и направление, рассчитать параболическую траекторию, и совершить бросок с учетом массы мяча и сопротивления воздуха. Человек же обходится без этого только через тренировки. Многократно совершая броски и наблюдая результаты, он корректирует свои действия, постепенно совершенствуя свою технику. При этом в его мозгу формируются соответствующие структуры нейронов, отвечающие за технику бросков. Таким образом, непременным атрибутом обучения является многократное повторение и возможность немедленной оценки полученного результата.

Для нейронных сетей это процесс может быть представлен следующим алгоритмом (рис. 5.6).

Выбор структуры нейросети представляет собой отдельную задачу и заключается в выборе топологии сети и функций активации каждого нейрона. Вначале параметры нейронов устанавливаются произвольно.

Обучение заключается в том, что на вход сети подаются специальные тренировочные данные, то есть такие входные данные, выходной результат для которых известен. На выходе формируются результирующие данные, результаты сравниваются с ожидаемыми, и вычисляется значение ошибки. После этого в определенной последовательности выполняется коррекция параметров нейросети с целью минимизации функции ошибки. Если удовлетворительной точности достигнуть не удается, следует изменить структуру сети и повторить обучение на множестве тренировочных данных.

Процесс создания и использования нейронной сети.

Рис. 5.6. Процесс создания и использования нейронной сети.

После того, как сеть обучена, выполняется тестирование, то есть контроль точности на специальных тестовых данных. Это означает, что все данные следует разбить на два подмножества: на первом из них выполняется обучение сети, а на втором — тестирование. Это разбиение может быть случайным или регулярным, например, каждая вторая запись исходного массива данных может использоваться для тестирования. Тестирование от обучения отличается тем, что на тестовых данных только проверяется точность, а, поскольку эти данные не используются для подбора параметров сети, они могут служить критерием качества обучения. По аналогии с обучением человека тестирование можно уподобить экзамену.

В качестве примера рассмотрим задачу оптического распознавания текстов. Пусть на вход сети в качестве входных сигналов подается матрица точек выделенного фрагмента изображения, соответствующая распознаваемому символу (рис. 5.7). Пусть на вход сети подается матрица точек распознаваемого знака. На выходе формируются сигналы, соответствующие распознанному знаку. Обучение сети заключается в многократном «предъявлении» сети разных вариантов начертания символов вместе с готовыми «ответами».

Заметим, что сеть не пытается запомнить все возможные варианты начертания каждого символа, а лишь формирует выходной сигнал.

Обучение нейронной сети.

как функцию от входных переменных. Заметим, что такой подход к распознаванию текстов обладает существенным преимуществом перед прочими в быстродействии. Так же и человек: чтобы прочитать текст, не спрашивает названия шрифта, и не ищет в памяти все возможные начертания символов. Ассоциации в мозгу устанавливаются мгновенно.

Нейронная сеть в задаче распознавания символов.

Рис. 5.7. Нейронная сеть в задаче распознавания символов.

Задача обучения сети имеет огромную размерность. Так, для обучения сети, состоящей всего из 10 нейронов, в каждом из которых по 3 синапса, необходимо подобрать значения по меньшей мере 40 параметров (30 значений Wj — синаптических весов, и 10 параметров функций активации АД. Если каждый из параметров подбирать с дискретностью 1 / 100, то общее число прогонов сети на множестве тренировочных данных составит 10040. Очевидно, что такая задача не под силу даже суперкомпьютерам.

Данная задача удовлетворительно решается с помощью алгоритма обратного распространения (back propagation), который заключается в следующем.

Вначале все параметры сети устанавливаются произвольно.

  • 1. Через сеть прогоняются тренировочные данные, и вычисляется суммарная функция ошибки Е = sum (Ej* 1 2 3), где Е; = Y; — у, Yj — вычисленное значений выходной величины, у, — ожидаемое значение.
  • 2. Вычисляется значение производных функции ошибки по каждому параметру, а на их основе — расчет поправок к параметрам нейронной сети.
  • 3. Параметры сети корректируются на величину поправок, после чего шаги 2 и 3 повторяется с начала до тех пор, пока функция ошибки не снизится до заданного уровня.

Несмотря на простоту, данный алгоритм является весьма трудоемким, и его ускорение представляет собой актуальную задачу.

Если в результате обучения не был получен удовлетворительный результат, то необходимо изменить структуру сети. Это может быть сделано вручную, либо структура может выбираться из заранее созданного набора (библиотеки структур). Программные продукты, поддерживающие такие решения, существуют. Но наиболее удачным следует признать подход, при котором структура сети формируется автоматически. Примером может служить нейросеть NGO компании BioComp Systems Inc. (www.biocompsystems.com).

Данный подход заключается в применении к этой задаче генетических алгоритмов. Дело в том, что в процессе обучения сети выявляются «сильные» нейроны и связи между ними (чувствительные к изменению параметров) и «слабые» (параметры которых можно менять произвольно без существенного влияния на конечный результат). Используя эти данные, можно управлять популяцией нейронов. Слабые нейроны и синапсы должны отмирать, а для развития структуры, а также чтобы предотвратить всеобщее «вымирание», сеть подвергается «мутации»: в нее случайным образом или другим способом, например, для усиления «сильных» нейронов добавляются новые нейроны и синаптические связи. Таким образом, через множество поколений, количество которых может достигать десятков тысяч, сеть будет иметь оптимальную структуру.

В связи с этим может возникнуть вопрос: а зачем тратить такое количество времени на оптимизацию структуры сети, если обучение сети максимальной размерности с полным набором связей займет заведомо меньшее время? К тому же ранее было сказано, что быстродействие обученной нейронной сети достаточно велико.

Причины здесь две. Первая заключается в том, что зачастую обученная сеть в дальнейшем реализуется на другой платформе, в частности, на аппаратном уровне. Вторая причина — оптимизация часто приводит к существенному снижению количества входных переменных за счет исключения избыточных, не влияющих на конечный результат. Этот факт придает нейросетям качественно новое свойство: можно не заботиться о том, какие входные данные являются важными, а какие нет — в процессе обучения лишние будут отброшены. В статистике подобную функцию выполняют пошаговая линейная регрессия, дисперсионный и факторный анализ.

Например, мы пытаемся использовать нейросеть для предсказания курса доллара. В качестве исходных данных мы можем подставить поведение этого курса в течение нескольких лет (кстати, такой способ предсказания величин на основе только их поведения в прошлом называется «технический анализ»), экономические индикаторы и индексы (Dow Jones, NASDAQ, потребительские цены), а также любые другие, вплоть до данных метеонаблюдений. Если на всех этих данных будет получена нейросеть, дающая хорошие прогнозы, то пользоваться ею будет довольно утомительно, а иногда и дорого. При этом выявление значимых параметров само по себе представляет ценный результат. Если окажется, что на курс доллара оказывает влияние температура воздуха, можно исследовать природу данного феномена. Мне могут возразить, что такую связь можно обнаружить, сравнивая графики температуры воздуха и курса доллара. Однако, прямое сравнение позволяет обнаружить, главным образом, линейную зависимость, к тому же здесь в работу включается интеллект человека.

Показать весь текст
Заполнить форму текущей работой