К содержанию
Фонтум Искусственный интеллект Урок 2 / 24 Все уроки

Главная · Курсы · Искусственный интеллект · Программа курса · Модуль I. Что называют интеллектом · урок 2 из 24

Машинное обучение: базовая идея

Сдвиг, с которого начинается всё машинное обучение

Машинное обучение это способ получить правило не написанием, а подбором: на вход подают данные и ответы, на выходе получают правило в виде набора чисел, которые называют параметрами. Плохость ответов измеряют функцией потерь, и обучение сводится к поиску параметров, при которых это число наименьшее. Видов обучения три: с учителем на размеченных примерах, без учителя на данных без ответов и с подкреплением через награду за исход.

Stanford CS229, вводные лекции. Dive into Deep Learning, гл. 1 · 22 мин · обновлено 01.10.2026

После урока вы сможете

  • Объяснять разницу между написанным правилом и выученным
  • Называть три вида обучения и понимать, чем они отличаются
  • Понимать, что такое функция потерь и зачем плохость превращают в число
  • Видеть, какую цену платят за отказ от явных правил

Попробуйте объяснить словами, как вы отличаете кошку от собаки. Не «ну это же очевидно», а пошагово и так, чтобы по вашей инструкции задачу решил человек, никогда не видевший ни тех ни других. Инструкция должна работать без вашего присутствия.

Уши? У некоторых собак они острые, у некоторых кошек висят. Морда? Хватит десятка пород, чтобы правило поплыло. Возьмите размер, хвост, усы. Каждый признак разваливается на исключениях, и чем дольше вы пишете инструкцию, тем длиннее становится список оговорок.

Вы делаете это безошибочно тысячу раз в день и не можете описать как. Именно с этой стены началось машинное обучение: оказалось, что огромный класс задач мы решаем, не умея объяснить решение. Способ обойти эту стену и составляет предмет урока.

Два способа получить работающую программу

Обычная программа и есть записанное правило. Программист понял задачу, разложил на шаги и записал шаги на языке, который машина исполнит. Расчёт налога, сортировка списка, проверка пароля: человек знает решение, машина его выполняет быстро и без устали.

Такой подход упирается в стену ровно там, где мы сами не знаем правила. Распознать кошку, разобрать речь, перевести фразу, узнать почерк. Во всех этих случаях у нас есть навык и нет инструкции. Инструкцию не написать, зато показать примеры можно.

Машинное обучение переворачивает порядок. Программисту не нужно знать правило: он показывает машине много примеров с ответами и даёт способ подстраиваться под них. Правило машина выводит сама, но не в виде понятного текста, а в виде набора чисел, которые заставляют её отвечать как надо.

Разницу проще всего запомнить так: в обычном программировании на вход подают правило и данные, а получают ответы. В машинном обучении на вход подают данные и ответы, а получают правило. Запомнить порядок стоит: он объясняет и силу подхода, и его цену.

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

Что значит «подстраиваться»

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

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

Отсюда сразу видно главное ограничение: модель может выучить только то, что содержится в примерах. Если в данных нет чего-то, никакая настройка ручек этого не создаст. Курс будет возвращаться к этому не раз. Почти все неприятности машинного обучения растут из того, что было или чего не было в данных.

Плохость превращают в число

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

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

Запомните формулу, к которой курс вернётся в уроках о предвзятости и о бенчмарках, общих наборах задач, на которых сравнивают системы: система оптимизирует ровно то, что вы записали в функцию потерь, а не то, что вы имели в виду. Разрыв между этими двумя вещами и есть источник большинства неприятных сюрпризов. В уроках 14 и 17 он обойдётся дорого.

ловушка«Модель хочет уменьшить ошибку»

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

Один и тот же фильтр, два способа

Разберём переход на отсеве спама. У этой задачи есть обе истории. Первые фильтры были написаны правилами: список подозрительных слов, проверка отправителя, счёт восклицательных знаков. Правила составлял человек, читая накопившийся мусор.

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

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

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

Обратите внимание и на цену, спрятанную в этом описании. Тысячи писем кто-то должен был пометить, а без пометок обучение с учителем не запускается вовсе. Разметка стоит денег и времени, и об этом ниже.

Три вида обучения

Способов показать машине примеры три, и они различаются тем, что именно мы даём вместе с данными. Разница между ними состоит в том, что мы даём вместе с данными.

Обучение с учителем. Даём примеры с правильными ответами: к снимку приложено «есть перелом», к письму «спам», к фразе по-русски её перевод. Самый распространённый и самый требовательный вид: размеченные данные дороги, потому что размечают их люди.

Обучение без учителя. Даём данные без ответов и просим найти структуру: разбить покупателей на группы, заметить необычные транзакции, сжать описание. Правильных ответов нет, и оценивать результат труднее, но и данные не надо размечать.

Обучение с подкреплением. Ответов нет, есть награда за исход: система действует, получает очки и подстраивает поведение. Так учат играть и управлять. Главная трудность в том, что награда приходит поздно и непонятно, какое из сотни действий её заслужило. Языковые модели, которым посвящён модуль IV, устроены хитрее и используют все три подхода на разных этапах, и там это будет разобрано по шагам. Там это будет разобрано по шагам, потому что порядок этапов важен.

Кто размечает данные

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

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

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

И ещё одно, менее очевидное. Тот, кто пишет инструкцию для разметчиков, фактически определяет, что модель будет считать правильным. Эта инструкция и есть самое влиятельное и самое редко публикуемое место всей системы.

Чем платят за отказ от правил

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

Нужны данные, и много. Правило пишется один раз в тишине кабинета. Обучение требует тысяч или миллионов примеров, которые надо собрать, а часто и разметить руками.

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

Ошибки становятся странными. Программа с ошибкой ломается предсказуемо, на определённых входах. Модель ошибается статистически: почти всегда права и вдруг нет, причём объяснить, почему именно здесь, трудно.

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

на заметкуКогда правило лучше

Машинное обучение не отменило обычное программирование и не собиралось. Где правило известно и проверяемо, скажем при расчёте налога, начислении процентов, проверке формата документа, обученная модель была бы хуже по всем статьям: дороже, медленнее, непрозрачнее и с ошибками там, где их быть не должно. Выбор подхода определяется тем, знаем ли мы правило.

Обобщение и есть то, ради чего всё

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

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

Отсюда неожиданный вывод: отличный результат на обучающих примерах сам по себе ничего не стоит. Систему, которая просто запомнила все показанные ответы, отличить от системы, что-то понявшей, по обучающим данным невозможно, ведь обе отвечают безупречно. Обе системы отвечают на знакомых примерах безупречно.

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

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

Что дальше

Мы условились, что обучение это подбор чисел, при которых функция потерь минимальна. Осталось понять, как именно их подбирают: ручек бывает миллиард, а перебирать их наугад бесполезно даже на самой быстрой машине. Осталось понять, как именно их подбирают. Ответ на удивление прост и разбирается в уроке 4 вместе с тренажёром, где вы проведёте настоящий градиентный спуск и увидите, как та же процедура разлетается, если сделать шаг слишком крупным. Там же видно, как та же процедура разлетается при слишком крупном шаге.

Но сначала будет урок 3 и история о том, как область дважды переоценила себя. Она понадобится позже: без неё нельзя читать ни сегодняшние обещания, ни сегодняшние похороны. Спуск окажется проще, чем можно подумать по названию.

Ключевые работы и результаты

Stanford CS229 «Machine Learning»2018Открытый курс с лекциями, конспектами и задачами. Вводные лекции задают разделение на обучение с учителем, без учителя и с подкреплением, которого держится этот курс.
A. Zhang, Z. Lipton, M. Li, A. Smola, «Dive into Deep Learning»2023Открытый учебник под лицензией CC BY-SA 4.0, принятый в пятистах университетах. Глава 1 вводит понятия параметров, функции потерь и обучения как оптимизации.

Что подтвердилось, а что нет

мифМашинное обучение вытеснило обычное программирование.

Подходы отвечают на разные вопросы. Где правило известно и проверяемо, скажем при расчёте налога, проверке формата, начислении процентов, обученная модель проигрывает по всем статьям: дороже, медленнее, непрозрачнее и ошибается там, где ошибок быть не должно. Машинное обучение нужно ровно там, где правило нам самим неизвестно.

сильно ослабленоМодель стремится уменьшить ошибку.

Это удобное сокращение, за которым нет желания: есть процедура, двигающая числа в сторону меньшего значения записанной функции потерь. Запиши функцию наоборот, и процедура так же послушно пойдёт в другую сторону. Сокращением можно пользоваться, если умеешь развернуть его обратно в механику, и в этом курсе такое умение требуется постоянно.

отвергнутоДостаточно задать модели верную цель, и она сделает то, что мы имели в виду.

Система оптимизирует то, что записано в функции потерь, а не то, что подразумевалось. Разрыв между записанным и подразумеваемым служит источником большинства неприятных сюрпризов машинного обучения, от завышенных результатов на бенчмарках до предвзятых решений. Уроки 14 и 17 показывают, во что это обходится.

Термины

машинное обучениеmachine learning
Способ получить правило не написанием, а подбором: на вход подают данные и ответы, на выходе получают правило в виде набора чисел.
параметрparameter
Настраиваемое число модели. Обучение сводится к подбору положений всех параметров так, чтобы ответы на известных примерах совпадали с известными ответами.
функция потерьloss function
Число, измеряющее, насколько ответы модели плохи: чем хуже, тем больше. Её выбор и есть решение о том, что считать ошибкой, а не техническая мелочь.
обучение с учителемsupervised learning
Обучение на примерах с правильными ответами. Требует размеченных данных, которые размечают люди, и потому дороже прочих.
обучение без учителяunsupervised learning
Обучение на данных без ответов: система ищет структуру, то есть группы, выбросы, компактное описание. Размечать не нужно, зато труднее оценить результат.
обучение с подкреплениемreinforcement learning
Обучение через награду за исход действий. Главная трудность в том, что награда приходит поздно, и неясно, какое из прошлых действий её заслужило.
искусственный интеллектartificial intelligence
Область, занимающаяся задачами, для которых нет явного пошагового алгоритма решения. Общепринятого определения через свойства машины не существует.

Практикум · Инструкция, которую невозможно написать

Смысл сдвига чувствуется только на собственной шкуре: пока не попробуешь записать правило, кажется, что оно есть. Задача практикума состоит в том, чтобы упереться в стену своими руками и понять, где именно она стоит.

  1. Выберите навык, которым владеете уверенно и который применяете к картинке или тексту: отличить свежий хлеб от вчерашнего по виду, понять по письму, что человек раздражён, узнать город по фотографии улицы.
  2. Напишите инструкцию для человека, который этим навыком не владеет. Только наблюдаемые признаки: никаких «по ощущению» и «сразу видно».
  3. Дайте инструкцию знакомому вместе с пятью примерами и проверьте, сколько он угадает. Записывайте не результат, а места, где инструкция дала осечку.
  4. Допишите оговорки под каждую осечку и посмотрите, что стало с длиной текста. Обычно к третьему кругу оговорок больше, чем правил.
  5. Ответьте письменно на два вопроса: сколько примеров с ответами вы смогли бы собрать за час, и что оказалось дешевле, объяснять правило или показывать примеры. Второй ответ и есть причина, по которой существует машинное обучение.

Вопросы для самопроверки

Вопрос 1

Чем машинное обучение отличается от обычного программирования по устройству?

  • Работает быстрее: те же вычисления перенесли на видеокарты, и правило находится за секунды
  • На вход подают данные и ответы, а правило получают на выходе
  • Не требует программистов: правило находится само, и писать код больше не нужно
  • Использует вероятности вместо точных вычислений: точных вычислений в машинном обучении не бывает
Вопрос 2

Что такое функция потерь?

  • Число, измеряющее, насколько плохи ответы модели: чем хуже, тем больше
  • Доля данных, потерянных при обучении
  • Скорость забывания моделью старых примеров
  • Стоимость обучения в часах вычислений
Вопрос 3

Банку нужно начислять проценты по вкладу строго по формуле из договора. Что выбрать?

  • Обучить модель на истории начислений
  • Обучить модель, а формулу оставить для сверки
  • Обычную программу: правило известно и проверяемо
  • Обучение с подкреплением, награждая за точность
Вопрос 4

Система разбивает покупателей на группы по поведению, правильных ответов ей никто не давал. Какой это вид обучения?

  • С учителем
  • С подкреплением
  • Ни один: без ответов обучение невозможно
  • Без учителя
Вопрос 5

Какое из ограничений следует прямо из устройства машинного обучения?

  • Модель не может ошибаться чаще человека: обучение останавливают, когда её ошибка станет меньше человеческой
  • Модель может выучить только то, что содержится в примерах
  • Модель нельзя применить к тексту
  • Модель работает медленнее обычной программы: ей приходится перебирать обучающие примеры при каждом ответе

Ответы и разбор открываются в самопроверке урока: она считает результат и отмечает урок пройденным. Пройти самопроверку.

Что читать

  • Dive into Deep Learning (d2l.ai), гл. 1 «Introduction»: Тот же сдвиг с примерами и без формул. Дальше начинается математика, но первая глава читается как обычный текст.
  • Stanford CS229, вводная лекция и конспект к ней: Классическое изложение трёх видов обучения. Конспекты выложены отдельно от видео и читаются быстрее.
Все курсы и разделы школы
Фонтум

Открытая школа: университетские программы и практикумы на русском. Целиком, бесплатно, без регистрации.

Курс «Искусственный интеллект»

ВАШ СЛЕДУЮЩИЙ ВОПРОС

Что хотите понять?