Влаштування нейронних мереж
Штучним нейроном називається простий елемент, що спочатку обчислює зважену суму V вхідних величин xi:
Тут N – розмірність простору вхідних сигналів. Потім отримана сума порівнюється з граничною величиною W0, після чого вступає в дію нелінійна функція активації f. Коефіцієнти Wi у виваженій сумі зазвичай називають синаптичними коефіцієнтами або вагами. Саму ж виважену суму V ми називатимемопотенціалом нейрона i. Вихідний сигнал має вигляд f(V). Величину порогового бар'єру можна як ще один ваговий коефіцієнт при постійному вхідному сигналі. У цьому випадку ми говоримо пророзширений вхідний простір: нейрон з N-мірним входом має N+1 ваговий коефіцієнт. Якщо ввести в рівняння порогову величину W0, воно перепишеться так:
Залежно від способу перетворення сигналу та характеру активації виникають різні види нейронних структур. Існуютьдетерміновані нейрони, коли активізуюча функція однозначно обчислює вихід по входу, іімовірні нейрони, стан яких в момент t є випадкова функція потенціалу і стану в момент t-1. Розглянемо детерміновані нейрони.
Структура нейронної мережі
Використовується 3-шарова нейронна мережа, структура якої наведена на рис. 2.

Мал. 2. Структура застосованої нейронної мережі (n – число букв, що розпізнаються)
Третій шар утворюють вихідні нейрони. У нейронній мережі обраної структури кожен елемент молодшого шару передає свій вихідний сигнал входи всіх елементів наступного шару. Число елементів у першому та другому шарах нейронної мережі може змінюватись. Зокрема, в прикладі, що розбирається, другий шар містить 8, а третій - 24 нейрона.
ФункціїактиваціїУ штучних нейронах можуть бути різні функції активації, але й у використовуваних мною програмах, і у відомій літературі вказані тільки такі види функцій: • Лінійна: вихідний сигнал нейрона дорівнює його потенціалу; • порогова: нейрон вибирає рішення з двох варіантів: активний / неактивний, • Багатопорогова: вихідний сигнал може приймати одне з значень q, що визначаються (q-1) порогом всередині граничних значень. • Сігмоїдна: розглядаються два види сигмоїдних функцій:
з вихідними значеннями в проміжку [0,1] та
з вихідними значеннями у проміжку [-1,1]. Коефіцієнт b визначає крутість сигмоїду. Оскільки сигмоїдна функція є гладким відображенням нескінченної функції на проміжку (-1,1), то крутість можна врахувати через величини ваги і порогів, і без обмеження спільності можна вважати її рівною одиниці. Графічні зображення найпростішого нейрона та види функцій зі своїми графіками наведено на рис. 2.

Типи архітектур нейромереж
З точок на площині та з'єднань між ними можна побудувати безліч графічних фігур, які називаються графами. Якщо кожну точку уявити як один нейрон, а з'єднання між точками – як дендрити і синапси, ми отримаємо нейронную мережу. Але не всяке з'єднання нейронів буде працездатним або взагалі доцільним. Тому на сьогоднішній день існує лише кілька працюючих та реалізованих програмно-архітектур нейромереж. Я тільки коротко опишу їх пристрій і класи розв'язуваних ними завдань. По архітектурі зв'язків нейромережі можуть бути згруповані в два класи:мережі прямого поширення, в яких зв'язки не мають петель (див. рис. 3), тамережі рекурентного типу>, у яких можливізворотні зв'язки(див. рис. 4)


Мережі прямого поширення поділяються на одношарові перцепротрони (мережі) та багатошарові перцептрони (мережі). Назва перцептрону для нейромереж придумав американський нейрофізіолог Ф. Розенблатт, який придумав у 1957 році перший нейропроцесорний елемент (НПЕ), тобто нейромережа . Він же довів збіжність області рішень для перцептрону під час навчання. Відразу після цього почалося бурхливе дослідження в цій галузі і був створений перший нейрокомп'ютер Mark I. Багатошарові мережі відрізняються тим, що між вхідними і вихідними даними розташовуються кілька так званих прихованих шарів нейронів, що додають більше нелінійних зв'язків в модель. Розглянемо пристрій найпростішої багатошарової нейромережі. Будь-яка нейронна мережа складається звхідного шару та вихідного шару. Відповідно подаються незалежні та залежні змінні. Вхідні дані перетворюються нейронами мережі та порівнюються з виходом. Якщо відхилення більше заданого, то спеціальним чином змінюються ваги зв'язків нейронів між собою та порогові значення нейронів. Знову відбувається процес обчислень вихідного значення та його порівняння з еталоном. Якщо відхилення менше заданої похибки, процес навчання припиняється. Крім вхідного та вихідного шарів у багатошаровій мережі існують так званіприховані шари. Вони є нейрони, які мають безпосередніх входів вихідних даних, а пов'язані лише з виходами вхідного шару і з входом вихідного шару. Таким чином, приховані шари додатково перетворюють інформацію та додають нелінійності моделі. Щоб краще зрозуміти пристрій багатошарового перцептрону дивіться рис. 5.

Якщо одношарова нейромережа дуже добре справляється із завданнями класифікації, оскільки вихідний шар нейронів порівнює отримані від попереднього шару значення з порогом і видає значення або нуль, тобто менше порогового значення, або одиницю - більше порогового (для випадку внутрішньої порогової функції нейрона), і не здатний вирішувати більшість практичних завдань (що було доведено Мінським і Пейпертом), то багатошаровий перцептрон з сигмоїдними вирішальними функціями здатний апроксимувати будь-яку функціональну залежність (це було доведено у вигляді теореми). Але при цьому не відомо ні необхідне число шарів, ні необхідну кількість прихованих нейронів, ні необхідний для навчання мережі час. Ці проблеми досі стоять перед дослідниками та розробниками нейромереж. Особисто мені здається, що весь ентузіазм у застосуванні нейромереж будується саме на доказі цієї теореми. Клас рекурентних нейромереж набагато ширший, та й самі мережі складніші за своїм пристроєм. Поведінка рекурентних мереж описується диференціальними чи різницевими рівняннями, зазвичай першого порядку. Це значно розширює сфери застосування нейромереж та способи їх навчання. Мережа організована так, що кожен нейрон отримує вхідну інформацію від інших нейронів, можливо, і від самого себе, і навколишнього середовища. Цей тип мереж має значення, оскільки з допомогою можна моделювати нелінійні динамічні системи. Серед рекурентних мереж можна виділитимережі Хопфілда та мережі Кохонена. За допомогою мереж Хопфілда можна обробляти невпорядковані (рукописні літери), упорядковані в часі (тимчасові ряди) чи просторі (графіки) зразки. Рекурентна нейромережа найпростішого виду була введена Хопфілдом і побудована вона з Nнейронів, пов'язаних кожен з кожним, крім самого себе, причому всі нейрони є вихідними. Нейросеть Хопфілда можна використовувати як асоціативну пам'ять. Архітектура мережі Хопфілда зображено на рис. 6.

Мережа Кохонена ще називають "картою ознак, що самоорганізується". Мережа такого типу розрахована на самостійне навчання під час навчання, повідомляти їй правильні відповіді необов'язково. У процесі навчання на вхід мережі подаються різні зразки. Мережа вловлює особливості їх структури і поділяє зразки на кластери, а вже навчена мережа відносить кожен знову приклад до одного з кластерів, керуючись деяким критерієм "близькості". Мережа складається з одного вхідного та одного вихідного шару. Кількість елементів у вихідному шарі безпосередньо визначає, скільки різних кластерів мережа зможе розпізнати. Кожен із вихідних елементів отримує на вхід весь вхідний вектор. Як і у будь-якій нейронній мережі, кожному зв'язку приписана деяка синаптична вага. Найчастіше кожен вихідний елемент з'єднаний зі своїми сусідами. Ці внутрішньошарові зв'язку відіграють важливу роль у процесі навчання, так як коригування ваги відбувається тільки в околиці того елемента, який найкраще відгукується на черговий вхід. Вихідні елементи змагаються між собою за право вступити в дію та "отримати урок". Виграє той із них, чий вектор ваг виявиться найближчим до вхідного вектора.