Чи хотіли б ви зрозуміти, як комп’ютери можуть самостійно навчатися на основі даних і приймати рішення без прямого програмування?
Машинне навчання – це напрямок штучного інтелекту, що дозволяє створювати алгоритми, які навчаються на прикладах і покращують свої результати з часом.
Ви дізнаєтесь, як ця технологія змінює різні галузі і як її можна використовувати у власних проектах.
Як влаштовано машинне навчання
Машинне навчання (machine learning, ML) – це сукупність методів штучного інтелекту, за допомогою яких можна створювати комп’ютерні системи, що самонавчаються (зокрема, нейромережі). Для таких систем розробники не прописують конкретні алгоритми розв’язання задач, а надають підготовлені дані та описують критерії успішного розв’язання, за якими навчаються нейромережі.
У традиційному програмуванні для розв’язання якоїсь задачі розробнику необхідно визначити алгоритм і «пояснити» його комп’ютеру за допомогою коду мовою програмування. У фахівців з машинного навчання інший підхід: вони намагаються навчити машину «думати», подібно до людини, і самій знаходити рішення.
ML застосовується для створення безпілотних автомобілів і рекомендаційних систем, у генерації зображень за текстовим описом, розпізнаванні мови та інших галузях науки. Ви напевно чули про ChatGPT, Bard або, а може, і користувалися ними. Усе це – результат машинного навчання.
Важливо не плутати терміни «машинне навчання» і «штучний інтелект». Штучний інтелект – це більш загальний термін. Можна сказати, що це здатність комп’ютера навчатися, ухвалювати рішення і виконувати дії, властиві людському інтелекту. Машинне навчання – це напрямок штучного інтелекту, що реалізує його за допомогою алгоритмів.
Що таке LLM?
Велика мовна модель (LLM) це мовна модель, що складається з нейронної мережі з великою кількістю параметрів.
LLM – це тип штучного інтелекту, навчений аналізувати, розуміти та генерувати текст.
LLM працює на основі нейронної мережі, яка обробляє мільярди слів з книг, статей, веб-сайтів, діалогів та інших текстів. На основі цього вона вчиться передбачати, яке слово або фраза має йти далі, тобто імітує людську мову.
Завдання машинного навчання
Глобальне завдання машинного навчання – створити штучний інтелект, який за своїми аналітичними здібностями дорівнюватиме або навіть перевершуватиме людський. Це дуже складне завдання, яке проте наука цілком може вирішити в найближчі 5-10 років.
ШІ, який здатний змагатися з людиною і вирішувати завдання різного типу, називають сильним, або загальним (artificial general intelligence).
Що стосується більш вузьких завдань машинного навчання, то їх можна розділити на чотири групи: класифікація, регресія, кластеризація та зменшення розмірності. Розберемо кожну з них.
Класифікація
Використовується для вирішення тих завдань, де на підставі ознак об’єктів потрібно розподілити їх за заданими категоріями. Наприклад, на виробництві можуть відокремлювати деталі з браком від хороших за допомогою комп’ютерного зору.
Регресія
Регресія в теорії ймовірностей і математичній статистиці – це залежність середнього значення будь-якої величини від деякої іншої величини або від декількох величин.
Комп’ютери можуть аналізувати величезні масиви даних і робити передбачення на їхній основі. Наприклад, можна завантажити в комп’ютер дані про рух курсу акцій за останні 10 років і попросити передбачити їхню ціну в поточному році.
Кластеризація
Кластеризація – це розподіл об’єктів за категоріями, коли невідомо, скільки категорій вийде в результаті. Розподіл відбувається за заданим критерієм.
Наприклад, компанія може використовувати кластеризацію для визначення типів клієнтів за патернами їхніх покупок і робити на підставі цього персоналізовані пропозиції товарів.
Зменшення розмірності
Зменшення розмірності допомагає скоротити кількість ознак у даних без втрати інформації. Це спрощує їхнє опрацювання і прискорює алгоритми машинного навчання, оскільки кількість даних, з якими їм доведеться працювати, зменшується.
Під час розпізнавання зображень зниження розмірності дає змогу не аналізувати кожен піксель, а використовувати тільки важливі ознаки. Наприклад, щоб розпізнати зебру серед тварин, головне – навчитися бачити білі та чорні смуги.
Типи машинного навчання
Щоб навчити штучний інтелект, можна використовувати різні методи. Вони відрізняються один від одного ступенем залученості людини в процес.
Навчання з учителем
Комп’ютер може вчитися під наглядом учителя, тобто дата-сайентиста або аналітика даних, який надає йому розмічені дані.
Фахівець показує програмі різні приклади і пояснює: ось кіт, а ось собака. Після навчання пропонує їй за тим самим принципом проаналізувати незнайомі дані. Якщо модель помиляється, то вчитель виправляє її. Так програма вчиться, поки не досягне потрібної точності відповідей.
Цей тип навчання підходить для вирішення завдань класифікації та регресії. Приклади алгоритмів: наївний Байєс, метод опорних векторів, дерево рішень, k-найближчі сусіди, логістична регресія, лінійна та поліноміальна регресія.
Використовується для фільтрації спаму, комп’ютерного зору, пошуку та класифікації документів.
Навчання без учителя
Тут програма не отримує від фахівця жодних підказок. Є великий масив даних, і моделі машинного навчання потрібно самій знайти закономірності.
Часто навчання без вчителя використовується для глибокого аналізу великих даних, коли інформації так багато, що класифікувати все вручну для навчання алгоритмів неможливо. Також цей тип навчання застосовується в тих випадках, коли дата-сайентист не знає, що він може знайти, але припускає, що якісь патерни в даних присутні.
За допомогою навчання без учителя тренують алгоритми з кластеризації даних і виявлення аномалій. Приклади алгоритмів: метод k-середніх, DBSCAN, сингулярне розкладання (SVD), аналіз головних компонент (PCA) і латентне розміщення Діріхле (LDA).
Метод використовується для сегментації даних, виявлення аномалій, складання рекомендацій, управління ризиками та виявлення фейкових зображень.
Навчання з частковою участю вчителя
Як зрозуміло з назви, цей метод навчання є чимось середнім між повністю самостійним навчанням і навчанням з учителем. Наприклад, фахівець може розмітити тільки невелику частину даних, щоб підвищити точність прогнозів моделі на старті її навчання.
Такий спосіб використовується в тих сферах, де потрібно працювати з великою кількістю однотипних за формою, але різноманітних за змістом даних. Наприклад, під час розпізнавання зображень і мови.
Навчання з підкріпленням
Деяких навичок можна навчитися тільки на практиці: ходити, танцювати, плавати або водити машину. Людям не потрібен постійний контроль, щоб ефективно вчитися. Отримуючи у відповідь на свої дії позитивні або негативні сигнали, ми вчимося дуже ефективно. Наприклад, дитина вчиться уникати гострих кутів столу, якщо хоча б раз об них ударилася.
Комп’ютер теж здатен навчатися в динамічному середовищі: ігровому або реальному світі. Наприклад, за допомогою навчання з підкріпленням навчають безпілотні автомобілі. Описати абсолютно всі ситуації на дорозі у вигляді правил нереально. Не можна передбачити, в який момент на дорогу вибіжить дитина або як орієнтуватися на дорозі в густому тумані. Тому безпілотні автомобілі вчаться водити за допомогою симуляції реального середовища.
Приклади алгоритмів: Q-навчання, генетичний алгоритм, SARSA, DQN і DDPG. Використовується для навчання безпілотних автомобілів і роботів.
Глибинне навчання
Глибинне навчання – це клас алгоритмів машинного навчання, створений за аналогією зі структурою людського мозку. Вони працюють завдяки багатошаровим нейронним мережам.
Як влаштовано машинне навчання
Для того щоб навчити машину, потрібні три компоненти:
Набори даних, або датасети. ML-системи навчаються на спеціальних колекціях зразків, які називаються наборами даних, або датасетами. Вони можуть включати числа, зображення, тексти або будь-які інші типи даних залежно від завдання. Хороший датасет – це один із чинників успішного навчання моделі, тому його збиранню і попередній підготовці приділяється багато часу.
Функції. Функції показують машині, на що слід звернути увагу. Припустимо, ви хочете спрогнозувати ціну квартири. Можна спробувати передбачити вартість за допомогою лінійної регресії і, наприклад, оцінити, скільки може коштувати це місце виходячи з площі. Але набагато простіше знайти кореляцію між ціною і районом, де розташована будівля. Тому важливо підбирати правильні функції, що враховують найбільш підходящі параметри.
Алгоритм. У математичному сенсі алгоритм – це сукупність функцій. Він бере дані на вході і видає результат на виході. Одне й те саме завдання можна вирішити, використовуючи різні алгоритми.
Залежно від їхнього вибору точність або швидкість отримання результатів може бути різною. Іноді для досягнення більшої продуктивності потрібно комбінувати різні алгоритми. Такі конструкції називаються ансамблями (ensemble learning).
Якщо якість набору даних була високою, цільові параметри обрано правильно і використано відповідні алгоритми, то машинне навчання може справлятися зі спеціалізованими завданнями навіть краще, ніж люди. Наприклад, такі моделі використовуються в діагностиці пухлин і вони дають на 20% більше правильних діагностичних відповідей, як порівняти з лікарями-людьми.
Алгоритми машинного навчання
Коротко поговоримо про популярні алгоритми машинного навчання: наївний Байєс, логістичну регресію, дерева рішень і метод опорних векторів.
Наївний Байєс
Байєсівські алгоритми – це сімейство ймовірнісних класифікаторів, заснованих на застосуванні теореми Байєса. З її допомогою можна передбачити, як виникнення однієї події впливає на ймовірність іншої події.
Наївний класифікатор Байєса був одним із перших алгоритмів, використаних для машинного навчання. Наприклад, алгоритм використовували для фільтрації спаму до 2010 року. Механізм фільтрації із застосуванням класифікатора Байєса дуже простий – інженери порахували, які слова найчастіше трапляються в подібних листах: «терміново», «знижка», «безкоштовно» та інші. А потім навчили алгоритм автоматично сортувати листи, де такі слова зустрічаються часто, в окрему папку.
Але потім винайшли байєсівське отруєння. Спамери навчилися ховати свої повідомлення у великій кількості нешкідливого тексту, наприклад уривків літературних творів. Це допомагало їм обдурити фільтр. Тому з’явилися інші способи фільтрації листів, більш точні, наприклад за допомогою нейронних мереж.
Логістична регресія
Регресія розбиває всі дані на дві групи – вірні та невірні показники. Вона отримала свою назву завдяки тому, що використовує логістичну функцію для прогнозування ймовірності належності об’єкта до одного з класів.
За допомогою алгоритму можна передбачити залежність між двома змінними. Регресія дає відповідь, наскільки ймовірно, що відбудеться та чи інша подія. За своїм змістом це проста статистична модель, яка з часом перекочувала в машинне навчання.
Наприклад, за допомогою логістичної регресії можна розрахувати, з якою ймовірністю зайва вага і відсутність фізичної активності спровокують у пацієнта серцевий напад.
Дерева рішень
Дерево рішень – це алгоритм машинного навчання, який використовують для класифікації, регресії та виявлення аномалій. Дерева рішень часто застосовують для аналізу великих даних. Передбачення моделі доволі точні та їх легко візуалізувати.
Щоб дати передбачення, алгоритм покладається на систему правил «Якщо… то…». У правил є ієрархія. Наприклад, якщо продавець вирішує, давати клієнту знижку чи ні, то він може використовувати таке дерево рішень:
Алгоритм сам генерує правила в процесі навчання. Правила – це узагальнення безлічі окремих спостережень, що описують предметну область. Дерево рішень аналізує вибірку вхідних даних, а потім групує їх, щоб об’єкти одного класу опинилися разом.
Наприклад, у метеорології вони можуть використовуватися для прогнозування погоди на основі даних про температуру, тиск і вологість повітря.
SVM (машина опорних векторів)
Машини опорних векторів застосовують для задач регресії та класифікації.
Мета SVM – побудувати в N-вимірному просторі гіперплощину, яка однозначно розділяє дані на класи. N відповідає кількості ознак, а гіперплощина – це пряма, яка розділяє об’єкти на ці класи. Відстань від неї до кожного класу має бути максимальною, оскільки від цього залежить точність.
Логіка SVM така: що більша відстань між гіперплощиною та об’єктами, тобто зазор, то точніше передбачення. Гіперплощину графічно зображують у вигляді лінії. Точки даних по різних сторонах від лінії належать до різних класів. Складність полягає в тому, щоб знайти правильну лінію, яка буде розділяти об’єкти на класи.
SVM один із найбільш універсальних алгоритмів. Його використовують і для розпізнавання облич, і для вилучення змісту текстів під час їхнього аналізу.
Нейронні мережі
Нейронна мережа – це математична модель, яка складається з нейронів – вузлів, об’єднаних у шари. Між собою шари пов’язані синапсами. Усе разом, хоч і дуже спрощено, нагадує будову нашого мозку.
Коли дані подаються на вхід моделі, вони проходять через безліч шарів нейромережі та переживають трансформацію. Наприклад, нерелевантні дані можуть бути відсортовані, а важливіші передані на наступні шари. У кожного нейрона є вага, яка автоматично змінюється в процесі навчання мережі. Чим більша вага, тим сильніший зв’язок між нейронами.
Нейромережі сьогодні перевершують більшість інших моделей, незалежно від завдання. А тому використовуються в багатьох галузях і сферах діяльності людини.
Приклади машинного навчання
Розглянемо, як розумні комп’ютерні системи роблять наше життя простішим у різних галузях.
Рекомендація товарів в інтернет-магазинах
Багато інтернет-магазинів використовують машинне навчання для надання персоналізованих рекомендацій своїм клієнтам.
Алгоритми аналізують дані про покупки клієнтів, досліджують їхню поведінку на сайті, а також інформацію про товари, які вони переглядають. На основі цих даних можна зробити передбачення про те, які товари можуть зацікавити клієнта, і пропонувати їх у стрічці або навіть на сторінці з кошиком.
Рекомендаційні системи також використовують сайти, куди користувачі заходять, щоб споживати контент: соцмережі, відеохостинги та новинні сайти.
Виявлення шахрайства в банківських операціях
Більшість банків використовують інструменти машинного навчання для захисту коштів своїх клієнтів, наприклад для виявлення шахрайства в банківських операціях.
«Розумні» системи аналізують великі дані та виявляють аномальні транзакції, як-от переказ коштів із незнайомого пристрою або незвичний патерн покупок. Це дає змогу банкам швидко реагувати на підозрілі операції та запобігати фінансовим втратам.
Прогнозування погоди
Алгоритми машинного навчання можуть аналізувати дані про температуру, вологість, тиск та інші показники, щоб робити прогнози про те, яких погодних умов можна очікувати найближчим часом.
Постановка діагнозів у медицині
Машинне навчання застосовують в аналізі медичних даних, наприклад для аналізу результату рентгенологічних знімків, аналізів та історії хвороби. Це допомагає лікарям поставити правильний діагноз і підібрати найбільш ефективне лікування. Наприклад, такий підхід реалізовано в компанії Oncora зі США, що використовує ML-підходи для виявлення онкозахворювань.
Розпізнавання мови
Машинне навчання може використовуватися для розпізнавання мови. Алгоритми аналізують звукові дані і перетворюють їх у текстову форму. Саме так працюють голосові помічники, такі як Siri і Alexa, а також перекладачі тексту в реальному часі.
Наприклад, зараз Spotify тестує нову функцію – дубляж подкастів у реальному часі. Причому текст іншою мовою відтворюється голосами авторів. Це було б неможливо без машинного навчання.
Що запам’ятати
Давайте повторимо те, що ми сьогодні дізналися про машинне навчання:
- Машинне навчання – це набір методів, за допомогою яких створюють системи, здатні самостійно (без жорстко заданих алгоритмів) вирішувати поставлені завдання.
- Комп’ютер може навчатися під наглядом учителя, який допомагає програмі знаходити рішення за допомогою розміченого датасету або перевірки результатів. Такий метод називається навчанням з учителем.
- Якщо програма не отримує від фахівця жодних підказок і навчається лише на даних – це навчання без вчителя.
- Навчання з частковим залученням вчителя – щось середнє між самонавчанням машини і методом із залученням вчителя. ML-інженер може розмітити тільки невелику частину даних, щоб підвищити точність прогнозів моделі.
- Деяких навичок, як-от керування автомобілем, комп’ютер може навчитися тільки методом проб і помилок у реальному середовищі. Так працює навчання з підкріпленням.
- Машинне навчання застосовують у різних галузях: для рекомендації товарів в інтернет-магазинах, постановки діагнозів у медицині, виявлення шахрайства в банках і в інших сферах.
Висновок
Машинне навчання – це спосіб, який допомагає комп’ютерам знаходити закономірності в інформації і робити висновки на основі прикладів.
Машинне навчання можна застосовувати у будь-яких сферах, де потрібно працювати з великим обсягом інформації і знаходити в ній важливі закономірності. Це може бути аналіз даних для прийняття рішень, автоматичне розпізнавання тексту або зображень, рекомендації в інтернет-магазинах або прогнозування подій.








