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

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

Штучні нейронні мережі з’явилися на слуху зовсім нещодавно, а вже застосовуються майже не у всіх сферах життя людини: при розпізнаванні текстів і створенні контекстної реклами в інтернеті, в машинному перекладі та навіть на біржі і системах відеонагляду.

Історія нейронних мереж

З появою сучасної електроніки, почались перші спроби апаратного відтворення процесу мислення людини. Перший крок був зроблений у 1943 році з виходом статті нейрофізіолога Уоррена Маккалоха та математика Уолтера Піттса про роботу штучних нейронів і представлення моделі нейронної мережі на електричних схемах. Паралельно з прогресом в нейроанатомії і нейрофізіології психологами було створено моделі людського навчання. У 1950-ті — 1960-ті роки група дослідників, об’єднавши ці біологічні та психофізіологічні підходи, створила перші штучні нейронні мережі за керівництва Натаніеля Рочестера.

Перші успіхи викликали вибух активності й оптимізму. Мінскі, Розенблат, Відроу та інші вчені розробили мережі, що складалися з одного прошарку штучних нейронів, які назвали перцептронами. Ці мережі застосовували для розв’язання широкого класу задач: прогноз погоди, аналіз електрокардіограм, штучний зір. Протягом деякого часу здавалося, що ключ до інтелекту знайдено, і відтворення людського мозку є лише питанням конструювання досить великої мережі. Але ця ілюзія скоро розсіялася. Мережі не могли розв’язувати всі задачі, що підвласні людському вирішенню. З цих невдач почався період інтенсивного аналізу.

У період з 1980-х років інтерес до штучних нейронних мереж швидко зріс. Фахівці з таких далеких областей, як технічне конструювання, філософія, фізіологія і психологія, були заінтриговані можливостями, що надає ця технологія, і проводили активний пошук застосування її всередині своїх дисциплін. В 2007 році Джефрі Хінтоном в університеті Торонто створені алгоритми глибокого навчання багатошарових нейронних мереж. Це ознаменувало початок активного застосування штучних нейронних мереж в різних сферах людської діяльності та дало поштовх розробкам технології штучного інтелекту.

Як влаштовані штучні нейронні мережі?

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

Наше мислення – результат роботи мережі нейронів в мозку. Нейрони передають одне одному хімічні сигнали за допомогою електричних імпульсів. Внаслідок такої активності з’являються наші відчуття та мислення. Штучний інтелект і когнітивне моделювання намагаються імітувати деякі властивості біологічних нейронних мереж. ШНМ є системою з’єднаних і взаємодіючих між собою простих процесорів (штучних нейронів). Такі процесори зазвичай досить прості (особливо в порівнянні з процесорами, використовуваними в персональних комп’ютерах). Кожен процесор подібної мережі має справу тільки з сигналами, які він періодично отримує, і сигналами, які він періодично посилає іншим процесорам. І, тим не менше, будучи з’єднаними в досить велику мережу з керованим взаємодією, такі окремо прості процесори разом здатні виконувати досить складні завдання.

Працює штучна нейронна мережа наступним чином: на входи нейронів надходять сигнали, які сумуються. При цьому враховується синаптична маса, тобто значимість кожного з входів. Далі, вхідні сигнали одних нейронів надходять на входи інших нейронів. Маса кожного такого зв’язку може бути позитивною( збуджуючі зв’язки ) або негативною( гальмівні зв’язки). Вони визначають обчислення нейронної мережі, а значить її пам’ять та поведінку. Принцип дуже схожий на роботу нашого власного процесору – мозку.

Але для того, щоб штучна нейронна мережа виконувала складні завдання, її необхідно навчити.

Навчання штучної нейронної мережі

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

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

Існують три загальні парадигми навчання: “з вчителем”, “без вчителя” (самонавчання) та змішана. У першому випадку нейромережа має у своєму розпорядженні правильні відповіді (виходи мережі) на кожен вхідний приклад. Ваги налаштовуються так, щоб мережа виробляла відповіді найбільш близькі до відомих правильних відповідей. Навчання без вчителя не вимагає знання правильних відповідей на кожен приклад навчальної вибірки. У цьому випадку розкривається внутрішня структура даних та кореляція між зразками в навчальній множині, що дозволяє розподілити зразки по категоріях. При змішаному навчанні частина ваг визначається за допомогою навчання зі вчителем, у той час як інша визначається за допомогою самонавчання.

Найпоширеніші застосування нейронних мереж

  1. Розпізнавання образів та класифікація. В якості образів можуть виступати різні за своєю природою об’єкти: символи тексту, зображення, зразки звуків і т. д. При навчанні мережі пропонуються різні зразки образів із зазначенням того, до якого класу вони відносяться. Коли мережі пред’являється якийсь образ, на одному з її виходів повинна з’явитися ознака того, що образ належить цьому класу. У той же час на інших виходах повинна бути ознака того, що образ  до даного класу не належить.
  2. Прийняття рішень та управління. Це завдання близьке до задачі класифікації. Класифікації підлягають ситуації, характеристики яких надходять на вхід нейронної мережі. На виході мережі повинна з’явитися ознака рішення, яке вона прийняла.
  3. Кластеризація. Під кластеризацією розуміється розбиття множини вхідних сигналів на класи, при тому, що ні кількість, ні ознаки класів заздалегідь не відомі. Після навчання така мережа здатна визначати, до якого класу належить вхідний сигнал.
  4. Прогнозування. Здібності нейронної мережі до прогнозування безпосередньо випливають з її здатності до узагальнення та виділення прихованих залежностей між вхідними та вихідними даними. Після навчання мережа здатна передбачити майбутнє значення якоїсь послідовності на основі декількох попередніх значень або якихось існуючих зараз чинників.
  5. Стиснення даних і асоціативна пам’ять. Здатність нейромереж до виявлення взаємозв’язків між різними параметрами дає можливість висловити дані великої розмірності більш компактно, якщо дані тісно взаємопов’язані між собою. Зворотній процес – відновлення вихідного набору даних з частини інформації – називається асоціативною пам’яттю.

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

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