Словарь ИИ
Что такое эпоха
Коротко
Эпоха в машинном обучении это один полный проход модели по всем обучающим примерам.
Машинное обучение · epoch
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что учительница дала тебе стопку карточек со словами. Ты прочитал все карточки от первой до последней один раз. Это один круг. Потом ты перемешал стопку и прошел ее снова, и слова запомнились крепче. Компьютер тоже учится кругами по своей стопке примеров, и каждый такой круг называют эпохой.
Простыми словами
Модель редко усваивает правило с первого раза. Поэтому обучающие примеры показывают ей несколько раз подряд. Один полный круг по всем примерам и есть эпоха. Внутри круга данные делят на небольшие порции, и после каждой порции модель немного поправляет себя. Если кругов мало, модель не успевает научиться. Если их слишком много, она начинает зубрить именно эти примеры и хуже справляется с новыми. Так школьник, который десять раз решил один и тот же вариант контрольной, теряется, когда видит другой.
Для бизнеса
Число проходов прямо влияет на счет за обучение: каждый дополнительный проход по данным снова занимает видеокарты на то же время. Когда подрядчик дообучает модель на ваших документах или истории продаж, спросите, сколько проходов он планирует и по какому правилу остановится. Разумная практика: после каждого прохода проверять качество на отложенных данных, которые модель не видела, и прекращать обучение, когда метрика перестала расти. Лишние проходы не только тратят деньги, но и портят результат: модель подгоняется под старые записи и ошибается на новых клиентах. Сколько проходов окупается, видно по кривой качества, а мощность сервера под такую нагрузку считают заранее.
Для специалиста
Эпоха (epoch) это проход оптимизатора по всей обучающей выборке. При мини-батчевом обучении она состоит примерно из N/B итераций (steps), где N число примеров, B размер батча (batch size); перед каждым проходом данные обычно перемешивают (shuffle). В Keras их число задает аргумент epochs метода fit, а документация определяет ее как итерацию по всем переданным данным x и y; для бесконечно повторяющегося набора данных границу задают вручную через steps_per_epoch. Это число относится к гиперпараметрам, и его выбирают по кривым обучения: ошибка на обучающей выборке обычно падает, на валидационной сначала падает, затем растет, что указывает на переобучение. Отсюда ранняя остановка (early stopping): колбэк EarlyStopping в Keras проверяет отслеживаемую метрику в конце каждой эпохи, прекращает обучение после заданного числа проходов без прогресса (patience) и по флагу restore_best_weights возвращает веса того прохода, где отслеживаемая величина была оптимальной.
Не путать. Не путать с эпохой как периодом истории: здесь слово обозначает один круг обучения модели.
Пример
Интернет-магазин дообучает модель, которая предсказывает возвраты. После третьей эпохи качество на проверочных заказах перестает расти, после шестой падает. Команда берет веса после третьего прохода и экономит половину времени видеокарт.
Связанные термины
Вопросы и ответы
Что такое эпоха в нейросетях?
Сколько эпох нужно для обучения?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений