2025/09/01 4

[강화학습] 강화학습에 신경망 더하기

본 글은 강화학습과 신경망에 대한 기초적인 지식(벨만 방정식, Q-Learning, 퍼셉트론, FNN, CNN, RNN, etc.)이 있다고 가정하고 작성되었습니다.또한, 본 글은 DQN/정책 정사법과 관련된 내용을을 다루지는 않으니 주의해주시기 바랍니다.신경망을 위한 전처리신경망에서 '범주형 데이터'를 다룰 때에는 원-핫 벡터로 변화나는 것이 일반적이다.범주형 데이터: 범주로 묶을 수 있는 것. 혈액형이나 옷 사이즈 등원-핫 벡터: 한 개의 원소만 1이고 나머지는 모두 0인 벡터예를 들자면, 혈액형 A/B/AB/O 를 각각 (1,0,0,0)/(0,1,0,0)/(0,0,1,0)/(0,0,0,1)로 치환하는 것이다.그럼 아래와 같은 문제는 어떻게 원-핫 벡터로 바꿀 수 있을까?3x4 크기의 셀을 각각 범주..

[강화학습] 에이전트 구현 방법 - 분포 모델과 샘플 모델

에이전트 구현 방법에는 크게 '분포 모델'과 '샘플 모델'이 있다.분포 모델분포 모델은 확률 분포를 명시적으로 유지하는 모델이다.그래서 '무작위로 행동하는 에이전트'를 분포 모델로 구현한다면, 다음처럼 구현할 수 있다.이와 같이 각 상태에서의 행동 확률 분포를 self.pi 변수에 유지한다.그리고 실제 행동을 할 때는 이 확률 분포를 토대로 샘플링한다. 이것이 에이전트를 분포 모델로 구현하는 방법이며, 이처럼 확률 분포를 명시적으로 유지한다는 점이 분포 모델의 특징이다.샘플 모델샘플 모델은 '샘플링이 가능하다' 라는 조건만 충족하면 되는 모델이다.확률 분포를 유지할 필요가 없기 때문에 분포 모델보다 간단히 구현할 수 있다.확률 분포 없이 단순히 네 가지 행동 중 하나를 무작위로 선택하도록 구현했다. 이건..

[강화학습] 시간차 학습, SARSA, Q-Learning

시작하기 전에, 간단하게 강화학습에서의 몬테 카를로와 DP의 특징에 대해 짚고 넘어가겠다.DP다이나믹 프로그래밍의 점화식을 통한 증분 계산을 활용한다.장점따라서 에피소드 진행 중 평가와 개선을 번갈아가며 최적 정책을 얻을 수 있다.이 과정에서 반복되는 계산을 하나로 합쳐 진행하는 최적화(가치 반복법) 또한 가능하다.단점환경 모델(상태 전이 확률과 보상 함수)이 확실하게 알려져 있어야 계산이 가능하다.계산량에 대한 부하가 심하다.몬테 카를로실제 시나리오를 돌려보면서 환경을 추론한다. (비정상 Multi-Armed Bandit 문제)장점환경 모델이 확실하지 않더라도 평가/개선이 가능하다.단점몬테 카를로의 특성 상, 하나의 에피소드가 끝나야 평가 후 개선이 가능하다.일회성 과제에서만 사용이 가능하고, 지속적 ..

[강화학습] 강화학습에서 최적 정책을 찾는 방법

최적 정책은 '평가'와 '개선'을 번갈아 반복하여 얻는다.'평가' 단계에서는 정책을 평가하여 가치 함수를 얻는다.그리고 '개선' 단계에서는 가치 함수를 탐욕화하여 정책을 개선한다.이 두 과정을 번갈아 반복함으로써 최적 정책(과 최적 가치 함수)에 점점 다가갈 수 있다. 신경망에 비유하자면, 강화학습의 '평가'는 손실 함수 역할이고, 강화학습의 '개선'은 경사 하강법이 수행하는 역할이다. 예를 들어 몬테 카를로 방법으로 강화학습을 수행한다고 해보자.pi라는 정책이 있다면, 몬테 카를로 법을 이용해 V_pi를 얻을 수 있다.그다음은 개선 단계이다. 개선 단계에서는 탐욕화를 수행하며, 다음 수식으로 표현할 수 있다.계산 단계에서는 가치 함수의 값을 최대로 만드는 행동을 선택한다.이를 탐욕화라고 한다. Q 함..