본문 바로가기
인공지능/Artificial Intelligence (COSE361)

[인공지능] Chapter 12. Reinforcement Learning (2)

by 이준언 2023. 12. 6.

Exploitation VS Exploration

  • Exploitation (활용)
    • 지금까지 학습한 것 중 최적의 행동을 선택
    • 이미 학습한 지식을 토대로 가장 높은 보상을 기대하는 행동을 선택
    • 학습된 정책 또는 가치 함수를 따라가는 것
  • Exploration (탐험)
    • 새로운 행동을 시도
    • 더 많은 정보를 얻기 위해 이전에 시도하지 않은 행동을 선택
    • 불확실한 상황에서 미래의 보상을 더 잘 이해하기 위해 리스크를 감수하고 새로운 경험을 쌓는 것
    • 새로운 행동을 시험하며 미래에 더 나은 결정을 내릴 수 있도록 학습

→ Exploration이 없는 pure exploitation은 학습의 다양성과 새로운 경험을 얻는 기회를 제한하여 optimal policy를 얻는 것을 어렵게 만든다.

Exploration method 1: 𝜖-greedy

  • 𝜖-greedy exploration
    • 현재 학습된 policy를 기반으로 하는 행동과 무작위 행동 사이의 균형을 유지
    • 각 time step에서 biased coin을 던져, 𝜖가 나오면 act randomly, (1-𝜖)가 나오면 act on current policy
    • 모든 가능한 상태-행동 조합을 무한히 시도 → 최적의 정책을 탐색
    • 때로는 무작위 행동을 선택하여 stupid action을 할 수 있음 → 미래에 더 나은 결정을 내릴 수 있음
    • 𝜖의 감소: 시간이 지남에 따라 𝜖를 감소시키는 방식 → 초기에 무작위 행동을 많이 하지만 학습이 진행됨에 따라 점점 더 최적의 정책을 따르도록 조절

Exploration Functions

  • Exploration functions
    • 강화학습에서 탐험과 활용 사이의 균형을 유지하고 최적의 행동을 선택하는 데 사용되는 함수
    • Value Estimate (가치 추정, u)
      • 주어진 상태-행동 쌍에 대한 가치 추정값을 나타내는 u (또는 Q-value)를 사용
      • 에이전트가 현재까지 학습한 정보를 토대로 해당 상태-행동 쌍의 가치를 예측
    • Visit Count (방문 횟수, n)
      • 해당 상태-행동 쌍을 방문한 횟수를 나타내는 n을 고려
      • 해당 상태-행동 쌍의 경험을 측정하는 데 사용
    • Optimal Utility (낙관적 유틸리티)
      • Exploration function은 주어진 가치 추정값과 방문 횟수를 사용하여 낙관적인 유틸리티를 계산
      • 이러한 계산은 탐험을 유도하기 위해 사용
    • Regular Q-update
      • 주어진 상태-행동 쌍에 대한 가치 추정값을 업데이트 하는 방법
      • 기본적인 방식
    • Modified Q-update
      • Exploration function을 활용하여 업데이터
      • 현재 상태-행동 상에 대한 보너스를 계산하는 데 Exploration function을 사용
      • 보너스가 해당 상태로부터 알 수 없는 상태로 이어지는 상황에도 전파되어 탐험을 장려
    • 낙관적인 가치 추정을 통해 탐험을 장려, Modified Q-update는 이러한 가치 추정을 활용하여 업데이트 → 더욱 효과적인 탐험을 수행하고, 최적의 정책을 발견하는 데 도움을 줌

Regret

  • Regret
    • 에이전트가 학습하는 동안 비용과 손실
    • 최적의 정책을 따르지 않고 탐험과 학습을 통해 얻은 보상과, 최적의 정책을 따랐을 때 얻을 수 있는 최대 보상과의 차이를 나타내는 지표
    • 에이전트가 학습하는 동안 unoptimal action을 선택했을 때 발생하는 손실을 측정 → 이 손실은 에이전트
  • Minimizing regret
    • 강화 학습의 목표 중 하나, 에이전트가 최대한 빨리 최적의 정책을 찾는 것 보다는 학습 과정 중에 발생하는 regret을 최소화하려는 목표를 의미
    • 최적의 정책을 찾는 것 뿐만 아니라, 최적의 정책을 찾을 때까지 탐험과 학습을 어떻게 수행할지를 고려하는것을 의미
    • Optimal policy를 찾으려면 학습을 optimal하게 수행해야함

 

 

Generalization

  • Generalizing Across States
    • 현실적인 상황에서 Q-learning을 적용할 때 중요한 개념 중 하나
    • 일반적으로 모든 가능한 상태에 대한 Q-values를 학습하고 저장하는 것은 현실적으로 불가능하거나 메모리적으로 부담이 됨 → 큰 상태 공간을 다루거나 상태가 지속적으로 변하는 경우에 특히 문제가 됨
    • 현실적으로 너무 많은 상태를 다루기 어려운 경우에 강화학습에서 사용되는 개념. 일부 핵심 상태에서 얻은 경험을 일반화하여 더 넓은 상태공간을 다루고 효과적으로 학습하는 것을 의미
    • 요소
      • 훈련 상태 (Training States)
        • 에이전트는 학습을 위해 일부 상태를 선택하여 집중적으로 학습
        • 이러한 상태들은 에이전트가 주요한 결정을 내리거나 경험을 쌓는 데 중요한 역할을 함
      • 경험 일반화
        • 선택된 훈련 상태에서 얻은 경험을 유사한 다른 상황에 적용하는 데 사용
        • 에이전트는 훈련 상태에서 얻은 지식과 경험을 새로운 상태나 상황에 일반화하여 사용
      • 기계학습 도구의 활용
        • 일반화를 위해 기계학습 도구와 기술을 활용
        • 예를 들어 함수 근사 (function approximation) 기법을 사용하여 상태 공간을 모델링하고 Q-value를 추정할 수 있음
        • 이러한 도구는 더 큰 상태 공간을 다루고 메모리 효율적인 학습을 진행하는 데 도움을 줌
      • 샘플링 및 일반화
        • 훈련 상태에서 얻은 샘플을 사용하여 상태 공간에서 일반화된 모델 또는 함수를 학습
        • 이 모델 또는 함수를 통해 새로운 상태에 대한 Q-value를 추정하고, 이를 기반으로 에이전트의 행동을 결정
  • Feature-Based Representation
    • 강화학습에서 상태 또는 Q-상태를 설명하고 표현하는 방법 중 하나
    • 상태를 벡터 형태로 표현하며, 이 벡터의 각 요소는 상태의 중요한 특성 또는 속성을 나타내는 함수로 구성
    • 이러한 함수들은 상태 로부터 실수 값을 생성하며, 상태의 중요한 특징을 포함
    • 요소
      • Feature 함수
        • 상태를 입력으로 받아서 실수를 반환
        • 해당 특성이 상태에서 얼마나 중요한지를 나타냄
        • ex: ‘Distance to closest ghost’라는 특성은 상태에서 가장 가까운 유령까지의 거리를 계산하는 함수
      • Feature 벡터
        • 각 함수의 결과를 모아서 하나의 벡터로 표현
        • 상태의 특성을 정반적으로 설명하며, 각 요소는 특정 특성을 나타냄
        • ex: 벡터의 한 요소는 ‘Distance to closest ghost’의 값을 포함하고, 다른 요소는 ‘distance to closest dot’의 값을 포함할 수 있음
      • 예시 feature
        • 강화 학습에서 많이 사용되는 예시 feature: ‘Distance to closest ghost’, ‘Distance to closest dot’, ‘Number of ghosts’
        • 이러한 feature는 게임이나 환경에 다라 다를 수 있으며, 에이전트가 학습해야 하는 문제에 맞게 선택
      • Q-상태의 표현
        • Feature-based representation은 Q-상태를 표현하는 데도 사용될 수 있음
        • Q-상태는 현재 상태와 에이전트의 행동을 조합한 것으로 feature 벡터를 통해 Q-값을 추정하는 데 활용
    • 장점
      • 다양한 문제에 대해 적응성이 높으며, 주어진 상태의 중요한 특성을 명확하게 나타낼 수 있음
      • 벡터 형태로 표현하므로 기계 학습 알고리즘과 모델에 적용하기 용이
  • Linear Value Functions
    • V_w (s)=w_1 f_1 (s)+w_2 f_2 (s)+…+w_n f_n (s)
      • Q_w (s,a)=w_1 f_1 (s,a)+w_2 f_2 (s,a)+…+w_n f_n (s,a)
    • 강화학습에서 상태-가치 함수(V-value function)나 상태-행동 가치 함수(Q-value function)를 근사하는 데 사용되는 모델
    • 상태 또는 상태-행동 쌍의 feature 값을 사용하여 가치 함수를 선형 함수로 근사
    • V_w(s): 상태 s의 가치
    • Q_w(s, a): 상태 s와 행동 a의 가치
    • 이러한 가치 함수는 feature 벡터 f_i(s) 또는 f_i(s, a)와 가중치 벡터의 선형 조합으로 표현
      • 각 feature: 상태 또는 상태-행동 쌍의 특성
      • 가중치: 해당 특성의 중요성
    • 선형 가중치 모델은 각 feature의 가치에 대한 기여를 가중 평균하는 방식으로 가치를 예측
    • 이 모델은 다양한 feature를 조합하여 복잡한 상태 또는 상태-행동 쌍의 가치를 근사할 수 있음
    • 잘못된 feature를 사용하는 경우, 가치함수의 근사가 부정확할 수 있음 → 올바른 feature의 선택이 중요
    • 올바른 feature를 사용하면 비교적 적은 수의 가중치를 사용해도 가치 함수를 효과적으로 근사할 수 있음 → 메모리 및 계산 자원을 절약하면서도 좋은 성능을 제공할 수 있음
    • ex: 체스의 경우, 많은 가능한 상태가 있지만 올바른 feature를 사용하여 상태-가치 함수를 선형 가중치 모델로 효과적으로 압축할 수 있음 → 이러한 접근 방식을 강화 학습의 다양한 응용 분야에서 유용하게 사용됨
  • Updating a Linear Value Function
    • 강화 학습에서 가치 함수를 선형 가중치 모델로 근사하는 방법 중 하나를 나타냄
    • 규칙
      • 가중치 업데이트
        • 가중치 벡터 w를 업데이트하여 예측 오차를 최소화
        • 예측오차: 현재 예상한 가치 함수 값과 실제 보상 및 다음 상태의 가치 함수 값과의 차이
      • 학습률(𝛼)
        • 업데이트 단계의 크기
      • Gradient(𝜕𝑄_𝑤(𝑠,𝑎)/𝜕𝑤_𝑖)
        • 각 가중치를 업데이트할 때 그래디언트를 사용
        • 예상 가치와 실제 가치 사이의 차이를 통해 계산
      • "Pleasant surprise" 및 "Unpleasant surprise”
        • 업데이트는 예측 오차에 따라 가중치를 조절
        • pleasant surprise → 예측이 실제 값보다 높을 때 발생. 해당 feature의 가중치를 증가
        • Unpleasant surprise ⇒ 예측이 실제 값보다 낮을 때 발생. 해당 feature의 가중치를 감소
    • 이러한 가중치 업데이트 규칙을 통해 가치 함수를 근사화하고 학습 과정에서 최적의 특성 가중치를 조절하여 보다 효과적으로 강화 학습 문제를 해결
  • Convergence
    • 강화 학습에서 다양한 학습 알고리즘과 함수 approximator를 사용할 때 수렴과 관련된 내용
    • 보다 복잡한 업데이트 규칙을 사용하면 수렴을 강화할 수 있음
    • V^L: 최적 가치 함수에 가장 가까운 선형 근사값
      • 최적 가치 함수를 선형 함수로 근사하려는 시도
    • Temporal Difference (TD) 학습은 가치 함수를 업데이트 하는 방법 중 하나로, 선형 함수 approximator를 사용할 때, 수렴 시 최적 가치 함수인 V*에 가까운 V값을 얻을 수 있다는 것을 의미
    • Q-Learning은 종종 선형 함수 근사와 함께 사용되지만, 일부 경우에는 수렴되지 않고 학습이 불안정하게 진행될 수 있음
    • 보다 복잡한 업데이트 규칙을 사용할 때, 강한 수렴 결과를 얻을 수 있음 → 일부 강화학습 알고리즘에서는 선형 함수 approximator로는 수렴하기 어려운 상황이 발생할 수 있지만, 더 복잡한 업데이트 규칙을 사용하면 비선형 함수 approximator를 사용한 경우에도 수렴성을 더 강하게 입증할 수 있음
  • Nonlinear Function Approximator
    • 강화학습에서 가치 함수를 근사화할 때 선형 함수 대신 비선형 함수를 사용하는 방법
    • 선형 함수로 근사하는 경우와는 달리, 복잡한 문제나 고차원의 상태 공간을 다룰 수 있음 → 복잡한 상황 모델링 가능
    • 특징
      • 비선형성
        • 신경망은 여러 층과 활성화 함수를 포함하며, 이를 통해 비선형성을 나타낼 수 있음
        • 이를 통해 복잡한 상황과 비선형 관계를 모델링할 수 있음
      • 대규모 데이터 처리
        • 신경망은 대량의 데이터를 처리하고 학습할 수 있는 능력을 가지며, 이를 통해 다양한 상태와 상황을 효과적으로 학습할 수 있음
      • 자동 기능 추출
        • 신경망은 입력 데이터로부터 자동으로 특성을 추출하고 학습할 수 있음
        • 이는 특성 공학 단계를 줄여줄 수 있음
    • 비선형 함수 근사자를 사용하면 더 복잡한 문제와 고차원 상태 공간을 다룰 수 있으며, 이를 통해 보다 정확한 가치 함수 근사화를 수행할 수 있음
    • 이러한 방식은 심층 강화 학습 분야에서 매우 유용하게 사용됨
  • DQN (Deep Q-Network)
    • 강화학습에서 심층 강화학습 알고리즘 중 하나
    • Q-Learning을 신경망을 사용하여 근사화한 것
    • 고차원의 상태 공간과 복잡한 환경에서 강화 학습 문제를 효과적으로 해결할 수 있도록 설계

Summary

  • Exploration vs Exploitation
    • Exploitation
      • 활용
      • 현재 가장 좋다고 생각되는 행동을 선택하는 것
    • Exploration
      • 탐색
      • 더 많은 정보를 얻거나 미지의 옵션을 시도하는 것을 의미
    • 에이전트는 미지의 상태나 행동을 더 자주 탐험하고, 불확실한 상황에서 미래의 보상을 더 잘 예측할 수 있는 방법을 찾아야 함 → 잠재적으로 유익한 정보를 얻기 위해 탐험을 이끌어야 함
    • 에이전트가 올바른 보상을 받으려면 종종 적절한 reward bonus를 사용해야 함 → 이러한 보너스는 탐험을 유도하고 에이전트가 최적의 정책을 학습하는 데 도움을 줄 수 있음 → 이를 통해 에이전트는 최소한의 regret으로 최적 정책을 찾아갈 수 있음
  • Generalization allows RL to scale up to real problems
    • 일반화: 학습된 정책이 새로운 상황에 대해 일반화 되는 능력 → 이를 통해 에이전트는 학습된 경험을 다른 상태나 상황으로 확장하여 복잡한 실제 문제에 적용할 수 있음
    • 가치 함수 (V or Q)를 매개변수화된 함수로 표현하고, 학습 중에 이러한 매개 변수를 조정하여 예측 오차(prediction error)를 최소화 하는 것은 중요한 접근 방식 → 이를 통해 에이전트는 학습 과정에서 가치 함수를 개선하고 더 나은 행동을 선택할 수 있음
  • 탐험과 활용 사이의 균형을 유지하면서 적절한 보너스 및 일반화를 활용하며, 함수 매개변수화를 통해 강화 학습 문제를 효과적으로 다룰 수 있음
  • 이러한 요소들은 강화학습을 실제 문제에 적용하고 성공적으로 해결하는 데에 중요한 역할을 함