Смекни!
smekni.com

Штучні нейронні мережі (стр. 1 из 4)

Реферат

Штучні нейронні мережі


Вступ

Про роботу мозку в даний час відомо дуже мало, тому штучні нейронні мережі (neural networks) є надзвичайно спрощеною моделлю біологічних нейронних мереж. Особливістю нейромереж (neuronet) є те, що вони навчаються, а не програмуються.


1. Біологічні нейронні мережі

Нервова система людини побудована з елементів (нейронів), має приголомшуючу складність. Близько 1011 нейронів беруть участь в приблизно 1015 передаючих зв'язках, що мають довжину метр і більше. Кожен нейрон володіє багатьма якостями, спільними з іншими елементами тіла, але його унікальною здатністю є прийом, обробка і передача електрохімічних сигналів по нервових шляхах, які утворюють комунікаційну систему мозку.

Рис.1. Біологічний нейрон

На рис. 1 показана структура пари типових біологічних нейронів. Дендрити (входи нейрона) йдуть від тіла нервової клітини до інших нейронів, де вони приймають сигнали в точках з'єднання (синапсах). Прийняті синапсом вхідні сигнали підводяться до тіла нейрона. Тут вони підсумовуються, причому одні входи стимулюють активізацію нейрона, а інші – зниження його активності. Коли сумарна активність (збудження) нейрона перевищує деякий поріг, нейрон переходить в активний стан, посилаючи по аксону (виходу нейрона) сигнал іншим нейронам. У цієї основної функціональної схеми багато спрощень і виключень, проте більшість штучних нейронних мереж моделює лише ці прості властивості.


2. Штучний нейрон

Основними компонентами нейромережі є нейрони /neurons/ (елементи, вузли), які з’єднані зв’язками. Сигнали передаються по зваженим зв’язкам (connection), з кожним з яких пов’язаний ваговий коефіцієнт (weighting coefficient) або вага.

Моделі НМ – програмні і апаратні, найбільш поширені – програмні.

Використання – розпізнавання образів, прогнозування, створення асоціативної пам’яті.

Штучний нейрон імітує в першому наближенні властивості біологічного нейрона. На вхід штучного нейрона поступає множина сигналів, які є виходами інших нейронів. Кожен вхід множиться на відповідну вагу, аналогічну його синаптичній силі, і всі виходи підсумовуються, визначаючи рівень активації нейрона. На рис.2 представлена модель, що реалізує цю ідею. Хоча мережеві парадигми досить різноманітні, в основі майже всіх їх лежить ця конфігурація. Тут множина вхідних сигналів, позначених x1, x2,…, xn, поступає на штучний нейрон. Ці вхідні сигнали, в сукупності позначаються вектором X, відповідають сигналам, що приходять в синапси біологічного нейрона. Кожен сигнал множиться на відповідну вагу w1, w2,…, wn, і поступає сумуючий блок, позначений Σ. Кожна вага відповідає «силі» одного біологічного синаптичного зв'язку (множина ваг в сукупності позначається вектором W). Сумуючий блок, який відповідає тілу біологічного нейрона, складає зважені входи алгебраїчно, створюючи вихід, який ми називатимемо NET. У векторних позначеннях це може бути компактно записано таким чином

NET = XW.


Рис.2. Штучний нейрон

3. Активіаційні функції

Сигнал NET далі, як правило, перетворюється активаційною функцією F і дає вихідний нейронний сигнал OUT = F(NET). Активаційна функція F(NET) може бути:

1. Пороговою бінарною функцією (рис.3а)

,

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

2. Лінійною обмеженою функцією (рис.3б)

.

Функцією гіперболічного тангенса (рис.3в)

.

де С > 0 – коефіцієнт ширини сигмоїди по осі абсцис (звичайно С=1).

4. Сигмоїдною (S-подібною) або логістичною функцією (рис.3г)


,

З виразу для сигмоїда очевидно, що вихідне значення нейрона лежить в діапазоні [0,1] (рис.4). Популярність сигмоїдної функції зумовлюють наступні її властивості:

· здатність підсилювати слабкі сигнали сильніше, ніж великі, і опиратися „насиченню” від потужних сигналів;

· монотонність і диференційованість на всій осі абсцис;

· простий вираз для похідної

,

що дає можливість використовувати широкий спектр оптимізаційних алгоритмів.

В штучному нейроні з активізаційною функцією (рис.5) блок, позначений F, приймає сигнал NET і видає сигнал OUT. Якщо блок F звужує діапазон зміни величини NET так, що при будь-яких значеннях NET значення OUT належать деякому кінцевому інтервалу, то F називається «стискаючою» функцією. Як «стискаюча» функція часто використовується сигмоїдна функція.

а) б)


в) г)

Рис. Вид функцій активації: а) порогова бінарна функція; б) лінійна обмежена функція; в) гиперболічний тангенс; г) сигмоїд

Рис.4. Сигмоїдальна активіаційна функція для С=1

Рис.5. Штучний нейрон з активіаційною функцією F

4. Одношарові нейронні мережі

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

Рис.6. Одношарова НМ

Зручно вважати вагу елементами матриці W. Матриця має m рядків і n стовпців, де m - число входів, а n - число нейронів. Наприклад, w3,2 - це вага, що пов'язує третій вхід з другим нейроном. Таким чином, обчислення вихідного вектора Y, компонентами якого є виходи OUT нейронів, зводиться до матричного множення Y = XW, де Y і Х - вектори-рядки.

5. Персептрони і зародження штучних нейромереж

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

Перше систематичне вивчення штучних нейронних мереж було зроблене Мак-Каллоком і Піттсом в 1943 р.. В роботі вони досліджували мережеві парадигми для розпізнавання зображень, що піддаються зсувам і поворотам. Проста нейронна модель, показана на рис.7, використовувалася в більшій частині їх роботи. Елемент Σ множить кожен вхід х на вагу w і підсумовує зважені входи. Якщо ця сума більше заданого порогового значення, вихід рівний одиниці, інакше - нулю. Ці системи (і множина ним подібних) одержали назву персептронів. Вони складаються з одного шару штучних нейронів, сполучених за допомогою вагових коефіцієнтів з множиною входів (рис.8), хоча описуються і складніші системи.

Рис.7. Нейрон персептрона

Перші персептрони були створені Ф.Розенблатом у 60-х роках і викликали великий інтерес. Первинна ейфорія змінилася розчаруванням, коли виявилося, що персептрони не здатні навчитися рішенню ряду простих задач. М.Мінський строго проаналізував цю проблему і показав, що є жорсткі обмеження на те, що можуть виконувати одношарові персептрони, і, отже, на те, чому вони можуть навчатися. Оскільки у той час методи навчання багатошарових мереж не були відомі, дослідники перейшли в більш багатообіцяючі області, і дослідження у області нейронних мереж прийшли в занепад. Відкриття методів навчання багатошарових мереж більшою мірою, ніж який-небудь інший чинник, вплинуло на відродження інтересу і дослідницьких зусиль.


Рис.8. Персептрон

Навчання персептрона:

1. Ініціалізація вагових матриць W (випадкові значення)

2. Подати вхідX і обчислити вихід Y для цільового вектора YT

3. Якщо вихід правильний – перейти на крок 4; інакше обчислити різницю D = YT – Y; модифікувати ваги за формулою:

wij(e+1) = wij(e) + α D Хі,

де wij(e) - значення ваги від нейрона i до нейрона j до налагодження, wij(e+1) - значення ваги після налагодження, α - коефіцієнт швидкості навчання, Хi - вхід нейрона i, e – номер епохи (ітерації під час навчання).

4. Виконувати цикл з кроку 2, поки мережа не перестане помилятися. На другому кроці у випадковому порядку пред’являються всі вхідні вектори.