Смекни!
smekni.com

Нейрокомпьютерные системы (стр. 32 из 32)

1. Подать обучающий вектор на вход сети и вычис­лить выход согласно соответствующим сетевым правилам.

2. Вычислить значение средней квадратичной ошибки между желаемым и полученным выходными векторами.

3. Изменить сетевые веса случайным образом, затем вычислить новый выход и результирующую ошибку. Если ошибка уменьшилась, оставить измененный вес; если ошиб­ка увеличилась, оставить измененный вес с вероятностью, определяемой распределением Больцмана. Если изменения весов не производится, то вернуть вес к его предыдущему значению.

4. Повторить шаги с 1 по 3, постепенно уменьшая искусственную температуру. Если величина случайного изменения весов определя­ется в соответствии с распределением Больцмана, сходи­мость к глобальному минимуму будет осуществляться толь­ко в том случае, если температура изменяется обратно пропорционально логарифму прошедшего времени обучения. Это может привести к невероятной длительности процесса обучения, поэтому большое внимание уделялось поиску более быстрых методов обучения. Выбором размера шага в соответствии с распределением Коши может быть достигну­то уменьшение температуры, обратно пропорциональное обучающему времени, что существенно уменьшает время, требуемое для сходимости. Заметим, что существует класс статистических мето­дов для нейронных сетей, в которых переменными сети являются выходы нейронов, а не веса. В гл. 5 эти алго­ритмы рассматривались подробно.

САМООРГАНИЗАЦИЯ

В работе [3] описывались интересные и полезные результаты исследований Кохонена на самоорганизующихся структурах, используемых для задач распознавания обра­зов. Вообще эти структуры классифицируют образы, пред­ставленные векторными величинами, в которых каждый компонент вектора соответствует элементу образа. Алго­ритмы Кохонена основываются на технике обучения без учителя. После обучения подача входного вектора из данного класса будет приводить к выработке возбуждающе­го уровня в каждом выходном нейроне; нейрон с макси­мальным возбуждением представляет классификацию. Так как обучение проводится без указания целевого вектора, то нет возможности определять заранее, какой нейрон будет соответствовать данному классу входных векторов. Тем не менее это планирование легко проводится путем тестирования сети после обучения. Алгоритм трактует набор из п входных весов нейрона как вектор в п-мерном пространстве. Перед обучением каждый компонент этого вектора весов инициализируется в случайную величину. Затем каждый вектор нормализуется в вектор с единичной длиной в пространстве весов. Это делается делением каждого случайного веса на квадратный корень из суммы квадратов компонент этого весового вектора. Все входные вектора обучающего набора также норма­лизуются и сеть обучается согласно следующему алгорит­му:

1. Вектор Х подается на вход сети.

2. Определяются расстояния Dj (в n-мерном прост­ранстве) между Х и весовыми векторами wj каждого нейро­на. В эвклидовом пространстве это расстояние вычисляет­ся по следующей формуле

где xi - компонента i входного вектора X, wij - вес входа i нейрона j.

3. Нейрон, который имеет весовой вектор, самый близкий к X, объявляется победителем. Этот весовой вектор, называемый wc , становится основным в группе весовых векторов, которые лежат в пределах расстояния D от wc .

4. Группа весовых векторов настраивается в соот­ветствии со следующим выражением:

для всех весовых векторов в пределах расстояния D от wc

5. Повторяются шаги с 1 по 4 для каждого входного вектора.

В процессе обучения нейронной сети значения D и ос постепенно уменьшаются. Автор [3] рекомендовал, чтобы коэффициент a в начале обучения устанавливался прибли­зительно равным 1 и уменьшался в процессе обучения до О, в то время как D может в начале обучения равняться максимальному расстоянию между весовыми векторами и в конце обучения стать настолько маленьким, что будет обучаться только один нейрон. В соответствии с существующей точкой зрения, точ­ность классификации будет улучшаться при дополнительном обучении. Согласно рекомендации Кохонена, для получения хорошей статистической точности количество обучающих циклов должно быть, по крайней мере, в 500 раз больше количества выходных нейронов. Обучающий алгоритм настраивает весовые векторы в окрестности возбужденного нейрона таким образом, чтобы они были более похожими на входной вектор. Так как все векторы нормализуются в векторы с единичной длиной, они могут рассматриваться как точки на поверхности единич­ной гиперсферы. В процессе обучения группа соседних весовых точек перемещается ближе к точке входного век­тора. Предполагается, что входные векторы фактически группируются в классы в соответствии с их положением в векторном пространстве. Определенный класс будет ассо­циироваться с определенным нейроном, перемещая его весовой вектор в направлении центра класса и способст­вуя его возбуждению при появлении на входе любого век­тора данного класса. После обучения классификация выполняется посредст­вом подачи на вход сети испытуемого вектора, вычисления возбуждения для каждого нейрона с последующим выбором нейрона с наивысшим возбуждением как индикатора правильной классификации.