My Blog

강화학습(Q러닝 에이전트 학습) 공부기록14


강화학습에서 최적 정책

강화학습에서 본질적인 목표는 가치함수를 최적화시키고 정책도 최적화 시켜야 합니다. 동적 프로그래밍에서 모델을 알고 있는 상태에서의 최적 정책을 도출해 냈습니다. 하지만, 환경을 모르는 상태에서의 강화학습은 에이전트 모델에 대한 정보가 없는 상황에서 상태변환확률 행렬도 알수 없고 행동이 첨부된 보상도 구체적으로 알수 없습니다. 강화학습에서 정책을 업데이트하고자 가치함수를 바로 사용하기는 매우 어렵기 때문에 Q함수를 통해 정책 업데이트를 시행하게 됩니다. π*(a|s) = argmax a Q(s,a) 이처럼 최적 정책을 구하는 과정은 Q함수를 업데이트하며 정책을 업데이트하게 됩니다. 이를 계속 반복하여 Q함수를 업데이트하고 또다시 정책을 업데이트하여 최적화 하게 됩니다.

E-greedy 엡실론 그리디 전략

e-greedy (ε-greedy) 알고리즘은 강화학습에서 사용되는 결정 방식으로, 주로 탐험(exploration)과 활용(exploitation)의 균형을 맞추기 위해 사용됩니다. 이 방법은 특히 Q-learning과 같은 학습 알고리즘에서 많이 사용됩니다. e-greedy 알고리즘에서 ε는 0과 1 사이의 작은 수로, 탐험 확률을 의미합니다. 이 알고리즘은 다음과 같이 동작합니다: 확률 ε을 선택합니다. 이 확률은 알고리즘이 무작위 행동을 선택할 확률을 결정합니다. 예를 들어, ε = 0.1이라면 10%의 확률로 무작위 행동을 선택하고, 90%의 확률로 가장 좋은 행동을 선택합니다. 무작위 수를 생성하여 ε과 비교합니다: 만약 생성된 수가 ε보다 작거나 같으면, 무작위 행동을 선택합니다 (탐험). 만약 생성된 수가 ε보다 크면, 현재 알려진 가장 좋은 행동을 선택합니다 (활용). 예를 들어, 에이전트가 슬롯 머신을 선택하는 문제를 해결하고 있다고 가정해 보겠습니다. 각 슬롯 머신은 다른 확률로 보상을 줍니다. 에이전트는 어떤 슬롯 머신이 가장 좋은 보상을 주는지 초기에는 모릅니다. 탐험(Exploration): 에이전트가 무작위로 다양한 슬롯 머신을 시도하여 각 슬롯 머신의 효과를 학습합니다. 활용(Exploitation): 에이전트가 지금까지 학습한 정보를 바탕으로 가장 높은 보상을 줄 것으로 예상되는 슬롯 머신을 선택합니다. 장점으로는 간단하고 구현하기 쉽습니다. 탐험과 활용 사이의 균형을 자동으로 맞춰줍니다. 단점으로는 고정된 ε 값은 환경이 변하거나 학습이 진행됨에 따라 최적이 아닐 수 있습니다. 즉, 학습 초기에는 탐험을 더 많이 하고, 시간이 지날수록 활용을 늘려야 하는데, 고정된 ε은 이러한 상황 변화를 반영하지 못합니다. 에이전트가 충분한 정보를 얻었음에도 불필요하게 탐험을 계속할 수 있습니다. e-greedy 알고리즘은 다양한 강화학습 환경에서 기본적인 탐험-활용 전략으로 널리 사용됩니다. 더욱 복잡한 환경이나 요구사항에는 ε 값을 시간에 따라 조정하거나 다른 정책(예: UCB, Thompson Sampling)을 사용할 수 있습니다.

epsilon-decay 엡실론 감쇠

Epsilon decay는 강화학습에서 흔히 사용되는 기법 중 하나로, e-greedy 알고리즘의 한계를 극복하기 위해 사용됩니다. 기본적인 e-greedy 알고리즘에서는 탐험 확률 ε이 고정되어 있어, 학습의 진행 상황에 따라 탐험의 빈도를 조정하는 것이 어렵습니다. 이를 해결하기 위해 epsilon decay 방식을 도입하여, 학습이 진행됨에 따라 ε 값을 점차 감소시키는 방법을 사용합니다. Epsilon decay에서는 ε 값을 시간이나 학습 단계에 따라 점차 줄여나갑니다. 초기에는 높은 ε 값으로 시작하여 에이전트가 많은 탐험을 할 수 있도록 하고, 점점 에이전트가 환경에 대해 학습해 가면서 ε 값을 낮추어 활용의 비중을 높여갑니다. Epsilon decay를 구현하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 매 스텝마다 ε 값을 일정 비율로 감소시키는 것입니다. 예를 들어, ε을 0.1의 비율로 감소시킬 수 있습니다. ϵ=ϵ×0.1 또는 더 조절이 용이한 다른 접근 방식으로, ε 값을 다음과 같은 수식을 사용하여 업데이트할 수 있습니다: ϵ=min(ϵ start ,ϵ end​ +(ϵ start −ϵ end)×exp(−decay_rate×step)) 여기서: ϵ start 는 시작 ε 값입니다. ϵ end 는 ε이 감소할 최소값입니다. decay_rate는 감소율을 조절하는 매개변수입니다. step은 현재 학습 스텝을 의미합니다. 적응적 탐험: 초기에는 정보가 부족하기 때문에 많은 탐험을 통해 정보를 수집하고, 점차 정보가 축적됨에 따라 탐험을 줄이고 기존 지식을 활용하여 효율적인 학습이 가능합니다. 성능 향상: 학습 초기에 발생할 수 있는 불필요한 활용을 방지하고, 학습 후반에는 과도한 탐험으로 인한 성능 저하를 방지합니다. Epsilon decay는 특히 에이전트가 다양한 행동을 탐색하면서도 점차 최적의 행동을 찾아가야 하는 환경에서 유용합니다. 예를 들어, 비디오 게임 AI, 로봇 항법 시스템, 금융 거래 알고리즘 등 다양한 분야에서 활용될 수 있습니다.

SARSA와 Q러닝의 직관적 비교와 이해

SARSA와 Q-러닝은 강화학습에서 상태와 행동에 대한 값을 예측하기 위해 사용되는 두 가지 대표적인 알고리즘입니다. 두 알고리즘 모두 행동 정책을 개선하기 위해 Q-값(상태-행동 쌍의 가치)을 업데이트하는 방식을 사용하지만, 그 접근 방식에 차이가 있습니다. 1. SARSA (State-Action-Reward-State-Action) SARSA는 "on-policy" 학습 방법으로, 에이전트가 실제로 선택한 행동의 결과를 바탕으로 학습합니다. 여기서의 핵심은 현재 정책에 따라 행동을 선택하고, 그 선택된 행동을 기반으로 Q-값을 업데이트한다는 점입니다. 수식: Q(s,a)←Q(s,a)+α[r+γQ(s′,a′)−Q(s,a)] 여기서 s와 a는 현재 상태와 행동, r은 받은 보상, s′와 a′는 다음 상태와 행동, α는 학습률, γ는 할인율입니다. 2. Q-러닝 (Q-Learning) Q-러닝은 "off-policy" 학습 방법으로, 최적의 정책을 학습하기 위해 다른 행동(에이전트가 실제로 선택하지 않은 행동)의 결과도 고려합니다. 즉, 최대 Q-값을 선택하여 업데이트를 진행하므로 에이전트가 실제로 경험하지 않은 최적의 경로를 탐색할 수 있습니다. 수식: Q(s, a) <- Q(s, a) + alpha [r + gamma max_{a'} Q(s', a') - Q(s, a)] 여기서 s와 a는 현재 상태와 행동, r은 받은 보상, s'는 다음 상태, a'는 가능한 모든 행동, alpha는 학습률, gamma는 할인율입니다. 차이점 정책 종속성: SARSA는 현재 정책에 종속적인 반면, Q-러닝은 현재 정책과 독립적입니다. 즉, SARSA는 다음 행동을 현재 정책에 따라 선택하고, Q-러닝은 최적의 가능성이 높은 행동을 선택합니다. 탐험과 활용의 균형: Q-러닝은 최적의 행동을 찾는 데 더 효과적이지만, 때때로 과대평가된 경로를 탐험할 위험이 있습니다. SARSA는 탐험 중에 발생할 수 있는 위험을 감소시키는 경향이 있습니다. 직관적 이해 SARSA: 실제로 선택한 경로를 따라 학습하며, 예기치 않은 결과에 대해 안전한 학습 경로를 선호합니다. Q-러닝: 가장 좋아 보이는 결과를 통해 학습하며, 때로는 실제보다 낙관적인 경로를 추구합니다. 이러한 차이는 실제 환경에서의 리스크 수용도나 목표에 따라 학습 방법을 선택하는 데 중요한 고려사항이 될 수 있습니다.

Eligibility Trace

Eligibility Trace는 강화학습에서 사용되는 기법 중 하나로, 특정 상태-행동 쌍에 대한 "자격"이 얼마나 되는지를 나타내는 임시 메모리 요소입니다. 이 기법은 시간차(Temporal Difference, TD) 학습과 같이 에피소드 내에서 경험을 바탕으로 학습을 개선하는 데 사용됩니다. Eligibility Trace는 에이전트가 어떤 상태를 방문하고 어떤 행동을 취했는지를 "기억"하는 역할을 하며, 이를 통해 과거의 경험을 활용하여 학습을 보다 효율적으로 만듭니다. 사실상 강화학습에서의 신용 할당 문제를 해결하는 데 도움을 주는 메커니즘입니다. SARSA와 Q-러닝에서의 Eligibility Trace SARSA와 Q-러닝 모두 TD 학습 방법의 일종으로, 이 두 방법에서 Eligibility Trace를 사용하면 각각 SARSA(λ)와 Q(λ)로 확장됩니다. 여기서 λ(람다)는 감쇄율로, 과거의 상태-행동 쌍이 현재 보상에 기여하는 정도를 결정합니다. SARSA(λ) SARSA(λ)는 에이전트의 행동 정책에 따라 행동이 선택되고, 그 행동에 따라 업데이트가 이루어지는 방식입니다. 각 스텝에서 에이전트가 상태 s에서 행동 a를 선택하고, 보상 r을 받은 후 상태 s'로 이동하고, s'에서 행동 a'를 선택합니다. 이때, Eligibility Trace는 상태 s와 행동 a에 대한 "자격"을 업데이트하며, 이 자격 값에 비례하여 Q값이 업데이트됩니다. Q-러닝(λ) Q-러닝(λ)에서는 최적의 정책을 직접 학습하기 때문에, 선택된 행동과 상관없이 최대의 Q값을 가진 행동을 기준으로 업데이트가 진행됩니다. Eligibility Trace는 여전히 각 상태-행동 쌍의 방문 빈도와 시간적 근접성을 고려하여 업데이트되며, 이를 통해 더 큰 보상을 가져오는 경로의 Q값을 효과적으로 조정할 수 있습니다. Eligibility Trace의 장점 장기간 의존성 학습: Eligibility Trace는 장기간에 걸쳐 발생하는 보상에 대한 의존성을 학습할 수 있게 도와줍니다. 효율적인 학습: 과거의 상태-행동 쌍에 대한 자격을 통해, 필요한 부분만 선택적으로 강화하는 방식으로 학습 효율을 높일 수 있습니다. Eligibility Trace는 강화학습에서 보다 복잡한 문제를 효과적으로 해결하려는 시도 중 하나입니다. 이 방법을 통해 에이전트는 과거의 행동이 가져온 결과로부터 더욱 깊이 있게 학습하고, 이를 통해 미래의 결정을 개선할 수 있습니다.

Blog Home Back to Post List