강화 학습에서 보상 기능을 만드는 방법


18

강화 학습을 공부하는 동안 저는 , 및 현재 상태에만 의존하는 보상 기능 등 여러 형태의 보상 기능을 접했습니다. 하지만 보상 기능을 '만들거나'정의하기가 쉽지 않다는 것을 깨달았습니다.R(s,a)R(s,a,s')

내 질문은 다음과 같습니다.

  1. 보상 기능을 만드는 방법에 대한 규칙이 있습니까?
  2. 보상 기능에는 다른 형태가 있습니까? 예를 들어, 아마도 국가에 따라 다항식 형태입니까?

답변:


25

보상 기능은 상담원이 어떻게 행동해야하는지 설명합니다. 다시 말해, 그들은 "규범적인"내용을 가지고 있으며, 당신 이 요원이 달성하고자하는 것을 규정합니다 . 예를 들어, 일부 보람 상태 에스 음식의 맛을 나타낼 수 있습니다. 또는 아마도 (에스,) 는 음식을 맛보는 행위를 나타낼 수 있습니다. 따라서 보상 기능이 상담원의 동기가 무엇인지 결정하는 정도까지는 그렇습니다.

절대적인 제한은 없지만 보상 기능이 "더 나은 행동"을하면 상담원이 더 잘 배우게됩니다. 실제로 이것은 수렴 속도를 의미하며 로컬 최소값에 갇히지 않습니다. 그러나 추가 사양은 사용중인 강화 학습의 종에 따라 크게 달라집니다. 예를 들어, 상태 / 활동 공간이 연속적이거나 불 연속적입니까? 세계 또는 행동 선택이 확률 론적입니까? 보상은 지속적으로 수확됩니까, 아니면 끝에서만 발생합니까?

문제를 보는 한 가지 방법은 보상 기능이 문제의 경도를 결정한다는 것입니다. 예를 들어, 전통적으로 보상받을 단일 상태를 지정할 수 있습니다.

아르 자형(에스1)=1
아르 자형(에스2 ..)=0
이 경우 해결해야 할 문제는 다음과 비교할 때 매우 어려운 문제입니다. 아르 자형(에스나는)=1/나는2 말하면 상태에 대한 보상 기울기가 있습니다. 어려운 문제의 경우 아르 자형(에스,) 또는 R 같이 자세한 정보를 지정아르 자형(에스,,에스') 는 추가적인 단서를 제공함으로써 일부 알고리즘을 도울 수 있지만, 더 많은 탐사를 요구할 수 있습니다. 문제를 구체적으로 설명하기 위해비용아르 자형 음의 용어로 포함시켜야 할 수도 있습니다(예 :에너지 비용).

연속 상태 공간의 경우 상담원이 쉽게 학습하도록하려면 보상 기능이 연속 적이고 차별화 되어야합니다 . 따라서 다항식은 많은 알고리즘에 적합합니다. 또한 지역화 된 최소값을 제거하십시오. Rastrigin 기능 과 같이 보상 기능을 수행 하지 않는 방법 에는 여러 가지 예가 있습니다 . 이것을 말하면서, 몇 가지 RL 알고리즘 (예 : Boltzmann 머신 )은 이것에 대해 다소 강력합니다.

실제 문제를 해결하기 위해 RL을 사용하는 경우 보상 기능을 찾는 것이 문제의 가장 어려운 부분이지만 상태 공간지정하는 방법과 밀접한 관련이 있습니다 . 예를 들어, 시간에 따른 문제에서 목표까지의 거리는 종종 보상 기능이 좋지 않습니다 (예 : 산악 차량 문제 ). 이러한 상황은 더 높은 차원의 상태 공간 (숨겨진 상태 또는 메모리 추적)을 사용하거나 계층 적 RL을 사용하여 해결할 수 있습니다.

추상적 인 수준에서 감독되지 않은 학습은 "옳고 그른"성능을 규정하는 것으로 간주되었습니다. 그러나 우리는 이제 RL이 단순히 책임을 교사 / 비평가에서 보상 기능으로 옮기는 것을 볼 수 있습니다. 문제를 해결하는 덜 순환적인 방법이 있습니다. 즉 , 최상의 보상 기능유추하는 것 입니다. 한 가지 방법을 역 RL 또는 "견습 학습"이라고 하며, 관찰 된 행동을 재현하는 보상 기능을 생성합니다. MLE, Bayesian 또는 정보 이론적 방법을 사용하여 관찰 결과를 재현 할 수있는 최상의 보상 기능을 찾을 수도 있습니다.


안녕하세요, 왜 산악 차 문제가 시간에 의존적 인 문제입니까?
GoingMyWay

산악 차량 문제는 문제가 네트워크에 적절한 명령 시퀀스 또는 시퀀스를 결정하는 정책 을 제공해야한다는 점에서 "시간 의존적"이라고 가정합니다 . 아이디어는 "위치"만 상태로 취급하면 문제를 해결하기가 어렵다는 것입니다. 속도 (또는 운동 에너지 등)도 고려해야합니다. 그것은 시간 의존적 문제에서 현명한 주 공간을 선택하는 것과 관련하여 내가 암시하고자하는 전부입니다.
산 제이 마노 하르

@SanjayManohar 저는 시간에 따라 유한 한 시간 범위를 도입하는 것에 대해 이야기하지 않는 한, 산악 차량 문제가 "시간에 따라 다르다"고 생각하지 않습니다. 위치와 속도가 충분합니다.
user76284

이 답변에는 보상과 가치 기능이 혼합되어 있다고 생각합니다. 예를 들어 보상 기능을 "찾기"하는 방법에 대해 설명합니다. 이는 강화 학습에서는 수행 할 수 있지만 제어에 사용되는 RL에서는 수행되지 않을 수 있습니다. 또한 보상 기능이 지속적이고 차별화 될 수 있어야하는 필요성에 대해 이야기하며, 이는 반드시 필요한 것은 아니며 일반적 으로 그렇지 않습니다. 신중하게 구성된 차별화 가능한 휴리스틱을 찾는 것보다 성공을 위해 단순 +1을 찾거나 문헌에서 취한 시간당 고정 -1을 찾을 가능성이 훨씬 높습니다.
Neil Slater

감사합니다 @ NeilSlater, 당신은 아마 보상 기능을 찾는 것이 아니라 "구성하는"이라고 말했을 것입니다. "가치 함수"와 관련하여, 나는 일반적으로이 값을 상태 값 또는 행동 값 매핑, 즉 에이전트가 미래의 보상을 추정하기 위해 사용하는 함수로 예약합니다. 따라서 "가치"는 "보상"과 관련이 있지만 보상은 문제를 해결하는 알고리즘이 아니라 문제의 일부입니다. 아마도 이진, 원위, 희박한 보상을 규정함으로써 AI를 강조하는 것이 학습 알고리즘을 보여 주었을 것입니다.
Sanjay Manohar 2016 년

4

보상 기능을 설계하는 것은 실제로 어려운 문제입니다. 일반적으로 희박한 보상 기능을 정의하기가 더 쉽습니다 (예 : 게임에서 이기면 +1, 그렇지 않으면 0). 그러나 상담원이 보상을 받기 전에 많은 조치를 취해야하기 때문에 희소 보상은 학습 속도를 저하시킵니다. 이 문제는 신용 할당 문제 라고도합니다 .

보상에 대한 표 표현 대신 다항식과 같은 연속 함수도 사용할 수 있습니다. 이것은 일반적으로 상태 공간과 활동 공간이 불연속 적이기보다는 연속적인 경우입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.