Обучение с учителем простыми словами

Обучение с учителем — это когда модель учится по примерам, у каждого из которых уже есть правильный ответ, как тетрадь с заданиями, где в конце напечатаны ответы.
Обучение с учителем — способ обучения, когда модели показывают примеры вместе с правильными ответами (метками).

Зачем тебе это знать

Представь, что ты готовишься к контрольной по математике. У тебя есть сборник задач, и у каждой задачи в конце книги напечатан правильный ответ. Ты решаешь задачу, заглядываешь в ответы, видишь, что ошибся, и в следующий раз решаешь чуть точнее. Через сотню задач ты уже чувствуешь тему почти на автомате.

Так вот: примерно так же учится большинство ИИ, которыми ты пользуешься каждый день. Когда телефон узнаёт твоё лицо, когда приложение отделяет фотки с котами от фоток с собаками, когда голосовой помощник понимает слово «погода» — за всем этим стоит обучение, где модели тысячи раз показывали примеры вместе с правильными ответами.

К концу этого урока ты будешь понимать, что значит фраза «модель обучили с учителем», почему правильные ответы так важны и чем этот способ отличается от обучения без учителя. И всё это — на наших двух сквозных примерах из прошлых уроков: «кошка или собака?» и «угадай следующее слово во фразе Кошка пьёт ...».

Если ты ещё не читал, как вообще модель учится на данных, загляни сначала сюда: Что значит «модель учится на данных». Здесь мы копнём глубже в один конкретный способ.

Главная идея: учёба с подсказками

Вспомни, как ты в детстве учился отличать кошку от собаки. Вряд ли кто-то давал тебе формулу. Скорее всего, взрослый показывал на животное и говорил: «Это кошка», «А это собака». Снова и снова. Ты смотрел, слушал ответ и постепенно сам начинал угадывать ещё до того, как тебе подскажут.

Обучение с учителем устроено точно так же. Только вместо ребёнка — модель, а вместо взрослого, который называет животных, — данные с метками.

Метка — правильный ответ для обучающего примера, например слово «кошка» рядом с фотографией.

Само слово «учитель» здесь не значит, что рядом сидит живой преподаватель. «Учитель» — это и есть те самые правильные ответы, заранее проставленные людьми. Модель делает предположение, сравнивает его с меткой и подкручивает себя так, чтобы в следующий раз ошибиться слабее.

Заметь важную мелочь: когда ты решаешь задачи из сборника, ты ведь не запоминаешь конкретные ответы — ты учишься способу решать похожие задачи. Если бы ты просто зазубрил, что «ответ к задаче номер 12 — это 7», то на контрольной с другими числами ты бы провалился. Модель в идеале делает то же самое: ловит общую закономерность, а не конкретные ответы. Получится у неё это или нет — зависит от данных и от того, как мы её проверяем. К этой ловушке мы ещё вернёмся в разделе про ошибки.

И ещё: «учитель» терпеливый и не устаёт. Живому человеку показать тебе тысячу карточек с животными скучно, а модели можно прогнать миллионы примеров подряд. Именно поэтому ИИ так хорош в узких, повторяющихся задачах — он способен переварить такой объём примеров, который человек за всю жизнь не пересмотрит.

Что нужно для обучения с учителем

Чтобы запустить такое обучение, нужны три вещи. Давай разложим их в таблицу.

Что нужноЧто этоПример «кошка/собака»
ДанныеСами примеры (картинки, тексты, числа)10 000 фотографий животных
МеткиПравильный ответ к каждому примеруПод каждой фоткой подпись «кошка» или «собака»
МодельСистема, которая учится связывать пример с ответомПрограмма, которая смотрит на фотку и выдаёт догадку

Самое дорогое и трудное здесь — метки. Картинок в интернете полно, а вот посадить людей, чтобы они под каждой написали «кошка» или «собака», — долго и недёшево. Поэтому качество меток часто важнее их количества.

Разбираем на примерах

Пример 1. Кошка или собака — по шагам

Возьмём нашу сквозную задачу. У нас есть фотографии, и под каждой человек уже написал правильный ответ. Вот как идёт один круг обучения.

  1. Модель смотрит на фотографию (пример).
  2. Модель выдаёт догадку, например: «Думаю, это собака, уверен на 60%».
  3. Мы открываем метку — там написано «кошка».
  4. Модель видит, что ошиблась, и чуть-чуть меняет свои внутренние настройки (помнишь веса из прошлого урока?), чтобы в похожей ситуации больше склоняться к ответу «кошка».
  5. Берём следующую фотографию и повторяем — и так тысячи раз.

Заметь: модель не зубрит конкретные фотки. Она нащупывает признаки, которые отличают один класс от другого.

Признак — отдельная измеримая характеристика объекта, по которой модель принимает решение, например форма ушей у животного.

Можно представить это так, как будто модель сама для себя составляет шпаргалку из признаков.

ПризнакСкорее кошкаСкорее собака
Форма ушейОстрые, треугольныеЧасто висячие или крупные
Форма мордыКороткая, округлаяЧаще вытянутая
УсыДлинные, заметныеМенее выражены

Важный момент: эти признаки никто не вписывает в модель руками. Она сама постепенно нащупывает их, потому что мы много раз показывали ей примеры с правильными метками. Это и есть «учитель» в действии.

Чтобы почувствовать, насколько постепенно это происходит, представь шкалу уверенности. В самом начале обучения модель почти угадывает наугад — на любой фотке она пожимает плечами и говорит «ну, может, 50 на 50». После сотни примеров она уже чаще права, чем нет. После десятков тысяч — ошибается лишь изредка, на самых хитрых фотках, где, скажем, кошка снята со спины и похожа на маленькую собаку. Никакого волшебного скачка нет: только тысячи маленьких поправок, каждая после очередного сравнения догадки с меткой.

И ещё одна тонкость про нашу задачу. Модель не отвечает «кошка» или «собака» жёстко, как выключатель. Внутри у неё всегда число — насколько она уверена. «Кошка на 92%» и «кошка на 51%» — это разные ответы, хотя итог один. На следующих уровнях курса ты увидишь, что именно эта «уверенность в процентах» позже превратится в вероятности следующего слова в языковой модели. Пока просто запомни: модель не столько выбирает, сколько взвешивает.

Пример 2. Угадай следующее слово

Теперь второй сквозной пример — текст. Возьмём фразу Кошка пьёт ... и спросим: какое слово идёт дальше?

Кажется, при чём тут учитель и метки? А вот при чём. Чтобы научить модель угадывать продолжение, берут огромное количество настоящих текстов и хитро превращают их в задачки с ответами. Из одного предложения «Кошка пьёт молоко» можно сделать пример вот так.

Пример (что показываем)Метка (что должно получиться)
Кошкапьёт
Кошка пьётмолоко

Видишь хитрость? Правильный ответ уже спрятан в самом тексте — это просто следующее слово. Текст как будто сам себе учитель: не нужны люди, которые вручную проставляют метки, ответ берётся из продолжения фразы.

Когда таких примеров миллиарды, модель учится: после «Кошка пьёт» куда вероятнее идёт «молоко» или «воду», чем «асфальт». Именно так устроена языковая модель внутри ChatGPT — на следующих уровнях курса мы разберём это гораздо глубже, через токены и эмбеддинги. Пока что держи в голове главное: предсказание следующего слова — это тоже обучение с учителем, просто метки достаются из самого текста.

Пример 3. А что без учителя?

Чтобы идея «учителя» стала яснее, сравним её с обучением без учителя. Тут меток нет вообще — модели дают только примеры и просят самой найти в них закономерности.

Представь, что тебе высыпали на стол 500 фотографий животных, но никто не подписал, где кто. Тебя не просят сказать «кошка» или «собака» — это слова, которых ты в этой задаче даже не знаешь. Тебя просят разложить фотки на кучки так, чтобы в каждой кучке были похожие.

Скорее всего, ты сложишь пушистых отдельно, гладкошёрстных отдельно, мелких отдельно. Получатся группы похожих животных — но без названий. Это и есть обучение без учителя: модель находит структуру, но не знает «правильных» имён, потому что меток ей не давали.

С учителемБез учителя
Есть метки?Да, правильный ответ к каждому примеруНет, только сами примеры
Что делает модельУчится давать конкретный ответНаходит группы похожих объектов
Наш пример«Это фото — кошка»«Эти 200 фоток чем-то похожи между собой»
Когда удобноКогда ответы известны и важныКогда меток нет, а структуру хочется увидеть

Где ты встречаешь обучение без учителя в жизни? Когда музыкальный сервис без твоей подсказки собирает треки в «похожие» подборки, или когда соцсеть группирует людей со схожими интересами. Никто не говорил программе «правильный» ответ — она сама нашла, что похоже на что.

Не думай, будто один способ «лучше» другого. Они просто про разное. Если тебе нужно, чтобы модель давала конкретный ответ — «это кошка», «это спам», «дальше идёт слово молоко», — нужны метки, то есть учитель. Если ответов нет, а тебе просто хочется навести порядок в куче данных и увидеть в ней группы — подойдёт обучение без учителя. В реальных больших системах, как мы увидим ближе к концу курса, эти подходы часто работают вместе: сначала модель без учителя нащупывает структуру в горах текста, а потом её уже дообучают с учителем под конкретные задачи.

Пример 4. Маленький игрушечный «учитель» в коде

Этот урок концептуальный, без матана, но один крошечный пример полезно увидеть глазами. Не пугайся — здесь нет нейросетей, только идея «угадал — сравнил с меткой — посчитал ошибки». Это иллюстрация того, что происходит на шаге 3 из примера 1.

Данные с метками (примеры → правильный ответ):
  длинные усы, острые уши   → кошка
  висячие уши, крупная морда → собака
  длинные усы, острые уши   → кошка

Простое правило, которое "выучила" модель:
  если у животного длинные усы → отвечаем "кошка"
  иначе                       → отвечаем "собака"

Проверяем на тех же примерах:
  пример 1: модель говорит "кошка", метка "кошка"  → верно
  пример 2: модель говорит "собака", метка "собака" → верно
  пример 3: модель говорит "кошка", метка "кошка"  → верно

Ошибок: 0 из 3

Результат: модель не хранит сами примеры — она вывела короткое правило по признаку «усы», и это правило мы сверили с метками. Настоящая модель делает то же самое, только правил у неё миллионы и подкручивает она их постепенно, а не сразу.

Частые ошибки и подводные камни

Когда люди впервые сталкиваются с обучением с учителем, они наступают на одни и те же грабли. Разберём их, чтобы ты не наступал.

1. Кривые метки портят всё

Если человек, который размечал данные, по невнимательности подписал десяток собак словом «кошка», модель честно выучит этот бред. Она ведь верит меткам как абсолютной истине. Принцип простой: мусор на входе — мусор на выходе. Поэтому за качеством меток так следят.

2. Переобучение — зубрёжка вместо понимания

Переобучение — ситуация, когда модель зазубрила обучающие примеры и плохо работает на новых данных.

Представь одноклассника, который перед контрольной выучил наизусть ответы к конкретным задачам из сборника, но не понял тему. На знакомых задачах — пятёрка, а чуть изменили условие — провал. Модель умеет так же: она может «запомнить» обучающие фотки вместо того, чтобы понять признаки. Поэтому модель всегда проверяют на новых примерах, которых она не видела при обучении.

3. Перекос в данных

Если в обучающих данных 9000 фоток собак и всего 100 фоток кошек, модель может «полениться» и почти всегда отвечать «собака» — ведь так она реже ошибается. На общей статистике вроде неплохо, а вот кошек она почти не узнаёт. Данные должны быть сбалансированы по классам.

4. Путаница «учитель = живой человек рядом»

Ещё раз: учитель в этом методе — это заранее проставленные метки, а не преподаватель, который сидит рядом во время работы. Когда обучение закончено, модель отвечает сама, без всяких ответов под рукой.

5. Вера, что метки всегда нужно ставить руками

Пример с фразой Кошка пьёт ... показал: иногда метка уже спрятана в самих данных (следующее слово в тексте). Не всегда нужны люди-разметчики — иногда правильный ответ берётся из структуры самих данных.

Мини-практика: стань разметчиком на пять минут

Теперь твоя очередь побыть «учителем». Возьми лист бумаги или заметки в телефоне и сделай вот что.

  1. Придумай простую задачу-классификацию из своей жизни. Например: «спам или не спам», «мем смешной или нет», «песня бодрая или грустная».
  2. Выпиши 6 примеров и к каждому поставь метку (правильный ответ). Это твой обучающий набор.
  3. Подумай и запиши 2–3 признака, по которым ты сам различаешь классы. Для песни это может быть темп, тональность, текст.
  4. А теперь придумай 1 хитрый пример, который специально ломает твоё правило (например, грустная песня в быстром темпе). Это и есть тот случай, на котором модель спотыкается.

Когда сделаешь, ты руками прочувствуешь то, чем целыми днями занимаются инженеры: придумать признаки, собрать примеры с метками и понять, где правило ломается. Бонус: попробуй описать, как бы ты разметил данные без меток, — то есть просто разложить свои примеры на «похожие кучки» без правильных ответов. Это и будет обучение без учителя.

Итоги

Давай соберём всё в одну картину.

  • Обучение с учителем — это учёба по примерам с готовыми правильными ответами (метками), как сборник задач с ответами в конце.
  • «Учитель» — это сами метки, а не живой человек рядом во время работы модели.
  • На примере «кошка/собака» модель сама нащупывает признаки, сверяя догадки с метками и подкручивая веса.
  • На примере Кошка пьёт ... метка прячется прямо в тексте — это следующее слово; так учат языковые модели.
  • Без учителя меток нет — модель лишь группирует похожее, не зная «правильных» названий.
  • Главные грабли: кривые метки, переобучение (зубрёжка), перекос в данных.

В следующем уроке мы посмотрим, что происходит, когда у задачи не просто «кошка или собака», а нужно предсказать число или разложить данные на группы без подсказок, — и разберём другие способы обучения подробнее. А затем шаг за шагом начнём собирать из этих кирпичиков ту самую нейросеть, что стоит за ChatGPT.

Проверьте себя
1. Что в обучении с учителем играет роль «учителя»?
AЖивой преподаватель, который сидит рядом, пока модель отвечает пользователям
BЗаранее проставленные правильные ответы (метки) к обучающим примерам
CСам пользователь, который пишет промпт
DСкорость работы компьютера
2. Чем обучение без учителя отличается от обучения с учителем?
AВ нём вообще нет данных
BВ нём примеры идут без меток, и модель сама находит группы похожих объектов
CОно всегда точнее
DВ нём метки ставит сама модель ещё до обучения
3. Почему фразу «Кошка пьёт ...» можно использовать для обучения с учителем без живых разметчиков?
AПотому что у текста нет правильных ответов
BПотому что правильный ответ — следующее слово — уже спрятан в самом тексте
CПотому что фраза слишком короткая, чтобы её размечать
DПотому что модель сама придумывает любые метки
4. Что такое переобучение?
AКогда модель учат слишком мало времени
BКогда модель зазубрила обучающие примеры и плохо работает на новых данных
CКогда у модели слишком много меток
DКогда модель обучают сразу двух задачам
5. Что произойдёт, если в обучающих данных метки проставлены с ошибками?
AМодель сама исправит ошибки разметчиков
BМодель честно выучит неверные закономерности — мусор на входе даёт мусор на выходе
CЭто никак не повлияет на качество
DМодель откажется обучаться
6. Что в нашей задаче «кошка/собака» модель нащупывает сама во время обучения?
AИмена конкретных животных на фото
BПризнаки, отличающие классы, например форму ушей и длину усов
CЦену фотоаппарата
DКоличество людей, которые ставили метки