нейронные сети.
Алгоритмы обучения
х1 Y1
Входной слой
Выходной слой
х2
Y2
хn
Cкрытый слой
Процесс обучения нейронной сети
Обучение нейронной сети
6
Типы алгоритмов обучения
Тип определяется функциональным
назначение сети, её архитектурой и
избранной стратегией обучения.
Различают три основных стратегии
обучения:
• «с учителем»,
• «без учителя», т. е. с самообучением,
• смешанную.
7
• Обучение «с учителем» – обучение ИНС, при
котором нейросеть настраивается по заданной
обучающей выборке в соответствии с принятым
правилом или алгоритмом.
• При обучении «без учителя» заранее не
требуется знать правильный результат обучения
и в процессе настройки весовых коэффициентов
образуется внутренняя структура
активизированных базовых элементов,
соответствующая предъявленному вектору
входа сети.
• При смешанной стратегии обучения часть
весовых коэффициентов wij настраивается по
заданной обучающей выборке, а друга – в
соответствии с правилами обучения «без
учителя».
8
• Одно- и многослойные сети обучаются по
первой стратегии ( «с учителем») для решения
задач классификации, аппроксимации и
управления.
• Самообучение используется в сетях Хопфилда,
самоорганизующихся картах (сетях) Кохонена,
сетях ART (adaptive resonance theory, адаптивная
теория резонанса);
• Смешанная стратегия обучения применяется в
RBF-сетях (с радиально-базисными функциями
активации).
9
• Общим для всех модификаций алгоритмов
является их рекуррентный характер, а сами
алгоритмы обучения представляют собой
линейные или чаще нелинейные
дифференциальные (или разностные) уравнения
первого порядка, составленные по
определенному правилу.
• Эти правила имеют эвристический характер, не
всегда вытекающие из принципов
функционирования бионейронов и нервной сети
живого организма.
• Наибольшее распространение получили
следующие правила обучения ИНС:
• правило Хебба;
• δ-правило;
• обучение с «конкуренцией» или методом сравнения;
• ART-правило (обучение «без учителя»);
• «больцманово» обучение.
10
Правило Хебба
11
• Модель обучения Хебба дает объяснение
способности нейросети к привыканию и обучению
этой способности через повторение.
• Правило или алгоритм Хебба записывается
следующим образом:
wij (k 1) wij (k ) q j q i
где wij(k) – значение весового коэффициента,
изменяющегося от нейрона i к нейрону j до
настройки;
wij(k+1) – то же, но после настройки;
qi, qj – выходы нейронов i, j соответственно;
γ>0 – коэффициент «усиления» алгоритма;
k=0, 1, 2, … .
12
• Важной особенностью правила Хебба
является то, что изменения синаптических весов
wij(k) зависят только от активности базовых
элементов, связанных между собой данным
синапсом.
• Правило Хебба может быть применено для
обучения простых сетей типа маделяйн,
рекуррентных сетей Хопфилда.
• Оно положило начало процессу
«конструирования» множества подобных правил
обучения нейросетей «без учителя» и, в
частности, на этом пути был получен удачный
алгоритм обучения «с конкуренцией»
13
Обучение «конкуренцией»
• Обучение «конкуренцией» в отличие от правила Хебба, по
которому может возбуждаться одновременно множество
базовых элементов выходного слоя, предусматривает
«соревнование» этих элементов за право активации.
• Такая стратегия получила название «победитель
получает все». После активации в процессе настройки
изменяются лишь «победившие» элементы.
• Известно, что такая же стратегия обучения присуща
биологическим нейронным сетям в отличие от обучения
по δ-правилу.
• Обучение «с конкуренцией» используется в ART-сетях,
сетях Кохонена для решения задач классификации
зрительных, звуковых образов, сжатия данных,
кластеризации и котегоризации внутри класса.
14
Алгоритм обратного
распространения ошибки
• Является самым распространённым алгоритмом
обучения ИНС.
• Это итеративный градиентный алгоритм
обучения, который используется с целью
минимизации среднеквадратического отклонения
текущего выхода от желаемого выхода в
многослойных нейронных сетях.
• Алгоритм действует циклически (итеративно), и
его циклы принято называть эпохами.
19
Пошаговое описание алгоритма
обратного распространения
• Шаг 1. Весам сети присваиваются небольшие
начальные значения.
• Шаг 2. Выбирается очередная обучающая пара (X,
Y) из обучающего множества; вектор X подаётся на
вход сети.
• Шаг 3. Вычисляется выход сети.
• Шаг 4. Вычисляется разность между требуемым
(целевым, Y) и реальным (вычисленным) выходом
сети.
21
• Шаг 6. Шаги со 2-го по 5-й повторяются для
каждой пары обучающего множества до тех пор,
пока ошибка на всем множестве не достигнет
приемлемой величины.
• Шаги 2 и 3 подобны тем, которые выполняются в
уже обученной сети.
• Вычисления в сети выполняются послойно. На
шаге 3 каждый из выходов сети вычитается из
соответствующего компонента целевого вектора
с целью получения ошибки.
• Эта ошибка используется на шаге 5 для
коррекции весов сети.
22
Пример алгоритма обучения
многослойной нейронной сети методом
обратного распространения ошибки
Для иллюстрации этого процесса используем нейронную сеть и имеющую
два входа и один выход и два скрытых слоя:
Вычисляется
значения
выходного
вектора
Y=[y1,y2,y3]
для первого
скрытого
слоя
Вычисляется значения
выходного вектора
Y=[y4,y5] для второго
скрытого слоя
Рассчитывается выходное значение y для все сети
На следующем шаге алгоритма, выходной сигнала сети y сравнивается с
желаемым выходным сигналом z, который хранится в тренировочных
данных.
Разница между этими двумя сигналами называется ошибкой d
выходного слоя сети.
Весовые коэффициенты Wmn, используемые для обратного
распространения ошибки, равны тем же коэффициентам, что
использовались во время вычисления выходного сигнала. Только
изменяется направление потока данных (сигналы передаются от
выхода ко входу).
Этот процесс повторяется для всех
слоёв сети. Если ошибка пришла от
нескольких нейронов — она
суммируются:
23