Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Q-러닝 에이전트

Q-러닝 알고리즘은 모델이 주어지지 않은(model-free) 온라인 방식의 오프-폴리시(off-policy) 강화 학습 방법입니다. Q-러닝 에이전트는 가치를 기반으로 하는 강화 학습 에이전트로, 리턴값 또는 미래 보상을 추정하도록 크리틱을 훈련시킵니다.

다양한 유형의 강화 학습 에이전트에 대한 자세한 내용은 Reinforcement Learning Agents 항목을 참조하십시오.

다음과 같은 관측값 공간과 행동 공간이 있는 환경에서 Q-러닝 에이전트를 훈련시킬 수 있습니다.

관측값 공간행동 공간
연속 또는 이산이산

Q 에이전트는 다음의 크리틱 표현을 사용합니다.

크리틱액터

rlQValueRepresentation 객체를 사용하여 만드는 Q-값 함수 크리틱 Q(S,A)

Q 에이전트는 액터를 사용하지 않습니다.

훈련 중 에이전트는 엡실론-그리디 탐색을 사용하여 행동 공간을 탐색합니다. 각 제어 간격 동안 에이전트는 확률 ϵ으로 임의의 행동을 선택하거나, 확률 1-ϵ으로 가치 함수에 따라 탐욕적으로 행동을 선택합니다. 이 탐욕적 행동은 가치 함수가 최대가 되는 행동입니다.

크리틱 함수

가치 함수를 추정하기 위해 Q-러닝 에이전트는 테이블 또는 함수 근사기(function approximator)인 크리틱 Q(S,A)를 유지합니다. 크리틱은 관측값 S와 행동 A를 입력값으로 받고 대응하는 장기 보상의 기대값을 반환합니다.

가치 함수 근사를 위해 크리틱을 만드는 방법에 대한 자세한 내용은 Create Policies and Value Functions 항목을 참조하십시오.

훈련이 완료되면 훈련된 가치 함수 근사기가 크리틱 Q(S,A)에 저장됩니다.

에이전트 만들기

Q-러닝 에이전트를 만들려면 다음을 수행하십시오.

  1. rlQValueRepresentation 객체를 사용하여 크리틱을 만듭니다.

  2. rlQAgentOptions 객체를 사용하여 에이전트 옵션을 지정합니다.

  3. rlQAgent 객체를 사용하여 에이전트를 만듭니다.

훈련 알고리즘

Q-러닝 에이전트는 다음의 훈련 알고리즘을 사용합니다. 훈련 알고리즘을 구성하려면 rlQAgentOptions 객체를 사용하여 옵션을 지정하십시오.

  • 난수 값으로 크리틱 Q(S,A)를 초기화합니다.

  • 각 훈련 에피소드에 대해 다음을 수행합니다.

    1. 초기 관측값 S를 설정합니다.

    2. S가 종료 상태가 될 때까지 에피소드의 각 스텝마다 다음 작업을 반복합니다.

      1. 현재 관측값 S에 대해 확률이 ϵ인 임의의 행동 A를 선택합니다. 또는, 크리틱 가치 함수의 값이 최대인 행동을 선택합니다.

        A=argmaxAQ(S,A;ϕ)

        ϵ과 그 감쇠율을 지정하려면 EpsilonGreedyExploration 옵션을 사용하십시오.

      2. 행동 A를 실행합니다. 보상 R과 다음 관측값 S'을 관측합니다.

      3. S'이 종료 상태인 경우 가치 함수 목표값 y를 R로 설정합니다. 그 외의 경우에는 다음과 같이 설정합니다.

        y=R+γmaxAQ(S',A;ϕ)

        감가 인자 γ를 설정하려면 DiscountFactor 옵션을 사용하십시오.

      4. 크리틱 파라미터 업데이트를 계산합니다.

        ΔQ=yQ(S,A;ϕ)

      5. 학습률 α를 사용하여 크리틱을 업데이트합니다.

        Q(S,A)=Q(S,A;ϕ)+αΔQ

        크리틱 표현을 만들 때 rlRepresentationOptions 객체에서 LearnRate 옵션을 설정하여 학습률을 지정합니다.

      6. 관측값 S를 S'으로 설정합니다.

참고 항목

|

관련 항목