Един и същ въпрос, три различни отговора
В миналия урок видяхме, че при машинното обучение правилата не се пишат, а се извличат от данни. Остава въпросът какво точно даваме на алгоритъма. Отговорът дели цялата област на три семейства.
Обучение с учител
Обучение с учител (supervised learning)
Всеки пример идва с верния отговор, даден от човек. Алгоритъмът търси правилото, което свързва входа с този отговор.
Хиляда снимки, всяка обозначена „котка“ или „куче“. Десет хиляди имейла, всеки обозначен „спам“ или „нормално“. Двеста апартамента с площ, район и реалната цена, на която са продадени. Във всеки случай човек предварително е дал верния отговор — оттам идва думата „учител“.
Това е най-често използваният вид и всичко от уроци 3 до 18 е от него. Има обаче цена: обозначаването струва човешки труд. За един медицински набор от данни всяка снимка се преглежда от лекар.
Разпознава се по един въпрос
Има ли в данните колона с верния отговор? Ако да — обучение с учител.
Обучение без учител
Обучение без учител (unsupervised learning)
Данни без етикети. Алгоритъмът сам търси структура в тях — групи, повторения, необичайни примери.
Магазин има данни за покупките на 50 000 клиенти, но никой не е казвал кой клиент какъв е. Алгоритъмът разделя клиентите на групи със сходно поведение — това се нарича клъстеризация. Групите нямат имена; човекът ги гледа после и решава, че първата група са „родители с малки деца“, а втората — „студенти“.
- Клъстеризация — разделяне на групи по прилика.
- Откриване на аномалии — кое се отклонява от обичайното (измами с карти, повреда в машина).
- Намаляване на размерността — свиване на 100 признака до 2, за да се видят на чертеж.
Няма правилен отговор
При обучението без учител не можем да кажем „моделът позна 87%“ — няма с какво да сравним. Оценяването е по-трудно и често изисква човешка преценка.
Обучение с утвърждение
Обучение с утвърждение (reinforcement learning)
Няма готови примери. Има среда, в която агентът действа, и награда — число, което казва колко добре се е справил. Целта е стратегия, която трупа най-много награда.
Програма, която играе шах, не получава списък с верни ходове. Тя играе, губи, печели и след всяка партия узнава само крайния резултат. След милиони партии открива кои ходове водят до победа. По същия начин се учи робот да ходи и програма да управлява охлаждането на сървърна зала.
Слабото място е очевидно: нужни са милиони опити. Затова методът вирее там, където опитите са евтини — в симулация или в игра, — а не там, където всеки опит струва пари или живот.
Сравнение
| С учител | Без учител | С утвърждение | |
|---|---|---|---|
| Вход | примери + етикети | само примери | среда и награда |
| Търси | правило вход → етикет | структура в данните | стратегия за действие |
| Оценява се с | точност върху тестови данни | трудно, често от човек | натрупана награда |
| Пример | спам филтър | групи клиенти | AlphaGo, робот |
| Скъпото | обозначаването | тълкуването на резултата | броят опити |
Къде е генеративният AI
Учениците често питат към кое от трите принадлежи ChatGPT. Отговорът е „и към трите, на етапи“:
- Предварително обучение — моделът чете огромно количество текст и се учи да предсказва следващата дума. Етикетът е самата следваща дума, тоест данните се обозначават сами. Това се нарича самообучение (self-supervised) и е разновидност на обучението с учител.
- Донастройване — хора пишат примерни диалози с добри отговори; чисто обучение с учител.
- Обучение с човешка обратна връзка — хора сравняват по два отговора и казват кой е по-добър; от тези сравнения се изгражда награда и оттам нататък работи обучение с утвърждение.
Затова „генеративен AI“ не е четвърти вид
Генеративен описва какво произвежда моделът (нов текст, изображение, звук), а не как се учи. Двете класификации са по различен признак — както „червена кола“ и „бърза кола“.
Как да изберем
Изборът почти никога не е свободен — определя се от данните, с които разполагаме:
- Имам примери с верни отговори → обучение с учител.
- Имам много данни, но никой не ги е обозначил и нямам бюджет за това → обучение без учител, поне за начало.
- Нямам данни, но имам симулация и мярка за успех → обучение с утвърждение.
В практиката често се комбинират: първо клъстеризация, за да се види какво изобщо има в данните, после обозначаване на малка част от тях и обучение с учител.