Unity/In It Together

유니티 코리아 ML-Agents 튜토리얼 공개 및 제작 후기!

pnltoen 2022. 8. 27.
반응형

ML-Agents Tutorials

Unity Technologies Korea


유니티 코리아 ML-Agents 튜토리얼 공개 및 제작 후기! - ML-Agents Tutorials

 

튜토리얼 제작

2022년 1월 유니티코리아에 입사할 때, 내세운 포부 중 하나가 ML-Agents 튜토리얼 제작이였습니다.

이 후 3월 경 부터 제작에 돌입해서 4월 1일에 최종적으로 완성하였습니다.

유니티 코리아 ML-Agents 튜토리얼 공개 및 제작 후기! - ML-Agents Tutorials - 튜토리얼 제작

이 후 패키지 업데이트 일정과 맞춰서 업로드를 하고자 나중에 마켓팅 팀과 협의 후 올려야지~ 하던게 벌써 약 5개월이 다 지나갔네요... 중간중간 봄 옷 입고 찍은 제 모습을 보는데 시간도 빨리 지나간 것 같고, 그 사이에 성장한 것 같아서 기쁩니다 ㅎ.ㅎ

 

튜토리얼 공개

 

 

 

 

각각의 링크를 첨부하였습니다. 보다 많고 다양한 정보를 얻고 싶으시다면 유니티코리아 유튜브 채널을 확인해주시면 감사하겠습니다.

 

ML-Agents 튜토리얼 개요


무엇을 중점으로 튜토리얼을 제작하였는지 정리하도록 하겠습니다. 튜토리얼은 다음과 같이 3편으로 각 30~40분 총 1시간 30분 분량입니다.

 

#1 ML-Agents 설치 및 예제환경 정복하기

 

유니티의 최대 강점은 단순하게 하나의 패키지가 아닙니다. 다양한 패키지와의 호환성 및 여러 패키지를 사용하여 다양한 프로젝트를 진행할 수 있다는 점이 가장 큰 장점이라고 생각됩니다. 그러한 측면에서 때때로는 연동되는 소프트웨어 (예 : ROS)와의 호환성을 고려하여, Windows가 아닌 다른 OS에서 유니티를 사용해야할 경우가 있습니다.

이를 고려해서, Windows -> MAC -> Ubuntu 20.04에서 ML-Agents를 설치하는 영상을 제작하였습니다.

특히 이 부분에서 Ubuntu의 경우, Unity HUB가 나오기 이전 설치가 매우 까다로웠는데 (특정 버전이 설치안되는 문제)
해당 부분을 많은 분들이 겪으실 것 같아서 해결 방법 제시 등 유저분들께서 편하게 느끼실 수 있도록 진행하였습니다.

 

이 후 이전의 저도 그랬고 많은 분들이 예제를 실행하는 방법을 잘모르시는 것 같아 예제 사용 방법에 대해서 다뤘습니다.

#2 ML-Agents 에이전트 행동 & 관측  설정하기

 

ML-Agents에서 에이전트가 어떻게 행동을 할 것 인지, Discrete, Discrete Branch, Continuous 이렇게 나누어서 진행하였습니다.

관측의 경우에는 수치적 관측, 시각적 관측, 센서 이렇게 3개로 나누어서 진행하였고 최대한 시각적 관측을 사용하지 않고 진행하는 것을 권장하였습니다. 이 후 수치적 관측 AddObservation 을 설명하고 가장 대표적인 센서인 RayCastSensor를 설명하였습니다.

 

유니티 코리아 ML-Agents 튜토리얼 공개 및 제작 후기! - ML-Agents Tutorials - ML-Agents 튜토리얼 개요 - #2 ML-Agents 에이전트 행동 & 관측  설정하기

 

센서 부분에서 Grid Sensor를 추가적으로 설명해달라고 말씀해주시는 댓글이 남겨졌는데 이 부분은 8월 라이브에서 다룰 예정입니다.

 

#3 ML-Agents 에피소드 조건부터 하이퍼 파라미터 설정까지

 

에피소드의 조건이란 어느 시기에  환경을 초기화 할 것인지와 관련이 있습니다.

이와 관련해서 환경을 초기화 하는 방법 2가지 Unity의 SceneManager를 이용하는 방법과, OnEpisodeBeing()의 차이점 및 장점을 설명하고, 일반적으로 어떠한 상황에서 환경을 초기화 하는지에 대해 설명하였습니다. 이에 대한 고찰은 이전에 남긴 포스팅이 있으니 아래의 포스팅을 확인해주시면 감사하겠습니다

2022.06.30 - [Unity/Unity ML-Agents] - 유니티 ML-Agents Episode 종료 및 시작에 대한 고찰

 

유니티 ML-Agents Episode 종료 및 시작에 대한 고찰

Unity ML-Agents Episode 종료 및 시작에 대한 고찰 ML-Agents는 강화학습을 위해 에이전트가 행동을 통해 에피소드를 진행하고, 특정 조건이 되면 종료 되면서 학습을 진행합니다. 이를 위해 제가 사용하...

pnltoen.tistory.com

 

이 후 자연스럽게 초기화 즉 조건에 맞춰서 보상함수를 추가하는 방법인 Addreward와 Setreward에 대해서 소개하고 마지막으로 가장 난해한... 하이퍼 파라미터 튜닝에 대해서 소개하였습니다. 사실 이 경우에 대해서는 이전에 끊긴 학습을 이어서 진행하는 방법 (다른 하이퍼 파라미터로), onnx 및 파일 정리 그리고 여러 내용이 많지만.... 해당 내용은 모두 너무 고급 버진이고 튜토리얼의 길이가 너무 늘어날 것 같아서 모두 제외하고 진행하였습니다.

 

끝 맺음

 

처음으로 타임라인을 새겨주신 분이 계셨습니다....!

시청자들이 타임라인을 새겨주는걸 항상 다른 유튜버의 영상에서만 봤는데 누군가가 제가 만든 영상에 타임라인을 넣어주었다는 사실이 되게 감동이네요...

 

유니티 코리아 ML-Agents 튜토리얼 공개 및 제작 후기! - ML-Agents Tutorials - 모든 영역

 

사실 Reinforcement Learning 관점에서 작성된 튜토리얼은 절대 아니고....! 순전히 기존 게임 그리고 비게임 즉 산업 분야에서 유니티 사용을 고려하고 계신 분들께 올바른 정보를 제공해드리고자 시작하게된 프로젝트였습니다.

최소한의 ML-Agents 개념 그리고 사용법은 충분하게 터득하실 수 있을 것으로 생각합니다. 만약 더 높은 강화학습 수준의 강의를 듣고 싶으시다면 주저하지 말고 인프런 - 유니티 머신러닝 에이전트 완전정복 (기초편)으로 넘어가시길 바랍니다.

 

유니티 머신러닝 에이전트 완전정복 (기초편) - 인프런 | 강의

이 강의를 통해 수강생은 다양한 강화학습의 이론을 학습하고 이를 직접 구현해 볼 뿐만 아니라 유니티 머신러닝 에이전트를 이용하여 구현한 강화학습 알고리즘을 테스트해볼 강화학습 환경...

www.inflearn.com

 

참고로 내돈내산이고 저는 일전에 이미 완강하였습니다.

 

유니티 코리아 ML-Agents 튜토리얼 공개 및 제작 후기! - ML-Agents Tutorials - 모든 영역

 

이번 튜토리얼이 많은 분들께 도움이 되셨기를 바라며, 앞으로도 좋은 컨텐츠 많이 만들도록 하겠습니다. 감사합니다!

반응형