Нейронні мережі (Neural network, NN) або Штучні нейронні мережі (Artificial neural networks, ANN) – один із видів машинного навчання.
Сьогодні нейронні мережі використовують як альтернативу всім існуючим алгоритмам для машинного перекладу, розпізнавання мови та музики, обробки зображень, визначення об'єктів на фото та відео. Глибоке навчання (Deep learning) – метод машинного навчання, заснований, у першу чергу, на нейронних мережах, хоча можна застосовувати й інші методи. У сучасній реальності практично у всьому, що стосується Deep Learning, використовують нейронні мережі.
Успіх глибокого навчання безпосередньо залежить від потужності техніки. На момент появи нейронних мереж потужності комп'ютерів були низькими, через що і самі мережі були досить слабкими. Саме тому в той час неможливо було створити велику кількість шарів нейронних мереж, а саме від кількості шарів залежать можливості мережі. Але з появою GPU і TPU все змінилося. Сучасний Deep Learning здатен упоратися з великими розмірами мереж. А для глибокого навчання використовують спеціальні фреймворки: Keras, Detectron, TensorFlow, PyTorch і інші.
В інтернеті маса матеріалів, в яких порівнюють роботу нейронної мережі та людського мозку. Аналогія з біологією зрозуміла тільки в найбільш загальному сенсі, але не дає розуміння яким конкретно чином працює нейронна мережа. Для тих, хто хоче розібратися в темі глибше, але не любить формули та математичні абстракції, ми розібрали як працює нейронна мережа, як вона навчається і описали в окремій статті.
Нейронні мережі використовують практично у всіх завданнях, де людина намагається застосувати ШІ. Розглянемо буквально кілька прикладів із посиланнями на більш докладні статті в залежності від типу нейромережі.
Цей вірш було насправді написано RNN. Цікавою особливістю даних мереж є їхнє вміння створювати власні унікальні слова, яких не було в словнику, на якому їх навчали.
Приклад віршів російською (взятий тут)
CNN або Convolutional neural network – одні з найвпливовіших інновацій в області комп'ютерного зору. Застосовуються скрізь, де необхідно розпізнати і/або класифікувати образи/обличчя. Зі складних задач, наприклад, для забезпечення безпеки в аеропортах, на вокзалах, в системах допуску корпорацій із високим рівнем секретності. У щоденному використанні – для більш зручного способу здійснювати покупки. Детальніше ми описали в статтях про кейс нашого клієнта "Ваш пульт" і "Візуальний пошук – революція в e-commerce".
Детальний опис роботи та застосування CNN можна прочитати тут.
GAN або Generative Adversarial Nets використовуються, наприклад, у криміналістиці, коли потрібно створити фоторобот злочинця за описом, в дизайні – для створення предметів одягу або інтер'єру, виходячи з їхнього призначення, в кіновиробництві – коли потрібно поміняти освітлення, настрій кадру, зістарити/омолодити героя. Саме нейронна мережа типу GAN використовується в тестах Фейсбук типу "Як би ти виглядав, якби був протилежної статі".
Приклад роботи GAN
Детальніше про GAN можна прочитати тут.
Нейронні мережі типу DQN або Deep Q Learning використовують для прийняття рішень ШІ на підстав аналізу поточної ситуації. Тобто система сама збирає дані, сама їх аналізує, прогнозує найбільш ймовірний результат у тій чи іншій ситуації, приймає максимально вигідне рішення на підставі всіх факторів. Роботу таких нейронних мереж демонструють безпілотні автомобілі, трейдингові боти, чат-боти та ін.
Саме DQN лежить в основі машинного навчання типу "навчання без учителя". Один з яскравих прикладів – самонавчання бота в комп'ютерній грі.
Детальніше про всі інструменти ML читайте в наших статтях: «Штучний інтелект, машинне навчання - різниця, теорія і практика»,«Класичне навчання як різновид машинного навчання»,«Навчання з підкріпленням як різновид машинного навчання»,«Ансамблі як вид машинного навчання».