본문 바로가기
데이터과학자 진로정보/데이터 과학 & 통계도서

Stable Baselines를 이용한 강화학습(박유성 교수, 자유아카데미)

by 기서무나구물 2021. 11. 1.

포스팅 목차

    Stable Baselines를 이용한 강화학습(박유성 교수, 자유아카데미)



    * 머리말

    저자는 코딩에 능숙하지 못하지만 파이썬 라이브러리 sklearn 덕분에 큰 어려움 없이 머신러닝을 이해하고 실습할 수 있었으며 Keras나 Pytorch라는 high level 프로그래밍 언어 덕분에 딥러닝을 이해하고 활용할 수 있었다. 강화학습(reinforcement learning)은 인공지능에서 가장 코딩이 복잡하고 난해하여 배우기 어려우나 응용분야가 게임, 금융, 자율자동차, 자율주차, 로봇 등 무궁무진하며, 발전 가능성이 매우 높은 분야이다. 딥러닝과 통계적 추정 방법을 근간으로 하는 강화학습은 40년 이상 통계학만 연구해온 저자에게 정적인 통계학을 동적인 통계학으로 응용할 수 있겠다는 설렘과 호기심으로 다가왔다.

    지난 3년 동안 강화학습에 관련된 책들을 모두 구매하여 마치 수험생처럼 공부 하였지만 머신러닝이나 딥러닝처럼 이해하는 것이 쉽지는 않았다. 이는 이론 위주의 책이든 응용 위주의 책이든 관계없이 강화학습의 핵심 이론인 Markov Decision Process(MDP)와 Bellman 방정식을 명료하게 설명한 책이 없었고 책마다 이에 대한 설명이 다른 경우가 많아 혼란스러웠던 것이 한 요인이었다. 그러나 가장 큰 이유는 강화학습 책들 대부분이 코드 작성에 집중하여 저자에게는 넘을 수 없는 코딩기술 배우기로 인식되었기 때문이다. 저자는 programmer보다는 modeller를 지향하기 때문에 먼저 강화학습의 이론적 근간인 MDP와 Bellman 방정식을 명확하게 이해하고 강화학습의 수많은 알고리즘의 원리와 구조, 목적 등을 확실히 정립한 후, 실습은 인터넷 검색을 통해 이미 구현되어있는 프로그램으로 실행해도 된다는 생각을 가지고 있다.

    이러한 생각을 토대로 강의안을 준비하는 중 2020년 12월 말에 Stable Baselines라는 강화학습 라이브러리가 있다는 사실을 알게 되었다. Stable Baselines는 최근까지 발표된 대표적인 강화학습 알고리즘들을 단 몇 줄의 명령어로 실행할 수 있을 뿐만 아니라 다양한 옵션을 이용하여 맞춤형 강화학습도 어렵지 않게 만들수 있는 라이브러리이다. 비록 해설집(documentation)이 충분하지 않아 사용법과 출력 결과 해석에 어려움이 있었지만 소스코드와 try and error를 통해 modeller로서의 강화학습 접근방식을 충족시키기에 충분하였다.

    저자처럼 코딩에 능숙하지 못하지만, 강화학습 응용에 관심 있는 사람에게 도움이 될 것이라는 생각과 함께 머신러닝과 딥러닝 책을 출간한 저자의 입장에서 강화학습으로 인공지능 시리즈를 완성하고 싶은 개인적인 욕심도 이 책을 쓰게 된 동기가 되었다.
    이 책은 강화학습의 작동원리를 toy example을 통해 쉽게 이해할 수 있도록 집필되었으며, MDP와 Bellman 방정식을 일일이 구체적 수치로 계산한 후 통계적·수학적 수식으로 재표현하여 수식의 의미를 이해할 수 있도록 구성하였다. Stable Baselines는 현재까지 총 15개의 강화학습법을 실행할 수 있다. 이 책에는 10개의 강화학습을 추가하여 25개의 강화학습법을 수록하였다. 강화학습 발표 논문을 기반으로 강화학습법의 장단점과 원리를 충실하게 반영하였지만 상당한 수준의 수학적 배경을 요구하는 이론적 증명은 생략하였다. 코딩에 능숙한 독자가 직접 프로그래밍이 가능할 만큼 상세한 알고리즘을 제공하여 강화학습법의 원리와 구조를 충분하게 파악할 수 있도록 하였다. Stable Baselines의 사용법을 최대한 자세하게 수록하였고 출력 결과에 대한 해설도 충실하게 작성하였다. Stable Baselines에서 제공하지 않은 강화학습 중 일부는 해설과 함께 프로그램을 제공하였고 일부는 프로그램을 download 할 수 있는 주소를 제공하였다.

    강화학습은 이론적으로 계층적 구조를 가지고 있다. 근본적으로 모든 강화학습 알고리즘은 MDP와 Bellman 방정식을 기초로 작성되어 있으므로 최근에 개발된 강화학습은 과거의 강화학습에서 개선된 형태라고 보면 된다. 참고할 수 있도록 머리말 마지막 부분에 강화학습 계보도를 실어 두었다. 이 책을 공부하면 자연스럽게 이 계보도를 이해할 수 있도록 책의 차례도 계보도의 순서로 구성하였으며 부록에 따로 실행 알고리즘을 정리해 놓았다. 강화학습의 계보도와 정리된 실행 알고리즘은 강화학습을 비교하고 특성을 파악하는 데 매우 간단하고 유용한 일종의 summary로 활용할 수 있다. 계보도에서 (off)는 해당 강화학습이 off-policy라는 의미이며 별도의 표식이 없는 강화학습은 on-policy 학습법임을 의미한다. 본문을 공부하면 onpolicy와 off-policy를 구분할 수 있겠지만 간단하게 구별하는 방법은 별도의 표본 저장공간으로부터 표본을 뽑아서 policy를 개선하면 이를 off-policy라고 생각하고, 그렇지 않으면 on-policy라고 생각하면 된다.

     


    * 출처 : https://www.yes24.com/Product/Goods/103191670

     

    Stable Baselines를 이용한 강화학습 - YES24

    『Stable Baselines를 이용한 강화학습』은 강화학습의 작동원리를 toy example을 통해 쉽게 이해할 수 있도록 집필되었으며, MDP와 Bellman 방정식을 일일이 구체적 수치로 계산한 후 통계적·수학적 수식

    www.yes24.com

     

    반응형

    댓글