СПОСОБ ОБУЧЕНИЯ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ
METHOD OF TRAINING ARTIFICIAL NEURAL NETWORK

Настоящее изобретение относится к искусственным нейронным сетям и может быть использовано для обучения нейронной сети при моделировании физических явлений технологических процессов.
На существующем уровне развития техники известен способ обучения искусственной нейронной сети с учителем, широко применяемый для решения различных задач (Хайкин С. Нейронные сети: полный курс, 2-е изд.: Пер. с англ. - М.: Издательский дом «Вильяме», 2006. - 1104 с.; Галушкин А.И. Теория нейронных сетей. Кн. 1: Учебное пособие для вузов / Общая ред. А.И. Галушкина. - М.: ИПРЖР, 2000. - 416 с.). Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Сеть обучается на некотором числе таких обучающих пар. Задается входной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность (градиент ошибки) с помощью обратной связи подается в сеть и весовые коэффициенты изменяются в направлении антиградиента, минимизирую ошибку. Векторы обучающего множества предъявляются последовательно и многократно, вычисляются ошибки и весовые коэффициенты подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня. Недостатком этого способа является отсутствие гарантии сходимости процесса обучения.
n
Известен способ моделирования нейрона (патент RU 2402813 C1; МПК G06N 3/06, опубл. 10.01.2014). Это способ основан на том, что в весовых блоках вычисляют квадраты евклидова расстояния от вектора входа до каждой из 2 вершин единичного n-мерного куба, затем величины, обратные этим расстояниям, перемножают соответственно с компонентами целевого вектора, после чего суммируют в сумматоре и преобразуют в активационном блоке функцией активации. Способ моделирования нейрона принимается для обеспечения возможности реализации любой заданной булевой логической функции неравнозначности из полного их набора от n переменных. Необходимо отметить, что в данном способе рассматриваются булевы (переменные и значения функции - двоичные, 0 и 1) логические функции, а их аппроксимации с помощью нейронной сети представляют собой непрерывные функции. Области их определения (входы нейронной сети) и значения (выходы нейронной сети) представляют непрерывный отрезок. Булевы функции являются частным случаем соответствующих нейросетевых функций. Сложность алгоритма обучения данного способа определяется достаточно большим числом вычислительных операций в процессе обучения. Таким образом, данный способ имеет  недостатки: узкая область применения, ограниченная количеством рассматриваемых булевых функций; процесс обучения может занимать длительные времени и не гарантирует сходимости, особенно при большом числе входов (n≥3).
Известен также способ обучения искусственной нейронной сети (патент РФ 2504006; МПК G06N 3/08, опубл. 27.10.2010). Данный способ предназначен для решения задач классификации объектов при отсутствии статистически достаточного ряда наблюдений исследуемых объектов. Сущность этого способа заключается в том, что обучающие векторы формируют на основе знаний экспертов в рассматриваемой области. Эксперты последовательно определяют классы исследуемых объектов, к которым относятся сгенерированные с помощью генератора псевдослучайных чисел обучающие векторы входных сигналов искусственной нейронной сети. Созданные компьютером их визуальные образы, наглядно описывают объекты, задаваемые сгенерированными обучающими векторами. Недостатком данного способа является узкая область применения, ограниченная решением задач классификации объектов.
1
2
N
h
c
Наиболее близким к заявленному изобретению является способ оптимизации весов скрытого и выходного слоев нейронной сети, предназначенный для обучения многослойной искусственной нейронной сети персептрона (Hung-Han Chen, Michael Т. Manry And Hema Chandrasekaran, A neural network training algorithm utilizing multiple set of linear equations. Neurocomputing, vol. 40, No. 1, January 1992, pp. 202-210). Это способ заключается в том, что в ходе процедуры обучения после последовательной передачи многомерного входного вектора Χ=[x, x, … x] в многослойную нейронную сеть (со структурой: N синапсов во входном слое, один скрытый слой с N синапсами и N синапсов в выходном слое, вычисляют соответствующие кросскорреляционные и автокорреляционные функции, и далее определяют веса скрытого и выходного слоев на основе решения системы уравнений для антиградиента для минимизации средней квадратичной ошибки между выходными значениями нейронной сети и их желаемыми значениями. Сущность данного способа заключается в выполнении следующих действий:
h
c
v
it
мин
1. Ввести структуру нейронной сети и параметры обучения, то есть: значения размерности входного Ν, скрытого N и выходного слоев N; количество примеров обучающих данных N, число опытов N и допустимое значение ошибки Е.
t
t
2. Для начального значения опыта, инициализировать все веса у всех слоев с помощью функции генерации случайных чисел в диапазоне от 0 до 1. Пусть i=0, где i - счет опыта.
t
t
it
it
3, 4. Увеличить значение опыта i на 1. При условии i>N или значении средней квадратичной ошибки, меньшем допустимой ошибки , где N - число опытов, перейти на шаг 16.
p
TO
OO
5, 6. Передать данные для обучения нейронной сети. Для каждого входного вектора рассчитать выходные значения каждого j-го синапса скрытого слоя нейронной сети O(j), а также значения кросскорреляционной R(m) и автокорреляционной R(k, m) функций выходного слоя следующим образом:
v
h
1≤p≤N, 1≤i≤N, 1≤j≤N
p
1
p
h
v
tp
p
u
u
h
где net(j) - входное значение j-го синапса скрытого слоя; w(j, i) - вес от i-го синапса входного слоя в j-м синапсе скрытого слоя; f - функция активации скрытого слоя; x(i) - входное значение i-го синапса входного слоя; N, N, N - размерность входного слоя, скрытого слоя и обучающих данных соответственно; y - желаемое выходное значение нейронной сети; X(k) - входное значение k-го синапса выходного слоя; p - индекс примера обучающих данных; k - индекс входного значения в выходном слое; m - текущий индекс входного значения в выходном слое, 1≤k, m≤N, N=1+N+N.
7. Решить систему линейных уравнений для определения весов выходного слоя
o
u
где w(k) - вес синапса выходного слоя от k-го из N суммарных синапсов входного и скрытого слоев.
8. Рассчитать значение выходной величины и среднюю квадратичную ошибку Е:
op
где y - выходное значение нейронной сети.
9, 10. При i≥2, сравнивать текущее значение  с значением  предыдущего опыта, если ошибка увеличивается, то перейти на шаг 15. В противном случае перейти на шаг 11.
δO
OO
11. Определить значения кросскорреляционной и автокорреляционной (R(j, k) и R(j, m)) функций для скрытого слоя следующим образом:
po
p
где δ и δ(j) - дельта-функции выходного и скрытого слоев соответственно.
h
где k - индекс входного значения в скрытом слое; m - случайный индекс входного значения в скрытом слое, 1≤j, k, m≤N.
12. Решить систему линейных уравнений для определения изменения весов скрытого слоя следующим образом:
где e(j, k) - изменение веса скрытого слоя, соответствующее весу w(j, k).
13. Рассчитать шаг обучения Z по следующей формуле:
где 0<α<0,1.
14. Обновить веса скрытого слоя по следующей формуле и перейти на шаг 3 (новый опыт):
15. Уменьшить шаг обучения на 2 раза и перейти на шаг 14.
16. Вывести все веса всех слоев нейронной сети и остановить процесс обучения.
Недостаток этого способа - отсутствие гарантии того, что ошибка будет уменьшаться с каждым шагом обучения. Данный способ изменяет веса скрытого слоя в направлении их уменьшения в случае увеличения ошибки. Это приводит к возрастанию времени процесса обучения.
Задачей, на решение которой направлено заявляемое изобретение, является обеспечение гарантии сходимости и ускорения процесса обучения искусственной нейронной сети.
Данная задача решается за счет того, что в заявленном изобретении оптимизация весов скрытого и выходного слоев производится с учетом направления изменения весов скрытого слоя в случае увеличения ошибки.
1
2
N
h
c
1
2
1
2
1
2
1
2
1
2
Способ обучения искусственной нейронной сети, характеризующийся тем, что: передают многомерный входной вектор Х=[х, х, … ,x] в многослойную нейронную сеть со структурой: N синапсов в входном слое, один скрытый слой с N синапсами и N синапсов в выходном слое; вычисляют соответствующие кросскорреляционные и автокорреляционные функции; далее определяют веса скрытого и выходного слоев на основе решения системы уравнений антиградиента, причем дополнительно производят выбор направления изменения весов скрытого слоя путем последовательного назначения пары ближайших значений текущего веса скрытого слоя w(j, k)=w(j, k)-ξ и w(j, k)=w(j, k)+ξ, где 0<ξ≤0,001, и сравнивают соответствующие им изменения средней квадратичной ошибки  и , где Е, Е - значения средней квадратичной ошибки, соответствующей весам скрытого слоя w(j, k) и w(j, k),  - значение средней квадратичной ошибки предыдущего опыта, если ΔЕ<ΔE, то изменяют веса скрытого слоя в направлении уменьшения, если ΔЕ≥ΔЕ, то изменяют веса скрытого слоя в направлении увеличения.
Структурная схема для способа обучения искусственной нейронной сети (фиг. 1) содержит: блок питания 1, на который поступает многомерный входной вектор. Выход блока питания 1 соединен с входом блока вычислители 2, на котором вычисляют кросскорреляционные и автокорреляционные функции. Выход блока вычислители 2 является входом блока весов 3, выход которого соединен с входом блока выхода 4. В весовом блоке 3 определяют веса скрытого и выходного слоев нейронной сети. Выходные значения и их соответствующие ошибки определяют в блоке 4. Выход блока 4 соединен с входом блока корректировки 5 с обратной связью. На основе оценки средней квадратичной ошибки, которые определяются в блоке 4, производят выбор направления изменения весов скрытого слоя нейронной сети. Выход блока 5 соединен со вторым входом блока 3. Выход блока 4 является выходом нейронной сети в условии достижения допустимой минимальной средней квадратичной ошибки.
Техническим результатом, обеспечиваемым приведенной совокупностью признаков, является уменьшение времени обучения, средней квадратичной ошибки (Е), и объема выборки при гарантии сходимости процесса обучения.
Сущность изобретения поясняется чертежами, на которых изображено:
На фиг. 1 - структурная схема для способа обучения искусственной нейронной сети;
На фиг. 2 - сравнение эффективности использования двух способов обучения искусственной нейронной сети (предложенный способ и его прототип) на примере обучения теплового процесса в зоне резания.
На фиг. 3- 5 - результаты обучения теплового процесса в зоне резания.
Способ обучения искусственной нейронной сети осуществляется следующим образом:
1. Вводим структуру нейронной сети и параметры обучения.
t
2. Для начального значения опыта, инициализируем все веса у всех слоев с помощью функции генерации случайных чисел в диапазоне от 0 до 1. Пусть i=0.
t
t
it
3. 4. Увеличиваем значение опыта i на 1. При условии i>N или значении средней квадратичной ошибки, меньшем допустимой ошибки , переходим на шаг 18.
p
TO
OO
5, 6. Передаем данные для обучения нейронной сети. Для каждого входного вектора рассчитаем выходные значения каждого j-го синапса скрытого слоя нейронной сети O(j), а также значения кросскорреляционной R(m) и автокорреляционной R(k, m) функций выходного слоя по формулам (1)-(5).
7. Решаем систему линейных уравнений (6) для определения весов выходного слоя.
8. Рассчитаем значение выходной величины и среднюю квадратичную ошибку Е по формулам (7)-(8).
9, 10. При i≥2, сравниваем текущее значение  со значением  предыдущего опыта, если ошибка увеличивается, то переходим на шаг 15. В противном случае переходим на шаг 11.
δO
OO
11. Определяем значения кросскорреляционной и автокорреляционной (R(j, k) и R(j, m)) функций для скрытого слоя по формулам (9)-(12).
12. Решаем систему линейных уравнений (13) для определения изменения весов скрытого слоя.
13. Рассчитаем шаг обучения по формуле (14).
14. Обновляем веса скрытого слоя по формуле (15) и переходим на шаг 3 (новый опыт).
15, 16. Проверяем условие «выбрано ли направление изменения весов?». Если «да», то переходим на шаг 17, если «нет» то выполняем выбор направления.
1
2
1
2
Выбираем направления изменения весов скрытого слоя путем последовательного назначения пары ближайших значений текущего веса скрытого слоя (w(j, k)=w(j, k)-ξ и w(j, k)=w(j, k)+ξ, где 0<ξ≤0,001) и сравнения соответствующих им изменений средней квадратичной ошибки ΔЕ и ΔЕ
1
2
1
2
где Е, Е - значения средней квадратичной ошибки, соответствующей весам скрытого слоя w(j, k) и w(j, k), вычисляются путем выполнения шагов 5-8.
1
2
1
2
Если ΔЕ<ΔE, то изменяем веса скрытого слоя в направлении уменьшения. Если ΔΕ≥ΔE, то изменяем веса скрытого слоя в направлении увеличения.
17. Изменяем скрытые веса в выбранном на 16-м шаге направлении и переодим на шаг 5.
18. Выводим все веса всех слоев нейронной сети и остановим процесс обучения.
∂
Рассмотрим пример реализации способа обучения искусственной нейронной сети для теплового процесса в зоне резания. Используем нейронную сеть, которая имеет 6 входов (скорость - V, подача - S, глубина резания - t, теплопроводность обрабатываемого материала - λ, главный угол в плане - φ и радиус закругления вершины резца - r) и 1 выход (температура резания). Данные для обучения нейронной сети взяты из экспериментальных данных, которые получены при проведении 64 опытов. Условие проведенных опытов: точения вала диаметра 40 мм из Ал 6061 на токарном станке Kirloska Turnmaster-35 (мощность 2,2 кВт) проходным резцом быстрорежущей стали Р9 (главный угол в плане φ=45°, передний угол γ=0°, задний угол α=12°, радиус закругления 3 мм) со следующими режимами: V=100…200 м/мин; S=0,05…0,1 мм/об; t=0,25…0,1 мм.
h
Из фиг. 2 видно, что значение средней квадратичной ошибки достигается допустимых значений при числе нейронов в скрытом слое N≥60. В этом случае оно в два раза меньше и время обучения в пять раз меньше по предложенному способу по сравнению с прототипом.
Результаты обучения теплового процесса в зоне резания с помощью нейронной сети соответствуют результатом исследования, приведенным в литературных источниках (Макаров А.Д. Оптимизация процессов резания. - М.: Машиностроение, 1976. - 278 с.; Резников А.Н., Резников Л.А. Тепловые процессы в технологических системах. - М.: Машиностроение, 1990. - 288 с.).
Предложенное техническое решение позволяет ускорить процесс обучения искусственной нейронной сети в два раза и уменьшить ошибку в пять раз по сравнению с его прототипом.