스킬 트리 구축
Constructing skill trees기술 트리 구축(CST)은 시연에서 얻은 샘플 솔루션 궤적 세트로부터 기술 트리를 구축할 수 있는 계층적 강화 학습 알고리즘입니다.CST는 증분 MAP(최대 사후) 변화점 검출 알고리즘을 사용하여 각 데모 궤적을 스킬으로 분할하고 결과를 스킬트리에 통합한다.CST는 [1]George Konidaris, Scott Kuindersma, Andrew Barto 및 Roderic Grupen에 의해 2010년에 도입되었습니다.
알고리즘.
CST는 주로 변경점 감지, 정렬 및 병합의 세 부분으로 구성됩니다.CST의 주요 초점은 온라인 변경점 검출입니다.변화점 검출 알고리즘은 데이터를 스킬로 분할하기 위해 사용되며 할인된 t{\의 합계를 목표 회귀 변수로 사용한다.각 스킬에는 적절한 추상화가 할당됩니다.입자 필터는 CST의 계산 복잡성을 제어하기 위해 사용됩니다.
변경점 검출 알고리즘은 다음과 같이 구현됩니다.이전 Q { pq Q) {displaystyle pq\ Q)}의 시간 t t T 및 모델 Q에 대한 데이터가 제공됩니다.알고리즘은 ,q의({q)_를 사용하여 + 1({1)부터({t})까지의 세그먼트를 적합시킬 수 있다고 가정합니다. P t를 계산하기 위해 사용합니다.({ P 입니다이전 가우스 노이즈의 평균은 0이며, 그 의 분산은 I m ( 2 , 2){ ( { \ { } {2} , {\ {} 。각 무게의 선행은 a ( , Normal _ { }^{ ,\^{2}\delta 에
P (j , ,) { P ( , , q ) _ {}^{}}는 다음 방정식으로 계산됩니다.
다음으로 CST는 을 사용하여 모델q Pt (j , {{t 및 A {를 사용하여 시간 j에서의 변화점의 확률을 계산합니다.
파라미터와 변수에 대한 설명은 다음과 같습니다.
x i ) { ( { } _ {}^{ }} : 상태x i { \ _{ i }}에서 된 m 기본함수의 벡터
\ \ _ {}^{ } : 감마
{\ : 함수가 갖는 기본 수.
: 대각선 위에1^{-이 있는 m by m 매트릭스.
스킬 l(\ l은 파라미터 p를 사용하여 기하학적 분포를 따르는 것으로 가정합니다.
{\ 예상 스킬 길이
위의 방법을 사용하면 CST는 데이터를 스킬체인으로 세그먼트화할 수 있습니다.변화점 검출의 시간 복잡도는 {{O( 스토리지 크기는 O {{ O입니다 .서N({ N은 파티클 수,(\L)은 입니다. O 변경점.
다음 단계는 정렬입니다.CST는 컴포넌트 스킬을 조정해야 합니다.변화점은 완전히 같은 장소에서 발생하지 않기 때문입니다.따라서 첫 번째 궤적을 분할한 후 두 번째 궤적을 분할할 때 두 번째 궤적의 변화점 위치에 대한 편향이 있다.이 편견은 가우시안들의 혼합을 따른다.
마지막 단계는 병합입니다.CST는 스킬체인을 스킬트리에 Marge 합니다CST는 같은 스킬을 할당함으로써 궤적 세그먼트의 쌍을 Marge합니다.모든 궤적은 동일한 목표를 가지며 최종 세그먼트에서 시작하여 두 개의 체인을 병합합니다.두 세그먼트가 통계적으로 유사한 경우 병합됩니다.이 순서는 스킬세그먼트의 페어를 Marge할 수 없을 때까지 반복됩니다. are used to determine whether a pair of trajectories are modeled better as one skill or as two different skills.
유사 코드
다음 의사 코드는 변경점 검출 알고리즘에 대해 설명합니다.
입자 : = [ ] ; t = 1:T do //p pre p t \ p\ particlesdo p_tjq : = ( 1 - G ( t - p. pos - 1) × p . fit _ prob × p _ p _ p _ model ( p _ p _ p _ map ) × p _ p _ p _ p _ map p _ p _ map p _ map 。MAP : = p_tjq × g(t-p.pos) / (1 - G(t - p.pos - 1) end // 입자의 수가 θ N이면 필요에 따라 필터링하고, 그 후 입자 := particle_filter(p)MAP, M) end // t = 1 do max_path : = [ ] max_MAP : = 1/ Q else max_map : = p \ \ _ 의 Viterbi 경로를 결정합니다.MAP max_path : = max_path.path {\{ displaystyle max_map : = max_max.path 。MAP end // q Q \ q \ do new _ p : = create _ create _ t ( model = q , pos = t , prev _ MAP = max _ map , path )p : = p {\ \ \ cup particles particles P\ p p p p p p p p p p particles particlesP particles particles particles particles particles particles particles particles for forP \ create 。ticle(current_state, current_reward, p) end // 가장 가능성이 높은 경로를 최종 포인트 리턴 max_path로 되돌립니다.
function update_current_state, current_contract, particle)은 p := 파티클 r_t := current_contract // t = 0이면 초기화입니다.A : = Zero matrix (p.m, p.m) p.b : = Zero vector (p.m) p.z : = 0 p.sum r : = 0 p.tr1 : = 0 p.tr2 : = 0 end if / // 현재 상태 t\ _ p. = P.}= 0 p.syle = 0p : = 0 p.zyle = 0p : = 0 = 0 = 0 =p.A:= p.A+ t { _ { t \z : = { \_ { t .b : = p.+ r t { _ { } p.z p.tr1 : = 1+ 2 \ r 2 .b + sum .p.tr2 : = { \ . tr2 + { t p . tr1 p . fit _ prob : = compute _ fit _ prob ( p , v , , , )
전제 조건
CTS는 증명된 기술이 트리를 형성하고, 도메인 보상 함수가 알려져 있으며, 기술 쌍을 병합하기 위한 최선의 모델은 두 가지 모두를 개별적으로 표현하기 위해 선택된 모델이라고 가정한다.
이점
CST는 스킬 체인보다 훨씬 빠른 학습 알고리즘입니다.CST는 고차원 정책 학습에 적용할 수 있습니다.실패하는 에피소드도 스킬을 향상시킬 수 있습니다.에이전트 중심의 기능을 사용하여 습득한 스킬을 다른 문제에 사용할 수 있습니다.
사용하다
CST는 PinBall 도메인에서 인간 데모를 통해 기술을 습득하기 위해 사용되었습니다.또한 모바일 조작기로 시연하여 기술을 습득하는 데에도 사용되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Jeevanandam, Nivash (2021-09-13). "Underrated But Fascinating ML Concepts #5 – CST, PBWM, SARSA, & Sammon Mapping". Analytics India Magazine. Retrieved 2021-12-05.
- Konidaris, George; Scott Kuindersma; Andrew Barto; Roderic Grupen (2010). "Constructing Skill Trees for Reinforcement Learning Agents from Demonstration Trajectories". Advances in Neural Information Processing Systems 23.
- Konidaris, George; Andrew Barto (2009). "Skill discovery in continuous reinforcement learning domains using skill chaining". Advances in Neural Information Processing Systems 22.
- Fearnhead, Paul; Zhen Liu (2007). "On-line Inference for Multiple Change Points". Journal of the Royal Statistical Society.