Як працюють нейронні мережі та що таке машинне навчання - Афіша Daily
Минулого місяця у Цюріху відкрився дослідницький центр Google, який займається розробкою систем машинного навчання та їх впровадженням у продукти компанії. "Афіша Daily" побувала в штаб-квартирі і з'ясувала, як влаштовано машинне навчання, що таке нейронні мережі, про які всі говорять.
Машинне навчання – шлях до штучного інтелекту
«Машинне навчання — це лише спроба зробити машину, яка навчається на своєму досвіді. Сьогодні ми припускаємо, що розробка таких машин — найшвидший шлях створення справжнього штучного інтелекту. Але щоб комп'ютер став розумним, має статися прорив на стику науки та мистецтва.
Machine Learning – новий інструмент, новий шлях інженерії. Ми займаємося машинним навчанням у двох напрямках: покращуємо свої продукти — наприклад, пошуковик, наріжний камінь нашого бізнесу, — і будуємо нові продукти, які раніше були просто неможливі. Є кілька методів машинного навчання, які сьогодні застосовуються на практиці».
«Supervised Learning – один із найважливіших типів. Уявіть, якби ви вчилися грати в шахи, а за вашою спиною стояв би гросмейстер і нашіптував, як ходити. Конкретний приклад: автоматичне сортування спаму у вашій пошті. Раніше програмісти задавали певні правила, наприклад, якщо в тексті слово viagra написано з дивними символами – це на 99 відсотків спам. Тепер алгоритм вивчає архів листів, які були позначені як спам і не спам. Він робить це знову і знову і повільно, але вірно стає кращим і кращим, визначає спам все точніше. Це дуже успішна техніка і кістяк багатьох систем».
Reinforcement Learning ґрунтується на негативному та позитивномувідгуку, чи, інакше кажучи, досвіді. Якщо наводити приклад із шахами: уявіть, якби ви вчилися грати, щоразу програвали, але робили з цього висновки.
Спонтанне навчання (Unsupervised Learning) працює без втручання з боку експериментатора. Машина проводить аналіз структур даних, вичленуючи їх якісь загальні патерни. Ми, люди, володіємо всіма трьома зазначеними способами. Але машини поки що освоїли непогано лише перший, і поступово ми намагаємося навчити двома іншим.
Як саме навчаються машини
«Машинне навчання завжди має справу з введенням та виведенням даних, і між цими процесами стоїть певна математична модель. Уявіть, що нам потрібно передбачити оцінки учнів, скільки часу вони витратили на підготовку до іспиту. Звичайно, здавалося б, чим довше вони займаються, тим вищі їх оцінки. Але раптом тест дуже легкий і вчитися не обов'язково? Чи, навпаки, тест дуже важкий? Машина не знає ці тонкощі, вона не має життєвого досвіду. Як їй прорахувати ці закономірності?
Взагалі, все завдання вписується в лінійний графік Wx + B - це і є потрібна модель. Ми можемо підставляти під значення W і B будь-які числа, які беремо зі спостережень: наприклад, студент займався дві з половиною години та отримав оцінку 80; потім ми звертаємося до іншого спостереження і продовжуватимемо заносити дані, скорочуючи помилку прогнозу. Після часу з накопиченням досвіду ми отримаємо графік, який відображатиме загальну тенденцію».
Така дуже спрощена система і є суть програми машинного навчання. Одна її частина - це вхідні дані, математична модель та набір параметрів (частіше просто набір чисел); друга — алгоритм, який порівнює вхідні дані та постійно уточнює прогноз. Щоб системаудосконалювалася, вона повинна пройти цей шлях мільйони та мільярди разів. Тому ми тільки недавно дійшли її створення: комп'ютери стали для неї досить потужними. І все одно вони, як і раніше, дуже повільні учні.
Інша проблема машинного навчання: ми повинні мати мільйони та мільйони прикладів, тих самих вхідних та вихідних даних. Сама система — це щось на зразок ракети: розумники на зразок мене можуть годинами говорити про те, яка має бути форма, але вона нікуди не полетить без палива. Ці дані — саме воно і є».
Що таке глибинне навчання
«Мати справу з простими рівняннями це одне, але як, наприклад, визначити, що зображено на картинці? Потрібна набагато складніша математична модель. І тут на допомогу приходить Deep Learning – специфічний тип машинного навчання. По суті, це те, що називається штучною нейронною мережею. Концепцію вигадали ще у 1930-х, але важливі математичні розрахунки для неї провели лише у 1980-х. Головна особливість глибинного навчання у цьому, що його засновано не так на однієї функції, але в великому наборі.
В інституті я навчався не інформатиці, а нейронауці, тобто, по суті, я витратив 8 років, щоб зрозуміти, як мало ми знаємо про мозок. Так от комп'ютерні нейронні мережі з великою натяжкою можна вважати схожими на те, як влаштований наш мозок. Але спільне таки є.
Ви сприймаєте цю інформацію завдяки взаємодії величезної кількості нейронів - індивідуальних клітин, з яких складається мозок. Кожна з них сама по собі не розумна. Але вона взаємодіє з іншими нейронами поблизу, ґрунтуючись на тому, як вони перетворять вхідний сигнал у вихідний.
У нейронній мережі Google замість окремих клітин-нейронів крихітні математичні функції - можливо, трохи складніше, ніж Wx +B. Кожна їх орієнтується на безліч навколо. Мільйони та мільярди математичних функцій працюють разом, і чим краще вони натреновані на це, тим сильніша система.
Ця технологія дозволяє робити різні божевільні речі: підписувати фотографії, синтезувати мистецтво і навіть вигравати в го. Вона також використовується в розпізнаванні мови та тексту. Ми почали працювати над нейронними мережами у 2011 році, і ви можете побачити, як ми просунулися за ці роки».
Як це застосовується на практиці
Ми не просто говоримо про те, що на нас чекає в майбутньому. Ми щосили впроваджуємо ці технології. Наприклад, розпізнавання мови в Google Now базується на Machine Learning, і останнім часом воно дуже серйозно покращало. Ми також навчилися визначати, що зображено на картинках, щоб вам не доводилося розставляти теги під фото в Google Drive вручну. Ми використовуємо цю технологію в машинному перекладі: якщо раніше він здебільшого ґрунтувався на правилах граматики, то тепер на досвіді так само, як навчають мову діти. За схожим принципом працює функція Smart Reply, яка складає короткі автоматичні відповіді, якщо у вхідному листі виявляється питання. Зараз до 10% відповідей у Gmail припадають на цю функцію.