프로그래밍 공부

알고리즘 40

카테고리 설명
  • import tensorflow as tfimport numpy as npimport randomimport mathimport os"""# 설정값 지정"""# 학습에 필요한 설정값들을 선언합니다.epsilon = 1 # epsilon-Greedy 기법에 사용할 최초의 epsilon값epsilonMinimumValue = 0.001 # epsilon의 최소값 (이 값 이하로 Decay하지 않습니다)num_actions = 3 # 에이전트가 취할 수 있는 행동의 개수 - (좌로 움직이기, 가만히 있기, 우로 움직이기)num_epochs = 2000 # 학습에 사용할 반복횟수hidde..

  • DQN Q-Table을 업데이트하지 않고, 현재 상태값을 입력값으로 받고 현재 상태에서 취할 수 있는 행동들에 대한 Q값을 예측하는 인공신경망을 만들어서 사용하는 Q-NetWorks기법이다. Q-Networks를 학습시킬 때, 타겟 데이터는 Q-Learning알고리즘으로 구한 최적의 행동가치 함수값인 $ Q*(s_{t}, a_{t}) = R_{t+1} + \gamma  \underset{a+1}{max}Q(s_{t+1}, a_{t+1}) $ 으로 지정하고 상태값을 입력받아 신경망이 예측한 $ Q(s_{t}, a_{t}) $ 와 타겟 데이터의 평균제곱오차(MSE)으로 손실함수를 정의해서 최적화를 수행한다. $ MSE = \frac{1}{2n}\sum_{i=1}^{n}(Q^{*}(s_{t},a_{t}) - ..

  • 강화 학습 알고리즘은 학습을 위한 데이터가 에이전트가 어떤 행동을 하느냐에 따라 달라진다. 따라서 강화학습 알고리즘은 데이터를 잘 수집하는 문제와 알고리즘을 잘 업데이트 하는 문제를 모두 고려해야 한다. 이때 Exploration and Expoitation Trade-off문제가 발생한다. Exploration : 학습을 위해 수집하는 Sample의 다양성을 위해 모험적인 Action을 취하는것 = 미래의 이익을 최대화Exploitaiton : 최적의 Action을 취하는것 = 현재의 이익을 최대

  • Q-Learning 및 강화학습을 적용할 때 보통 $ \epsilon - Greedy $ 라는 기법을 함께 적용한다. 에이전트가 항상 최대 Q값으로 행동하게 되면 데이터 수집과정에서 다양성이 감소하고 이로인해 최대 학습 결과가 Local Optima에 빠질 확률이 높아진다. 따라서 $ \epsilon - Greedy $ 기법은 에이전트가 $ \epsilon  $ 확률로 최적의 행동이 아닌 랜덤한 행동을 하게 하고, 다시 $ ( 1 - \epsilon ) $ 확률로 최적의 행동을 하게 함으로써 에이전트가 다양한 상태를 경험하고 수집할 수 있게 한다. 결과적으로 학습이 끝난 후에 더 좋은 성능을 발휘할 수 있다. 하지만 계속해서 랜덤한 행동을 하도록 할 수는 없음으로 학습 초반에는 $ \epsilon  $ ..

  • Discrete Action Space 에이전트가 취할 수 있는 행동이 n개의 행동중에 한개로 나누어 떨어지는 문제정의이다. 예를들어, 왼쪽 오른쪽 위 아래로 이동한다는 행동 4가지가 있을 때, 행동을 무조건 1개 선택해서 진행해야 한다고 하면. 위 또는 아래 오른쪽 왼쪽으로 이동하는 결과 한개가 나타나는걸 말한다. A = [ 왼쪽, 위, 오른쪽, 아래 ]Continuous Action Space 에이전트가 취할 수 있는 행동이 연속된 값을 선택하는 문제 정의 이다. 예를 들어, 로봇의 팔 관절이 몇도의 각도로 움직여야 할 지를 결정하는 문제는 Continuous Action Space이다. A = 0 ~ 360(팔각도)

  • On-Policy 지금 수집한 경험을 이용해서 갱신목표로 하는 정책을 개선하는 학습 방법론. 즉, 수집한 경험만을 이용해서 학습 Off-Policy 지금 수집한 경험과 과거 혹은 다른 데이터에서 수집한 경험을 모두 이용해서 갱신 목표로 하는 정책을 개선하는 학습 방법론, 즉 과거에 수집한 경험도 재활용할 수 있다.Off-Policy방법으로 학습할경우 한번 수집한 경험을 여러번 활용할 수 있어서 더효율적으로 학습이 가능하다. SARSA는 On-Policy Q-Learning 은 Off-Policy