Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
Навчання з учителем, без учителя, з частковим залученням учителя, самонавчання й навчання з підкріпленням — з точними означеннями, поясненнями простими словами та анімаціями справжніх алгоритмів.
Серія Основи ШІ Частина 42 з 52
- Мапа штучного інтелекту: що є що і як усе це пов’язано
- Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
- Дані, модель, тренування, інференс: основні поняття на одному прикладі
- Як читати математичний запис: символи, індекси, суми та квантори
- Множини й відношення: конструктор, з якого складаються означення в ШІ
- Функції й відображення: чому кожна модель у ШІ — це функція
- Логіка й доведення: правила, за якими міркують у ШІ
- Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
- Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
- Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
- Градієнтний спуск: як навчається модель
- Що таке ймовірність: від кидка кубика до аксіом Колмогорова
- Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
- Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
- Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
- Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
- Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
- Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
- Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
- Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
- Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
- Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
- Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
- Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
- Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
- Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
- Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
- Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
- Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
- Оптимізація роєм частинок: інерція, власний досвід і досвід рою
- Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
- Нечіткі множини й функції належності: як записати «трохи тепло»
- Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
- Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
- Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
- Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
- Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
- Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
- Приховані марковські моделі: алгоритм Вітербі й нечесне казино
- Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
- Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
- Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
- Промпти, контекст і RAG: як дати моделі правильну інформацію
- Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
- Генеративні змагальні мережі (GAN): фальшувальник проти детектива
- Дифузійні моделі: як із чистого шуму постає зображення
- Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
- Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
- Policy gradient і PPO: навчання безпосередньо політики
- Як працює ШІ-агент: мовна модель у циклі з інструментами
- Програмування з AI-агентами: завдання, тести й перевірка
- Оцінювання і безпека систем ШІ: як вимірювати і як стежити
Повна програма серії Готово: 52 з 83 тем
- П’ять видів машинного навчання залежно від того, який сигнал модель отримує під час навчання.
- Чому може вистачити кількох міток і великої кількості нерозмічених даних — і як навчаються мовні моделі.
- Як агент навчається діяти лише з винагород і покарань.
Що варто знати заздалегідь: Мапа штучного інтелекту: що є що і як усе це пов’язано, Як читати математичний запис: символи, індекси, суми та квантори
«Модель цьому навчилася». Ця фраза щоразу звучить однаково, але означає дуже різні речі. Іноді модель навчалася на тисячах фотографій, до яких хтось підписав, що на них зображено. Іноді вона отримала лише купу даних без жодної мітки й мала знайти в них порядок. А іноді вчилася, як пес на дресируванні, — пробувала й за правильні кроки отримувала винагороду.
Тому машинне навчання поділяють за тим, який сигнал модель отримує під час навчання. Ми пройдемо основні види — від навчання з учителем до навчання з підкріпленням. Для кожного ви знайдете точне означення, пояснення простими словами та графік, який є справжнім результатом роботи алгоритму, — нічого не намальовано вручну.
1. Що означає, що машина навчається
Означення — навчання (Т. Мітчелл, 1997)
Кажуть, що програма навчається з досвіду E щодо класу задач T і міри якості P, якщо її якість на задачах із T, виміряна за допомогою P, покращується з досвідом E.
Навчається те, що покращується з практикою. Задача T — це, наприклад, «розпізнати спам», міра P — «скільки листів класифіковано правильно», а досвід E — «тисяча листів, які хтось уже розсортував». Види навчання відрізняються передусім тим, який вигляд має цей досвід E.
Означення — модель і параметри
Модель — це функція fθ : 𝒳 → 𝒴 із простору входів 𝒳 у простір виходів 𝒴, задана параметрами θ ∈ ℝp.
Навчання (тренування) — це пошук параметрів θ, які мінімізують цільову функцію J(θ), обчислену за даними, — зазвичай градієнтним спуском θ ← θ − η ∇J(θ).
Модель — це машина з безліччю ручок-регуляторів, тобто параметрів. Навчання — це крутіння ручок доти, доки машина не почне робити те, що ми хочемо. Цільова функція — число, яке показує, наскільки вона ще помиляється; градієнтний спуск завжди крутить ручки в той бік, де помилка найменша.
Основні види навчання коротко — вони відрізняються тим, що є в даних:
Навчитися відповідати, як учитель.
Знайти в даних структуру.
Використати й дані без міток.
Так навчаються мовні моделі.
Навчитися діяти.
2. Навчання з учителем (supervised learning)
Означення — навчання з учителем
Дано навчальну вибірку D = {(xi, yi)}i=1n пар вхід–мітка, вибраних незалежно з невідомого розподілу P(X, Y), і функцію втрат L(ŷ, y) ≥ 0.
Шукаємо модель, яка мінімізує емпіричний ризик: θ* = argminθ (1/n) ∑i=1n L(fθ(xi), yi).
Але мета — не навчальна вибірка: модель має добре працювати на нових даних із того самого розподілу (узагальнення). Тому якість вимірюють на відкладеній тестовій вибірці.
Як дитина з книжкою з картинками: під кожною картинкою написано «пес» або «кіт». Модель дивиться на приклади з правильною відповіддю й налаштовується так, щоб влучати. Функція втрат — це покарання за кожну помилку. А іспит модель складає на картинках, яких ніколи раніше не бачила, — завчені напам’ять відповіді не рахуються.
Залежно від того, чим є мітка y, розрізняють дві задачі.
Класифікація
Означення — класифікація
Мітки належать до скінченної множини класів: y ∈ {1, …, K}. Звичайна функція втрат — перехресна ентропія L = −∑k [y = k] log pθ(k | x).
Логістична регресія для двох класів: p(y = 1 | x) = σ(w⊤x + b), де σ(z) = 1 / (1 + e−z). Межа рішень — пряма w⊤x + b = 0.
Класифікація відповідає на питання «до якої шухляди це належить»: спам чи ні? Пес, кіт чи папуга? Логістична регресія проводить між класами лінію й про кожну точку каже, з якою впевненістю вона лежить по той чи інший бік.
На графіку 60 точок двох класів. Межа навмисно починає в невдалому місці, а градієнтний спуск епоха за епохою зсуває її, доки вона не розділить класи:
Регресія
Означення — регресія
Мітки — дійсні числа: y ∈ ℝ. Звичайна функція втрат — середньоквадратична похибка MSE = (1/n) ∑i (f(xi) − yi)2.
Для лінійної регресії f(x) = ax + b мінімум MSE має замкнений вигляд: a = ∑(xi − x̄)(yi − ȳ) / ∑(xi − x̄)2, b = ȳ − ax̄ (метод найменших квадратів).
Регресія відповідає на питання «скільки»: скільки коштуватиме квартира, якою буде завтра температура. Лінійна регресія проводить крізь точки пряму так, щоб сума квадратів вертикальних відстаней — на рисунку пунктиром — була якомога меншою.
Навчання з учителем рухає більшість практичних застосувань: спам-фільтри, розпізнавання облич, діагностику за рентгенівськими знімками, оцінку вартості нерухомості. Але має одну дорогу умову — хтось мусить розмітити дані. І це часто найдорожча частина всього проєкту.
3. Навчання без учителя (unsupervised learning)
Означення — навчання без учителя
Дано лише множину входів D = {xi}i=1n ⊂ 𝒳, без міток. Шукаємо структуру розподілу P(X): кластери, низьковимірне представлення або саму густину p(x).
Вам дають коробку фотографій без підписів і просять їх розсортувати. Ніхто не каже, за якою ознакою, — ви самі помічаєте, що одні зроблено на морі, а інші в горах. Модель шукає схожості та закономірності, які в даних є, навіть якщо їх ніхто не назвав.
Кластеризація: k-means
Означення — k-means
Розбити точки на k кластерів C1, …, Ck із центрами μ1, …, μk так, щоб внутрішньокластерна сума квадратів була мінімальною:
J = ∑j=1k ∑x ∈ Cj ‖x − μj‖2.
Алгоритм Ллойда чергує два кроки: (1) віднести кожну точку до найближчого центру, (2) перемістити кожен центр у середнє його точок. Жоден крок не збільшує J, тож алгоритм завершиться — але лише в локальному мінімумі.
Ви ставите в кімнаті три прапорці. Кожна людина стає біля найближчого. Потім ви переносите кожен прапорець у середину його гурту. Люди знову перерозподіляються, прапорці знову зсуваються — і за кілька раундів уже нічого не змінюється. Гурти й є кластерами.
Центри (хрестики) навмисно всі починають у лівому нижньому куті. Уже після першої ітерації вони розходяться до своїх груп, а після чотирьох ітерацій перестають рухатися.
Інші задачі без учителя: зниження розмірності (наприклад, PCA проєктує дані на кілька напрямків, у яких вони найбільше відрізняються, — корисно і для візуалізації, і для стиснення), виявлення аномалій (те, що не схоже ні на що відоме, — шахрайський платіж, несправність машини) та оцінка густини.
4. Навчання з частковим залученням учителя (semi-supervised learning)
Означення — навчання з частковим залученням учителя
Дано малу розмічену множину DL = {(xi, yi)}i=1l і велику нерозмічену DU = {xj}j=l+1l+u, де u ≫ l. Мета та сама, що й у навчанні з учителем, але для її досягнення використовують і DU.
Це працює лише за одного з припущень:
- гладкість — близькі точки мають однакову мітку,
- кластери — точки одного кластера мають однакову мітку, межа класів проходить розрідженими місцями,
- многовид — дані лежать на низьковимірній поверхні, і відстань слід вимірювати вздовж неї.
У вас десять тисяч фотографій, але підписати ви встигли лише десять. Нерозмічені фото все одно допомагають: вони показують, який «вигляд» мають дані, — де гурти й де між ними порожнеча. Мітки потім самі поширюються гуртами.
Поширення міток графом
Побудуйте граф, у якому кожна точка з’єднана зі своїми k найближчими сусідами (тут k = 4). У кожному раунді кожна нерозмічена точка, що має розміченого сусіда, отримує мітку більшості розмічених сусідів. Повторюйте, доки є нерозмічені точки.
Дані — два «півмісяці» по 40 точок. Мітку мають лише дві точки — по одній у кожному півмісяці, виділені обведенням. Решта сірі:
Мітки поширюються півмісяцями, як пожежа сухою травою, і за 10 раундів усі точки розмічено правильно. Якби ми ігнорували нерозмічені дані й відносили кожну точку лише до того з двох розмічених, до якого вона ближча, правильних було б лише 84 %: кінці півмісяців лежать ближче до чужої розміченої точки, ніж до своєї. Різницю робить саме форма даних, яку ми знаємо лише завдяки нерозміченим точкам.
Схоже працюють псевдомітки (self-training): модель, натренована на малій розміченій множині, розмічає ті нерозмічені дані, у яких найбільш упевнена, і навчається далі також на них.
5. Самонавчання (self-supervised learning)
Означення — самонавчання
Дані нерозмічені, D = {xi}, але з кожного x автоматично утворюють пару (x̃, t) = g(x): x̃ — частина або пошкоджена версія входу, а t — те, чого в ній бракує. Модель навчається як з учителем на цій допоміжній задачі (pretext task).
Передбачення наступного токена — так попередньо навчають великі мовні моделі. Текст — це послідовність токенів x1, …, xT, і максимізують
∑t=1T log pθ(xt | x1, …, xt−1).
Учитель тут є, але платити йому нікому не довелося: відповіді сховані просто в даних. Ви закриваєте слово в реченні, а модель вгадує, яке воно було. Текст з інтернету так перевіряє сам себе — і дорогою модель мусить засвоїти граматику, факти й трохи міркування, інакше вгадувала б погано.
Технічно самонавчання — це навчання з учителем, але мітки не коштують нічого, і тому його можна застосувати до всього інтернету. Для зображень використовують схожий прийом: модель отримує два різні кадрування однієї фотографії й вчиться, що вони належать одне одному (контрастивне навчання). Результат, так звану базову модель, потім донавчають для конкретної задачі на невеликій кількості розмічених даних.
6. Навчання з підкріпленням (reinforcement learning)
Означення — марковський процес вирішування
Середовище — це п’ятірка (S, A, P, R, γ): стани S, дії A, ймовірність переходу P(s′ | s, a), винагорода R(s, a, s′) і коефіцієнт дисконтування γ ∈ [0, 1).
Агент обирає дії згідно з політикою π(a | s). Мета — максимізувати очікувану віддачу (return) G = ∑t≥0 γt rt.
Q-learning навчається цінності Q(s, a) — очікуваної віддачі після дії a у стані s — за правилом
Q(s, a) ← Q(s, a) + α [r + γ maxa′ Q(s′, a′) − Q(s, a)].
Ніхто не каже агентові, який хід правильний. Він пробує, а світ за кожен крок повертає йому винагороду або покарання. Поступово агент запам’ятовує, які ходи де окупаються, — зокрема й ті, що окупляться лише через десять кроків. Коефіцієнт дисконтування γ показує, наскільки йому важливі майбутні винагороди порівняно з негайними.
Агент (помаранчевий) рухається сіткою. Кожен крок коштує −1, ціль дає +10, а пастка −10; у стіни зайти не можна. Спочатку агент нічого не знає. Після 600 епізодів Q-learning (α = 0,5, γ = 0,95, із випадковим дослідженням у 20 % кроків) стрілки показують найкращу вивчену дію в кожній клітинці:
Агент іде до цілі найкоротшим шляхом і оминає пастку. Як він навчався, видно із середньої віддачі: у перших 50 епізодах вона становила −11,1 (агент блукав і падав у пастку), в останніх 50 — уже −1,8. Різницю порівняно з оптимумом дає випадкове дослідження, яке агент під час тренування не вимикає.
Навчання з підкріпленням стоїть за програмами, які перемогли чемпіонів світу з го, за керуванням роботами — а також за донавчанням мовних моделей: RLHF (навчання з підкріпленням на основі відгуків людей) використовує як винагороду модель, натреновану на тому, які відповіді люди оцінили краще.
7. Інші способи поділу
Вид учителя — не єдиний критерій. Ось ще кілька, які ви зустрінете:
Означення — перенесення навчання (transfer learning)
Параметри θ0, вивчені на вихідній задачі, використовують як старт для цільової задачі: θ* = argminθ Jціль(θ), шукане від θ0, часто лише в невеликій частині параметрів (донавчання, fine-tuning).
Хто вміє їздити на велосипеді, швидше навчиться їздити на мотоциклі. Модель, яка вже «бачила світ», досить донавчити на кількох сотнях прикладів із вашої задачі.
Означення — активне навчання
Модель сама обирає, які x ∈ DU віддати на розмітку, — зазвичай ті, щодо яких вона найменш упевнена, наприклад із найвищою ентропією H(pθ(· | x)).
Замість того щоб людина розмічала все, модель питає лише про те, чого не розуміє. Той самий результат за частку роботи.
Означення — генеративні та дискримінативні моделі
Дискримінативна модель навчається безпосередньо p(y | x) або межі рішень. Генеративна модель навчається розподілу даних p(x), або ж p(x, y), і вміє генерувати з нього нові дані.
Дискримінативна модель відрізнить пса від кота. Генеративна модель так добре знає, який вигляд має пес, що вміє його намалювати. І мовні моделі, і генератори зображень — генеративні.
А ще пакетне й потокове навчання (модель тренують один раз на всіх даних або вона навчається безперервно з кожного нового прикладу) та параметричні й непараметричні моделі (фіксована кількість параметрів, як у логістичної регресії, або модель, що зростає разом із даними, як k найближчих сусідів).
8. Порівняння
| Вид навчання | Дані | Сигнал | Типові задачі | Приклади алгоритмів |
|---|---|---|---|---|
| З учителем | (x, y) | правильна відповідь | класифікація, регресія | логістична регресія, дерева рішень, нейронні мережі |
| Без учителя | x | немає | кластеризація, зниження розмірності, аномалії | k-means, PCA, автокодувальники |
| З частковим залученням учителя | мало (x, y) + багато x | кілька відповідей | класифікація з дорогими мітками | поширення міток, псевдомітки |
| Самонавчання | x | утворений з даних | попереднє навчання базових моделей | передбачення токена, маскування, контрастивне навчання |
| З підкріпленням | взаємодія із середовищем | винагорода | ігри, роботи, керування, RLHF | Q-learning, policy gradient, PPO |
9. Підсумок
- Види навчання відрізняються тим, який досвід E отримує модель: правильні відповіді, лише дані, трохи того й іншого, відповіді, утворені з даних, або винагороди за дії.
- Навчання з учителем найпряміше, але потребує дорогих міток.
- Без учителя шукають структуру; із частковим залученням учителя нерозмічені дані допомагають поширити кілька міток на все інше.
- Самонавчання утворює мітки із самих даних — на ньому тримаються сучасні мовні моделі.
- Навчання з підкріпленням вчить діяти: пробувати, збирати винагороди й думати наперед.
На практиці види поєднують. Велику мовну модель попередньо навчають самонавчанням, донавчають з учителем на зразкових відповідях і насамкінець — навчанням з підкріпленням за оцінками людей. Три види навчання в одній моделі, з якою ви, можливо, саме зараз листуєтеся.
Маєте іншу думку? Напишіть на support@coden-app.com.