Обучение в реальном времени — различия между версиями
(→Пакетный градиентный спуск (Batch Gradient Descent)) |
(→Градиентный спуск в реальном времени (Online Gradient Descent)) |
||
Строка 50: | Строка 50: | ||
[[Файл:OnlineGradientDescent.PNG|420px|thumb|right|Градиентный спуск в реальном времени]] | [[Файл:OnlineGradientDescent.PNG|420px|thumb|right|Градиентный спуск в реальном времени]] | ||
+ | Алгоритм градиентного спуска в реальном времени получается при удалении операции усреднения в алгоритме пакетного градиентного спуска. Вместо усреднения градиента потерь по всей обучающей выборке каждая итерация градиентного спуска в реальном времени состоит из случайного выбора примера <tex>z_t</tex> и обновления параметра <tex>w_t</tex> в соответствии со следующей формулой: | ||
<tex> w_{t+1} = w_t - \gamma_t \bigtriangledown_w Q(z_t, w_t) \ </tex> | <tex> w_{t+1} = w_t - \gamma_t \bigtriangledown_w Q(z_t, w_t) \ </tex> | ||
+ | Усреднение этого обновления по всем возможным вариантам обучающего примера <tex>z_t</tex> позволяет восстановить алгоритм пакетного градиентного спуска. Упрощение градиентного спуска в реальном времени основано на предположении, что случайный шум, вносимый этой процедурой, не будет мешать усредненному поведению алгоритма. Эмпирические данные подтверждают это предположение. | ||
+ | Градиентный спуск в реальном времени также может быть описан без использования обучающей выборки, используя события из реального мира напрямую. Такая формулировка подходит для описания адаптивных алгоритмов, обрабатывающих поступающее наблюдение и одновременно обучающихся работать лучше. Такие адаптивные алгоритмы наиболее полезны для отслеживания явлений, развивающихся во времени. | ||
+ | |||
+ | Общий алгоритм градиентного спуска в реальном времени используется для минимизации следующей функции стоимости <tex>C(w)</tex>. | ||
<tex> C(w) \stackrel{\triangle}{=} E_z Q(z,w) \stackrel{\triangle}{=} \int Q(z, w)\,\mathrm{d}P(z)\ </tex> | <tex> C(w) \stackrel{\triangle}{=} E_z Q(z,w) \stackrel{\triangle}{=} \int Q(z, w)\,\mathrm{d}P(z)\ </tex> | ||
− | + | Каждая итерация этого алгоритма состоит из извлечения события <tex>z_t</tex> из распределения <tex>\mathrm{d}P(z)</tex> и применения следующей формулы обновления, где <tex>\gamma_t</tex> - либо положительные числа, либо определенные положительные матрицы: | |
<tex> w_{t+1} = w_t - \gamma_t H(z_t, w_t) \ </tex> | <tex> w_{t+1} = w_t - \gamma_t H(z_t, w_t) \ </tex> | ||
− | + | <tex>H(z, w)</tex> удовлетворяет следующему условию: | |
<tex> E_z H(z, w) = \bigtriangledown_w C(w) \ </tex> | <tex> E_z H(z, w) = \bigtriangledown_w C(w) \ </tex> |
Версия 22:29, 20 апреля 2020
Обучение в реальном времени, онлайн-обучение (англ. online machine learning) — вид машинного обучения, при котором данные поступают в последовательном порядке и используются для обновления лучшего предсказания на каждом шаге.
Общая информация
Алгоритмы пакетного обучения обладают рядом критических недостатков из-за необходимости обучать модель с нуля при получении новых данных: низкая эффективность по времени и памяти, плохая масштабируемость для крупных систем. Онлайн-обучение преодолевает эти проблемы, поскольку модель обновляется на основе поступающих в каждый момент времени данных. Благодаря этому, алгоритмы онлайн-обучения гораздо более эффективны в приложениях, где данные не только имеют большой размер, но и поступают с высокой скоростью.
При онлайн-обучении для построения модели необходим один проход по данным, что позволяет не сохранять их для последующего доступа в процессе обучения и использовать меньший объем памяти. Обработка одного объекта за раз также значительно упрощает реализацию алгоритма онлайн-обучения. Однако изменение вида входных данных, выход сервера из строя и многие другие причины могут привести к прекращению корректной работы системы. Оценить качество работы системы при онлайн-обучении сложнее, чем при пакетном: не возможности получить репрезентативный тестовый набор данных.
В зависимости от типа обратной связи существующие методы онлайн-обучения можно разделить на три группы:
- Онлайн-обучение с учителем (англ. supervised online learning)
- Онлайн-обучение с частичным привлечением учителя (англ. online learning with limited feedback)
- Онлайн-обучение без учителя (англ. unsupervised online learning)
Математическая основа
Функция ожидаемого риска (Expected Risk Function)
Цель системы обучения состоит в поиске минимум функции
, называемой функцией ожидаемого риска. Эта функция раскладывается следующим образом:
Переменная минимизации w предназначена для представления части системы обучения, которая должна быть адаптирована в качестве реакции на наблюдение событий
, происходящих в реальном мире. Функция потерь измеряет производительность системы обучения с параметром при обстоятельствах, описанных событием .События
моделируются как случайные независимые наблюдения, взятые из неизвестного распределения вероятности . Функция риска - это ожидание функции потерь для фиксированного значения параметра .Функция ожидаемого риска
не может быть минимизирована напрямую, потому что распределение неизвестно. Однако возможно вычислить приближение , используя конечный обучающий набор независимых наблюдений .
Пакетный градиентный спуск (Batch Gradient Descent)
Минимизировать эмпирический риск
можно с помощью алгоритма пакетного градиентного спуска. Последовательные оценки оптимального параметра вычисляются по следующей формуле, где - положительное число.
Когда скорость обучения
достаточно мала, алгоритм сходится к локальному минимуму эмпирического риска . Значительное ускорение сходимости может быть достигнуто путем замены скорости обучения подходящей определенной положительной матрицей.Однако каждая итерация алгоритма пакетного градиентного спуска включает в себя вычисление среднего значения градиентов функции потерь
по всей обучающей выборке. Для хранения достаточно большой обучающей выборки и вычисления этого среднего должны быть выделены значительные вычислительные ресурсы и память.Градиентный спуск в реальном времени (Online Gradient Descent)
Алгоритм градиентного спуска в реальном времени получается при удалении операции усреднения в алгоритме пакетного градиентного спуска. Вместо усреднения градиента потерь по всей обучающей выборке каждая итерация градиентного спуска в реальном времени состоит из случайного выбора примера
и обновления параметра в соответствии со следующей формулой:
Усреднение этого обновления по всем возможным вариантам обучающего примера
позволяет восстановить алгоритм пакетного градиентного спуска. Упрощение градиентного спуска в реальном времени основано на предположении, что случайный шум, вносимый этой процедурой, не будет мешать усредненному поведению алгоритма. Эмпирические данные подтверждают это предположение.Градиентный спуск в реальном времени также может быть описан без использования обучающей выборки, используя события из реального мира напрямую. Такая формулировка подходит для описания адаптивных алгоритмов, обрабатывающих поступающее наблюдение и одновременно обучающихся работать лучше. Такие адаптивные алгоритмы наиболее полезны для отслеживания явлений, развивающихся во времени.
Общий алгоритм градиентного спуска в реальном времени используется для минимизации следующей функции стоимости
.
Каждая итерация этого алгоритма состоит из извлечения события
из распределения и применения следующей формулы обновления, где - либо положительные числа, либо определенные положительные матрицы:
удовлетворяет следующему условию: