안녕하세요, 2022년에는 새로운 주제로 글을 써볼까 합니다. 예전부터 제가 공부하고 있던 강화학습(Reinforcement Learning) 내용을 정리해보고 싶었는데, 이런 저런 일들로 여건이 되지 않아 미루고 있었습니다. 한동안 다른 문제로 골머리를 썩히다가 이번에 논문 때문에 강화학습을 다시 공부할 일이 생겨 겸사겸사 내용을 정리하고자 합니다.

강화학습 포스트에 참고할 교재는 대부분 학교에서 널리 사용하고 있는 Richard Sutton 교수님의 Reinforcement Learning : An Introduction 이라는 책입니다. 워낙 유명한 책이다보니 한국 서점에서도 쉽게 구할 수 있을 뿐만 아니라 번역본까지 있는 것을 확인했습니다. (사실 저 말고도 이 책에 대해 자세히 정리해놓은 블로그가 있기도 합니다) 게다가 저자분께서 교재 PDF를 인터넷에 공개해놓은 상태이기 때문에 굳이 구입할 필요가 없는 것이 장점이기도 합니다. 교재 PDF는 이 곳에서 다운받을 수 있습니다.

필요한 부분에서는 소스코드를 같이 첨부할 예정인데, 언어는 Python을 사용하려고 합니다. 사실 저는 C언어에 익숙해서 지금까지 대부분 C언어로 시뮬레이션을 했는데, 강화학습 관련 시뮬레이션을 구현하려니 C언어로는 너무 복잡하여 어쩔 수 없이 강화학습 관련 라이브러리가 많은 Python이 낫겠다는 생각이 들었습니다. Python을 제대로 공부해본 적이 없어 많이 헤멜 것 같은데, 최대한 빨리 익숙해져서 시뮬레이션 프로그램을 구현하고 싶습니다.

따라서 가급적이면 각 주제에 맞는 프로그램을 작성하여 소스 코드도 첨부하려고 노력하겠습니다. 다만 아무래도 대학원 단계의 주제이기 때문에 포스트를 작성하는 빈도는 줄어들 것으로 생각하고 있습니다. 또한 분량은 기계학습 때와 마찬가지로 1장당 한 개의 포스트로 정리하려고 합니다.

작성하는데 부족한 부분이 있을 수 있기 때문에, 일단 먼저 각 포스트를 대략적으로 작성해놓고 추후 보충하는 방식으로 진행하려고 합니다. 틀린 부분이나 의견은 언제든지 댓글로 남겨주시면 확인하고 반영하겠습니다. 감사합니다!

Leave a comment