Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_I_S.doc
Скачиваний:
3
Добавлен:
19.12.2018
Размер:
1.37 Mб
Скачать

Алгоритм функціонування мережі Кохонена:

  1. Ініціалізація мережі. Ваговим коефіцієнтам мережі надаються малі випадкові значення. Початкова зона сусідства показана на рис. 5.

  2. Пред'явлення мережі нового вхідного сигналу.

  3. Обчислення відстані до всіх нейронів мережі:

Відстані dj від вхідного сигналу до кожного нейрона j визначаються за формулою:

де xi - i-ий елемент вхідного сигналу в момент часу twij(t) - вага зв'язку від i-го елемента вхідного сигналу до нейрона j у момент часу t.

  1. Вибір нейрона з найменшою відстанню:

Вибирається нейрон-переможець j*, для якого відстань dj найменше.

  1. Налаштування ваг нейрона j* і його сусідів:

Робиться налаштування ваг для нейрона j* і всіх нейронів з його околу NE. Нові значення ваг:

wij(t+1)=wij(t)+r(t)(xi(t)-wij(t))

де r(t) - швидкість навчання, що зменшується з часом (додатне число, менше одиниці).

  1. Повернення до кроку 2.

В алгоритмі використовується коефіцієнт швидкості навчання, який поступово зменшується, для тонкішої корекції на новій епосі. В результаті позиція центру встановлюється в певній позиції, яка задовільним чином кластеризує приклади, для яких даний нейрон є переможцем.

Властивість топологічної впорядкованості досягається в алгоритмі за допомогою використання поняття околу. Окіл - це декілька нейронів, що оточують нейрон-переможець. Відповідно до швидкості навчання, розмір околу поступово зменшується, так, що спочатку до нього належить досить велике число нейронів (можливо вся карта), на самих останніх етапах окіл стає нульовим і складається лише з нейрона-переможця. В алгоритмі навчання корекція застосовується не тільки до нейрона-переможця, але і до всіх нейронів з його поточного околу. В результаті такої зміни околу, початкові доволі великі ділянки мережі мігрують в бік навчальних прикладів. Мережа формує грубу структуру топологічного порядку, при якій схожі приклади активують групи нейронів, що близько знаходяться на топологічній карті. З кожною новою епохою швидкість навчання і розмір околу зменшуються, тим самим всередині ділянок карти виявляються більш тонкі розходження, що зрештою призводить до точнішого налаштування кожного нейрона. Часто навчання зумисне розбивають на дві фази: більш коротку, з великою швидкістю навчання і великих околів, і більш тривалу з малою швидкістю навчання і нульовими або майже нульовими околами.

Після того, як мережа навчена розпізнаванню структури даних, її можна використовувати як засіб візуалізації при аналізі даних.

Області застосування. Кластерний аналіз, розпізнавання образів, класифікація.

Недоліки. Мережа може бути використана для кластерного аналізу тільки в тому випадку, якщо заздалегідь відоме число кластерів.

Переваги. Мережа Кохонена здатна функціонувати в умовах перешкод, тому що число кластерів фіксоване, ваги модифікуються повільно, налаштування ваг закінчується після навчання.

Модифікації. Одна з модифікацій полягає в тому, що до мережі Кохонена додається мережа MAXNET, що визначає нейрон з найменшою відстанню до вхідного сигналу.

нейронні мережі з прямим та зворотнім розповсюдженням сигналу.(14)

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

В полной модели сети встречного распространения есть возможность получать выходные сигналы по входным и наоборот. Этим двум действиям отвечают прямое и обратное распространения сигналов.

Области применения. Распознавание образов, восстановление образов (ассоциативная память), сжатие данных (с потерями).

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

Преимущества

  • Сеть встречного распространения проста. Она дает возможность получать статистические свойства из множества входных сигналов. Кохонен доказал, что для наученной сети вероятность того, что случайно выбранный входной вектор будет ближайшим к любому заданному весовому вектору, равняется 1/k, k - число нейронов Кохонена. 

  • Сеть быстро учится. Время обучения по сравнению с обратным распространением может быть в 100 раз меньше. 

  • По своим возможностям строить отображения сеть встречного распространения значительно превосходит однослойные перцептроны. 

  • Сеть полезна для приложений, где нужна быстрая начальная аппроксимация. 

  • Сеть дает возможность строить функцию и обратную к ней, что находит применение при решении практических задач.

Модификации. Сети встречного распространения могут различаться способами определения начальных значений синаптических весов.

  • Для повышения эффективности обучения применяется добавление шума ко входным векторам.

  • Еще один метод повышения эффективности обучения - предоставление каждому нейрону "чувства справедливости". Если нейрон становится победителем чаще, чем 1/k (k - число нейронов Кохонена), то ему временно увеличивают порог, давая тем самим учиться и другим нейронам.

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

Етапи програмування нейромережі. (створення). (15)

Сбор данных для обучения;

Подготовка и нормализация данных;

Выбор топологии сети;

Экспериментальный подбор характеристик сети;

Экспериментальный подбор параметров обучения;

Собственно обучение;

Проверка адекватности обучения;

Корректировка параметров, окончательное обучение;

Вербализация сети с целью дальнейшего использования.

Следует рассмотреть подробнее некоторые из этих этапов.

Сбор данных для обучения

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

Репрезентативность — данные должны иллюстрировать истинное положение вещей в предметной области;

Непротиворечивость — противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети.

Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимости от типа обучения (с учителем или без), по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не даёт качественных результатов. Существует ряд способов улучшить «восприятие» сети.

Нормировка выполняется, когда на различные входы подаются данные разной размерности. Например, на первый вход сети подаются величины со значениями от нуля до единицы, а на второй — от ста до тысячи. При отсутствии нормировки значения на втором входе будут всегда оказывать существенно большее влияние на выход сети, чем значения на первом входе. При нормировке размерности всех входных и выходных данных сводятся воедино;

Квантование выполняется над непрерывными величинами, для которых выделяется конечный набор дискретных значений. Например, квантование используют для задания частот звуковых сигналов при распознавании речи;

Фильтрация выполняется для «зашумленных» данных.

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

Выбор топологии сети

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

Экспериментальный подбор характеристик сети

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

Экспериментальный подбор параметров обучения

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

Собственно обучение сети

В процессе обучения сеть в определенном порядке просматривает обучающую выборку. Порядок просмотра может быть последовательным, случайным и т. д. Некоторые сети, обучающиеся без учителя, например, сети Хопфилда просматривают выборку только один раз. Другие, например, сети Кохонена, а также сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части — собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение. Если ошибка на обучающих данных продолжает уменьшаться, а ошибка на тестовых данных увеличивается, значит, сеть перестала выполнять обобщение и просто «запоминает» обучающие данные. Это явление называется переобучением сети или оверфиттингом. В таких случаях обучение обычно прекращают. В процессе обучения могут проявиться другие проблемы, такие как паралич или попадание сети в локальный минимум поверхности ошибок. Невозможно заранее предсказать проявление той или иной проблемы, равно как и дать однозначные рекомендации к их разрешению.

Проверка адекватности обучения

Даже в случае успешного, на первый взгляд, обучения сеть не всегда обучается именно тому, чего от неё хотел создатель. Известен случай, когда сеть обучалась распознаванию изображений танков по фотографиям, однако позднее выяснилось, что все танки были сфотографированы на одном и том же фоне. В результате сеть «научилась» распознавать этот тип ландшафта, вместо того, чтобы «научиться» распознавать танки[14]. Таким образом, сеть «понимает» не то, что от неё требовалось, а то, что проще всего обобщить

Навчання з учителем.(нейромережі) (16)

Один з видів навчання штучних нейромереж:

Навчання з вчителем. Навчання з вчителем припускає, що для кожного вхідного вектора X існує цільовий вектор YT, що є необхідним виходом. Разом вони називаються навчальною парою. Звичайно мережа навчається для деякої кількості таких навчальних пар (навчальної множини). В ході навчання зчитується вхідний вектор X, обчислюється вихід мережі Y і порівнюється з відповідним цільовим вектором YT, різниця D ~ YT – Y за допомогою зворотного зв'язку подається в мережу і змінюються ваги W відповідно до алгоритму, прагнучого мінімізувати помилку ε. Зчитування векторів навчальної множини і налагодження ваг виконується до тих пір, поки сумарна помилка для всієї навчальної множини не досягне заданого низького рівня.

Вимоги до навчальної вибірки. (17)

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

Для решения некоторых задач распознавания образов данные, если это возможно, следует представить в инвариантном виде.

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

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

Використання нейронної мережі.(18)

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