Машинне навчання, ШІ, нейромережі: чим одне відрізняється від іншого
Що метод, що функція, а що технологія?
Машинне навчання – це окремий випадок штучного інтелекту чи штучний інтелект – окремий випадок машинного навчання? Яке місце у цій лінійці займають нейромережі? А мовні моделі? Заплутатися дуже легко, навіть будучи шанувальником науки та технологій.
Що таке машинне навчання?
Стандартне застосування комп'ютерних алгоритмів або математичних розрахунків можна описати так: програміст може задати вхідні дані, описати послідовність дій з ними, провести деякі перетворення - і отримати відповідь за допомогою програмного коду, що вийшов. Тепер уявімо ситуацію, коли є вхідні умови та приклади дій у схожих випадках, але немає конкретної інструкції з пошуку відповіді та самої відповіді для цього завдання. Машинне навчання - це методологія, за допомогою якої можна побудувати «розумну» модель: вона навчиться вирішувати завдання, виходячи з даних прикладів, але без інформації про те, як правильно вирішувати поставлене завдання.
Це значно полегшує роботу з багатьма прикладними питаннями. Наприклад, можна класифікувати зображення: зібрати сотні ілюстрацій грибів та хмар, маркувати їх і таким чином створити навчальну вибірку правильного вирішення задачі визначення об'єкта на картинці. Потім «з'єднати» ці дані з обраною моделлю, і та на прикладах навчиться відрізняти гриби від хмар самостійно. Приклад із грибами та хмарами досить простий, таке можна реалізувати і за допомогою звичайної програми. Але якщо типів зображень стає не 2, а 1000, написати програму виявиться дуже складно, і тут приходить на допомогу машинне навчання.
Модель на практиці — це та чи інша математична функція з різними параметрами. У процесі навчання моделі її параметри змінюються так, щоб помилка роботи алгоритму була мінімальною. Правильні параметри заздалегідь невідомі – у цьому й суть роботи моделі. Після переходу від навчальної вибірки до реальних прикладів модель має проявити здатність до правильного передбачення відповіді.
Що таке штучний інтелект?
Хтось може сказати, що штучний інтелект це окремий випадок машинного навчання. Швидше за все навпаки: машинне навчання — окремий випадок штучного інтелекту, тому що рішення інтелектуальних завдань можна реалізувати різними способами, в тому числі і через ML.
При цьому штучний інтелект — термін із різними значеннями. По-перше, це напрямок досліджень у науці, який займається алгоритмами, які в чомусь відтворюють інтелект людини або процес вирішення інтелектуальних завдань. По-друге, це й деяка технологія створення алгоритмів — сьогодні це переважно символьний чи нейромережевий інтелект.
Символьний ШІ це такий підхід у штучному інтелекті, за допомогою якого відбувається спроба моделювання міркувань людини. Уявімо собі завдання: є математик, який доводить теорему. Спробуємо змоделювати цей процес. Математик здійснює якісь дії, записуючи їх деякою формальною мовою математичних позначень. Внаслідок цього процесу з'являються докази теореми. І є деякі правила, що визначають, яка це мова, як нею писати, що писати можна і потрібно. Система, яка дозволяє формальною мовою вести якісь міркування, називається символьним штучним інтелектом, тому що заснована на маніпуляції із символами.
Що таке нейромережі?
Нейромережі — ще один підхід до побудови штучного інтелекту, який відбудовується не від моделювання того, як міркує людина, а від того, як наш мозок працює в процесі навчання. Для цього створюється мережа з «нейронів», які є математичним описом моделі нейрона «справжнього» (це, як і в головному мозку, структурно-функціональна одиниця, базовий елемент обробки інформації). З нейронів формується мережа, і результат обробки інформації визначається зв'язком між елементами нашої мережі.
Звідси нейромережа може бути моделлю, яка використовується для машинного навчання, тобто ми можемо використовувати нейронну мережу з безліччю параметрів, які визначатимуть передачу сигналів між окремими нейронами. Параметри цієї моделі в процесі навчання змінюватимуться, щоб мінімізувати помилку.
ChatGPT – це нейромережа чи мовна модель?
Бути мовною моделлю – це функція ChatGPT, і реалізовано це за допомогою нейромережі. У широкому сенсі реалізувати таку функцію можна різними способами (як і навпаки: за допомогою нейромереж можна реалізувати не лише мовну модель, а й звукову, графічну тощо).
Наприклад, можна зібрати великий обсяг текстів і порахувати, з якою ймовірністю те чи інше слово зустрічається у всіх цих матеріалах. Тоді ми можемо побудувати найпростішу ймовірну модель мови таким чином, що кожне наступне слово в реченні обиратиметься пропорційно розрахованим ймовірностям. Якість такої моделі буде дуже низькою, але все ж таки це мовна модель. Таким чином, мовне моделювання - це реалізація передбачення того, що має бути в тексті.
При цьому ChatGPT не просто мовна модель, а модель, адаптована під імітацію живої взаємодії людей в інтернеті, «олюднена» версія. Що відбувається, коли ми даємо чатові завдання? Якщо ми просимо написати казку, модель генерує продовження, яке зазвичай слідує за словами «напиши казку». Уявіть, що у вас багато текстів, де в деяких випадках зустрічався текст «напиши казку»; після цих слів у більшості випадків було написано якусь казку. І нейромережа напише щось схоже на казку, виходячи з наявних у неї прикладів. Але також нейромережа може відповісти: «Я зараз не в настрої і не робитиму цього», тому що і такий приклад у наборі її даних міг зустрітися. Але можливість цих відповідей зазвичай знижують спеціально, щоб користувач не стикався з відмовою.
Ще одне цікаве питання — чи можна вважати окремим випадком машинного навчання процес, коли користувач коригує роботу ChatGPT під власні цілі шляхом розмови з нею, внесенні уточнень? З формальної точки зору це не можна вважати навчанням, адже це ніяк не впливає на параметри самої моделі. Але, змінюючи вихідний запит, ви можете вплинути на те, яку відповідь вона надасть саме для вас.
Чи можливий синтез символьної методології та нейромереж?
Прикладом такого синтезу можна вважати програму Alpha Go, розроблену компанією Google DeepMind у 2015 році. 2016-го вона обіграла гравця Лі Седоля, який на момент матчу мав друге місце за кількістю виграних чемпіонатів світу. «Всередині» Alpha була нейромережа, яка оцінювала стан дошки, і модель пошуку по дереву рішень, яка є фактично символьною. Сьогодні схожі розробки ведуться і для інших завдань, зокрема мовних моделей.
Крім того, можна припустити, що в майбутньому моделі зможуть спілкуватися одна з одною та ділитися досвідом, консолідувати ресурси у вирішенні різних завдань та проблем. Це породжує набагато загадковіші сценарії, передбачати які заздалегідь дуже складно. Але роботи і в цьому напрямі ведуться по всьому світі.