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

Производственная среда — место, где код развертывается и работает непрерывно.

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

Пакетное обучение

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

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

Проблема :

Например, у Netflix есть система рекомендаций, поэтому она обновляется до сегодняшнего дня, но в будущем рекомендации, предоставленные netflix, устареют.

Решение :

Итак, мы должны извлечь наши данные и переобучить их новым данным, а затем снова развернуть их. (Это можно делать периодически, например, через 1 неделю, 24 часа, 1 месяц и т. д.)

Преимущества :

  • Стабильность
  • Эффективность

Недостатки:

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

Онлайн обучение

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

Инкрементальное обучение с минимальными данными.

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

Например: чат-бот, канал Youtube и т. д.

Когда использовать это онлайн-обучение?

  • Дрейф концепции (быстрое изменение контекста, например, фондовый рынок, продажи и т. д.)

Преимущества :

  • Экономически эффективным
  • Более быстрое решение

Недостатки:

  • Чувствительность к заказу
  • Забывание старых данных

Некоторые полезные библиотеки:

  • Река
  • Вовпал Ваббит

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