Constructing skill trees (CST) is a hierarchical
reinforcement learning
Reinforcement learning (RL) is an interdisciplinary area of machine learning and optimal control concerned with how an intelligent agent should take actions in a dynamic environment in order to maximize a reward signal. Reinforcement learnin ...
algorithm which can build skill trees from a set of sample solution trajectories obtained from demonstration. CST uses an incremental MAP (
maximum a posteriori
An estimation procedure that is often claimed to be part of Bayesian statistics is the maximum a posteriori (MAP) estimate of an unknown quantity, that equals the mode of the posterior density with respect to some reference measure, typically ...
) change point detection algorithm to segment each demonstration trajectory into skills and integrate the results into a skill tree. CST was introduced by
George Konidaris,
Scott Kuindersma,
Andrew Barto and
Roderic Grupen in 2010.
Algorithm
CST consists of mainly three parts;change point detection, alignment and merging. The main focus of CST is online change-point detection. The change-point detection algorithm is used to segment data into skills and uses the sum of discounted reward
as the target regression variable. Each skill is assigned an appropriate abstraction. A
particle filter
Particle filters, also known as sequential Monte Carlo methods, are a set of Monte Carlo algorithms used to find approximate solutions for filtering problems for nonlinear state-space systems, such as signal processing and Bayesian statistical ...
is used to control the computational complexity of CST.
The change point detection algorithm is implemented as follows. The data for times
and models with prior
are given. The algorithm is assumed to be able to fit a segment from time
to using model with the fit probability
. A linear regression model with Gaussian noise is used to compute
. The Gaussian noise prior has mean zero, and variance which follows
. The prior for each weight follows
.
The fit probability
is computed by the following equation.
:
Then, CST compute the probability of the changepoint at time with model ,
and
using a
Viterbi algorithm
The Viterbi algorithm is a dynamic programming algorithm for obtaining the maximum a posteriori probability estimate of the most likely sequence of hidden states—called the Viterbi path—that results in a sequence of observed events. This i ...
.
:
: