Изменения

Перейти к: навигация, поиск

Обучение в реальном времени

3205 байт добавлено, 11:16, 8 января 2021
Нет описания правки
[[Файл:OnlineLearningTaxonomy.PNG|420px|thumb|right|Классификация методов онлайн-обучения]]
Алгоритмы пакетного обучения обладают рядом критических недостатков из-за необходимости обучать модель с нуля при получении новых данных: низкая эффективность по времени и памяти, плохая масштабируемость для крупных систем. Онлайн-обучение преодолевает решает эти проблемы, поскольку модель обновляется на основе поступающих в каждый момент времени данных. Благодаря этому, алгоритмы онлайн-обучения гораздо более эффективны в приложениях, где данные не только имеют большой размер, но и поступают с высокой скоростью.
При онлайн-обучении для построения модели необходим один проход по данным, что позволяет не сохранять их для последующего доступа в процессе обучения и использовать меньший объем памяти. Обработка одного объекта за раз также значительно упрощает реализацию алгоритма онлайн-обучения. Однако изменение вида входных данных, выход сервера из строя и многие другие причины могут привести к прекращению корректной работы некорректной работе системы. Оценить качество работы системы при онлайн-обучении сложнее, чем при пакетном: не нет возможности получить репрезентативный тестовый набор данных.
В зависимости от типа обратной связи существующие методы онлайн-обучения можно разделить на три группы:
== Математическая основа ==
=== Функция ожидаемого риска (англ. Expected Risk Function) ===
Цель системы обучения состоит в поиске минимум минимума функции <tex>J(w)</tex>, называемой функцией ожидаемого риска.Эта функция раскладывается следующим образом:
<tex>J(w) \stackrel{\triangle}{=} E_z\ Q(z,w) \stackrel{\triangle}{=} \int Q(z,w)\,\mathrm{d}P(z) </tex>
Переменная минимизации <tex>w </tex> предназначена для представления части системы обучения, которая должна быть адаптирована в качестве реакции на наблюдение событий <tex>z</tex>, происходящих в реальном мире. Функция потерь <tex>Q(z, w)</tex> измеряет производительность системы обучения с параметром <tex>w</tex> при обстоятельствах, описанных событием <tex>z</tex>.
События <tex>z</tex> моделируются как случайные независимые наблюдения, взятые из неизвестного распределения вероятности <tex>\mathrm{d}P(z)</tex>. Функция риска <tex>J(w)</tex> - это ожидание функции потерь <tex>Q(z, w)</tex> для фиксированного значения параметра <tex>w</tex>.
<tex> J (w) \thickapprox \hat{J_L}(w) \stackrel{\triangle}{=} \frac{1}{L} \sum_{n=1}^L Q(z_n,w) </tex>
=== Пакетный градиентный спуск (англ. Batch Gradient Descent) ===
[[Файл:BatchGradientDescent.PNG|420px|thumb|right|Пакетный градиентный спуск]]
Минимизировать эмпирический риск <tex>\hat{J_L}(w)</tex> можно с помощью алгоритма пакетного градиентного спуска. Последовательные оценки <tex>w_t</tex> оптимального параметра вычисляются по следующей формуле, где <tex>\gamma_t</tex> - положительное число.:
<tex> w_{t+1} = w_t - \gamma_t \bigtriangledown_w \hat{J_L}(w_t) = w_t - \gamma_t\ \frac{1}{L} \sum_{i=1}^L \bigtriangledown_w\ Q(z_i,w_t)\ </tex>
Когда скорость обучения <tex>\gamma_t</tex> достаточно мала, алгоритм сходится к локальному минимуму эмпирического риска <tex>\hat{J_L}(w)</tex>. Значительное ускорение сходимости может быть достигнуто путем замены скорости обучения <tex>\gamma_t</tex> подходящей положительно определенной положительной матрицей.
Однако каждая Каждая итерация алгоритма пакетного градиентного спуска включает в себя вычисление среднего значения градиентов функции потерь <tex>\bigtriangledown_w Q(z_n,w)</tex> по всей обучающей выборке. Для хранения достаточно большой обучающей выборки и вычисления этого среднего должны быть выделены значительные вычислительные ресурсы и память.
=== Градиентный спуск в реальном времени (англ. Online Gradient Descent) ===
[[Файл:OnlineGradientDescent.PNG|420px|thumb|right|Градиентный спуск в реальном времени]]
Градиентный спуск в реальном времени также может быть описан без использования обучающей выборки, используя события из реального мира напрямую. Такая формулировка подходит для описания адаптивных алгоритмов, обрабатывающих поступающее наблюдение и одновременно обучающихся работать лучше. Такие адаптивные алгоритмы наиболее полезны для отслеживания явлений, развивающихся во времени.
Общий алгоритм градиентного спуска в реальном времени используется для минимизации следующей функции стоимости <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>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>
[[Файл:Adaline.PNG|420px|thumb|right|Adaline]]
Алгоритм обучения Adaline подбирает параметры одного порогового элемента. Входные данные <tex>x</tex> распознаются как класс <tex>y = +1</tex> или <tex>y = −1</tex> в зависимости от знака <tex>w' x + betta\beta</tex>. Целесообразно рассмотреть расширенный набор входных данных <tex>x</tex>, содержащий дополнительный постоянный коэффициент, равный 1. Смещение <tex>betta\beta</tex> тогда представляется как дополнительный коэффициент в векторе параметров <tex>w</tex>. Тогда вывод порогового элемента имеет вид:
<tex>\hat{y_w}(x) \stackrel{\triangle}{=} sign(w' x) = sign \sum_{i} w_i x_i \ </tex>
=== Многослойные сети ===Параметр <tex>w</tex> корректируется после использования дельта-правила:
<tex>w_{t+1} === Перцептрон ===w_t\ + \gamma_t(y_t - w'_t x_t) x_t \ </tex>
[[ФайлДельта-правило - это итерация алгоритма градиентного спуска в реальном времени со следующей функцией потерь, где <tex>z = (x, y)</tex>:RosenblattPerceptron.PNG|420px|thumb|right|Перцептрон Розенблатта состоит из фиксированной предварительной обработки и обучаемого порогового элемента]]
<tex>Q_{adaline}(z, w) \stackrel{\triangle}{=== Метод k} (y -средних ===w'x)^2\ </tex>
=== Многослойные сети (англ. Multi-Layer Networks)=== Многослойные сети были разработаны для преодоления вычислительных ограничений пороговых элементов. Произвольные двоичные отображения могут быть реализованы путем объединения нескольких слоев пороговых элементов, при этом каждый слой использует выходные данные элементов предыдущих слоев в качестве входных данных. Разрыв порогового элемента может быть представлен плавным нелинейным приближением: <tex>sign(w'x) \thickapprox tanh (w' x) \ </tex> Использование таких сигмоидальных элементов не уменьшает вычислительные возможности многослойной сети. Многослойная сеть сигмоидальных элементов реализует дифференцируемую функцию <tex>f(x, w)</tex> от входных данных <tex>x</tex> и параметров <tex>w</tex>. Алгоритм обратного распространения ошибки обеспечивает эффективный способ вычисления градиентов функции среднего квадрата потерь. <tex>Q_{mse}(z, w) = \frac{1}{2}(y - f(x, w))^2 \ </tex> === K-Means === [[Файл:KMeansOnline.PNG|420px|thumb|right|Метод K-Means]] Алгоритм K-Means можно получить, выполнив градиентный спуск в реальном времени со следующей функцией потерь: <tex>Q_{kmeans}(x, w) \stackrel{\triangle}{=} \stackrel{K}{\min_{k= 1}}(x - w(k))^2\ </tex> Эта функция потерь измеряет ошибку в положении точки <tex>x</tex>, когда мы заменяем ее ближайшим центроидом, и удовлетворяет следующему условию: <tex> \forall z, \forall \upsilon \in \vartheta (w), \mid Q(z, \upsilon) -средних отправляет заранее определенное количество центроидов кластераQ(z, чтобы минимизировать ошибкуw)\mid \le \mid w - \upsilon \mid \Phi(z, w) \ </tex> Поэтому можно игнорировать недифференцируемые точки и применять алгоритм градиентного спуска в реальном времени. <tex> w_{t+1}^- = w_t^- + \gamma_t(x_t - w_t) \ </tex>==См. также==*[[Обучение с частичным привлечением учителя]]*[[Активное обучение]]*[[Обучение с подкреплением]]*[[Глубокое обучение]]
== Источники информации ==
 
* [https://arxiv.org/pdf/1802.02871.pdf Steven C. H. Hoi, Doyen Sahoo, Jing Lu, and Peilin Zhao. Online Learning: A Comprehensive Survey. 2018]
* [https://leon.bottou.org/publications/pdf/online-1998.pdf Leon Bottou. Online Learning and Stochastic Approximations. 1998]
* [https://www.analyticsvidhya.com/blog/2015/01/introduction-online-machine-learning-simplified-2/ Introduction to Online Machine Learning: Simplified]
 
[[Категория: Машинное обучение]]
[[Категория: Виды обучения]]
118
правок

Навигация