상황파악

제발 좀 쉽게 가르치자 - 강화학습 1편 본문

AI/강화학습

제발 좀 쉽게 가르치자 - 강화학습 1편

otch80 2023. 10. 9. 19:22

공부하다 너무 화가나서 다시 글을 써본다

대체 왜 강화학습을 쉬운 말로, 수식 없이, 이해되기 쉽게 설명하는 사람이 왜 한명도 없나 

(물론 이전 내 설명자료 포함. 그래서 더 화남)

 

수식으로 설명하면 명확하기 때문에 이 분야를 공부하는 사람들의 스타일이 아닐 수 있는건 이해하는데

취미로 한번 해볼까 하는 사람들이 진입하기에는 너무 숨이 막힌다

 

나처럼 멍청한 사람을 쉽게 가르치는 사람이 도대체가 왜 한명도 없냐 이말이야

덧셈 뺄셈 하다가 갑자기 미분가르치는데 중간 내용 어디갔냐 하면 수식을 보면 된단다 

이게 무슨 소리야 대체

 

 

그래서 내가 최대한 추리고 추리면서 내용 다 틀려먹더라도 일단 이해가 되기 쉽게 적고 더 공부하면서 틀린 부분을 수정해가야 겠다

 

아니 공부도 일단 재미가 있어야 할 거 아니냐

이건 뭐 연구자들만 하는 분야로 두기엔 너무 아깝다

 

 

어차피 입문용으로 다룰 내용이라 편하게 음슴체로 쓰겠음

회사 퇴근하고 스터디하고 있는데 그때 쓴 ppt 가져와서 설명하겠음

(내용이 많이 틀릴 수 있음)

 

ppt 만들때 신인류 채널을 아주 많이 참고했음 (내용이 알차기 때문에 추천)

 

신인류

우충완과 홍석준의 신경과학과 인공지능의 유별난 만남

www.youtube.com

 

 

 

일단 강화학습에서 쓰는 용어는 일반 (비)지도학습 할때 쓴 용어랑 조금 의미가 다름

뭐가 다른지는 읽다보면 느낌

갑자기 이게 왜 이렇게 되는거? 할때가 많음

 

 

지금까지 여러 모델들이 발전하면서 다양한 방법론이 나왔듯이 RL 도 여러개가 나옴

그런데 보면 첫 분기점 용어가 조금 이상함

Model이 없는 RL, Model에 기반한 RL

 

 

모델이 없으면 뭘 학습한다는 거지? 싶음

 

 

 

여기서 말하는 Model이란 가상 시뮬레이션으로 이해

이게 무슨소리냐 하면

 

 

 

real world에서 행동하고 보상받고 하는게 Model-Free

가상 시뮬레이션 안에서 행동하고 보상받고 하는게 Model-Based

 

어떤걸 배우냐의 차이

Model을 배우는 것은 실제와 비슷한 환경을 구축하고, 그 환경에서 어떻게 하는지 배우기 때문에 더 복잡함

 

그럼 왜 시뮬레이션을 만드냐 궁금할 수 있음

 

간단함

우리가 실험하고 싶은 환경을 조금씩 바꿔가면서 모델을 다양한 환경에 노출시키고, 많은걸 학습시키기 위함임

자율주행 모델을 만들겠다고 비오는 고속도로에서 200km씩 밟을수는 없음

 

일단 Model-Based는 어려우니 Model-Free 부터 공부하겠음

 

그럼 강화학습을 위해서는 뭐가 필요하냐

 

 

일단 우리가 학습시킬 (혼자 알아서 행동할) 에이전트가 필요하고

그 에이전트가 동작할 환경이 필요함

 

우리가 학습시키길 원하는 에이전트가 환경에서 다양한 활동을 하면서 여러 보상을 받고

최고의 성과를 내는 과정을 반복하면서 똑똑해지는 것임

 

이때 동작하는 것은 에이전트 이지만 나무를 주는것은 환경이 주는 것

이런걸 계속 돌리면 언젠간 엔드드래곤 타임어택도 봇이 세우지 않을까 싶음

 

그럼 에이전트가 어떻게 공부를 하는 것이냐 하면

 

 

일단 하는 거임

하면서 가르쳐주고 배우고 무한반복 (원하는 성능 나올때 까지)

 

 

오늘은 여기까지 하고 더 자세한건 천천히 하겠음