Нейронні мережі в системах керування динамічними об'єктами
Вимоги до програмного виробу та функціональних характеристик. Опис інтерфейсу програмного виробу, процедур і функцій. Мережі зі зворотним розповсюдженням. Алгоритм навчання з вчителем (алгоритм зворотного розповсюдження багатошарових нейронних мереж).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 20.01.2009 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Нейронні мережі в системах керування динамічними об'єктами
Технічне завдання
Харків
2005Технічне завдання
Зміст
Вступ
1. Підстава для розробки.
2. Призначення розробки.
3. Вимоги до програмного виробу.
3.1 Вимоги до функціональних характеристик.
3.2 Вимоги до надійності.
3.3 Умови експлуатації.
3.4 Вимоги до маркування і пакування.
3.5 Вимоги до транспортування і збереження.
Вимоги до складу і параметрів технічних засобів.
Вимоги до програмної документації.
Стадії і етапи розробки.
Порядок контролю і приймання.
Вступ
Головна мета даного курсового проекту провести огляд проблеми нейронних мереж, основних напрямків розвитку нейрокібернетики і областей використання нейронних мереж особливо для керування динамічними системами. Програмний виріб є демонстрацією можливостей нейронних мереж і методики їх побудови. Це програма, що реалізує нейронну мережу Хебба, що навчається користувачем поданням ряду символьних зображень на її вхід. Після завершення навчання програма виконує розпізнавання символів відповідно до набору зображень, що вона вивчила. Даний програмний виріб орієнтований на комп'ютери серії ІBM PS сумісних ПЭВМ із операційною системою Windows 95, 98, Me, XP, NT.
1. Підстава для розробки:
Підставою для розробки є завдання на курсове проектування.
2. Призначення розробки:
Метою розробки є огляд напрямків науки нейрокібернетики, що займається проблемою розробки і використання нейронних мереж для систем керування динамічними процесами. А також написання демонстраційної програми, що програмно реалізує мережу Хебба для розпізнавання символів.
3. Вимоги до програмного виробу:
3.1. Вимоги до функціональних характеристик:
3.1.1. Програмний виріб повинен реалізувати нейронну мережу Хебба.
3.1.2. Програмний виріб повинен реалізувати зручний інтерфейс навчання нейронної мережі і процесу розпізнавання символів.
3.1.3. Має бути реалізована візуалізація процес навчання і розрахунку важелів зв'язків нейронів.
3.1.4. Має бути реалізована можливість збереження і завантаження результатів навчання нейронної мережі.
3.2. Вимоги до надійності:
Програмний виріб повинний стійко функціонувати в апаратному і програмному середовищі, обговореному в п.4
3.3. Умови експлуатації:
Умови експлуатації програмного виробу цілком визначаються умовами експлуатації застосованих технічних засобів і носіїв даних.
3.4. Вимоги до маркування і пакування :
Вимоги до маркування і пакування не висуваються.
3.5. Вимоги до транспортування і збереження :
Вимоги до транспортування і збереження не висуваються.
4. Вимоги до складу і параметрів технічних засобів:
Для функціонування програмного виробу необхідна ІBM AT/XT і PS/2 чи сумісна з нею, з наступними мінімальними системними характеристиками:
- OS Windows 95
- Pentium I 100 MHz
- 16 Mb RAM
- відеоадаптер будь-якого класу;
- комп'ютерна миша;
- клавіатура.
5. Вимоги до програмної документації:
- Пояснювальна записка;
- Опис програми;
- Текст програми;
Стадії і етапи розробки.
Розробка програми повинна вестись за наступним планом :
одержання завдання;
огляд літератури і вирішення поставлених задач, обгрунтування необхідності розробки;
розробка структури вхідних і вихідних даних, уточнення методів рішення завдання;
опис і розробка алгоритму рішення завдання;
розробка структури програми та остаточне визначення конфігурації технічних засобів;
розробка програми, іспити і налагодження;
розробка програмної документації.
Порядок контролю і приймання.
При прийманні програмного виробу перевіряється :
комплектність, зміст і оформлення програмної документації;
відповідність програмного виробу програмним характеристикам;
відповідність програмного виробу обговореному програмному та апаратному середовищу;
надійність функцінування.
Опис програми
Зміст
Опис інтерфейсу програмного виробу
Опис змінних
Опис процедур і функцій
Список літератури
Опис інтерфейсу програмного виробу
Програмний виріб - це програма, розроблена в середі програмування Delphi, і є програмною моделлю нейронної мережі Хебба. Даний виріб дозволяє проводити розпізнання вхідного сигналу відповідно до чотирьох навчальних, а також відслідковувати процес навчання і функціонування нейронної мережі.
Запуск програми відбувається із натисканням на відповідному виконуваному файлі (.exe), після чого користувач може спостерігати вікно програми, зображене на рисунку 1.
Рис. 1 Вигляд вікна програми на початку роботи
В лівій частині вікна ми можемо спостерігати п'ять полів, розбитих на 10Ч10 комірок - це нейрони, поля, куди заносяться користувачем, шляхом натискання курсором миші, навчальні зображення (верхні чотири поля) і сигнал, що розпізнається (п'яте окреме поле). Кожне поле супроводжується кнопкою "Clean", що дозволяє швидко очистити поле, якщо введено невірне зображення.
В правій частині вікна програми знаходиться інформаційне поле (Рис. 1), куди виводиться текстова інформація, щодо ініціалізації важелів зв'язків нейронів, стану нейронної мережі і результатів розпізнання. Це поле дозволяє з середини спостерігати за нейронною мережею.
Під інформаційним вікном знаходиться п'ять кнопок: "Save", "Load", "Teaching", "Find" і "Exit". При запуску програми кнопки "Save" і "Find" не активні.
На початку роботи користувач може задати навчальні зображення (Рис. 2), або скористатися кнопкою "Load", про яку розмова піде пізніше. Коли навчальні зображення задані, користувач має навчити нейронну мережу шляхом натискання на кнопку "Teaching", після чого мережа навчається і готова до розпізнання вхідних зображень. В інформаційному полі можна спостерігати стан нейронної мережі. Кнопки "Save" і "Find" активізувались (Рис. 2).
Рис. 2 Навчання нейронної мережі
Після навчання нейронної мережі користувач може задати вхідний сигнал в лівому нижньому полі і натиснути кнопку "Find". Нейронна мережа подасть вхідне зображення на кожний нейрон і ідентифікує вхідний сигнал відповідно до навчальних зображень, виділивши відповідну назву червоним кольором і повідомивши про це в інформаційному полі (Рис. 3).
Рис. 3 Пошук відповідності вхідного сигналу еталонному
Слід зазначити, що процес вводу одних і тих же навчальних зображень при кожній роботі з нейронною мережею можна не виконувати. Для цього після навчання мережі треба зберегти її поточний стан і навчальні зображення у файлі шляхом натискання кнопки "Save" (Рис. 4).
Рис. 4 Збереження поточного стану нейронної мережі
Збережені дані (навчальні зображення і стан нейронної мережі) можуть бути відновлені із файлу шляхом натискання на кнопку "Load" (Рис. 5).
Рис. 5 Відновлення стану нейронної мережі із файлу
Програма повідомляє про щасливе завершення операції або помилку, якщо інформаційний файл відсутній чи неможливе його відкриття або збереження на диску.
Ці можливості і кнопки "Clean" (Рис. 6) значно полегшують роботу із програмою і є дуже зручними.
Рис. 6 Використання кнопок "Clean" для очищення полів нейронів
Завершення роботи програми виконується при натисканні на кнопку "Exit", або хрестик в верхньому правому куті вікна. Слід зберегти стан нейронної мережі і навчальні зображення якщо ви бажаєте повернутися до них пізніше, оскільки в іншому випадку всі напрацювання будуть втрачені.
Опис змінних.
Змінна |
Тип |
Призначення |
|
Form1 |
TForm1 |
Змінна, що ідентифікує головну форму. Слугує для звернення до елементів форми |
|
M |
array [0..4] of one_element; one_element = array [0..str*stol + 4] of integer |
Масив, що описує матриці важелів зв'язків нейронів, а також реакцію кожного нейрона на зображення |
|
W |
W_type; W_type = array [0.3, 0..str*stol] of integer |
Масив, що описує навчальні зображення, які подаються на вхід нейронної мережі |
|
S |
S: S_type; S_type = array [0..3] of integer |
Масив результуючих сум реакції нейронів мережі на подане зображення |
|
f |
f: file of W_type; W_type = array [0..3, str*stol] of integer |
Змінна, що ідентифікує файл, який складається із записів типу W_type. Необхідна для роботи із файлом для збереження і завантаження стану нейронної мережі |
Вибір константних даних
yes = 'y';
no = 'n';
Слуговують для ідентифікації станів активності і неактивності комірок елементів TStringGrig, що описують нейрони.
str = 10;
stal = 10;
Задають розміри, точніше - кількість комірок одного нейрона, його роздільну здатність.
Опис процедур і функцій.
procedure BitBtn1Click (Sender: TObject);
Обробляє натискання на кнопку "Teaching". Виконує навчання нейронної мережі за поданими навчальними зображеннями доки мережа не почне реагувати на вхідні зображення вірно.
procedure BitBtn2Click (Sender: TObject);
Обробляє натискання на кнопку "Find". Реалізує пошук (ідентифікацію) відповідності поданого зображення із зображеннями які вивчила нейронна мережа шляхом послідовного подання зображення на нейрони мережі і порівняння реакції на нього.
procedure BitBtn5Click (Sender: TObject);
Обробляє натискання на кнопку "Save". Виконує збереження у файлі поточного стану мережі і навчальних зображень у спеціальному файлі.
procedure BitBtn4Click (Sender: TObject);
Обробляє натискання на кнопку "Load". Реалізує завантаження із спеціального файлу, збережені в ньому раніше важелі зв'язків нейронів нейронної мережі і навчальні зображення.
Інші методи є допоміжними і слугують для малювання форми або для забезпечення інтерфейсу і спеціальних дій і викликаються із основних функцій, що описані вгорі.
Список літератури
1. Баас Р., Фервай М., Гюнтер Х. Delphi 7: полное руководство. - К.: Издательская группа BHV, 2004. - 800 с.
2. Барский А.Б. Нейронные сети: распознавание, управление, принятие решений. - М.: Финансы и статистика, 2004. - 248 с.
3. Браславский И.Я., Зюзев А.М., Ишматов З.Ш., Аверьянов М.А., Барац Е.И., Костылев А.В. Синтез нейронного наблюдателя для асинхронного привода с прямым управлением моментом // Электротехника. - 2001. - № 12. - С. 31 - 34.
4. Кей А. Искусственные нейронные сети // Computerworld. - 2001. - № 9. - С. 34 - 38.
5. Клепиков В.Б., Сергеев С.А., Махотило К.В., Обруч И.В. Применение методов нейронных сетей и генетических алгоритмов в решении задач управления электроприводами. - М.: Электротехника, 1999. - № 5. -
С. 2 - 6.
6. Клепиков В.Б., Сергеев С.А., Махотило К.В., Обруч И.В. Применение методов нейронных сетей и генетических алгоритмов в решении задач управления электроприводами // Электротехника. - 1999. - № 5. - С. 2 - 6.
7. Комашинский В.И. Нейронные сети и их применение в системах управления и святи. - М.: "Горячая линия - Телеком", 2003. - 96 с.
8. Методические указания к лабораторной работе "Нейронная сеть Хебба". - Харьков: НТУ "ХПИ", 2002. - 12 с.
9. Назаров А., Лоскутов А. Нейросетевые алгоритмы прогнозирования и оптимизации систем. - С-Пб.: Наука и Техника, 2003. - 492 с.
10. Перехов В.М. Современные способы управления и их применение в электроприводе // Электротехника. - 2000. - № 2. - С. 25 - 28.
11. Терехов В.А., Ефимов Д.В., Тюкин И.Ю., Антонов В.Н. Нейросетевые системы управления. - С-Пб: Издательство С.-Петербургского университета, 1999. - 265 с.
12. Уоссермен Ф. Нейрокомпьютерная техника. - М.: Мир, 1997. - 430 с.
13. Щетинин В.Г. Многослойная самоорганизация нейронных сетей оптимальной сложности // Автоматика и вычислительная техника. - Рига, 1998. - j4. - С. 30 - 37.
14. Handschin E., Kehlmann D., Hoffman W. Fault diagnosis in electrical energy systems using devic-specific artificial neural networks // Eng. Intell. Syst. Electr. Eng. Commun. - 1994. - Vol. 2, №. 4. - P. 255 - 262.
15. Hsieh K.-R., Chen W.-T. A Neural Network Model which Combines Unsupervised and Supervised Learning // IEEE Trans. on Neural Networks. - 1993. - Vol. 4, №. 2. - P. 35 - 39.
16. Mielczarska G.M., Mielczarski W. Применение нейронных сетей для оценки динамического состояния синхронных генераторов // Dynamic state estimation of a synchronous generator using neural-networks techniques. - № 92/15. - Inst. Eng., Austral. - 1992. - Р. 21 - 28.
17. Sankar K. Mitra S. Multilayer Perceptron, Fuzzy Sets and Classification // IEEE Transactions on Neural Networks. - Vol. 3, №5. - 1992. - Р. 683 - 696.
18. Srinivasan D. A novel approach to electrical load Forecasting based on a neural network // INNC-91. - 1991. - Р. 1172 - 1177.
19. Trzynadlowski A.M. Application of neural networks to the optimal control of Three-phase Voltage-Controlled Inverters // IEEE Trans. on Power Electronics. - 1994. - Vol. 9, №4. - Р. 34 - 38.
20. Trzynadlowski A.M., Legowski S. Application of neural networks to the optimal control of three-phase voltage-controlled inverters // IEEE Trans. Power Electron. - 1999. - Vol. 9, №.4. - P. 397 - 404.
21. Vaubois G. de La C., Moulinoux С., Derot B. The N Programming Language // Neurocomputing. - Vol. F68. - P. 89 - 92.
22. Widrow B., Lehr M.A. 30 Years of Adaptive Neural Networks: Perception, Madeline, and Back propagation // IEEE Computer Society. - 1992. -
Р. 327 - 354.
Пояснювальна записка
зміст
1. Нейронні мережі - основні поняття і визначення
2. Історія еволюції нейронних мереж. Їх основні моделі
2.1. Модель Маккалоха
2.2. Модель Розенблата
2.3. Модель Хопфілда
2.4. Мережі зі зворотним розповсюдженням
3. Основні алгоритми навчання і функціонування нейронних мереж
3.1. Алгоритм навчання з вчителем (алгоритм зворотного розповсюдження багатошарових нейронних мереж)
3.2. Алгоритм навчання без вчителя (алгоритм прямого розповсюдження нейронних мереж)
3.3. Алгоритми функціонування мереж Хопфілда і Хемінга
4. Мережа Хебба. Алгоритм Хебба навчання нейронних мереж
5. Області вживання і задачі розв'язувані за допомогою нейронних мереж
6. Сучасні проекти і вироби, засновані на нейронних мережах
1. Нейронні мережі - основні поняття і визначення
В останні десятиліття у світі бурхливо розвивається нова прикладна галузь математики, що спеціалізується на штучних нейронних мережах (НМ). Актуальність досліджень у цьому напрямку підтверджується масою різних застосувань НМ. Це автоматизація процесів розпізнавання образів, адаптивне керування, апроксимація функціоналів, прогнозування, створення експертних систем, організація асоціативної пам'яті і багато інших додатків. За допомогою НМ можна, наприклад, пророкувати показники біржового ринку, виконувати розпізнавання оптичних або звукових сигналів, створювати системи, що самонавчаються, здатні керувати автомашиною при паркуванні або синтезувати мову за текстом.
Широке коло задач, розв'язувані НМ, не дозволяє в даний час створювати універсальні, могутні мережі, змушуючи розробляти спеціалізовані НМ, що функціонують за різними алгоритмами. Самі ж моделі НМ можуть бути програмного й апаратного виконання.
Незважаючи на істотні розходження, окремі типи НМ володіють декількома загальними рисами. Так в основу штучних нейронних мереж покладені наступні риси живих нейронних мереж:
– простий обробний елемент - нейрон;
– дуже велике число нейронів бере участь в обробці інформації;
– один нейрон зв'язаний з великим числом інших нейронів (глобальні зв'язки);
– що змінюються по вазі зв'язку між нейронами;
– масована паралельність обробки інформації.
Прототипом для створення нейрона послужив біологічний нейрон головного мозку. Біологічний нейрон має тіло, сукупність відростків - дендридів (синапсів), по яких у нейрон надходять вхідні сигнали, і відросток - аксон, що передає вихідний сигнал нейрона іншим клітинам. Біологічна модель штучного нейрона приведена на рис. 1:
Рис. 1 Штучний нейрон
Спрощене функціонування нейрона можна представити в такий спосіб:
1) Нейрон одержує від дендридів набір (вектор) вхідних сигналів;
2) У тілі нейрона оцінюється сумарне значення вхідних сигналів. Однак входи нейрона нерівнозначні. Кожен вхід характеризується деяким ваговим коефіцієнтом, що визначає важливість інформації, що надходить по ньому. Таким чином, нейрон не просто підсумовує значення вхідних сигналів, а обчислює скалярний добуток вектора вхідних сигналів і вектора вагових коефіцієнтів;
3) Нейрон формує вихідний сигнал, інтенсивність якого залежить від значення обчисленого скалярного добутку. Якщо - воно не перевищує деякого заданого порогу, то вихідний сигнал не формується зовсім - нейрон "не спрацьовує";
4) Вихідний сигнал надходить на аксон і передається дендридам інших нейронів.
У такий спосіб поточний стан нейрона визначається, як зважена сума його входів плюс сигнал зсуву (зазвичай це 1), помножений на його коефіцієнт:
(1.1)
де S - сумарний вхідний сигнал; wi () - вагові коефіцієнти зв'язків вхідних сигналів х1, …, хп; w0 - ваговий коефіцієнт зв'язку сигналу зсуву.
А вихід нейрона є функція його стану:
y = f(s) (1.2)
Виходячи з цього, біологічне представлення нейрону замінюють моделлю процесорного елемента наступного виду:
Нелінійна функція f називається активаційною і може мати різний вигляд. Найбільш розповсюдженими функціями активації є бінарна
(1.3)
або біполярна
(1.4)
Багато авторів при описанні моделі нейрона використовують не сигнал зсуву, а поріг нейрона, що приводить до еквівалентної моделі елемента. У цьому випадку вираження (1.3) і (1.4) приймають відповідно вигляд:
(1.5)
(1.6)
де
(1.7)
Графічне зображення бінарної і біполярної функцій активації для цього випадку представлене на рис. 3а і 3b.
Зі зіставлення виразів (1.1)-(1.3) і (1.4)-(1.6) випливає, що кожному значенню порогу нейрона може бути поставлений у відповідність ваговий коефіцієнт w0 зв'язку сигналу зсуву і навпаки.
Рідше використовуються лінійні бінарні або біполярні функції активації (рис. 3с и 3d):
(1.8)
де а дорівнює нулю для бінарних вихідних сигналів нейронів і а дорівнює мінус одиниці для біполярних сигналів; k, a0 постійні коефіцієнти.
Також широко використовуються бінарна сигмоидальная або логічна сигмоидальная функція (рис. 3e):
, (1.9)
де ф - постійний коефіцієнт;
і біполярна сигмоїдальна (рис. 3f):
, (1.10)
При зменшенні сигмоїд стає більш положистим, і в межі при =0 вироджується в горизонтальну лінію на рівні 0.5, а при збільшенні сигмоїд наближається, за зовнішнім виглядом, до функції одиничного стрибка з порогом у крапці x=0. Зручність сигмоїдальної функції в тому, що вона диференціюється на всій осі абсцис, що використовується в деяких алгоритмах навчання. Крім того, вона має властивість підсилювати слабкі сигнали краще, ніж сильні, і запобігає насичення від великих сигналів, тому що вони відповідають областям аргументів, де сигмоїд має положистий нахил.
У нейронних мережах також використовуються й інші функції:
радіально-симетрична (рис. 3g):
, (1.11)
К-значна бінарна (рис. 3h):
(1.12)
К-значна біполярна (рис. 3i):
(1.13)
Нейронні мережі відрізняються не тільки активаційною функцією їхніх нейронів, вони бувають одно- і багатошарової структури, відрізняються за засобом навчання. Так навчання НМ може вестися з вчителем або без нього. У першому випадку мережі пред'являються значення як вхідних, так і бажаних вихідних сигналів, і вона по деякому внутрішньому алгоритмі підбудовує ваги своїх синаптичних зв'язків. В другому випадку виходи НМ формуються самостійно, а ваги змінюються по алгоритму, що враховує тільки вхідні і похідні від них сигнали.
Крім того різні алгоритми навчання, поділяються на два великих класи: детерміністські і стохастичні. У першому з них підстроювання ваг являє собою тверду послідовність дій, у другому - вона виробляється на основі дій, що підкорюються деякому випадковому процесові.
Розвиваючи далі питання про можливу класифікацію НМ, важливо відзначити існування бінарних і аналогових мереж. Перші з них оперують із двійковими сигналами, вихід кожного нейрона може приймати тільки два значення: логічний нуль ("загальмований" стан) і логічна одиниця ("збуджений" стан). В аналогових мережах вихідні значення нейронів здатні приймати безперервні значення.
Ще одна класифікація поділяє НМ на синхронні й асинхронні. У першому випадку у кожен момент часу свій стан змінює лише один нейрон. В другому - стан змінюється відразу в цілій групі нейронів, як правило, усього шару. Алгоритмічно хід часу в НМ задається ітераційним виконанням однотипних дій над нейронами.
Вибір типу НМ, методу навчання, її структури здійснюється відповідно до особливостей і складності задачі. Для вирішення деяких окремих типів задач вже існують оптимальні, на сьогоднішній день, конфігурації. Якщо ж задача не може бути зведена до жодного з відомих типів, розробник змушений вирішувати складну проблему синтезу нової конфігурації. При цьому він керується декількома основними принципами: можливості мережі зростають зі збільшенням числа осередків мережі, щільності зв'язків між ними і числом виділених шарів; введення зворотних зв'язків поряд зі збільшенням можливостей мережі піднімає питання про динамічну стійкість мережі; складність алгоритмів функціонування мережі (у тому числі, наприклад, введення декількох типів синапсів - збудливих, гальмуючих та ін.) також сприяє посиленню потужності НМ. Питання про необхідні і достатні властивості мережі для вирішення того або іншого роду задач являє собою цілий напрямок нейрокомп'ютерної науки. Так як проблема синтезу НМ сильно залежить від розв'язуваної задачі, дати загальні докладні рекомендації важко. У більшості випадків оптимальний варіант виходить на основі інтуїтивного підбору відповідно до потужності і можливостей обчислювальної машини або мікросхеми на якій виконується НМ.
2. Історія еволюції нейронних мереж. Їх основні моделі
2.1. Модель Маккалоха
Теоретичні основи нейроматематики були закладені на початку 40-х років. У 1943 році У. Маккалох та його учень У. Питтс сформулювали основні положення теорії діяльності головного мозку. Ними були отримані наступні результати:
- розроблена модель нейрона як найпростішого процесорного елементу, що виконує обчислення перехідної функції від скалярного добутку вектора вхідних сигналів і вектора вагових коефіцієнтів;
- запропонована конструкція мережі таких елементів для виконання логічних і арифметичних операцій;
- зроблено основне припущення про те, що така мережа здатна навчатися, розпізнавати образи, узагальнювати отриману інформацію.
Незважаючи на те, що за минулі роки нейроматематика пішла далеко вперед, багато тверджень Макклоха залишаються актуальними і зараз. Зокрема, при великій розмаїтості моделей нейронів принцип їхньої дії, закладений Макклохом і Питтсом, залишається незмінним.
Недоліком даної моделі є сама модель нейрона "пороговим" видом перехідної функції. У формалізмі У. Маккалоха і У. Питтса нейрони мають стани 0, 1 та граничну логіку переходу зі стану в стан. Кожен нейрон у мережі визначає зважену суму станів всіх інших нейронів і порівнює її з порогом, щоб визначити свій власний стан. Пороговий вид функції не надає нейронній мережі достатньої гнучкості при навчанні і настроюванні на поставлене завдання. Якщо значення обчисленого скалярного добутку, навіть незначно, не досягає до заданого порогу, то вихідний сигнал не формується зовсім і нейрон "не спрацьовує". Це значить, що губиться інтенсивність вихідного сигналу (аксона) даного нейрона і, отже, формується невисоке значення рівня на зважених входах у наступному шарі нейронів.
2.2. Модель Розенблата
Значний розвиток нейрокибернетика одержала в роботах американського нейрофізіолога Френсиса Розенблата (Корнельский університет). У 1958 році він запропонував свою модель нейронної мережі. Розенблат ввів у модель Маккаллока і Питтса здатність зв'язків до модифікації, що зробило її навчальною. Ця модель була названа персептроном. Спочатку персептрон являв собою одношарову структуру з твердою пороговою функцією процесорного елемента і бінарними або багатозначними входами. Перші персептрони були здатні розпізнавати деякі літери латинського алфавіту. Згодом модель персептрона була значно вдосконалена.
Персептрон застосовувався для задачі автоматичної класифікації, що у загальному випадку полягає в поділі простору ознак між заданою кількістю класів. У двомірному випадку потрібно провести лінію на площині, що відокремлює одну область від іншої. Персептрон здатний поділяти простір тільки прямими лініями (площинами).
Алгоритм навчання персептрона виглядає наступним чином:
1) системі пред'являється еталонний образ;
2) якщо виходи системи спрацьовують правильно, вагові коефіцієнти зв'язків не змінюються;
3) якщо виходи спрацьовують неправильно, ваговим коефіцієнтам дається невелике збільшення убік підвищення якості розпізнавання.
Серйозним недоліком персептрона є те, що не завжди існує така комбінація вагових коефіцієнтів, при якій наявна безліч образів буде розпізнаватися даним персептроном. Причина цього недоліку полягає в тому, що лише невелика кількість задач припускає, що лінія, що розділяє еталони, буде прямою. Звичайно це досить складна крива, замкнута або розімкнута. Якщо врахувати, що одношаровий персептрон реалізує тільки лінійну поділяючу поверхню, застосування його там, де потрібно нелінійна, приводить до невірного розпізнавання (ця проблема називається лінійної нероздільністю простору ознак). Виходом з цього положення є використання багатошарового персептрона, здатного будувати ламаний кордон між розпізнаваними образами.
Описана проблема не є єдиними труднощами, що виникають при роботі з персептронами - також слабко формалізований метод навчання персептрона. Персептрон поставив ряд питань, робота над вирішенням яких призвела до створення більш "розумних" нейронних мереж і розробці методів, що знайшли застосування не тільки в нейрокибернетиці (наприклад, метод групового обліку аргументів, застосовуваний для ідентифікації математичних моделей).
2.3. Модель Хопфілда
У 70-і роки зацікавленість до нейронними мережами значно зменшала, однак роботи з їхнього дослідження продовжувалися. Був запропонований ряд цікавих розробок, таких, наприклад, як когнитрон, здатний добре розпізнавати досить складні образи (ієрогліфи і т.п.) незалежно від повороту і зміни масштабу зображення. Автором когнитрона є японський вчений И. Фукушима.
Новий виток швидкого розвитку моделей нейронних мереж, що почався 8-9 років тому , пов'язаний з роботами Амари, Андерсона, Карпентера, Кохена та інших, і, особливо, Хопфилда, а також під впливом багатообіцяючих успіхів оптичних технологій і зрілої фази розвитку СБІС для реалізації нових архітектур.
Початок сучасному математичному моделюванню нейронних обчислень було покладено роботами Хопфилда в 1982 році, у яких була сформульована математична модель асоціативної пам'яті на нейронній мережі з використанням правила Хеббиана для програмування мережі. Але не стільки сама модель стала поштовхом до появи робіт інших авторів на цю тему, скільки введена Хопфилдом функція обчислення енергії нейронної мережі. Це аналог функції Ляпунова в динамічних системах. Показано, що для одношарової нейронної мережі зі зв'язками типу "усі на всіх" характерна збіжність до однієї з кінцевої безлічі рівноважних крапок, що є локальними мінімумами функції енергії, що містить у собі усю структуру взаємозв'язків у мережі. Розуміння такої динаміки в нейронній мережі було й в інших дослідників. Однак, Хопфилд і Тэнк показали як конструювати функцію енергії для конкретної оптимізаційної задачі і як використовувати її для відображення задачі у нейронну мережу. Цей підхід одержав розвиток і для вирішення інших комбінаторних оптимізаційних задач. Привабливість підходу Хопфилда полягає в тому, що нейронна мережа для конкретної задачі може бути запрограмована без навчальних ітерацій. Ваги зв'язків обчислюються на підставі виду функції енергії, сконструйованої для цієї задачі.
Розвитком моделі Хопфилда для вирішення комбінаторних оптимізаційних задач і задач штучного інтелекту є машина Больцмана, запропонована і досліджена Джефери Е. Хинтоном і Р. Земелом. У ній, як і в інших моделях, нейрон має стани 1, 0 і зв'язок між нейронами має вагу. Кожен стан мережі характеризується визначеним значенням функції консенсусу (аналог функції енергії). Максимум функції консенсусу відповідає оптимальному вирішенню задачі. Є наступна інформація про результати моделювання на ЕОМ роботи нейронної мережі. Моделювалася асинхронна робота мережі Хопфилда. Мережа працює добре, тобто без помилок відновлює еталонні образи з випадкових, якщо в неї записується не більш 15 % еталонних образів. Іспити проводилися для 30 нейронів і для 100 нейронів у мережі. Бралася деяка кількість випадкових векторів у якості еталонних і будувалася відповідна матриця ваг зв'язків. Моделювання при 100 нейронах було істотно більш повільним процесом, ніж при 30 нейронах, хоча якісна картина і у тому і в іншому випадках була та сама. Приблизно 88 % іспитів закінчувалися в еталонних станах, 10 % - у стійких станах, близьких до еталонного. При відстані ? 5 між початковим і еталонним векторами, еталонний стан досягався в 90 % випадків. Зі збільшенням відстані, імовірність влучення в найбільш близький еталонний стан гладко спадала. При відстані 12 імовірність дорівнювала 0.2. Стійкі стани, занадто близькі друг до друга, мають тенденцію "зливатися", вони попадають в одну западину на енергетичній поверхні. Програмувалася задача комівояжера на основі мережі Хопфилда. Мережею зі 100 нейронів для 20 різних випадкових початкових станів були визначені маршрути, 16 з яких були прийнятними, 50 % спроб дали 2 шляхи 2.83 і 2.71 (цифри приводяться, щоб показати як вони близькі) при найкоротшому 2.67. Це результати моделювання роботи мережі з безперервною моделлю нейрона. Моделювалася також задача комівояжера, але для мережі типу машина Больцмана, проводилася при наступних значеннях керуючих параметрів: A = 0.95, L = 10, M = 100 (A - позитивне число менше одиниці, але близьке до неї, L - число іспитів, що проводяться без змін, M - число послідовних іспитів, що не приводять до зміни стану машини, як критерію завершення процесу). Процес запускався 100 разів для n = 10 (усього в мережі N = n^2 нейронів) і 25 разів для n = 30 при різних нормальних станах машини Больцмана. Для n = 10 вийшов оптимальний результат, для n = 30 - вирішення на 14 % гірше оптимального. Відзначимо, що імовірний механізм функціонування машини Больцмана дає можливість одержати на ній трохи кращі результати оптимізації, чим на моделі Хопфилда.
2.4. Мережі зі зворотним розповсюдженням
З розвитком теорії нейронних мереж вони стають усе більше і здобувають переважно багатошарову структуру. Одним із розповсюджених способів навчання цих мереж став спосіб зворотного поширення (back propogatіon). У таких НМ зв'язок між собою мають тільки сусідні шари, при цьому кожен нейрон попереднього шару зв'язаний із усіма нейронами наступного шару. Нейрони звичайно мають сигмоїдальну функцію активації. Перший шар нейронів називається вхідним і містить число нейронів відповідне розпізнаному образові. Останній шар нейронів називається вихідним і містить стільки нейронів, скільки класів образів розпізнається. Між вхідним і вихідним шарами розташовується один або більше схованих (тіньових) шарів. Визначення числа схованих шарів і числа нейронів у кожнім шарі для конкретної задачі є неформальною задачею.
Принцип навчання такої нейронної мережі базується на обчисленні відхилень значень сигналів на вихідних процесорних елементах від еталонних і зворотньому "прогоні" цих відхилень до їхніх елементів, що породили, з метою корекції помилки. Ще в 1974 році Поль Дж. Вербос винайшов значно більш ефективну процедуру для обчислення величини, що називається похідною помилки по вазі, коли працював над своєю докторською дисертацією в Гарвардському університеті. Процедура, відома тепер як алгоритм зворотного поширення, стала одним з найбільш важливих інструментів у навчанні нейронних мереж. Однак цьому алгоритмові властиві і недоліки, головний з яких - відсутність скільки-небудь прийнятних оцінок часу навчання. Розуміння, що мережа зрештою навчиться, мало втішає, якщо на це можуть піти роки. Проте, алгоритм зворотного поширення має найширше застосування. Наприклад, успіх фірми NEC у розпізнаванні букв, був досягнутий саме завдяки алгоритмові зворотного поширення.
3. Основні алгоритми навчання і функціонування нейронних мереж
3.1. Алгоритм навчання з вчителем (алгоритм зворотного розповсюдження багатошарових нейронних мереж)
Серед різних структур нейронних мереж (НМ) однієї з найбільш відомих є багатошарова структура, у якій кожен нейрон довільного шару зв'язаний із усіма аксонами нейронів попереднього шару або, у випадку першого шару, із усіма входами НМ. Такі НМ називаються повнозв'язними. Коли в мережі тільки один шар, алгоритм її навчання з вчителем досить очевидний, тому що правильні вихідні стани нейронів єдиного шару свідомо відомі, і підстроювання синаптичних зв'язків йдуть у напрямку, мінімізуючому помилку на виході мережі. На цьому принципі будується, наприклад, алгоритм навчання одношарового перцептрона. У багатошарових же мережах оптимальні вихідні значення нейронів усіх шарів, крім останнього, як правило, не відомі, і двох або більш шаровий перцептрон уже неможливо навчити, керуючись тільки величинами помилок на виходах НМ. Один з варіантів рішення цієї проблеми - розробка наборів вихідних сигналів, що відповідають вхідним, для кожного шару НМ, що, звичайно, є дуже трудомісткою операцією і не завжди здійсненно. Другий варіант - динамічне підстроювання вагових коефіцієнтів синапсів, у ході якої вибираються, як правило, найбільш слабкі зв'язки і змінюються на малу величину в ту або іншу сторону, а зберігаються тільки ті зміни, що спричинили зменшення помилки на виході всієї мережі. Очевидно, що даний метод "тику", незважаючи на свою удавану простоту, вимагає великих рутинних обчислень. І, нарешті, третій, більш прийнятний варіант - поширення сигналів помилки від виходів НМ до її входів, у напрямку, зворотньому прямому поширенню сигналів у звичайному режимі роботи. Цей алгоритм навчання НМ одержав назву процедури зворотного поширення. Саме він буде розглянутий надалі.
Відповідно до методу найменших квадратів, мінімізуючою цільовою функцією помилки НМ є величина:
, (3.1)
де - реальний вихідний стан нейрону j вихідного шару N нейронної мережі при подаванні на її входи p-го образу; djp - ідеальний (бажаний) вихідний стан цього нейрону.
Підсумовування ведеться по всіх нейронах вихідного шару і по всім оброблюваним мережею образам. Мінімізація ведеться методом градієнтного спуску, що означає підстроювання вагових коефіцієнтів у такий спосіб:
. (3.2)
Тут wij - ваговий коефіцієнт синаптичного зв'язку, який поєднує i-ий нейрон шару n-1 с j-им нейроном шару n, - коефіцієнт швидкості навчання, 0<<1.
Відомо що,
. (3.3)
Тут під yj, як і раніш, мається на увазі вихід нейрона j, а під sj - зважена сума його вхідних сигналів, тобто аргумент активаційної функції. Оскільки множник dyj/dsj є похідна цієї функції по її аргументу, з цього випливає, що похідна активаційної функції повинна бути визначена на всій осі абсцис. У зв'язку з цим функція одиничного стрибка та інші активаційні функції з неоднорідностями не підходять для розглянутих НМ. У них застосовуються такі гладкі функції, як гіперболічний тангенс або класичний сигмоїд з експонентою. У випадку гіперболічного тангенсу маємо:
. (3.4)
Третій множник sj/wij, очевидно, дорівнює виходу нейрона попереднього шару yi(n-1).
Що стосується першого множника в (3.3), він легко розкладається наступним чином :
. (3.5)
Тут підсумовування по k виконується серед нейронів шару n+1.
Запровадивши нову змінну
, (3.6)
ми отримаємо рекурсивну формулу для підрахунку величин j(n) шару n з величин k(n+1) більш старшого шару n+1:
. (3.7)
Для вихідного шару
. (3.8)
Тепер ми можемо записати формулу (3.2) у розкритому вигляді:
. (3.9)
Іноді для додання процесові корекції ваг деякої інерційності, що згладжує різкі стрибки при переміщенні по поверхні цільової функції, (3.9) доповнюється значенням зміни ваги на попередній ітерації
, (3.10)
де - коефіцієнт інерційності, t - номер поточної ітерації.
Таким чином, повний алгоритм навчання НМ за допомогою процедури зворотного розповсюдження будується так:
1. Подати на входи мережі один з можливих образів і в режимі звичайного функціонування НМ, коли сигнали поширюються від входів до виходів, розрахувати значення останніх. Нагадаємо, що
, (3.11)
де M - число нейронів у шарі n-1 з урахуванням нейрону з постійним вихідним станом +1, який задає зсув; yi(n-1)=xij(n) - i-ий вхід нейрону j шару n;
yj(n) = f(sj(n)), (3.12)
де f() - сигмоїд;
yq(0)=Iq, (3.13)
де Iq - q-а компонента вектору вхідного образу.
2. Обчислити (N) для вихідного шару по формулі (3.8). Обчислити по формулі (3.9) або (3.10) зміни вагів w(N) шару N.
3. Обчислити по формулам (3.7) і (3.9) (або (3.7) і (3.10)) відповідно (n) і w(n) для усіх інших шарів, n=N-1,...1.
4. Скорегувати усі ваги в НМ:
. (3.14)
5. Якщо помилка мережі значна, перейти до кроку 1. В протилежному випадку - кінець.
Мережі на кроці 1 поперемінно у випадковому порядку пред'являються всі тренувальні образи, щоб мережа, образно кажучи, не забувала одні в міру запам'ятовування інших. Алгоритм ілюструється на рис. 4.
З виразу (3.9) випливає, що коли вихідне значення yi(n-1) наближається до нуля, ефективність навчання помітно знижується. При двійкових вхідних векторах у середньому половина вагових коефіцієнтів не буде коректуватися, тому ділянку можливих значень виходів нейронів [0,1] бажано локалізувати в межі [-0.5,+0.5], що досягається простими модифікаціями логістичних функцій. Наприклад, сигмоїд з експонентою перетвориться до виду:
. (3.15)
Рис. 4. Діаграма сигналів у мережі при навчанні за алгоритмом зворотного поширення
Тепер торкнемося питання ємності НМ, тобто числа образів, пропонованих на її входи, що вона здатна навчитися розпізнавати. Для мереж з числом шарів більше двох, він залишається відкритим. Для НМ із двома шарами, тобто вихідним і одним схованим шаром, детерміністська ємність мережі Cd оцінюється так:
Nw/Ny<Cd<Nw/Nylog(Nw/Ny), (3.16)
де Nw - число ваг, що підбудовуються, Ny - число нейронів у вихідному шарі.
Слід зазначити, що даний вираз отриманий із урахуванням деяких обмежень. По-перше, число входів Nx і нейронів у схованому шарі Nh повинно задовольняти нерівності Nx+Nh>Ny. По-друге, Nw/Ny>1000. Однак вищенаведена оцінка виконувалася для мереж з активаційними функціями нейронів у вигляді порогу, а ємність мереж із гладкими активаційними функціями, наприклад - (3.15), зазвичай більше. Крім того, що фігурує в назві ємності, прикметник "детерміністський" означає, що отримана оцінка ємності підходить абсолютно для всіх можливих вхідних образів, що можуть бути представлені Nx входами. У дійсності розподіл вхідних образів, як правило, має деяку регулярність, що дозволяє НМ проводити узагальнення і, таким чином, збільшувати реальну ємність. Так як розподіл образів, у загальному випадку, заздалегідь не відомий, ми можемо говорити про таку ємність тільки приблизно, але зазвичай вона разів у два перевищує ємність детерміністську.
У продовження розмови про ємність НМ логічно торкнутися питання про необхідну потужність вихідного шару мережі, що виконує кінцеву класифікацію образів. Справа в тому, що для поділу безлічі вхідних образів, наприклад, по двох класах, досить всього одного виходу. При цьому кожен логічний рівень - "1" і "0" - буде позначати окремий клас. На двох виходах можна закодувати вже 4 класи і так далі. Однак результати роботи мережі, організованої таким чином, можна сказати - "під зав'язку", - не дуже надійні. Для підвищення вірогідності класифікації бажано увести надмірність шляхом виділення кожному класові одного нейрона у вихідному шарі або, що ще краще, декількох, кожен з яких навчається визначати належність образу до класу зі своїм ступенем вірогідності, наприклад: високим, середнім і низьким. Такі НМ дозволяють проводити класифікацію вхідних образів, об'єднаних у нечіткі (розмиті або пересічні) безлічі. Ця властивість наближає подібні НМ до умов реального життя.
Розглянута НМ має декілька "вузьких місць". По-перше, у процесі навчання може виникнути ситуація, коли великі позитивні або негативні значення вагових коефіцієнтів змістять робочу крапку на сигмоїдах багатьох нейронів в ділянку насичення. Малі величини похідної від логістичної функції призведуть у відповідність з (3.7) і (3.8) до зупинки навчання, що паралізує НМ. По-друге, застосування методу градієнтного спуску не гарантує, що буде знайдений глобальний, а не локальний мінімум цільової функції. Ця проблема зв'язана ще з однією, а саме - з вибором величини швидкості навчання. Доказ збіжності навчання в процесі зворотного поширення засновано на похідних, тобто збільшення ваг і, отже, швидкість навчання повинна бути нескінченно малою, однак у цьому випадку навчання буде відбуватися неприйнятно повільно. З іншого боку, занадто великі корекції ваг можуть призвести до постійної нестійкості процесу навчання. Тому в якості швидкості навчання зазвичай вибирається число менше 1, але не дуже маленьке, наприклад, 0.1, і воно, узагалі говорячи, може поступово зменшуватися в процесі навчання. Крім того, для виключення випадкових влучень у локальні мінімуми іноді, після того як значення вагових коефіцієнтів стабілізуються, швидкість навчання короткочасно сильно збільшують, щоб почати градієнтний спуск із нової крапки. Якщо повторення цієї процедури кілька разів приведе алгоритм у той самий стан НМ, можна більш-менш впевнено сказати, що знайдено глобальний максимум, а не якийсь інший. Проте даний метод є досить ефективним і широко застосовується.
Слід зазначити, що існує й інший метод виключення локальних мінімумів і, крім того, паралічу НМ, що полягає в застосуванні стохастичних НМ, про які йшла мова в попередніх главах.
У такий спосіб, розглянутий у даній главі, алгоритм навчання нейронної мережі за допомогою процедури зворотного поширення має на увазі наявність якоїсь зовнішньої ланки, що надає мережі крім вхідних так само і цільові вихідні образи. Алгоритми, що користуються подібною концепцією, називаються алгоритмами навчання з вчителем. Для їхнього успішного функціонування необхідна наявність експертів, що створюють на попередньому етапі для кожного вхідного образу еталонний вихідний.
3.2. Алгоритм навчання без вчителя (алгоритм прямого розповсюдження нейронних мереж)
Оскільки створення штучного інтелекту рухається по шляху копіювання природних прообразів, вчені не припиняють суперечку на тему, чи можна вважати алгоритми навчання з вчителем натуральними або ж вони є цілком штучними. Наприклад, навчання людського мозку, на перший погляд, відбувається без вчителя: на зорові, слухові, тактильні та інші рецептори надходить інформація ззовні, і усередині нервової системи відбувається якась самоорганізація. Однак, не можна заперечувати і того, що в житті людини не мало вчителів - і в буквальному, і в переносному значенні, - які координують зовнішні впливи. Разом з тим, чим би не закінчилася суперечка прихильників цих двох концепцій навчання, вони обидві мають право на існування.
Головна риса, що робить навчання без вчителя привабливим, - це його "самостійність". Процес навчання, як і у випадку навчання з вчителем, полягає в підстроюванні ваг синапсів. Деякі алгоритми, щоправда, змінюють і структуру мережі, тобто кількість нейронів і їхні взаємозв'язки, але такі перетворення краще назвати більш широким терміном - самоорганізацією. Очевидно, що підстроювання синапсів може проводитися тільки на підставі інформації, доступної в нейроні, тобто його стану і вже наявних вагових коефіцієнтів. Виходячи з цього розуміння і, що більш важливо, за аналогією з відомими принципами самоорганізації нервових клітин, побудовані алгоритми навчання Хебба.
Сигнальний метод навчання Хебба полягає в зміні ваг за наступним правилом:
, (3.17)
де yi(n-1) - вихідне значення нейрону i шару (n-1), yj(n) - вихідне значення нейрону j шару n; wij(t) і wij(t-1) - ваговий коефіцієнт синапсу, який поєднує ці нейрони, на ітераціях t и t_1 відповідно; - коефіцієнт швидкості навчання. Тут і надалі, для загальності, під n розуміється довільний шар мережі. При навчанні по даному методу підсилюються зв'язки між збудженими нейронами.
Існує також і диференціальний метод навчання Хебба:
. (3.18)
Тут yi(n-1)(t) та yi(n-1)(t-1) - вихідне значення нейрону i шару n-1 відповідно на ітераціях t і t-1; yj(n)(t) та yj(n)(t-1) - теж саме для нейрону j шару n. Як видно з формули (3.18), сильніше всього навчаються синапси, поєднуючи ті нейрони, виходи яких найбільш динамічно змінились в бік зростання.
Повний алгоритм навчання із застосуванням вищенаведених формул буде виглядати так:
1. На стадії ініціалізації усім ваговим коефіцієнтам привласнюються невеликі випадкові значення.
2. На входи мережі подається вхідний образ, і сигнали порушення поширюються по всіх шарах відповідно до принципів класичних прямопоточних (feedforward) мереж, тобто для кожного нейрона розраховується зважена сума його входів, до якої потім застосовується активаційна (передаточна) функція нейрона, у результаті чого виходить його вихідне значення yі(n), і=0...Mі-1, де Mі - число нейронів у шарі і; n=0...N-1, а N - число шарів у мережі.
3. На підставі отриманих вихідних значень нейронів по формулі (3.17) або (3.18) виробляється зміна вагових коефіцієнтів.
4. Цикл із кроку 2, поки вихідні значення мережі не стабілізуються з заданою точністю. Застосування цього нового способу визначення завершення навчання, відмінного від зворотного поширення, що використовувався для мережі, обумовлене тим, що значення синапсів, які підбудовуються, фактично не обмежені.
На другому кроці циклу позмінно пред'являються всі образи з вхідного набору.
Слід зазначити, що вид відгуків на кожен клас вхідних образів не відомий заздалегідь і буде являти собою довільне сполучення станів нейронів вихідного шару, обумовлене випадковим розподілом ваг на стадії ініціалізації. Разом з тим, мережа здатна узагальнювати схожі образи, відносячи їх до одного класу. Тестування навченої мережі дозволяє визначити топологію класів у вихідному шарі. Для приведення відгуків навченої мережі до зручного представлення можна доповнити мережу одним шаром, що, наприклад, по алгоритму навчання одношарового перцептрона необхідно змусити відображати вихідні реакції мережі в необхідні образи.
Інший алгоритм навчання без вчителя - алгоритм Кохонена - передбачає підстроювання синапсів на підставі їхніх значень від попередньої ітерації.
. (3.19)
З вищенаведеної формули видно, що навчання зводиться до мінімізації різниці між вхідними сигналами нейрона, що надходять з виходів нейронів попереднього шару yi(n_1), і ваговими коефіцієнтами його синапсів.
Повний алгоритм навчання має приблизно таку ж структуру, як у методах Хебба, але на кроці 3 з усього шару вибирається нейрон, значення синапсів якого максимально походять на вхідний образ, і підстроювання ваг по формулі (3.19) проводяться тільки для нього. Ця, так названа, акредитація може супроводжуватися загальмуванням всіх інших нейронів шару і введенням обраного нейрона в насичення. Вибір такого нейрона може здійснюватися, наприклад, розрахунком скалярного добутку вектора вагових коефіцієнтів з вектором вхідних значень. Максимальний добуток дає нейрон, що виграв.
Інший варіант - розрахунок відстані між цими векторами в p-мірному просторі, де p - розмір векторів.
, (3.20)
де j - індекс нейрону у шарі n, i - індекс підсумовування по нейронам шару (n_1), wij - вага синапса, який поєднує нейрони; виходи нейронів шару (n-1) являються вхідними значеннями для шару n. Корінь у формулі (3.20) брати не обов'язково, тому що важлива тільки відносна оцінка різних Dj.
У даному випадку "перемагає" нейрон з найменшою відстанню. Іноді це занадто, тому нейрони, що часто одержують акредитацію, примусово виключаються з розгляду, щоб "зрівняти права" усіх нейронів шару. Найпростіший варіант такого алгоритму полягає в гальмуванні тільки того нейрону, що виграв.
При використанні навчання по алгоритму Кохонена існує практика нормалізації вхідних образів, а так само, на стадії ініціалізації, і нормалізації початкових значень вагових коефіцієнтів.
, (3.21)
де xi - i-а компонента вектору вхідного образу або вектору вагових коефіцієнтів, а n - його розмірність. Це дозволяє скоротити довжину процесу навчання.
Ініціалізація вагових коефіцієнтів випадковими значеннями може призвести до того, що різні класи, яким відповідають щільно розподілені вхідні образи, зіллються або, навпаки, роздрібняться на додаткові підкласи у випадку близьких образів того самого класу. Для запобігання такій ситуації використовується метод опуклої комбінації. Сутність його зводиться до того, що вхідні нормалізовані образи піддаються перетворенню:
, (3.22)
де xi - i-а компонента вхідного образу, n - загальне число його компонент, (t) - коефіцієнт, що змінюється в процесі навчання від нуля до одиниці, у результаті чого спочатку на входи мережі подаються практично однакові образи, а з часом вони усе більше сходяться до вихідного. Вагові коефіцієнти встановлюються на кроці ініціалізації рівними величині:
, (3.23)
де n - розмірність вектору вагів для нейронів ініціалізуємого шару.
На основі розглянутого вище методу будуються нейронні мережі особливого типу - так названі структури, що самоорганізовуються - self-organizing feature maps. Для них після вибору із шару n нейрона j з мінімальною відстанню Dj (3.20) навчається по формулі (3.19) не тільки цей нейрон, але і його сусіди, розташовані в околиці R. Величина R на перших ітераціях дуже велика, так що навчаються всі нейрони, але з часом вона зменшується до нуля. Таким чином, чим ближче кінець навчання, тим точніше визначається група нейронів, що відповідають кожному класові образів.
Подобные документы
Характеристика особливостей побудови біологічних та штучних нейронних мереж. Вивчення їх активіаційних функцій: порогової бінарної, лінійної обмеженої, гіперболічного тангенса. Персептрони і зародження штучних нейромереж. Багатошарові нейронні мережі.
реферат [1,2 M], добавлен 11.06.2010Незалежно компільований програмний модуль. Програми: "Облік програмного забезпечення" та "Інвентаризація програмного забезпечення на комп'ютерах мережі". Вимоги до функціональних характеристик основної частини системи. Вимоги до програмної документації.
курсовая работа [660,9 K], добавлен 14.12.2010Підстави для розробки програмного продукту для складання розкладу факультету вузу з використанням генетичних алгоритмів. Призначення розробленої програми, вимоги до функціональних характеристик, до програмної документації, техніко-економічні показники.
курсовая работа [25,1 K], добавлен 12.04.2010Вибір та обґрунтування компонентів мережі, клієнтської частини, комунікаційного обладнання та прикладного програмного забезпечення. Опис фізичної та логічної структури мережі. Принципова схема топології мережі та cхема логічної структури мережі.
курсовая работа [487,4 K], добавлен 16.02.2015Специфіка застосування нейронних мереж. Огляд програмних засобів, що використовують нейронні мережі. Побудова загальної моделі згорткової нейронної мережі. Реалізація нейромережного модулю розпізнавання символів на прикладі номерних знаків автомобілів.
дипломная работа [3,4 M], добавлен 15.03.2022Область застоcування програми - складання розкладу для факультетів вищих навчальних закладів України. Опис функціонування програми. Генетичні алгоритми, опис вибору технічних і програмних засобів. Розрахунок ефективності впровадження програмного продукту.
курсовая работа [58,0 K], добавлен 12.04.2010Поняття локальних обчислювальних мереж. Опис об’єкту та план будівлі. Побудова функціональної схеми. Вибір обладнання. Моделювання комп’ютерної мережі в Packet Tracer. Вибір програмного забезпечення і забезпечення його роботи; налаштування сервера.
курсовая работа [5,1 M], добавлен 04.10.2014Основи криптосистем та їх використання. Шифрування методом гамування, його зміст, прийоми та етапи реалізації. Вимоги до програмного продукту, його структура та принципи роботи, схеми алгоритму, вимоги до функціональних можливостей. Лістинг програми.
курсовая работа [245,5 K], добавлен 25.08.2014Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.
курсовая работа [3,6 M], добавлен 30.04.2016Дослідження та аналіз об’єкту програмування. Основні архітектурні риси JavaScript. Переваги CSS розмітки. Структура HTML-документа. Вимоги до апаратного та програмного забезпечення. Опис програми та її алгоритмів. Оцінка вартості програмного продукту.
дипломная работа [1,0 M], добавлен 01.09.2016