IT.UA - home page

Меню
Aside section
Повернутися до списку

Machine Learning - Машинне навчання

Машинне навчання (МО, Machine Learning, ML) - великий підрозділ штучного інтелекту, що вивчає методи побудови алгоритмів, здатних навчатися.1

Існують і інші визначення.

Машинне навчання - це «розділ ІІ, який досліджує методи, що дозволяють комп'ютерам покращувати свої характеристики на основі отриманого досвіду».2

Коротка історія та великі надії

Першу програму на основі алгоритмів, здатних самонавчатися, розробив Артур Самуель (Arthur Samuel) в 1952 році, призначена вона була для гри в шашки. Самуель дав і перше визначення терміну «машинне навчання»: це «область досліджень розробки машин, які не є заздалегідь запрограмованими». Більш точне визначення терміну «навчання» дав набагато пізніше Т. М. Мітчелл: кажуть, що комп'ютерна програма навчається на основі досвіду E по відношенню до деякого класу задач T і заходи якості P, якщо якість вирішення завдань з T, виміряний на основі P, поліпшується з набуттям досвіду E.3

Вже в 1957 році була запропонована перша модель нейронної мережі, що реалізує алгоритми машинного навчання, схожі на сучасні. В даний час ведеться розробка самих різних систем машинного навчання, призначених для використання в таких технологіях майбутнього, як Інтернет Речей, Промисловий Інтернет Речей, в концепції «розумний» місто, при створенні безпілотного транспорту і в багатьох інших.

Про те, що на машинне навчання зараз покладають великі надії, свідчать такі факти.

  • В компанії Google вважають, що скоро її продукти «перестануть бути результатом традиційного програмування - в їх основу буде покладено машинне навчання»;
  • Компанії Google, Facebook, Apple, Amazon, Microsoft і китайська фірма Baidu вступили в боротьбу за талановитих фахівців у сфері штучного інтелекту;
  • Марк Цукерберг, генеральний директор Facebook, особисто - по телефону і по відеочату - бере участь в спробах його компанії переманити найкращих випускників;
  • Відвідуваність на найважливіших академічних конференціях в цій сфері збільшилася майже в чотири рази;
  • Такі нові продукти, як Siri від Apple, M від Facebook, Echo від Amazon були створені за допомогою машинного навчання.4

Методи машинного навчання

У найзагальнішому випадку розрізняють два типу машинного навчання: навчання по прецедентах, або індуктивне навчання, і дедуктивне навчання. Оскільки останнє прийнято відносити до області експертних систем, то терміни «машинне навчання» і «навчання по прецедентах» можна вважати синонімами. Цей метод навчання зараз, як прийнято говорити, в тренді, а ось експертні системи переживають кризу. Бази знань, що лежать в їх основі, важко узгоджувати з реляційною моделлю даних, тому промислові СУБД неможливо ефективно використовувати для наповнення баз знань експертних систем.

Навчання по прецедентах, в свою чергу, поділяють на три основних типи: контрольоване навчання, або навчання з учителем (supervised learning), неконтрольоване навчання (unsupervised learning), або навчання без учителя, і навчання з підкріпленням (reinforcement learning).5

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

Контрольоване навчання

Цей метод навчання застосовується у випадках, коли є великі обсяги даних, припустимо - тисячі фотографій домашніх тварин з маркерами (мітками, ярликами): це кішка, а це собака. Необхідно створити алгоритм, за допомогою якого машина могла б по фотографії, яку «не бачила» раніше, визначити, хто на ній зображений: кішка або собака. У ролі «вчителя» в даному випадку виступає людина, яка заздалегідь проставила маркери. Машина сама вибирає ознаки, за якими вона відрізняє кішок від собак. Тому в подальшому знайдений нею алгоритм може бути швидко переналаштований на рішення іншої задачі, наприклад, на розпізнавання курей і качок. Машина знову-таки сама виконає складну і копітку роботу по виділенню ознак, за якими буде розрізняти цих птахів. А нейромережа, яку навчили розпізнавати кішок, можна швидко навчити обробляти результати комп'ютерної томографії.

Неконтрольоване навчання

Хоча маркованих, розмічених даних накопичилося вже досить багато, даних без маркерів (міток) все ж набагато більше. Це зображення без підписів, аудіозаписи без коментарів, тексти без анотацій. Завдання машини при неконтрольованому навчанні - знайти зв'язку між окремими даними, виявити закономірності, підібрати шаблони, упорядкувати дані або описати їх структуру, виконати класифікацію даних. Неконтрольоване навчання використовується, наприклад, в рекомендаційних системах, коли в інтернет-магазині на основі аналізу попередніх покупок покупцеві пропонуються товари, які можуть зацікавити його з більшою ймовірністю, ніж інші. Або коли на після перегляду якогось відеокліпу на порталі YouTube відвідувачеві пропонують десятки посилань на ролики, чимось схожі на переглянутий. Або коли Google у відповідь на один і той же запит ранжує посилання в результатах пошуку для одного користувача інакше, ніж для іншого, оскільки враховує історію пошуків.

Навчання з підкріпленням

Таке навчання є окремим випадком контрольованого навчання, але вчителем в даному випадку є «середовище». Машина (її в цій ситуації часто називають «агент») не має попередньої інформацією про середовище, але має можливість здійснювати в ній будь-які дії. Середа реагує на ці дії і тим самим надає агенту дані, які дозволяють йому реагувати на них і вчитися. Фактично агент і середовище утворюють систему зі зворотним зв'язком.

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

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

Для машинного навчання використовують різні технології та алгоритми. Зокрема, можуть застосовуватися дискримінантний аналіз, байєсовські класифікатори та багато інших математичних методів. Але в кінці XX століття все більше уваги почали приділяти штучним нейронним мережам (ANN). Черговий вибух інтересу до них почався в 1986 році, після істотного розвитку т.зв. «Методу зворотного поширення помилки», який з успіхом застосували при навчанні нейронної мережі.

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

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

Глибоке (глибинне) навчання може бути застосоване лише по відношенню до більш складних ANN, що містить кілька прихованих рівнів. При цьому рівні нейронів можуть чергуватися з шарами, які виконують складні логічні перетворення. Кожен наступний рівень мережі шукає взаємозв'язки в попередньому. Така ANN здатна знаходити не тільки прості взаємозв'язки, а й взаємозв'язки між взаємозв'язками. Саме завдяки переходу на нейромережу з глибинним навчанням компанії Google вдалося різко підвищити якість роботи свого популярного продукту «Перекладач». Зокрема, якість перекладу між англійською та французькою мовами підвищився відразу на 7 балів, тобто більш ніж на 20%. Попередня система, яка виконувала фразовий статистичний машинний переклад, домоглася подібного поліпшення за весь час свого існування (з 2006 року).6

Машинне навчання для бізнесу

Ринок машинного навчання швидко зростає. З 2016 року його обсяг подолав позначку в $1 млрд, а до 2025 року, судячи з прогнозів, він може збільшитися до $39,98 млрд.7

В кінці 2016 року MIT Technology Review і Google Cloud провели спільне дослідження на тему «Машинне навчання: новий спосіб отримати конкурентну перевагу». Було опитано 375 кваліфікованих респондентів з різних країн світу, які працюють в дрібних і великих компаніях з різних галузей (промисловість, послуги, фінанси). В результаті дослідження з'ясувалося, що 60% компаній вже використовують машинне навчання (ML), а в третини з них ця технологія перейшла зі стадії інноваційної в стадію зрілості. Більш того, 26% компаній вже отримують за рахунок ML конкурентну перевагу. Чверть компаній інвестують в ML понад 15% від коштів, спрямованих на розвиток IT, і в значній мірі повертають зроблені інвестиції.8

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

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

Бізнес-завдання, які можуть вирішуватися засобами машинного навчання і нейронних мереж:

  • Прогнозування: попиту, обсягу продажів, наповнення складу, завантаження устаткування і інших ресурсів, подальшого розвитку підприємства і т.п.
  • Виявлення: тенденцій, прихованих взаємозв'язків, аномалій, повторюваних елементів і т.п.
  • Розпізнавання: фото-, відео-, аудіоконтенту, спроб шахрайства, брехні, внутрішніх загроз, зовнішніх атак на систему безпеки і т.п.
  • Автоматизація: роботи операторів в онлайн-чатах, телефонних операторів і т.п.
  • Класифікація: аналіз складу покупців, клієнтів, замовників і сегментація їх за різними параметрами.
  • Кластеризація: класифікація за параметрами, які з самого початку не були відомі.
  • Розробка: чат-ботів.9

Приклади реалізації

Найбільша в світі торгова площадка Alibaba широко використовує машинне навчання та інші засоби ІІ. В результаті її віртуальні вітрини підлаштовуються під кожного покупця, а система пошуку видає для нього найкращі варіанти. Чат-бот Ali Xiaomi може самостійно впоратися з більшістю звернень клієнтів в техпідтримку. Більш того, розроблена компанією Alibaba нейронна мережа вперше перевершила результати людини при проходженні тестів від Стенфордського університету. У ці тести входять вправи на читання або прослуховування певної інформації, а потім відповіді на перевірочні питання.10

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

Популярний фотохостинг Pinterest використовує машинне навчання, щоб показувати своїм користувачам найцікавіші для них фотографії.12

Лукас Бівальд (Lukas Biewald), генеральний директор компанії Figure Eight (колиш. CrowdFlower), яка пропонує безліч проектів машинного навчання, вважає, що воно вже помітно змінює роботу багатьох фірм. І над цим працюють не тільки компанії, які можуть витрачати величезні кошти на дослідження і розробки, такі як Google або Microsoft. Насправді, впевнений Лукас Бівальд, кожна компанія зі списку Fortune 500 вже працює набагато ефективніше і заробляє більше грошей завдяки саме машинному навчанню.13

Серед компаній з українським корінням слід зазначити стартап Neuromation, який в лютому 2017 року під час ICO залучив $71,6 млн. інвестицій.

Платформа Neuromation дозволяє створювати штучне навчальне середовище для глибокого навчання нейронних мереж на великій кількості прикладів. Дані для навчання ANN генеруються з використанням обчислювальних потужностей блокчейн-спільноти. Настільки оригінальне рішення компанія прийняла тому, що раніше, в процесі роботи над системами з використанням комп'ютерного зору, зіткнулася з проблемою браку обчислювальних ресурсів. Оренда ресурсів у хмарних сервісів Amazon або Google для стартапу виявилася непідйомною. А через бум майнінгу було практично неможливо купити відеокарти. Так з'явилася ідея брати обчислювальні потужності в оренду у майнерыв, яка в підсумку перетворилася на створення нейроплатформи.14

Посилання:

1. http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение
2. http://people.eecs.berkeley.edu/~russell/temp/q-and-a.html
3. Mitchell, T. (1997). Machine Learning. McGraw Hill. p. 2. ISBN 978-0-07-042807-2
4. https://vc.ru/21767-the-great-ai-awakening
5. http://iitp.ru/upload/publications/6256/vyugin1.pdf
6. https://vc.ru/21767-the-great-ai-awakening
7. https://rb.ru/story/machine-learning-in-business/
8.https://s3.amazonaws.com/files.technologyreview.com/whitepapers/MITTR_GoogleforWork_Survey.pdf
9. http://alhimiya.com/blog/neural-networks.html
10. https://rb.ru/news/ai-alibaba-best/
11. https://rb.ru/story/machine-learning-in-business/
12. http://www.nanonewsnet.ru/news/2017/oracle-rasshirila-iot-cloud-funktsiyami-ii-mashinnogo-obucheniya-novosti
13. https://techcrunch.com/2016/03/19/how-real-businesses-are-using-machine-learning/
14. https://neuromation.io/ru/основанный-украинцами-стартап-neuromation-соб/

  • Попередня
  • наступна
Get in touch

Отримати
нашу бізнес пропозицію
Отримати
нашу бізнес пропозицію
Заповнити форму