게임 개발

/

게임 프로그래밍

유니티 머신러닝 에이전트 완전정복 (기초편)

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

(4.1) 수강평 19개

수강생 439명

Thumbnail

초급자를 위해 준비한
[인공지능, 데이터 분석] 강의입니다.

이런 걸
배워요!

  • 유니티 개발

  • 유니티 머신러닝 에이전트

  • 강화학습 환경 제작

  • 강화학습 이론

  • 강화학습 코드 구현

강화학습 환경 구현, 
유니티(Unity)로 쉽고 편리하게! 

강화학습 환경
어떻게 마련하면 좋을까요?

2016년 알파고가 큰 충격을 안겨준 이후, 알파고에 적용되었다고 알려진 강화학습(Reinforcement Learning)에 대한 관심이 크게 높아졌으며 그 열기는 아직까지도 뜨거운 것 같습니다. 이 강화학습을 구성하는 큰 요소는 아래와 같이 강화학습 알고리즘과 강화학습 환경입니다. 이 두 가지가 서로 행동, 상태, 보상 등의 정보를 주고받으면서 강화학습 알고리즘이 학습을 수행하게 됩니다. 

알파고 이후 강화학습 알고리즘은 정말 많은 발전을 이뤄왔습니다. 이에 맞춰 OpenAI GYM, Mujoco, Atari, GTA5, Malmo 등등 다양한 종류의 강화학습 환경들 또한 공개되어 왔습니다. 이 환경들은 대부분 게임을 기반으로 하는 환경입니다. 강화학습은 게임에 적용하기 좋은 알고리즘이 분명하지만 최근 강화학습을 게임 뿐만 아니라 추천, 로봇, 드론, 에너지, 금융 등등 다양한 분야에 적용해보려는 시도가 늘고 있습니다. 

하지만 이런 다양한 분야들에 대한 강화학습 환경은 여전히 부족한 상황입니다. 특히나 개발자가 원하는 구체적인 스펙을 정확하게 만족하는 환경이 공개되기란 기대하기 매우 어렵습니다. 여러분이 강화학습을 적용해보고 싶은 특정한 센서 구성과 관절 구조를 가지는 로봇 환경이 있다고 하더라도, 해당 분야의 공개된 강화학습 환경이 없으면 연구를 시작하는 것조차 불가능할 수 있습니다.

이미 만들어진 환경을 이용하면 
이런 단점이 있습니다. 

환경에 대한 
수정이 
어려움 

환경마다 
사용법이 
다름 

필요한 
환경이 
없을 수 있음 

하지만 2017년 9월, 세계 최대의 게임 엔진 회사 중 하나인 유니티에서 이런 고민을 해결해 줄 수 있는 유니티 머신러닝 에이전트(Unity Machine-Learning Agent)라는 툴을 공개했습니다.


Unity ML-Agents로 
구현하는 강화학습 환경!

유니티 머신러닝 에이전트를 이용하면?

본 강의에서는 이 유니티 머신러닝 에이전트를 이용하여 다양한 강화학습 환경을 직접 구현하는 방법을 배워볼 뿐 아니라 해당 환경에 적용할 강화학습 알고리즘의 이론, 코드 구현까지 진행할 예정입니다.

수강 전 안내 사항! 

본 강의의 내용은 아래의 책 "파이토치와 유니티 ML-Agents로 배우는 강화학습" 책의 내용과 동일한 내용을 포함하고 있습니다! 수강 전에 해당 사항에 대해 유의해주시면 감사드리겠습니다!

파이토치와 유니티 ML-Agents로 배우는 강화학습 - 예스24

유니티 머신러닝 에이전트 완전 정복 - 기초편

유니티 머신러닝 에이전트 완전 정복 강의의 전체 내용은 기초편과 응용편으로 나누어 진행할 것이며 이번 강의는 이 중 기초편 내용입니다. 기초편에서 살펴볼 구체적인 내용은 다음과 같습니다. 

  • 강화학습 기초 용어 및 이론
  • 유니티 설치 및 기초 사용법
  • 유니티 머신러닝 에이전트 설치, 구성 요소 설명, 사용법 (mlagents-learn, Python API)
  • 환경 제작
    • GridWorld, Drone, KartRacing
  • 강화학습 알고리즘 이론 학습 및 코드 구현 
    • DQN, A2C, DDPG, Behavioral Cloning

이번 강의를 통해 제작할 환경과 학습할 알고리즘들의 코드는 깃허브에 모두 포함되어 있습니다. 
아래의 이미지들은 이번 강의를 통해 직접 구현해볼 강화학습 환경들과 이를 여러분이 구현할 강화학습 알고리즘을 통해 학습한 결과입니다.

그리드월드 환경 제작하기

드론 환경 제작하기

카트 레이싱 환경 제작하기


자주 묻는 질문을 
확인해보세요. 

Q. 유니티를 사용해본 적이 없는데 수강해도 괜찮을까요? 

유니티를 처음 사용해보시는 분들도 강의를 쉽게 따라갈 수 있도록 설치부터 시작해서 간단한 환경을 직접 만드는 과정까지 차근차근 내용을 진행합니다. 유니티의 내용만을 자세히 다루지는 않지만 강의를 수강하시고 나면 에셋스토어에 있는 에셋을 이용해 환경을 제작하거나 간단한 환경을 직접 만들어 강화학습 환경을 만드실 수 있을 것입니다.  

Q. 머신러닝 에이전트를 사용하기 위해서는 강화학습 내용을 반드시 잘 알고 있어야 하나요? 

머신러닝 에이전트는 기본적으로 강화학습을 지원하는 도구이므로 강화학습에 대한 기본적인 개념은 알고 계셔야 더 수월하게 머신러닝 에이전트를 사용할 수 있습니다. 하지만 유니티 머신러닝 에이전트에서 다양한 강화학습 알고리즘들을 제공하여 이를 이용해 강화학습 환경에서 에이전트에 대한 학습을 진행할수도 있기 때문에 해당 기능을 이용하는 경우 강화학습에 대한 심도있는 지식이 없더라도 수월하게 머신러닝 에이전트를 사용할 수 있습니다. 

Q. 강의를 수강하기 위해서 딥러닝에 대한 깊은 이해나 많은 구현 경험이 필요할까요? 

Pytorch로 MNIST 데이터를 분류하는 모델을 직접 구현해보신 정도라면 큰 어려움 없이 강의를 수강할 수 있을 것으로 생각합니다. 그리고 만약 Tensorflow 2.x 버전을 사용해보신 분들이라도 Pytorch에 대한 기초만 공부하시면 어려움 없이 강의를 수강하실 수 있을 것으로 생각합니다.  

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 강화학습 환경 개발에 관심이 있는 개발자

  • 강화학습의 이론과 구현에 관심이 있는 학생 및 연구자

선수 지식,
필요할까요?

  • 파이썬 및 PyTorch 사용 경험

  • 기본적인 딥러닝 이론 (ANN, CNN)

커리큘럼

전체

38개 ∙ (7시간 18분)

수업 자료

가 제공되는 강의입니다.

  • 강화학습의 기초 용어

    15:04

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!