오늘도 '강화 학습'에 대한 학습을 집중적으로 했다.
'강화 학습'은 대학교에서도 몇 달 동안 해도 어렵다는 거라는데. 너무 어려운 수업이 아닌가 싶다.
하지만 이런 도전적인 수업이 나의 승부욕을 자극시켰다.
밑의 내용은 내가 수업을 듣다가 너무 머리가 복잡해져서 혼자 정리해본 것이다.
MDP : 상태, 행동, 보상 함수, 상태 변환 확률, 감가율 등을 수학식으로 정리한 것
가치 함수 : 에이전트가 유일하게 학습할 수 있는 정보. (현재 받은 보상 값 + 미래에 받을 보상 값)하지만 가치 함수를 통해 받은 보상을 모두 더하면 3가지 문제가 발생한다. [ 현재와 미래 보상 100을 똑같이 취급, 보상 100 1번과 20 5번을 구별하지 못함, 0.1을 받아도 1을 받아도 합이 무한대다.]
상태 변환 확률 : 특정 이유로 상태가 변화하지 않을 확률을 수치적으로 표현한 것
감가율 : 에이전트가 보상을 받는 시점이 지남에 따라 더 최근의 보상에 더 큰 가치를 갖는 것
정책 : 모든 상태에서 에이전트가 할 행동. 강화 학습을 통해 알고 싶은 것은 정책이 아닌 '최적 정책'이다.
어떤 상태에서 어떤 행동이 얼마나 좋은지 알려주는 함수를 행동 가치 함수 (Q Function | 큐 함수)라고 한다.
벨만 기대 방정식 : 현재 가치 함숫값을 갱신한다. 하지만 갱신하려면 기댓값을 게산해야 하는데 어떻게 계산할까? 기댓값에는 어떤 행동을 할 확률 (정책)과 그 행동을 했을 때 어떤 상태로 가게 되는 확률 (상태 변환 확률) 이 포함되어있다.
따라서 정책과 상태 변환 확률을 포함해서 계산하면 된다.
모든 정책에 대해 가장 큰 가치 함수를 주는 정책이 최적 정책.
최적 정책을 따라갔을 때 받을 수 있는 가치 함수의 합이 최적 가치 함수다.
... 생략
그다음 특강은 '주저하는 그대들을 위해'였다.
마이스터고등학교를 졸업한 고졸 개발자분이 자신이 여기까지 오게 되면서 겪은 경험들에 대한 이야기를 나눠주셨다
강연자 분의 진심 어린 조언이 느껴지는 특강이었다.
드디어 OSS 여름 캠프의 마지막 특강까지 듣게 되었다.
특강의 주제는 프로그래머와 디벨로퍼의 차이점에 대해서였다.
Naver의 백엔드를 담당하시는 이병재 님이 직접 강의하셨다.
이번 2019 국민대학교 OSS 여름캠프의 특강은 다 "좋은 개발자?"라는 주제에 초점을 둔 것 같다.
'남을 존중할 줄 아는' 개발자가 되자.
드디어 모든 일정이 끝났다.
하지만 우리에게 남겨진 최종 과제가 하나 있었다.
LunarLander라는 파이썬 파일을 수정하여 달에 착륙을 하는 에이전트를 학습시키는것이였다.
듣기만 해도 어려워보인다. 실제로 너무 어려웠다.
LunarLander AI를 학습시키는 과정은 다음 게시글에서 설명하도록 하겠다.
'IT 관련 활동' 카테고리의 다른 글
2019 NYPC 토크콘서트 (0) | 2019.07.30 |
---|---|
국민대학교 OSS 여름 캠프 | 마지막 날 | Lunar Lander (0) | 2019.07.29 |
국민대학교 OSS 여름 캠프 2일차 (0) | 2019.07.26 |
국민대학교 OSS 여름 캠프 1일차 (0) | 2019.07.25 |
2019 넥슨 NYPC 토크콘서트 참가! (0) | 2019.07.25 |