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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Схема штучного нейрону
1. Нейрони, вихідні сигнали яких надходять на вхід даного нейрону
2. Суматор вхідних сигналів
3. Обчислювач передавальної функції
4. Нейрони, на входи яких подається сигнал даного нейрону
5. w_iваги вхідних сигналів

Штучний нейрон (Математичний нейрон Маккалока - Піттса, Формальний нейрон[1]) - вузол штучної нейронної мережі, що є спрощеною моделлю природного нейрона. Математично, штучний нейрон зазвичай представляють як деяку нелінійну функцію від єдиного аргументу - лінійної комбінації всіх вхідних сигналів. Цю функцію називають функцією активації або функцією спрацьовування,передавальною функцією. Отриманий результат посилається на єдиний вихід. Такі штучні нейрони об'єднують в мережі - з'єднують виходи одних нейронів з входами інших. Штучні нейрони та мережі є основними елементами ідеального нейрокомп'ютеру. [2]

Біологічний прототип[ред.ред. код]

Докладніше: Нейрон

Біологічний нейрон складається з тіла, діаметром від 3 до 100 мкм, що містить ядро (з великою кількістю ядерних пор) та інші органели (у тому числі сильно розвинений шорсткий ЕПР з активними рибосомами, апарат Гольджі), і відростків. Виділяють два види відростків. Аксон - зазвичай довгий відросток, пристосований для проведення збудження від тіла нейрона. Дендрити - як правило, короткі і сильно розгалужені відростки, які служать головним місцем утворення збуджуючих і гальмівних синапсів (різні нейрони мають різне співвідношення довжини аксона і дендритів). Нейрон може мати кілька дендритів і зазвичай тільки один аксон. Один нейрон може мати зв'язки з десятками тисяч інших нейронів. Кора головного мозку людини містить десятки мільярдів нейронів.

Історія розвитку[ред.ред. код]

Математична модель штучного нейрону була запропонована У. Маккалоком та У. Піттсом разом з моделлю мережі, що складається з цих нейронів. Автори показали, що мережа на таких елементах може виконувати числові і логічні операції [3]. Практично мережа була реалізована Френком Розенблаттом в 1958 році як комп'ютерна програма, а згодом як електронний пристрій - перцептрон. Спочатку нейрон міг оперувати тільки з сигналами логічного нуля і логічної одиниці [4], оскільки був побудований на основі біологічного прототипу, який може перебувати тільки в двох станах - збудженому або не збудженому. Розвиток нейронних мереж показав, що для розширення області їхнього застосування необхідно, щоб нейрон міг працювати не тільки з бінарними, але і з безперервними (аналоговими) сигналами. Таке узагальнення моделі нейрона було зроблено Уїдроу і Хоффом [5], які запропонували використовувати логістичну криву як функцію спрацьовування нейрона.

Зв'язки між штучними нейронами[ред.ред. код]

Зв'язки, по яких вихідні сигнали одних нейронів надходять на входи інших, часто називають синапсами за аналогією зі зв'язками між біологічними нейронами. Кожен зв'язок характеризується своєю вагою. Зв'язки з позитивною вагою називаються збудливими, а з негативною - гальмівними [6]. Нейрон має один вихід, який часто називають аксоном за аналогією з біологічним прототипом. З єдиного виходу нейрона сигнал може надходити на довільне число входів інших нейронів.

Математична модель[ред.ред. код]

Математично нейрон являє собою ваговий суматор, єдиний вихід якого визначається через його входи і матрицю ваг таким чином:

y = f(u), де u=\sum_{i=1}^{n} w_i x_i + w_0 x_0

Тут x_i і w_i - відповідно сигнали на входах нейрона і ваги входів, функція u називається індукованим локальним полем, а f(u) - передавальною функцією. Можливі значення сигналів на входах нейрона вважають заданими в інтервалі [0,1]. Вони можуть бути або дискретними (0 або 1), або аналоговими. Додатковий вхід x_0 і відповідна йому вага використовується для ініціалізації нейрона [7]. Під ініціалізацією мається на увазі зсув активаційної функції нейрона по горизонтальній осі, тобто формування порогу чутливості нейрона [4]. Крім того, іноді до виходу нейрона спеціально додають якусь випадкову величину, яка називається зсувом. Зсув можна розглядати як сигнал на додатковому, завжди навантаженому, синапсі.

Передавальна функція нейрона[ред.ред. код]

Передавальна функція f (u) визначає залежність сигналу на виході нейрона від зваженої суми сигналів на його входах. У більшості випадків вона є монотонно зростаючою і має область значень [-1,1] або [0,1], проте існують винятки. Також для деяких алгоритмів навчання мережі необхідно, щоб вона була безперервно диференційовною на всій числової осі [7]. Штучний нейрон повністю характеризується своєю передавальної функцією. Використання різних передавальних функцій дозволяє вносити нелінійність в роботу нейрона і в цілому нейронної мережі.

Класифікація нейронів[ред.ред. код]

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

  • Вхідні нейрони - отримують вектор, що кодує вхідний сигнал. Як правило, ці нейрони не виконують обчислювальних операцій, а просто передають отриманий вхідний сигнал на вихід, можливо, посиливши або послабивши його;
  • Вихідні нейрони - являють собою виходи мережі. У вихідних нейронах можуть проводитися будь-які обчислювальні операції;
  • Проміжні нейрони - виконують основні обчислювальні операції [8].

Основні типи передавальних функцій[ред.ред. код]

Лінійна функція активації з насиченням

Лінійна передавальна функція[ред.ред. код]

Сигнал на виході нейрона лінійно пов'язаний із ваговою сумою сигналів на його вході.

f(x) = tx

, де t - параметр функції. В штучних нейронних мережах із шаруватою структурою, нейрони з передавальними функціями такого типу, як правило, складають вхідний шар. Крім простої лінійної функції можуть бути використовуватись також її модифікації. Наприклад напівлінійна функція (якщо її аргумент менше нуля, то вона дорівнює нулю, а в інших випадках, поводить себе як лінійна) або крокова (лінійна функція з насиченням), яку можна виразити формулою [9]:

f(x) = \begin{cases}0 & \text{if } x \leq 0\\1 & \text{if } x \geq 1\\x & \text{else}\end{cases}

При цьому можливий зсув функції по обох осях (як зображено на малюнку).

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

Порогова функція активації

Порогова передавальна функція[ред.ред. код]

Інша назва - Функція Хевісайда. Являє собою перепад. До тих пір поки зважений сигнал на вході нейрона не досягає певного рівня T- сигнал на виході дорівнює нулю. Як тільки сигнал на вході нейрона перевищує зазначений рівень - вихідний сигнал стрибкоподібно змінюється на одиницю. Найперший представник шаруватих штучних нейронних мереж - перцептрон [10] складався виключно з нейронів такого типу [4]. Математична запис цієї функції виглядає так:

f(x) = \begin{cases}1 & \text{if } x \geq T\\0 & \text{else}\end{cases}

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

Сигмоїдна функція активації

Сигмоїдальна передавальна функція[ред.ред. код]

Докладніше: Сигмоїда

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

Логістична функція[ред.ред. код]

Математично цю функцію можна виразити так:

\sigma(x) = \frac {1}{(1+\exp (-tx))}

Тут t - це параметр функції, що визначає її крутизну. Коли t прямує до нескінченності, функція вироджується в порогову. При t = 0 сигмоїда вироджується в постійну функцію із значенням 0,5. Область значень даної функції знаходиться в інтервалі (0,1). Важливою перевагою цієї функції є простота її похідної:

\cfrac{d\sigma(x)}{dx} = t f(x) (1-f(x))

Те, що похідна цієї функції може бути виражена через її значення полегшує використання цієї функції при навчанні мережі за алгоритмом зворотного поширення [12]. Особливістю нейронів з такою передавальною характеристикою є те, що вони посилюють сильні сигнали істотно менше, ніж слабкі, оскільки області сильних сигналів відповідають пологим ділянках характеристики. Це дозволяє запобігти насиченню від великих сигналів [13].

Гіперболічний тангенс[ред.ред. код]

Використання функції гіперболічного тангенса

th(Ax) = \frac{\exp (Ax) - \exp (-Ax)}{\exp (Ax) + \exp (-Ax)}

відрізняється від розглянутої вище логістичної кривої тим, що його область значень лежить в інтервалі (-1; 1). Оскільки є вірним наступне співвідношення

th(\frac{A}{2}x) = 2\sigma(x)-1,

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

Радіально-базисна функція передачі [14][ред.ред. код]

Цей тип функцій приймає як аргумент відстань між вхідним вектором і деяким наперед заданими центром активаційний функції. Значення цієї функції тим вище, чим ближче до центру вхідний вектор [15]. Як радіально-базисної можна, наприклад, використовувати функцію Гауса:

y=\exp(-\frac{(S-R)^2}{2\sigma^ 2})

Тут S = ||\mathbf{X}-\mathbf{C}|| - відстань між центром \mathbf{C} і вектором вхідних сигналів\mathbf{X}. Скалярний параметр \sigma визначає швидкість спадання функції при віддалені вектора від центру і називається шириною вікна, параметр R визначає зсув активаційний функції по осі абсцис. Мережі, з нейронами, що використовують такі функції, називаються RBF-мережами. В якості відстані між векторами можуть бути використані різні метрики [16], зазвичай використовується евклідова відстань:

S = \sqrt{ \sum_{j=1}^{N} { (x_j-c_j)^2 } }

Тут x_j - j-та компонента вектора, поданого на вхід нейрона, а c_j - j-та компонента вектора, що визначає положення центру передавальної функції. Відповідно, мережі з такими нейронами називаються ймовірносними та регресійними[17].

У реальних мережах активаційна функція цих нейронів може відображати розподіл ймовірністі будь-якої випадкової величини, або позначати будь-які евристичні залежності між величинами.

Інші функції передачі[ред.ред. код]

Перераховані вище функції становлять лише частину від безлічі передавальних функцій, що використовуються в цей час. До числа інших передавальних функцій входять такі як [9]:

  • Експонента f(x) = \exp (-Ax);
  • Тригонометричний синус;
  • Модульна: f(x) = \left| x \right|;
  • Квадратична.

Стохастичний нейрон[ред.ред. код]

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

f(u) = \begin{cases}1 & \text{с вероятностью} P(u) \\0 & \text{з ймовірністю} 1-P(u)\end{cases}

де розподіл ймовірності P(u) зазвичай має вигляд сигмоїди

\sigma(u) = \frac {A(T)}{1+\exp (-u/T)}

a нормувальна константа A(T) вводиться для умови нормалізації розподілу ймовірності \int^1_0 \sigma(u) du = 1. Таким чином, нейрон активується з ймовірністю P(u). Параметр T - аналог температури (але не температури нейрона!) І визначає безлад в нейронної мережі. Якщо Т спрямувати до 0, стохастичний нейрон перейде в звичайний нейрон з передавальної функцією Хевісайда (пороговою функцією).

Моделювання формальних логічних функцій[ред.ред. код]

Нейрон з пороговою передавальною функцією може моделювати різні логічні функції. Зображення ілюструють, яким чином можна, задавши ваги вхідних сигналів і поріг чутливості, змусити нейрон виконувати кон'юнкцію (логічне «І») і диз'юнкцію (логічне «АБО») над вхідними сигналами, а також Логічне заперечення вхідного сигналу (логічне «НЕ»)[18]. Цих трьох операцій достатньо, щоб змоделювати абсолютно будь-яку логічну функцію будь-якого числа аргументів.

Відмінності між біологічним і штучним нейроном[ред.ред. код]

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

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. Л. Г. Комарцова, А. В. Максимов "Нейрокомпьютеры", МГТУ им. Н. Э. Баумана, 2004 г., ISBN 5-7038-2554-7
  2. Миркес Е. М., Нейрокомпьютер. Проект стандарта. — Новосибирск: Наука, 1999. — 337 с. ISBN 5-02-031409-9
  3. У статті McCulloch W.S., Pitts W. A logical Clculus of Ideas Immanent in Nervous Activity — Bull. Mathematical Biophysics, 1943 online
  4. а б в Л. Н. Ясницкий, "Введение в искусственный интеллект", Изд. Академия, 2005 г., ISBN 5-7695-1958-4; стр.29
  5. У роботіWidrow B., Hoff M.E. Adaptive switching circuits. 1960 IRE WESTCON Conferencion Record. — New York, 1960
  6. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.11
  7. а б В. А. Терехов — Нейросетевые системы управления — с.12-13
  8. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.14
  9. а б В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.12
  10. Дуже часто в літературі можна зустріти назвуперсептрон
  11. Л. Н. Ясницкий — Введение в искусственный интеллект — с.34
  12. CIT forum - Нейрокомп'ютери - архітектура і реалізація
  13. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.13
  14. У літературі часто зустрічається скорочення RBF, породжене англійською назвою
  15. Л. Н. Ясницкий — Введение в искусственный интеллект — с.77
  16. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.349
  17. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.348
  18. Л. Н. Ясницкий — Введение в искусственный интеллект — c.30

Посилання[ред.ред. код]

Література[ред.ред. код]

  • Каллан Р. (2001). Основные концепции нейронных сетей (російська) (вид. 1-ше). «Вильямс». с. 288. ISBN 5-8459-0210-X.  Проігноровано невідомий параметр |оригінал= (довідка)
  • Ясницкий Л.Н. (2005). Введение в искусственный интеллект (російська) (вид. 1-ше). Издательский центр "Академия". с. 176. ISBN 5-7695-1958-4.  Проігноровано невідомий параметр |оригінал= (довідка)