강화학습의 목표는 이 리턴의 기대값을 최대화하는 정책을 찾는 것입니다. 에이전트는 다양한 상태에서 어떤 행동을 선택할 때, 그 선택이 미래에 어떻게 최대의 보상으로 이어질지를 평가해야 합니다. 이러한 평가를 통해 에이전트는 각 상황에서 최적의 행동을 결정할 수 있습니다. 예를 들어, 체스 게임에서 에이전트의 목표는 승리를 최대화하는 일련의 수를 두는 것입니다. 각 수에 대한 리턴은 게임의 승리, 패배 또는 무승부와 연결될 수 있습니다. 에이전트는 여러 게임을 통해 다양한 수를 시도하고, 각 상황에서 어떤 수가 승리로 가는 최선의 방법인지 학습합니다. 이 과정에서 각 수의 기대 리턴을 최대화하는 정책을 개발하는 것이 핵심 목표가 됩니다. 이처럼 리턴의 기대값을 최대화하는 과정은 에이전트가 주어진 환경에서 성공적으로 작동할 수 있도록 하는 데 중요합니다. 리턴(Return) 또는 수익 리턴은 에이전트가 특정 에피소드 동안 얻는 보상의 총합을 말합니다. 강화학습에서는 미래의 보상을 현재 가치로 환산하기 위해 할인율이라는 개념을 사용합니다. 할인율 γ는 0과 1 사이의 값으로 설정되며, 이를 통해 미래 보상을 할인하여 현재 가치로 변환합니다. 할인된 리턴은 다음과 같이 계산됩니다: Gt = Rt+1 +γR t+2 +γ^2 Rt+3 +… 여기서 Rt+1 ,Rt+2 ,…은 시간 t+1,t+2,…에 받는 보상들입니다. 기대값(Expected Value) 기대값은 확률적인 결과에 대한 평균값을 의미합니다. 강화학습에서 리턴의 기대값은 특정 정책 π를 따랐을 때 얻을 수 있는 평균적인 리턴을 나타냅니다. 즉, 동일한 상황에서 여러 번의 시도를 통해 얻은 리턴들의 평균값을 의미합니다. 이 기대값은 다음과 같이 표현될 수 있습니다: E[Gt ∣St = s, At =a, π] 이 식은 상태 s에서 행동 a를 선택하고 정책 π를 따랐을 때 얻을 수 있는 할인된 리턴의 기대값을 나타냅니다. 정책 π 당신이 로봇을 조종하는 게임을 하고 있다고 합니다. 이 게임에서 로봇은 방안에 있고, 주변에는 다양한 물건들이 있습니다. 로봇의 목표는 방 안의 사탕을 최대한 많이 찾아 먹는 것입니다. 상태(State): 로봇이 어디에 있는지, 주변에 무엇이 있는지를 나타냅니다. 예를 들어, 로봇이 방의 입구에 있다거나, 사탕 옆에 있다거나 하는 것이 상태가 될 수 있습니다. 행동(Action): 로봇이 취할 수 있는 행동을 의미합니다. 예를 들어, 왼쪽으로 걷기, 오른쪽으로 걷기, 물건을 집기 등이 행동이 될 수 있습니다. 정책 π: 로봇이 각 상태에서 어떤 행동을 선택할지를 결정하는 규칙입니다. 이 정책은 로봇이 사탕을 더 많이 먹기 위해 어떤 방향으로 걸어가야 하는지, 언제 사탕을 집어야 하는지 등을 알려줍니다. 예를 들어, 로봇이 사탕 옆에 있다면, 정책은 "사탕을 집어라"라고 로봇에게 알려줄 것입니다. 만약 로봇이 입구에 있다면, "사탕 쪽으로 걸어가라"라고 알려줄 수 있습니다. 정책의 목표 정책의 목표는 로봇이 게임에서 가능한 최고의 성과를 얻도록 돕는 것입니다. 이를 위해 로봇이 어떤 상태에서 어떤 행동을 취해야 할지 최적의 방법을 찾아내는 것이 중요합니다. 강화학습의 학습 과정에서는 로봇이 시행착오를 통해 이러한 최적의 정책을 점차 학습하게 됩니다. 간단히 말해서, 정책이란 로봇에게 각 상황에서 무엇을 해야 할지 알려주는 내비게이션 시스템과 같습니다. 그리고 이 내비게이션을 통해 로봇은 최종적으로 게임에서 더 많은 사탕을 얻을 수 있는 최적의 경로를 찾아낼 수 있습니다. 정리하자면, 정책은 상태 s에서 에이전트가 취할 수 있는 행동 a에 대한 확률적 또는 결정론적 지침입니다. 결정론적 정책에서는 특정 상태에서 특정 행동이 선택됩니다. 확률적 정책에서는 각 행동을 취할 확률이 주어집니다. 최적 정책 (Optimal Policy) 최적 정책은 각 상태에서 최대의 기대 리턴을 제공하는 행동을 선택하는 정책입니다. 즉, 에이전트가 어떤 상태에서 어떤 행동을 취해야 할지를 결정하는 규칙이며, 이 정책에 따라 행동할 때, 가능한 최대의 보상을 얻을 수 있습니다. 정의: 최적 정책 π∗ 은 모든 상태 s에 대해 모든 가능한 정책 π 중에서 최대의 기대 리턴을 제공합니다. 수학적 표현: π∗(s)=argmax a Q∗(s,a) 여기서 Q∗(s,a)는 상태 s에서 행동 a를 취했을 때 얻을 수 있는 최대 기대 리턴을 나타내는 행동가치함수입니다. 가치 함수는 특정 정책 하에서 각 상태 또는 상태-행동 쌍의 가치를 평가합니다. 가치는 에이전트가 해당 상태 또는 상태에서 특정 행동을 취했을 때 기대할 수 있는 미래 보상의 총합을 의미합니다. 상태가치 함수 (State-Value Function, Vπ(s)) 정의: 상태가치함수는 특정 정책 π 하에서 특정 상태 s에서 시작하여 얻을 수 있는 예상 누적 보상의 할인된 합계를 나타냅니다. 즉, 어떤 상태가 주어진 정책 하에서 얼마나 "좋은지"를 수치로 표현합니다. 수학적 표현: Vπ(s)=Eπ[∑k=0 ∞ γk Rt+k+1 ∣St =s] 여기서 γ는 할인율이며, Rt+k+1 은 시간 t+k+1에서 받는 보상을 나타냅니다. 최적 상태가치 함수 (Optimal State-Value Function, V∗(s)) 정의: 모든 가능한 정책 중 최적 정책을 따랐을 때 상태 s에서 얻을 수 있는 최대 기대 리턴입니다. 수학적 표현: V∗(s)=max a Q∗(s,a) 행동가치 함수 (Action-Value Function, Qπ(s,a)) 행동가치함수는 특정 정책 π 하에서 특정 상태 s에서 특정 행동 a를 취했을 때 얻을 수 있는 예상 누적 보상의 할인된 합계를 나타냅니다. 이 함수는 상태와 행동의 쌍에 대한 가치를 평가하며, 상태가치함수보다 더 구체적인 정보를 제공합니다. 수학적 표현: Qπ(s,a)=Eπ[∑ k=0 ∞ γk Rt+k+1 ∣St =s,At =a] 최적 행동가치 함수 (Optimal Action-Value Function, Q∗(s,a)) 정의: 모든 가능한 정책 중 최적 정책을 따랐을 때 상태 s에서 행동 a를 취했을 때 얻을 수 있는 최대 기대 리턴입니다. 수학적 표현: Q∗(s,a)=E[r+γV∗(s')∣s,a] 여기서 s′는 행동 a 후의 새로운 상태입니다. 이러한 최적 정책과 가치 함수를 찾는 것이 강화학습의 주된 목표로, 이를 통해 에이전트는 주어진 환경 내에서 최적의 결정을 내리고 최대의 보상을 얻을 수 있도록 학습하게 됩니다. 상태가치함수는 주어진 상태의 평균적인 가치를 제공하지만, 어떤 행동이 그 가치에 기여하는지는 명시하지 않습니다. 반면, 행동가치함수는 특정 상태에서 특정 행동을 취했을 때의 가치를 제공하여, 정책 결정에 더 직접적인 정보를 제공합니다. 상태가치함수는 주로 정책 이터레이션 같은 동적 프로그래밍 기법에서 사용되며, 행동가치함수는 Q-러닝과 같은 모델 프리 방법에서 널리 사용됩니다. 행동가치함수는 에이전트가 최적의 행동을 결정할 때 직접적으로 활용할 수 있는 반면, 상태가치함수는 주어진 정책의 평균적인 성능을 평가하는 데 사용됩니다.
강화학습의 목표는 이 리턴의 기대값을 최대화하는 정책을 찾는 것입니다. 에이전트는 다양한 상태에서 어떤 행동을 선택할 때, 그 선택이 미래에 어떻게 최대의 보상으로 이어질지를 평가해야 합니다. 이러한 평가를 통해 에이전트는 각 상황에서 최적의 행동을 결정할 수 있습니다. 그러면 여기서 말하는 리턴의 기대값이란 무엇인지 알아보겠습니다. 강화학습에서 에이전트가 특정 행동을 할 때 기대할 수 있는 평균적인 보상을 말합니다. 이를 좀 더 쉽게 이해하기 위해 간단한 예를 들어 설명해 보겠습니다. 당신이 게임을 하고 있는데, 게임의 목표는 사과를 가능한 많이 모으는 것입니다. 게임에는 두 가지 종류의 상자가 있고, 당신은 각 상자를 열 때마다 사과를 얻을 수 있습니다. 상자 A: 이 상자를 열 때마다 항상 2개의 사과를 줍니다. 상자 B: 이 상자는 조금 특별해서, 50% 확률로 4개의 사과를 주고, 50% 확률로 사과를 하나도 주지 않습니다. 이제 "보상의 기대치"를 계산해 봅시다. 상자 A의 경우, 항상 2개의 사과를 주기 때문에 보상의 기대치는 2입니다. 이는 매번 상자를 열 때마다 기대할 수 있는 평균 사과 수입니다. 상자 B의 경우 조금 다릅니다. 상자를 열 때마다 4개를 받을 수도 있고, 아무것도 받지 못할 수도 있습니다. 하지만 평균적으로 얼마나 많은 사과를 기대할 수 있을까요? 4개의 사과를 받을 확률이 50%이고, 0개를 받을 확률도 50%이므로, 보상의 기대치는 다음과 같이 계산됩니다: 기대치 = (4개의 사과×0.5)+(0개의 사과×0.5)=2개의 사과 즉, 상자 B를 열 때마다 평균적으로 2개의 사과를 기대할 수 있습니다. 강화학습에서의 보상 기대치 강화학습에서 에이전트는 상자를 선택하는 것과 비슷한 결정을 내려야 하며, 각 선택에 따라 다른 "보상"을 받습니다. "가치함수"는 이러한 각 선택(또는 상태)에서 에이전트가 기대할 수 있는 평균 보상(즉, 보상의 기대치)을 계산해 줍니다. 에이전트의 목표는 이 기대치를 최대화하는 선택을 하는 것입니다. 이처럼 "보상의 기대치"는 강화학습에서 에이전트가 각 결정을 내릴 때 얼마나 좋은 결과를 기대할 수 있는지를 수치적으로 나타내 주는 중요한 개념입니다. 보상의 기대값, 즉 보상의 평균적인 기대치를 계산하는 수식은 확률론에서 매우 중요한 개념입니다. 강화학습에서 이를 수학적으로 표현하려면, 에이전트가 특정 상태에서 특정 행동을 취했을 때 받게 될 보상의 확률적 분포를 고려해야 합니다. 기대값의 일반적인 정의 어떤 확률변수 X의 기대값 E[X]은 X가 취할 수 있는 각 값 x과 그 값이 발생할 확률 P(x)의 곱을 모두 더한 것입니다. 수식으로 표현하면 다음과 같습니다: E[X]=∑x의 전체 합 x⋅P(x) 강화학습에서의 보상 기대값 강화학습의 맥락에서, 에이전트가 상태 s에서 행동 a를 취했을 때 받을 수 있는 보상 R의 기대값은 이러한 보상들과 그 보상들이 발생할 확률을 고려한 합으로 계산됩니다. 특히, 환경의 동적인 특성과 확률적인 요소가 포함되어 있을 때 이 방식이 사용됩니다. 상태 s에서 행동 a를 취했을 때 다음 상태 s′로 이동하면서 받게 되는 보상 r의 기대값은 다음과 같이 표현됩니다: E[Rt+1 ∣ St = s, At = a] =∑s′,r의 전체 합 r⋅P(s′,r∣s,a) 여기서 P(s′,r∣s,a)는 상태 s에서 행동 a를 취했을 때 상태 s′로 이동하고 보상 r을 받을 확률을 나타냅니다. 이 수식은 강화학습에서 에이전트의 결정을 평가하고 최적화하는 데 사용되는 행동가치 함수 Q(s,a)의 계산에 직접적으로 적용됩니다. 행동가치 함수 Q(s,a)는 이 기대 보상과 미래 상태의 가치의 할인된 합을 고려하여 계산됩니다: Q(s,a)=E[Rt+1 +γV(St+1) ∣ St = s, At = a] 여기서 γ는 할인율이며, V(St+1)는 다음 상태의 가치 함수입니다. 이러한 방식으로, 강화학습에서의 각 행동과 상태에 대한 보상의 기대값을 계산하고, 이를 기반으로 에이전트가 최적의 정책을 학습할 수 있도록 합니다.
가치 기반 강화학습에서는 가치 함수를 중심으로 학습이 이루어집니다. 이 방법은 각 상태(또는 상태와 행동의 쌍)의 가치를 예측하고, 이 가치를 최대화하는 방향으로 정책을 간접적으로 개선합니다. 가치 함수는 주어진 정책 하에서, 특정 상태에서 시작해 미래에 얻을 수 있는 예상 보상의 합을 나타냅니다. 가치 기반 접근법의 대표적인 예는 Q-러닝과 **DQN(Deep Q-Networks)**입니다. 정책 기반 강화학습에서는 정책 함수 자체를 직접적으로 최적화합니다. 여기서 정책은 주어진 상태에서 행동을 결정하는 함수입니다. 이 방법은 가치 함수를 사용하지 않고, 정책의 매개변수를 조정함으로써 정책의 성능을 직접적으로 개선합니다. 정책 기반 방법은 고차원 또는 연속적인 행동 공간에서 잘 작동하며, REINFORCE나 Actor-Critic 알고리즘이 이에 해당합니다.
모델 기반 (Model-Based): 모델 기반 방법은 환경의 모델을 알고 있거나 학습하는 접근법입니다. 여기서 모델이란 환경의 동작을 예측할 수 있는 어떤 표현을 의미하며, 이를 통해 미래의 상태와 보상을 예측합니다. 모델 기반 방법은 계획(Planning)을 수행하여 최적의 정책을 찾습니다. 예를 들어, 동적 프로그래밍이나 몬테 카를로 트리 검색이 여기에 속합니다. 모델 프리 (Model-Free): 모델 프리 방법은 환경의 모델 없이 직접 경험을 통해 학습합니다. 에이전트는 환경과의 상호작용을 통해 얻은 데이터만을 사용하여 정책이나 가치 함수를 학습합니다. 이 방법은 실제 환경에서 많이 사용되며, Q-러닝과 SARSA가 대표적인 예입니다.
On-Policy On-policy 방법에서는 에이전트가 현재 학습하고 있는 정책에 따라 행동을 선택하고, 이 행동을 통해 수집된 데이터를 사용하여 같은 정책을 평가하고 개선합니다. 즉, 에이전트는 자신이 실제로 실행하는 정책을 바탕으로 학습합니다. 이 방식의 핵심은 에이전트가 학습과정에서 생성한 경험을 사용하여 정책 자체를 직접적으로 업데이트한다는 것입니다. 예시: SARSA (State-Action-Reward-State-Action) 알고리즘은 on-policy 알고리즘의 대표적인 예로, 에이전트가 현재 정책에 따라 행동을 선택하고, 이를 통해 다음 상태와 다음 행동을 결정합니다. 이 과정에서 얻은 리턴을 사용하여 현재 정책을 업데이트합니다. Off-Policy Off-policy 방법에서는 에이전트가 학습하고자 하는 정책과는 별개로 데이터를 수집하는 데 다른 정책(behavior policy)을 사용합니다. 이렇게 하면 에이전트는 다양한 정책의 데이터를 활용하여 한 정책에서 얻은 경험을 다른 정책의 개선에 사용할 수 있습니다. 이 방식은 특히 데이터를 보다 효율적으로 사용할 수 있게 하며, 보다 빠르게 최적의 정책을 찾을 수 있게 합니다. 예시: Q-러닝은 대표적인 off-policy 알고리즘으로, 에이전트가 탐험을 위해 다양한 행동을 취할 수 있는 정책을 사용하면서 동시에 다른 정책(타깃 정책)의 가치 함수를 업데이트합니다. 여기서 학습 정책은 최적 정책을 향해 업데이트되지만, 행동 선택은 더 탐험적일 수 있는 다른 정책을 따릅니다. 비교 학습 효율성: Off-policy 방식은 다른 정책의 데이터를 활용할 수 있기 때문에 보다 유연하고 효율적인 학습이 가능합니다. 반면, On-policy는 학습 중인 정책만을 사용하기 때문에 데이터 활용 측면에서 제한적일 수 있습니다. 구현의 복잡성: Off-policy 방식은 구현이 좀 더 복잡할 수 있으며, 다양한 정책 간의 차이를 적절히 관리해야 합니다. On-policy 방식은 구현이 상대적으로 간단하며, 학습 중인 정책에 직접적으로 초점을 맞출 수 있습니다. 탐험 대 이용: Off-policy는 탐험과 이용의 균형을 잘 맞출 수 있도록 돕지만, On-policy는 때때로 과도한 탐험 또는 이용으로 치우칠 수 있습니다.
몬테카를로 (Monte Carlo) 방법과 시간차 (Temporal Difference, TD) 학습은 강화학습의 두 가지 핵심 방법론입니다. 이 두 방법은 보상을 기반으로 정책을 학습하는 방식에서 차이를 보입니다. 1) 몬테카를로 (Monte Carlo) 방법 몬테카를로 방법은 강화학습에서 에피소드가 완료된 후에 데이터를 사용하여 학습하는 방식입니다. 즉, 에피소드가 끝나야만 가치 추정이나 정책 개선을 할 수 있습니다. 이 방식은 특히 에피소드가 명확히 정의되고, 결과가 에피소드의 끝에만 주어지는 환경에 적합합니다. 특징: 에피소드별 학습: 각 에피소드의 모든 상태에 대해 보상을 누적하고, 에피소드가 끝난 후에 평균을 내어 가치를 업데이트합니다. 샘플 기반 접근: 실제 경험을 바탕으로 상태의 가치를 추정합니다. 분산이 높음: 개별 에피소드의 결과에 따라 가치 추정의 분산이 클 수 있습니다. 모델이 필요 없음: 환경의 모델이 없이도 경험을 통해 직접 학습합니다. 적용 예: 몬테카를로 방법은 간단한 카드 게임이나 보드 게임 등, 결과가 에피소드의 끝에서만 결정되는 환경에 적합합니다. 2) 시간차 (Temporal Difference, TD) 학습 시간차 학습은 한 스텝 또는 몇 스텝 후의 보상과 가치 추정을 바탕으로 현재의 가치 추정을 업데이트합니다. 이 방법은 에피소드가 완료될 때까지 기다릴 필요 없이, 각 스텝마다 가치를 업데이트할 수 있습니다. 특징: 부트스트래핑: 추정을 업데이트하기 위해 다른 추정치를 사용합니다. 지속적인 업데이트: 각 스텝마다 보상을 받을 때마다 가치를 업데이트합니다. 분산이 낮음: 여러 스텝에 걸친 데이터를 사용하기 때문에 분산이 상대적으로 낮습니다. 모델이 필요 없음: 몬테카를로 방법과 마찬가지로, 환경의 모델 없이 경험을 통해 학습합니다. 적용 예: 시간차 학습은 온라인으로 학습해야 하는 상황이나 환경이 끊임없이 변하는 경우에 적합합니다. 예를 들어, 비디오 게임에서 에이전트가 적의 행동에 신속하게 대응해야 할 때 유용합니다. 비교: 학습 시점: 몬테카를로는 에피소드가 끝나야 학습이 가능하지만, 시간차는 스텝마다 학습할 수 있습니다. 데이터의 활용: 시간차는 가용한 데이터를 보다 빠르고 효율적으로 활용하지만, 몬테카를로는 에피소드의 모든 정보를 사용하여 보다 정확한 평가를 할 수 있습니다. 수렴 속도: 일반적으로 시간차 학습이 몬테카를로 방법보다 더 빠르게 수렴합니다. 이 두 방법의 선택은 환경의 특성, 요구되는 학습 속도, 데이터의 가용성 등 여러 요소를 고려하여 결정해야 합니다.