Штучні нейронні мережі: <em> RNN, CNN, GAN, DQN </em> 8 Штучні нейронні мережі: <em> RNN, CNN, GAN, DQN </em> 9 Штучні нейронні мережі: <em> RNN, CNN, GAN, DQN </em> 10

ML: Нейронні мережі та глибоке навчання

#Машинне навчання #Нейронні мережі

Нейронні мережі (Neural network, NN) або Штучні нейронні мережі (Artificial neural networks, ANN) – один із видів машинного навчання.

Сьогодні нейронні мережі використовують як альтернативу всім існуючим алгоритмам для машинного перекладу, розпізнавання мови та музики, обробки зображень, визначення об'єктів на фото та відео. Глибоке навчання (Deep learning) – метод машинного навчання, заснований, у першу чергу, на нейронних мережах, хоча можна застосовувати й інші методи. У сучасній реальності практично у всьому, що стосується Deep Learning, використовують нейронні мережі.

Успіх глибокого навчання безпосередньо залежить від потужності техніки. На момент появи нейронних мереж потужності комп'ютерів були низькими, через що і самі мережі були досить слабкими. Саме тому в той час неможливо було створити велику кількість шарів нейронних мереж, а саме від кількості шарів залежать можливості мережі. Але з появою GPU і TPU все змінилося. Сучасний Deep Learning здатен упоратися з великими розмірами мереж. А для глибокого навчання використовують спеціальні фреймворки: Keras, DetectronTensorFlowPyTorch і інші.

Як працює нейронна мережа?

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

Для чого застосовують нейронні мережі?

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

Генерація віршів – RNN

RNN стихотворение

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

Приклад віршів російською (взятий тут)

RNN стихотворение

Розпізнавання образів – CNN

CNN або Convolutional neural network – одні з найвпливовіших інновацій в області комп'ютерного зору. Застосовуються скрізь, де необхідно розпізнати і/або класифікувати образи/обличчя. Зі складних задач, наприклад, для забезпечення безпеки в аеропортах, на вокзалах, в системах допуску корпорацій із високим рівнем секретності. У щоденному використанні – для більш зручного способу здійснювати покупки. Детальніше ми описали в статтях про кейс нашого клієнта "Ваш пульт" і "Візуальний пошук – революція в e-commerce".

Детальний опис роботи та застосування CNN можна прочитати тут.

Фотореалістичні зображення – GAN

GAN або Generative Adversarial Nets використовуються, наприклад, у криміналістиці, коли потрібно створити фоторобот злочинця за описом, в дизайні – для створення предметів одягу або інтер'єру, виходячи з їхнього призначення, в кіновиробництві – коли потрібно поміняти освітлення, настрій кадру, зістарити/омолодити героя. Саме нейронна мережа типу GAN використовується в тестах Фейсбук типу "Як би ти виглядав, якби був протилежної статі".

Приклад роботи GAN

Детальніше про GAN можна прочитати тут.

Прийняття рішень і боти в іграх – DQN

Нейронні мережі типу DQN або Deep Q Learning використовують для прийняття рішень ШІ на підстав аналізу поточної ситуації. Тобто система сама збирає дані, сама їх аналізує, прогнозує найбільш ймовірний результат у тій чи іншій ситуації, приймає максимально вигідне рішення на підставі всіх факторів. Роботу таких нейронних мереж демонструють безпілотні автомобілі, трейдингові боти, чат-боти та ін.

Саме DQN лежить в основі машинного навчання типу "навчання без учителя". Один з яскравих прикладів – самонавчання бота в комп'ютерній грі.

DQN

Детальніше про всі інструменти ML читайте в наших статтях: «Штучний інтелект, машинне навчання - різниця, теорія і практика»,«Класичне навчання як різновид машинного навчання»,«Навчання з підкріпленням як різновид машинного навчання»,«Ансамблі як вид машинного навчання».

25.01.2019
Зображення, використані в статті, були взяті з відкритих джерел і використовуються як ілюстрації.
Хочете обговорити ваш проект або замовити розробку?
Надіслати
Цей сайт є українською мовою. Ви можете переключити мову у меню, або зробити це зараз.