AI & ML дайджест #4: 16 трендів 2016 року

У випуску: генеративні моделі, OpenAI, Reinforcement Learning, чатботы, нові трюки для LSTM, еnd-to-end машинний переклад.

Давайте згадаємо, що цікавого було в 2016 році:

1) Перемога в грі над чинним чемпіоном-людиною Чи Седолем

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

2) Перенесення художнього стилю

Напевно, багатьом вже встигли набриднути розмальовані фотографії в інтернеті, але алгоритми перенесення художнього стилю дійсно були дуже популярні в цьому році. Величезна кількість додатків (DeepArt, Prisma, Mlvch, Artisto) і підходів до самого переносу (feed-forward style transfer, texture networks, neural doodles, GAN), так і факт, що Facebook вмонтував цю функцію у себе не дає нам ігнорувати цю тему. Щоб ознайомитися, рекомендую подивитися код і опис на гітхабі Джонсона , PhD студента зі Стенфорда, розробника однією з найпопулярніших реалізацій.

3) Все що завгодно може бути нейронною мережею

Минулий рік був цікавий тим, що дослідникам вдалося добре реалізувати і використати поняття уваги, пам'яті, стека як дифференциируемые (а, значить, слухачі) структури. Але DeepMind пішов ще далі і заявили, що цілий комп'ютер і є така система . Рано говорити про практичному використанні, але підхід, і взагалі тренд вкрай цікавий.

4) OpenAI

Ілон Маск, Пітер Тіль, Сем Альтман. Ці хлопці не тільки успішні серійні підприємці, а тепер і серйозні гравці на ринку штучного інтелекту. Їх компанія (некомерційна) займається цікавими розробками в області reinforcement learning, генеративних моделей і запрошує топ-фахівців для роботи. Також вони випустили свої дуже зручні бібліотеки для навчання з підкріпленням (OpenAI Gym) і середовище для перетворення будь-якої активності на екрані для об'єкта навчання (OpenAI Universe). А ще вони пропонують вам взятися за цікаві, на їх думку, завдання . Чому б не спробувати?

5) Генеративні моделі

Generative adversarial networks, Variational autoencoders, PixelRNN. Ці три штуки вміють генерувати картинки. Звучить це дуже просто і банально, але дослідження генеративних моделях стало бумом у світі машинного навчання, і цей бум ще не закінчився. Поки що тільки-тільки виходить генерувати трохи потворних, але дуже реалістичних собак, немовлят, будівлі, ліси та інші об'єкти з ImageNet, але це тільки початок чогось більшого. Ознайомитись можна в огляді від OpenAI . На основі цих моделей генерують навіть відео і пророкують, що ж відбудеться на цьому відео через пару секунд.

6) Reinforcement Learning

Другий головний тренд 2016-го нарівні з generative models. Єдине, що шкода, що поки що основне застосування навчання з підкріпленням — це іграшки. Але після того, як AlphaGo вперше перемогла у го, з'явилися напрацювання в Doom, лабіринтах, гоночних симуляторах, DeepMind навіть замахнулися на перемогу в StarCraft . Головна принада в тому, що алгоритм навчається натискати на кнопки просто з інформації на екрані. Ще одне цікаве і вже практичне застосування навчання з підкріпленням — це, звичайно, безпілотні автомобілі .

7) Глибше, глибше, глибше!

У 2014 році хлопці з Оксфорда показали нам на той момент глибоку, 16-шарову сітку для розпізнавання зображень. Зовсім трохи пізніше Google дали нам Inception, номінально ще більш глибокий. Якийсь час всі колупалися з Batch Normalization, Dropouts, Highway networks, поки азіатський відділ Microsoft не показали нам як робити по-справжньому глибокі сітки — Residual Neural Networks. І всі як з ланцюга зірвалися у своєму бажанню зробити сітку глибше і ширше. Ускладнити inception-блоки і склеїти сотню таких — ще не сама страшна витівка, як вам збільшувати сітки фрактально або робити residual-з'єднання до всіх шарів? Короткий огляд такої еволюції можна подивитися тут .

8) Компресія нейронних мереж

Після того, як з допомогою residual learning ми навчилися клепати 1000-слойні сітки, виникає резонне питання: а як всі ці сотні мільйонів параметрів зберігати? На цю тему придумали кілька цікавих підходів, як все це справа стискати, рекомендую ознайомитись із наступними статтями: раз , два , три .

9) Розпізнавання і генерація голоси

Так-так, тема заїжджена, та і працює вже багато років, але завжди вас добре розуміє Siri чи радує вас озвучення тексту в Google Translate? То-то ж. DeepMind (так, знову вони) реалізували end-to-end підхід для генерації голоси до жаху схоже на людський і ця ж архітектура може бути застосована для розпізнавання з сирого аудіо.

10) Перемога Трампа

Останні вибори в США теж не обійшлися без участі data science. Як виявилося, команда вчених з табору Дональда навчилася моделювати інтереси і особистість людей в соціальних мережах буквально по 10-50 лайкам — визначати стать, вік, расу, навіть статеву орієнтацію. На відміну від табору Клінтон, де статистики поділяли людей за старими звичайним критеріям, вчені Трампа завдяки мегаточной таргетированой рекламі принесли йому перемогу. Детальніше читаємо тут .

11) Equilibrium Propagation

Сьогодні нейронні мережі навчаються за принципом з минулого століття — є функція помилки, є параметри, від яких вона залежить, давайте її мінімізувати! А приватні похідні вважати backpropagation (chain rule студентів першого курсу). Йошуа Бенгио попрацював над тим, щоб зробити навчання глибоких мереж більш схожим на біологічний процес, де чітко виражена функція помилки, ні похідні не потрібні. Складно, але цікаво. Хоча б разок глянути варто однозначно .

12) Чатботы

Про чатботы написано багато, дуже багато. Не хочеться повторювати, наприклад, огляди від VentureBeat , але ми бачимо, що при достатньому наборі даних, sequence2sequence моделі з різними трюками типу neural attention працюють, і працюють чудово в межах предметної області. А що ще потрібно, щоб замінити працівників підтримки, які відповідають на питання по продукту...?

13) Нові трюки для LSTM

Юрген Шмидтхубер придумав LSTM моделі в далекому 1997, щоб позбутися від проблем звичайних рекурентних мереж, і зараз вони застосовуються скрізь і щосили: від аналізу тексту до генерацій описів до зображень. Але немає межі досконалості — «хрещений батько» deep learning, Джефрі Хінтон, являє fast weights для ще більш ефективної роботи рекурентних сіток, особливо для sequence2sequence моделей.

14) Згорткові мережі для графів і структур

Convolutional neural networks вже давно показали свою ефективність у роботі з зображеннями, текстом, сигналами. Але для роботи зі структурованими даними, як графові бази даних, вони ще не застосовувалися. І дуже даремно, вони дозволяють точно так само ефективно отримувати ознаки із структур. Хороший детальний огляд технології в популярному форматі (і трохи формул) читаємо тут .

15) End-to-end машинний переклад

Машинний переклад, таке відчуття, що тільки й чекав появи deep learning. Глибокі сітки (знову sequence2sequence) як ніби створені, щоб перекладати з однієї мови на іншу. І Google це зробили, представивши Google Neural Machine Translation (GNMT) , яка здатна переводити 103 мови. Але ті, хто вчили хоч би парочку іноземних мов, думаю, знають, як схожі італійський і іспанський, німецький і голландський, так нам далеко ходити не треба — російський, український, білоруський. Невже для кожної пари потрібна окрема нейронна мережа? І ось тут нам на блюдечку приносять google's Multilingual Neural Machine Translation System: Enabling Zero-Shot Translation . Так, це одна архітектура для всіх мов. Що ще більш цікаво, бо все, що вони додали в GNMT — це тільки додаткову мітку на початку речення, яке ми перекладаємо. І більше того, аналіз того, що вивчила мережа, дає нам уявлення про схожість багатьох мов, навіть, на перший погляд, абсолютно різних, як англійська, корейська.

16) Хороші книги

І, наостанок, любителям почитати. У цьому році вийшли 2 чудові книги по Deep Learning і за Reinforcement Learning від шановних практиків (Bengio, Goodfellow, Sutton). Обидві можна вважати першими значущими книгами в своїх областях. Особисто я обидві придбав у паперовому варіанті, першу читаю зараз — не можу натішитися, чудово викладений матеріал, добре описана математика на доступному рівні, охоплює всі останні напрацювання від звичайних перцептронов до генеративних моделей. Друга книга, навіть перегорнувши, теж хороша, повинна бути чудовим вступом на навчання з підкріпленням. Рекомендую! До речі, першу можна почитати онлайн безкоштовно .


? Попередній випуск: AI & ML дайджест #3

Опубліковано: 16/12/16 @ 11:00
Розділ Різне

Рекомендуємо:

Огляд ІТ-ринку праці: Івано-Франківськ
Огляд цікавих інструментів 4 ahrefs.com
IT-благодійність: огляд ініціатив, до яких можна приєднатися
DOU Проектор: Spark — новий погляд на пошту
Засновник ELEKS Олексій Скрипник — про підсумки 2-х років в політиці