Построение деревьев навыков
Эта статья может сбивать с толку или быть непонятной читателям . ( Июль 2023 г. ) |
Построение деревьев навыков (CST) — это иерархический алгоритм обучения с подкреплением , который может строить деревья навыков на основе набора образцов траекторий решения, полученных в результате демонстрации. CST использует пошаговый алгоритм обнаружения точек изменения MAP ( максимум апостериорный ), чтобы сегментировать каждую демонстрационную траекторию на навыки и интегрировать результаты в дерево навыков. CST был представлен Джорджем Конидарисом , Скоттом Куиндерсмой , Эндрю Барто и Родериком Групеном в 2010 году. [1]
Алгоритм
[ редактировать ]CST состоит в основном из трех частей: обнаружение точки изменения, выравнивание и слияние. Основное внимание CST уделяется онлайн-обнаружению точек изменения. Алгоритм обнаружения точек изменения используется для сегментации данных по навыкам и использует сумму дисконтированного вознаграждения. в качестве целевой переменной регрессии. Каждому навыку присвоена соответствующая абстракция. Фильтр частиц используется для управления вычислительной сложностью CST.
Алгоритм обнаружения точки изменения реализован следующим образом. Данные за раз и модели Q с предыдущим даны. Предполагается, что алгоритм может соответствовать сегменту по времени. до t с использованием модели q с вероятностью соответствия . Для расчета используется модель линейной регрессии с гауссовским шумом. . Априорный гауссов шум имеет нулевое среднее значение и следующую за ним дисперсию. . Далее следует априор для каждого веса. .
Вероятность соответствия вычисляется по следующему уравнению.
Затем CST вычисляет вероятность точки изменения в момент времени j с моделью q , и с использованием алгоритма Витерби .
Описания параметров и переменных следующие:
- : вектор из m базисных функций, оцениваемых в состоянии
- 𝛾: Гамма-функция
- m : количество базисных функций q.
- D : матрица размером m на m с на диагонали и нули в других местах
длина навыка l Предполагается, что подчиняется геометрическому распределению с параметром p
- k : Ожидаемая длина навыка
Используя описанный выше метод, CST может сегментировать данные в цепочку навыков. Временная сложность обнаружения точки изменения равна и размер хранилища , где N — количество частиц, L — время вычисления , и есть поменять точки.
Следующий шаг – выравнивание. CST необходимо согласовать компоненты навыков, поскольку точки изменения не происходят в одних и тех же местах. Таким образом, при сегментировании второй траектории после сегментирования первой траектории имеется смещение относительно местоположения точки изменения на второй траектории. Это смещение следует за смесью гауссиан.
Последний шаг – слияние. CST объединяет цепочки навыков в дерево навыков. CST объединяет пару сегментов траектории, назначая один и тот же навык. Все траектории имеют одну и ту же цель и объединяют две цепочки, начиная с их последних сегментов. Если два сегмента статистически похожи, они объединяются. Эта процедура повторяется до тех пор, пока не удастся объединить пару сегментов навыков. используются для определения того, лучше моделируется пара траекторий как один навык или как два разных навыка.
Псевдокод
[ редактировать ]Следующий псевдокод описывает алгоритм обнаружения точки изменения:
particles := [];
Process each incoming data point
for t = 1:T do
//Compute fit probabilities for all particles
for p ∈ particles do
p_tjq := (1 − G(t − p.pos − 1)) × p.fit_prob × model_prior(p.model) × p.prev_MAP
p.MAP := p_tjq × g(t−p.pos) / (1 − G(t − p.pos − 1))
end
// Filter if necessary
if the number of particles ≥ N then
particles := particle_filter(p.MAP, M)
end
// Determine the Viterbi path
for t = 1 do
max_path := []
max_MAP := 1/|Q|
else
max_particle := p.MAP
max_path := max_particle.path ∪ max_particle
max_MAP := max_particle.MAP
end
// Create new particles for a changepoint at time t
for q ∈ Q do
new_p := create_particle(model=q, pos=t, prev_MAP=max_MAP, path=max_path)
p := p ∪ new_p
end
// Update all particles
for p ∈ P do
particles := update_particle(current_state, current_reward, p)
end
end
// Return the most likely path to the final point
return max_path
function update_particle(current_state, current_reward, particle) is p := particle r_t := current_reward // Initialization if t = 0 then p.A := zero matrix(p.m, p.m) p.b := zero vector(p.m) p.z := zero vector(p.m) p.sum r := 0 p.tr1 := 0 p.tr2 := 0 end if // Compute the basis function vector for the current state Φt := p.Φ (current state) // Update sufficient statistics p.A := p.A + ΦtΦT
t p.z := 𝛾p.z + Φt p.b := p.b + rt p.z p.tr1 := 1 + 𝛾2 p.tr1 p.sum r := sum p.r + r2
t p.tr1 + 2𝛾rt p.tr2 p.tr2 := 𝛾p.tr2 + rt p.tr1 p.fit_prob := compute_fit_prob(p, v, u, delta, 𝛾)
Предположения
[ редактировать ]CTS предполагает, что продемонстрированные навыки образуют дерево, функция вознаграждения предметной области известна и лучшей моделью для объединения пары навыков является модель, выбранная для представления обоих по отдельности.
Преимущества
[ редактировать ]CST — гораздо более быстрый алгоритм обучения, чем цепочка навыков . CST можно применять для изучения политик более высокого уровня. Даже неудачный эпизод может улучшить навыки. Навыки, приобретенные с помощью агентно-ориентированных функций, можно использовать для решения других задач.
Использование
[ редактировать ]CST использовался для приобретения навыков в ходе демонстрации на людях в области PinBall . Его также использовали для приобретения навыков в результате демонстрации человеком на мобильном манипуляторе.
См. также
[ редактировать ]- Рабочая память префронтальной коры базальных ганглиев
- Состояние-действие-награда-состояние-действие
- Картирование Саммона
Ссылки
[ редактировать ]- ^ Дживанандам, Ниваш (13 сентября 2021 г.). «Недооцененные, но увлекательные концепции машинного обучения №5 — CST, PBWM, SARSA и картографирование Sammon» . Журнал Analytics India . Проверено 5 декабря 2021 г.
- Конидарис, Джордж; Скотт Куиндерсма; Эндрю Барто ; Родерик Групен (2010). «Построение деревьев навыков для агентов обучения с подкреплением на основе демонстрационных траекторий». Достижения в области нейронных систем обработки информации 23 .
- Конидарис, Джордж; Эндрю Барто (2009). «Открытие навыков в областях непрерывного обучения с подкреплением с использованием цепочки навыков». Достижения в области нейронных систем обработки информации 22 .
- Фернхед, Пол ; Чжэнь Лю (2007). «Онлайн-вывод по множественным точкам изменения». Журнал Королевского статистического общества .