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

 

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

2.5.1 Обучение слоя Кохонена

 

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

. (2.13)

Это превращает входной вектор в единичный вектор с тем же направлением в n-мерном пространстве. Далее нормированный на 1.0 входной вектор подается на вход, который распределяет его дальше через матрицу весов Wна нейроны слоя Кохонена. В отличие от классической сети встречного распространения каждый нейрон в слое Кохонена вычисляет не скалярное произведение весового вектора на входной, а среднеквадратическое отклонение по формуле:

. (2.14)

Нейрон с наименьшим среднеквадратическим отклонением становится активным, и его выход устанавливается в 1. Так как отработка этого механизма требует значительных вычислительных ресурсов, его лучше заменить нахождением нейрона с максимальной активностью и присвоением ему активности 1, а всем остальным нейронам 0. Таким образом, срабатывает нейрон, для которого входной вектор ближе всего к вектору весов связей.

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

(2.15)
где wн новое значение веса;
wс старое значение;
a – скорость обучения;
x – величина входа.
     

Геометрически это правило проиллюстрировано на рис. 2.6 (двумерный случай).

Рис.2.6. Иллюстрация механизма обучения

 

Метод обучения Кохонена обладает полезной и интересной способностью извлекать статистические свойства из множества входных данных. Для полностью обученной сети вероятность того, что случайно выбранный входной вектор будет ближайшим к любому заданному весовому вектору, равна 1/k, где k – число нейронов Кохонена. Это является оптимальным распределением весов на гиперсфере.

2.5.2 Обучение слоя Гроссберга

Обучение слоя Гроссберга – это обучение с учителем, алгоритм располагает желаемым выходом, по которому он обучается. Основная задача слоя Гроссберга при обучении – статистическое усреднение сходных входных векторов. Его вход NET является взвешенной суммой выходов k1,k2, ..., km слоя Кохонена, образующих бинарный вектор К. Вектор соединяющих весов, обозначенный через V, состоит из весов v11, v21, ..., vnm. Тогда выход NET каждого нейрона Гроссберга есть

, (2.16)

где NETi – выход i-го нейрона Гроссберга, или в векторной форме

Y = KV, (2.17)
гдеY – выходной вектор слоя Гроссберга;
К – выходной вектор слоя Кохонена;
V – матрица весов слоя Гроссберга.
     

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

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

vijн = vijс + b (yjvijс)ki, (2.18)
  гдеki выход i-го нейрона Кохонена (только для одного нейрона Кохонена он отличен от нуля);  
  уj j-я компонента вектора желаемых выходов.  
         

Первоначально b берется равным ~0,1 и затем постепенно уменьшается в процессе обучения.