Нейронні мережі: їх застосування, робота

Стаття написана Павлом Чайкою, головним редактором журналу «Пізнавайка». З 2013 року з моменту заснування журналу Павло Чайка присвятив себе популяризації науки в Україні та світі. Основна мета як журналу, так і цієї статті – пояснити складні наукові теми простою та доступною мовою.

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

Зміст:

  • Визначення

  • Біологічні мережі

  • Історія

  • Штучні мережі

  • Застосування

  • Типи

  • Згорткові мережі

  • Рекурентні мережі

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

    Визначення

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

    Біологічні мережі

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

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

    нейронна мережа

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

    Історія

    Яка ж історія розвитку нейронних мереж у науці і техніці? Вона бере свій початок з появи перших комп’ютерів або ЕОМ (електронно-обчислювальна машина) як їх називали в ті часи. Так ще в кінці 1940-х років такий собі Дональд Хебб розробив механізм нейронної мережі, чим заклав правила навчання ЕОМ, цих «протокомп’ютерів».

    Подальша хронологія подій була наступною:

    • У 1954 році відбувається перше практичне використання нейронних мереж в роботі ЕОМ.
    • У 1958 році Франком Розенблатом розроблено алгоритм розпізнавання образів і математична анотація до нього.
    • У 1960-х роках інтерес до розробки нейронних мереж трохи згас через слабкі потужності комп’ютерів того часу.
    • І знову відродився вже в 1980-х роках, саме в цей період з’являється система з механізмом зворотного зв’язку, розробляються алгоритми самонавчання.
    • До 2000 року потужності комп’ютерів зросли настільки, що змогли втілити найсміливіші мрії вчених минулого. У цей час з’являються програми розпізнавання голосу, комп’ютерного зору та багато іншого.

    нейронна мережа

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

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

    • Штучні нейрони, що представляють собою елементарні, пов’язані між собою одиниці.
    • Синапс – це з’єднання, що використовується для відправки-отримання інформації між нейронами.
    • Сигнал – власне інформація, що підлягає передачі.

    Застосування

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

    • Машинне навчання (machine learning), що представляє собою різновид штучного інтелекту. В основі його лежить навчання ШІ на прикладі мільйонів однотипних завдань. В наш час машинне навчання активно впроваджують пошукові системи Гугл, Яндекс, Бінг, Байду. Так на основі мільйонів пошукових запитів, які всі ми кожен день вводимо в Гуглі, їх алгоритми навчаються показувати нам найбільш релевантну видачу, щоб ми могли знайти саме те, що шукаємо.
    • В роботехніці нейронні мережі використовуються у виробленні чисельних алгоритмів для залізних «мізків» роботів.
    • Архітектори комп’ютерних систем користуються нейронними мережами для вирішення проблеми паралельних обчислень.
    • З допомогою нейронних мереж математики можуть вирішувати різні складні математичні задачі.

    Типи

    В цілому для різних задач застосовуються різні види і типи нейронних мереж, серед яких можна виділити:

    • згорткові нейронні мережі,
    • рекурентні нейронні мережі,
    • нейронну мережу Хопфілда.

    Далі ми детально зупинимося на деяких з них.

    нейрон

    Згорткові мережі

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

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

    Рекурентні мережі

    Рекурентними називають такі нейронні мережі, з’єднання між нейронами яких, утворюють орієнтовний цикл. Мають такі характеристики:

    • У кожного з’єднання є своя вага, вона ж пріоритет.
    • Вузли поділяються на два типи, ввідні вузли і вузли приховані.
    • Інформація у рекурентній нейронній мережі передається не тільки по прямій, шар за шаром, але і між самими нейронами.
    • Важливою відмінною особливістю рекурентної нейронної мережі є наявність так званої «області уваги», коли машині можна задати певні фрагменти даних, що потребують посиленої обробки.

    Рекурентні нейронні мережі застосовуються в розпізнаванні і обробці текстових даних (зокрема на їх основі працює Гугл перекладач, алгоритм Яндекс «Палех», голосовий помічник Apple Siri).


    Автор: Павло Чайка, головний редактор журналу Пізнавайка

    При написанні статті намагався зробити її максимально цікавою, корисною та якісною. Буду вдячний за будь-який зворотний зв'язок та конструктивну критику у вигляді коментарів до статті. Також Ваше побажання/питання/пропозицію можете написати на мою пошту pavelchaika1983@gmail.com або у Фейсбук.


    Ця стаття доступна англійською – Neural Networks.