Меню сайта
Наш опрос
Статистика
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
6. Обучение нейронной сети.6. Обучение нейронной сети.
Возможности одиночного нейрона весьма ограничены – линейное или нелинейное разделения пространства признаков на две половины. Для более точного разделения гиперпространства требуется могослойная нейронная сеть. Такая сеть требует предварительной настройки весов и порогов, либо прямой загрузкой коэффициентов, либо обучением, согласно специальным алгоритмам.
Искусственные нейронные сети обучаются самыми разнообразными методами. К счастью, большинство методов обучения исходят из общих предпосылок и имеют много идентичных характеристик. Целью данного приложения является обзор некоторых фундаментальных алгоритмов с точки зрения их текущей применимости и исторической важности. После ознакомления с этими фундаментальными алгоритмами другие основанные на них алгоритмы будут достаточно легки для понимания, и новые разработки также могут быть лучше поняты и развиты.
Среди всех интересных свойств искусственных нейронных сетей ни одно не захватывает так воображения, как их способность к обучению. Их обучение до такой степени напоминает процесс интеллектуального развития человеческой личности, что может показаться, что достигнуто глубокое понимание этого процесса. Но, проявляя осторожность, следует сдерживать эйфорию. Возможности обучения искусственных нейронных сетей ограниченны, и нужно решить много сложных задач, чтобы определить, на правильном ли пути мы находимся.
Цель обучения. Сеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор.
Обучение с учителем. Обучающие алгоритмы могут быть классифицированы как алгоритмы обучения с учителем и обучения без учителя. В первом случае существует учитель, который предъявляет входные образы сети, сравнивает результирующие выходы с требуемыми, а затем настраивает веса сети таким образом, чтобы уменьшить различия. Трудно представить такой обучающий механизм в биологических системах; следовательно, хотя данный подход привел к большим успехам при решении прикладных задач, он отвергается теми исследователями, кто полагает, что искусственные нейронные сети обязательно должны использовать те же механизмы, что и человеческий мозг.
Во втором случае обучение проводится без учителя: при предъявлении входных образов сеть самоорганизуется, настраивая свои веса согласно определенному алгоритму. Требуемый выход в процессе обучения не указан, поэтому результаты определения возбуждающих образов для конкретных нейронов непредсказуемы. При этом, однако, сеть организуется в форме, отражающей существенные характеристики обучающего набора. Например, входные образы могут быть классифицированы согласно степени их сходства так, что образы одного класса активизируют один и тот же выходной нейрон.
Обучение с учителем. Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Обычно сеть обучается на некотором числе таких обучающих пар. Предъявляется выходной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность (ошибка) с помощью обратной связи подается в сеть и веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. Векторы обучающего множества предъявляются последовательно, вычисляются ошибки и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.
Обучение без учителя. Несмотря на многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность. Трудно вообразить обучающий механизм в мозге, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Если допустить подобный механизм в мозге, то откуда тогда возникают желаемые выходы? Обучение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами.
Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т.е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.
Алгоритмы обучения. Большинство современных алгоритмов обучения выросло из концепций Хэбба [2]. Им предложена модель обучения без учителя, в которой синаптическая сила (вес) возрастает, если активированы оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются, и феномен привычки и обучения через повторение получает объяснение. В искусственной нейронной сети, использующей обучение по Хэббу, наращивание весов определяется произведением уровней возбуждения передающего и принимающего нейронов. Это можно записать как где Wij (n) - значение веса от нейрона i к нейрону j до подстройки, Wij(п+ 1) - значение веса от нейрона i к нейрону j после подстройки, a. - коэффициент скорости обучения, OUTi - выход нейрона i и вход нейронаj, OUTj - выход нейронаj. Сети, использующие обучение по Хэббу, конструктивно развивались, однако за последние 20 лет были развиты более эффективные алгоритмы обучения.
6.1. Градиентные алгоритмы обучения сети 6.4. Методики обучения сетей Хэбба 6.5. Входные и выходные звёзды 6.6. Обучение методом соревнования 6.7. Метод обучения Уидроу—Хоффа 6.8. Метод статистического обучения
<ДАЛЕЕ>
|
Поиск
Друзья сайта
|