EveryDay.DevUp

패스트캠퍼스 환급챌린지 52일차 : Part5. 강화학습 본문

패스트캠퍼스/딥러닝·인공지능Signature초격차패키지Online

패스트캠퍼스 환급챌린지 52일차 : Part5. 강화학습

EveryDay.DevUp 2025. 4. 25. 18:24

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/4hTSJNB

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

Chapter7 RL into wild - 벨류 기반 에이전트
- 벨류 함수를 신경망으로 표현하는 방법론

Ch07-01  벨류 네트워크의 학습
-RL 에이전트의 분류
: 가치 기반 / 정책 기반 / 두 가지를 섞은 액터 크리팃
- 벨류 네트워크
: 벨류 함수를 신경망으로 표현

Ch07-02 Deep Q-Learning
- ATARI 게임을 DQN을 이용해서 풀음.
:  게임의 이미지를 입력으로 얻어서 액션을 아웃풋으로 내놓는 네트워크를 학습시켜서 그 네트워크로 사람 수준의 게임 에이전트를 만듬
1) Deep Q-Learning의 이론적 배경
- 신경망을 이용해서 액션 선택을 학습
- 특정 상태에서 액션을 하고 optimal value를 얻음
- 어떻게 학습할 것인가에 대해 MDP를 모르기 때문에 MC나 TC를 사용할 수 있는데 TD를 사용하고 벨만 최적 방정식 0단계를 사용함
2) Deep Q-Learning프로세스
ㄱ. Q의 세타 값을 초기화
ㄴ. 에이전트의 상태 값을 초기화
ㄷ. 에피소드가 끝날 때까지 아래의 과정을 반복
- Q 세타의 값이 제일 높은 확률의 액션을뽑다가, Q 세타에 대한 입실론 그리디를 이용해 액션을 선택
: 입실론윽 통해 변수를 만들기 위함
- 액션을 선택하여 실행했을 때의 보상과 다음 상태를 얻음
- 세타를 업데이트하고 다음 상태로 이동
ㄹ. 에피소드가 끝나면 ㄷ.으로 이동하여 세타가 수렴할 때까지 반복함
3) 학습을 안정시키기 위한 방법
- 익스피리언트 리플레이
: 에이전트가 했던 경험를 리플레이 버퍼에 쌓아두고 재사용
- 타겟 네트워크
: 특정 스텝동안 정답 계산에 쓰이는 네트워트를 고정 시킴

Ch07-03 Deep Q-Learning 구현 및 실습
- Cart Pole 문제
: 카트를 움직여서 폴 균형을 잡는 문제
: 문제를 해결하기 위해서는 상태를 정의해야함
-> 스테이트를 어떻게 정의할 것인가 -> 모든 상황을 표현할 수 있는 상태 값을 정의해야함
: 카트 위치 속도 막대의 각도 막대의 각속도 4개 상태로 정의
: 가능한 막대가 넘어지지 않고 최대로 버티는 것을 목표로 함 45도이상이 되면 넘어진 걱
: 액션은 왼쪽과 오른쪽으로 이동만 가능
- QNet 구조
: 인풋은 상태값 4개로 정의, 아웃풋은 왼쪽 오른쪽 2개
: 히든레이어를 정의하고 로스는 TD타겟과 현대 추측의 차이가 로스