본문 바로가기

728x90
반응형

DQN

강화학습(3) 코드 실습 : Q-learning, DQN 1. Q-learning in grid world 파이참의 가상 환경에서 실행한다. 새로운 프로젝트를 생성하여 'pip install numpy', 'pip install padas', 'pip install matplotlib'을 터미널 창에 입력한 후 설치를 완료한다. Run시키면 아래 코드가 수행된다. (1) 코드 설명 코드를 간단히 설명하겠다. 1차원으로 총 20개의 상태를 가지는 20x1 그리드 월드에서 에이전트는 'left' 혹은 'right', 2가지 행동을 취할 수 있다. 목표는 최적의 행동을 학습하여 'T'라는 종료 상태에 도달하는 것이다. 종료 상태에 도달하면, 다시 처음으로 돌아가 최적의 행동을 학습한다. 이러한 시행착오를 200번 겪은 후 코드는 종료된다. 전체 루프를 200번 반복.. 더보기
강화학습(2) DQN, Double DQN, Deuling DQN DQN(2013) -> A2C, A3C(2016) -> DDPG(2015) -> PPO(2017) -> TD3, SAC(2018) 순서. 1. DQN (1) Deep Q-Learning 기존의 Q-learning은 state-action(s,a)에 해당하는 Q값을 테이블 형식으로 저장하여 학습한다. 상태 공간, 행동 공간이 커지게 되면 모든 Q값을 저장하기 어려워진다. (메모리 문제, 긴 탐험 시간 문제). Deep Q-Learning은 이를 딥러닝으로 해결한 알고리즘이다. Q-table에 해당하는 Q함수를 비선형 함수로 근사시키며, Q함수의 가중치 파라미터들을 θ로 표시하였다. 1. 파라미터를 초기화, 매 스텝마다 2~5를 반복한다. 2. Action at를 e-greedy 방식에 따라 선택한다. 3... 더보기

728x90
반응형