Визначення та еволюція нейронних мереж


Нейронні мережі

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

Еволюція штучних нейронних систем проходила протягом більше ніж двох тисяч років. Інтерес до моделювання людської системи навчання може бути віднесений до епохи Китайських майстрів, тобто ще майже 200 років до нашої ери. Однак найбільші дослідження з розроблення функції простого нейрона були проведені в кінці 30-х років XX століття Уореном Мак-Каллоком (Warren McCulloch) і Уолтером Піттсом (Walter Pitts), що може розглядатися як реальна стартова точка в даній галузі знань. 1943 року ці автори опублікували свої результати в книзі "Логічне числення ідей, що стосуються нервової діяльності".

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

Одне з найзнаменитіших правил (законів) навчання було запропоновано 1949 року Дональдом Геббом (Donald Hebb). У цьому правилі стверджується, що з більшою частотою сприяє збудженню одного нейрона перша секунда, тобто ефективнішим буде вплив на першій секунді. Отже, пам’ять зберігається в синаптичних зв’язках мозку, і навчання відбувається зі змінами в силі цих зв’язків.

Першим нейрокомп’ютером (neurocomputer) можна вважати пристрій "Snark", який розробив М. Мінський (Marvin Minsky) на початку 50-х років XX ст., що розглядається багатьма вченими як перший комп’ютерний аналог людського мозку. Хоча з технічного боку пристрій мав певний успіх, проте він був неспроможним виконати будь-яку значну функцію з оброблення інформації.

У середині 50-х років Франк Розенблат (Frank Rosenblatt), нейрофізик з університету Cornell (США), розробив пристрій апаратних засобів персептрон (Perceptron) – електронний пристрій для розпізнавання зорових образів (зображень). В персептроні використані штучні нейронні структури, які Розенблат назвав персептронами, комбінованими з простим правилом навчання. Персептрон міг узагальнювати й реагувати на незнайомі ввідні стимули. Хоч успіх Розенблата і сприяв появі надій на швидке створення штучного мозку, проте М. Мінський і С. Паперт (Seymour Papert), піонери в галузі штучного інтелекту, довели, що персептрони Розенблата не зможуть розв’язати прості проблеми логіки, що послужило тимчасовим гальмом дослідження нейромереж. Реальні досягнення щодо створення та широкого застосування нейромереж отримані за останні десять років.

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

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

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

Сучасні нейромережі мають низку властивостей, характерних для біологічних нейромереж, у тому числі й людського мозку. Головна їх властивість – здібність до навчання. Для розв’язання якої-небудь задачі на комп’ютері традиційним методом необхідно знати правила (математичні формули), за якими зі вхідних даних можна отримати вихідні, тобто знайти розв’язок задачі. А за допомогою нейромережі можна знайти розв’язок, не знаючи правил, а маючи лише кілька прикладів.

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

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