스터디/Machine Learn

7. 강화학습

elenalee 2024. 8. 30. 18:56

1. 강화학습

강화학습 : 출력값에 대한 교사신호가 '보상'형태로 제공, 정확한 값이 아니며 즉시 주어지지 않음

- 제어 문제를 표현하고 해결하는 방법으로 주로 사용  

   주어진 상황이나 조건에서 어떤 동작을 취해야 할지 결정하는 문제

   시간에 따른 순차적인 개념존재, 이전 상황이 현재시점에서의 결정에 영향을 미침 

- 주어진 상황에서 최적의 제어신호에 대한 정확한 목표값을 모름

- 제어 동작후 결과에 대한 성공여부 평가는 가능 

 예) Google DeepMind , AlphaGo ( 몬테카를로 트리탐색, 딥러닝, 강화학습 기술의 결합 )

       AlphaGo Zero ( 바둑규칙만 입력, 스스로 대국을 통해 터득 ),

       AlphaZero ( 모든 보드게임을 위한 알파고 제로의 범용 버전 ) 

 

응용분야 : 보드게임, 비디오 게임, 로봇제어, 시스템 제어

- 게임 분야 : 아타리 게임에 DQN적용 

- 로봇 제어 : 모방학습 (비디오 이미지를 보고 로봇이 흉내내서 동작을 배우도록 학습)

- 시스템 설정/제어 : 구글 데이터센터의 Cooling System (구글 딥마인드 강화학습)

   외 자동차의 자율주행

 

1) 강화 학습

출력값에 대한 교사신호가 '보상'의 형태로 제공

- 목표 출력값 없음 ( 최종 목표를 지정하고 매순간 학습시스템이 취하는 행동의 결과에 따라 보상제공)

② 목적

- 최종적으로 얻게되는 누적보상의 최대화 ( 목표달성에 적절한 경우 양의보상, 부적절한 경우 음의보상 )

- 보상을 통해 좋은/나쁜 행동을 배워 행동방식을 긍정적 방향으로 '강화'

- 보상의 주체 : 에이전트와 환경 (환경이 보상을 결정하고, 에이전트가 결정을 집행)

상태, 행동, 보상의 집합을 이용하여 최적의 행동 결정

 

(1) 마르코프 결정 프로세스 : S,A,R,P, 𝜸 , 𝝅 , G 

- 현재 상태에서 다음 행동을 선택할때 이전 선택들의 영향이 없이 현재 상태에 의해서만 결정 

 

MDP, Markov Decision Process 

    학습을 위해 에이전트 - 환경의 상호작용을 수학적으로 표현한것 

     정책 - 에이전트가 정책에 따라 행동을 결정할때 사용하는 규칙, 에이전트는 정책에 따라 행동을 

               결정하고, 환경은 주어진 MDP에 따라 다음 상태와 보상을 결정 

     목적 - 주어진 MDP내에서 누적보상을 최대화하는 최적의 행동을 결정하는 정책을 찾는것

     마르코프 성질 - 다음 행동현재의 상태(상황)에 의해서만 결정 

 

마르코프 프로세스는 <S,A,R,P, 𝜸 >의 튜플 (상태, 행동, 전이확률, 보상함수, 보상의 할인율)

    S - 가능한 상태의 유한집합

    A - 가능한 행동의 유한집합

    P - 상태 전이확률 

   

    R - 보상함수  

 

   𝜸 - 보상을 계산할때 사용되는 할인율  𝜸 ∈ [0,1] (목표와 먼 결정은 보상의 기여도 낮음)

 

 

(2) MDP 정책과 가치함수 

 정책 𝝅  : 상태 𝐒ₜ와 행동𝐀ₜ의 시퀀스를 결정하는 함수적 규칙 

 

𝝅 ( a | s ) = P [ 𝐀ₜ = a | 𝐒ₜ = s ] , 주어진 상태가 s일때 a를 선택할 확률 

'1'의 상태에서 동작을 선택할 정책, 상태전이확률

 

좋은 정책에 대한 평가기준 필요 

수익 return, 이익 grain Gₜ , 시점 t에서 얻어지는 보상에 대해 할인율 𝜸을 곱하여 더한값 (총할인 보상)

(  𝜸는 시점이 멀어질수록 G 에 기여도 낮게 설정 ), 모든 시점에서의 보상에 할인율을 반영, 이익산정

 

- 가치함수 

학습의 목적 : 최종누적보상을 최대화하는 최적 정책(optimal policy) 𝝅* : S ↦ A를 찾은것

최적 정책을 찾는 방법 :  상태와 행동에 대한 가치 평가를 수행

  상태가치함수 : 상태 s에서 정책 𝝅에 따라 행동하였을때 얻을수 있는 기대보상 (보상의 평균)

  행동가치함수 : 상태 s에서 정책 𝝅에 따라 행동 a를 선택하였을때의 기대보상  

 

- 최적가치함수 

 

- 최적정책 : 최적행동 가치함수 q*(s,a)를 최대화하는 행동을 찾는것

 

(3) 최적 정책을 찾는 과정의 어려움 ( MDP 학습 )

- 에이전트는 상태와 보상에 관해 오직 지역적/부분적 정보만 이용가능

  (현실적으로 모든 경우의 수를 다 계산해볼수 없음)

- 보상이 즉시 주어지기보다는 긴 시간 동안의 지연발생 

- 상태 전이와 보상이 비결정론적인 경우, 함수식으로 정해지지 않거나 알려지지 않은 경우도 존재

- 상태공간과 정책공간이 방대

- 비효율적 학습 

심층 Q-학습이 (Deep Q-learning) 좋은 해결책 

 

2) Q-학습

 

(1) Q함수 (Q function)

- Q값 (Q value) : 주어진 상태-행동 쌍의 기대보상 Q함수의 값 

- Q학습 (Q learning)  : 최적정책 𝝅*를 얻기 위해 최적 Q함수 Q*(s,a)를 추정하는 방법 

- Q학습 알고리즘  :

  초기화   임의의 현재상태 s 지정 다음 행동 a 선택으로  s'로 이동 보상 r획득

  ▶ 상태 s'와 보상 r로 Q갱신 ( Q함수의 추정치는 s'에서 얻어지는 모든 행동 중 최대값으로)

  상태변경 및 보상, Q갱신을 반복

 

예) 미로찾기 학습의 예

 

(2) 행동 선택을 위한 전략 : 탐험과 탐사 

탐험 : 탐색공간 전체를 골고루 찾음, 랜덤하게 다른 행동을 선택 

탐사 : 특정한 곳을 중심으로 주변을 집중적으로 탐색 (현재의 Q함수 정보를 바탕으로 최적의 행동 선택)

 

혼합된 선택전략  ε-greedy (엡실론 탐욕)

ε : 탐험 확률, t가 커지면서 점점 감소   ( 시간의 경과에 따라 탐험감소, 탐사증가 )   

 

(3) 경로 선택 

- 여러 경로중 짧은 경로를 설정하기 위해 할인된 미래보상 개념도입

  (Gt - 미래에 얻어질 보상에 대해 할인율 적용) 

 

예) 더 나은 경로 선택 (할인율 적용)

 

(4) 비결정론적 환경 

결정론적 모델 : 모델의 출력과 행동이 어떤 임의성도 없이 초기조건과 파라미터에 의해서만 전적으로 결정

                       확률적 불확실성이 존재하지 않음 

비결정론적 모델 : 모델에 임의성이 내재, 동일한 초기조건과 파라미터 집합이어도 서로 다른 여러 출력생성

                          상태전이와 Q-학습이 제대로 동작하지 않음 , 해결책으로 신뢰요소(belief factor 𝛂) 도입

                          예) 바둑, 장기, 체스 등 상대방이 있는 경우 

 

𝛂를 가진 Q학습의 갱신 : Q-신경망  

 

Q함수를 Q테이블로 표현시 매우 거대하며  실제 응용시 비효율적이므로 신경망으로 표현,추정시도

 

3) Q신경망과 Q-심층 신경망  (신경망을 이용하여 Q-함수 추정 ) 

 

(1) Q신경망 : Q함수를 테이블이 아닌 근사함수의 형태로 하여 신경망을 이용해서 표현/추정 

 

① Q신경망의 두가지 형태 

 - 상태 s와 행동 a가 주어지고 동작한 경우 기대보상 Q(s,a)

 - 입력상태 s만 주어지고 출력층은 주어진 상태의 각 행동에 대한 Q값으로 구성되는 형태

 ▶ 학습의 불완전성으로 인해 수렴이 보장되지않아 DQN 개발 

 

② 목적 함수 : 오류역파의 지도학습 

      - 오차제곱합 함수 : 목표 출력값 (Q함수의 최적값 추정치)와 실제출력 비교

      - 강화학습에서 최적의 정책을 구하기 위한 Q함수를 구하기 위한 Q신경망이 사용

        Q신경망에는 EBP(Error Back Propagation)을 사용하는 지도학습 수행 

 

신경망 학습의 테이블을 개별로 계산하기보다는 주어진 모든 상태에 대한 모든 행동의 Q를 노드로 구현하여 계산

 

(2) Q-신경망 학습의 불안정성 

 Q테이블 표현에 대해서는 수렴, Q신경망은 발산 

불안정성의 원인

- 데이터간의 높은 상관관계 : 시간흐름에 따라 순차적인 데이터수집된 데이터를 입력으로 활용

- 목표출력이 시간에 따라 변함 : 평균제곱오차는 Q(목적함수)를 사용하므로 의존성

                                                   학습 과정중에 목적함수가 변동 

          

   

(3) (Deep Q-Network) : Q신경망 학습의 대책 

- 심층 신경망: 합성곱 신경망(CNN)구조

                      영상 픽셀 데이터를 입력으로 미래보상을 추정하는 행동가치함수의 근사함수

- 경험재현(experience replay), 목표망(target network)

 

① 학습절차 : 2개의 convolution층과 2개의 완전연결층으로 구성 

입력층 (128컬러의 210x160 영상을 4개 프레임을 110 x84의 그레이로 축소 후 84x84로 잘라 사용

▶ 1번째 convolution층 (ReLU) 2번째 convolution층 (ReLU) 1번째 완전연결층(ReLU) 

선형의 완전연결층 출력층 (18가지 조이스틱 조작에 대응한 Q)

** 이후 3번째 convolution층 도입 

 

경험재현 - 데이터간의 높은 상관관계 문제 해결, 재현을 통해 학습 데이터의 시퀀스를 재구성  

                에이전트의 경험 (sₜ, aₜ , rₜ, s₊₁ )을 시간 간격단위로 재현 메모리 D에 저장 후,

                D로부터 균등 무작위 추출을 통해 미니배치를 구성하여 학습진행 

                예) MNIST데이터의 경우 1을 전부 학습, 2학습하는 방식으로 하면 학습이 잘 되지 않음

                     데이터간 상관관계가 높음, Shuffle로 데이터를 섞어 미니배치로 학습

 

목표망 - Q신경망과 별도로 함수 계산을 위한 목표망을 별도로 사용

              시변적인 목표 출력값의 문제해결 (목표 출력이 계속변함) 

             원래의 Q-신경망과 같은 구조이나, 다른 파라미터의 𝜃⁻ 를 가진 별도의 신경망 

              ( 목표망의 파라미터 𝜃⁻가 매 C단계 마다 𝜃을 갱신하여 목표 출력값이 움직이지 않도록 함

 

 

예) 아타리 게임 

 

 

'스터디 > Machine Learn' 카테고리의 다른 글

6. Deep Learning  (0) 2024.08.28
5. 신경망  (0) 2024.08.27
4. 앙상블, 결정트리, 랜덤포레스트, SVM/커널  (0) 2024.08.20
3. 비지도 학습_ 군집화와 특징추출  (0) 2024.08.19
2. 지도학습- 분류와 회귀  (0) 2024.08.01