В КУРСЕ?

Разбираемся в теме

Deep Learning: как нейронная сеть учится представлениям

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

Слой преобразует числа в новые признаки

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

Обучение начинается с измеримой ошибки

Чтобы сеть могла изменять параметры, нужна функция потерь — число, показывающее, насколько предсказание отличается от желаемого результата. Для классификации она оценивает распределение вероятностей по классам, для регрессии — разницу между числовым прогнозом и целевым значением. Обратное распространение ошибки вычисляет, как каждый параметр повлиял на итоговую потерю, а оптимизатор делает небольшой шаг в направлении её уменьшения.

Данные определяют границы модели

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

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

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

Попробуйте на практике

Смоделируйте процесс обучения простой классификации на бумаге.

  1. Выберите задачу из двух классов, например различать условные красные и синие объекты по двум числовым признакам.
  2. Запишите, какие числа поступают на вход и какой ответ считается правильным.
  3. Придумайте функцию потерь, которая растёт при уверенной ошибке.
  4. Разделите десять условных примеров на обучающие и проверочные.
  5. Опишите, почему высокая точность только на обучающих примерах ещё не доказывает хорошее обобщение.

Как проверить результат. Упражнение выполнено, если вы можете объяснить роль входных данных, параметров, функции потерь и отдельной проверки на новых примерах.

Частые вопросы

Чем глубокое обучение отличается от обычного машинного обучения?

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

Модель понимает данные так же, как человек?

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

Почему нужно много данных?

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

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

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

Зарегистрироваться