SlideShare a Scribd company logo
1 of 56
Download to read offline
Unity ML-agents
2019.02.23
Contents
2
1. ML-agents Team
2. Unity ML-agents
3. Tutorial
4. Multi-agent Env.
ML-agents Team
3
민규식 정규석 신명재 이현호 윤성훈 조동헌
ML-agents Team
4
Goal
Tutorial Environment
ML-agents Team
5
Tutorial
 Unity ML-agent 출시 (2017. 09. 17)
 다양한 강화학습 환경을 직접 만들어 볼 수 있어요!
 왠지 생각만큼 많이 사용되고 있지는 않은 듯…?
Tutorial을 만들자!!
ML-agents Team
6
Environment
 강화학습에도 다양한 분야가 있습니다!
 하지만 일부 분야들은 잘 구성된 환경이 없어서 어려움이 많습니다.
 그런 분야 중 하나에 대한 환경 세트를 제작하려고 합니다.
Multi-agent RL
Unity ML-agents
7
Unity ML-agents
8
Reinforcement Learning
Unity ML-agents
9
강화학습을 하는 사람들의 고민 강화학습을 테스트할 환경
Unity ML-agents
10
Unity
 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진
 3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작
 게임 엔진 시장의 45% 이상 차지, 등록 개발자 수 500만 명 이상
Unity ML-agents
11
Unity
Unity ML-agents
12
Unity ML-agents
 유니티 환경 내에 강화학습을 위한 설정을 할 수 있음
 Python과 Unity 환경 간 통신 가능 (state, action reward)
 Agent, Brain, Academy로 구성
 Agent: Agent에 대한 설정, Observation, reward, done 설정
 Brain: Brain을 통해 agent에 대한 action 설정
 Player: 직접 사람이 플레이 할 수 있는 brain 설정
 Heuristic: 규칙을 통해 action을 선택하는 brain 설정
 Internal: 학습된 모델을 통해 Unity 내부에서 환경을 플레이하는 brain 설정
 External: 외부 Python 코드와 Unity 환경 간 통신을 할 수 있게 하는 설정
 Academy: Brain을 통합 관리하며 환경에 대한 다양한 설정 가능
Unity ML-agents
13
Unity ML-agents
Unity ML-agents
14
Unity ML-agents
Unity ML-agents
15
Unity ML-agents
VS: Single Agent
: Multi-agents
: Adversarial Agents
: Imitation Learning
Unity ML-agents
16
Unity ML-agents
Agent
Brain 설정Agent 코드 Academy 설정
: Training
: Heuristic
: Player
Unity ML-agents
17
Unity ML-agents
18
Unity ML-agents
19
Unity ML-agents
20
- Unity ML-agents 는 강화학습에서만 사용할 수 있을까?
Unity ML-agents
21
- Unity ML-agents 는 강화학습에서만 사용할 수 있을까?
- 서로 다른 특성을 가진 공들의 움직임에 대한 데이터가 필요!
- 실제로 공을 굴려볼 수는 없고… 충돌 등 물리적인 부분에 대한 구현도 어렵고…
- 시뮬레이션을 통해 데이터 취득 필요
- C# 으로 데이터를 취득하지는 못하겠고…
- ML agents 를 이용하여 환경 제작 -> 공들의 정보를 python으로 보내고 데이터를 만들자
Unity ML-agents Python .mat .pickle
Unity ML-agents
22
인공지능(RL) 게임 개발
Unity ML-agents
23
왜 안 해요….?
1. 게임 개발 어렵지 않나요…? 해본 적이 없어요…
2. 언어가 C# 이라는데… 개발 못해요…
Unity ML-agents
24
Unity ML-agents
25
Unity ML-agents
26
Unity ML-agents
27
Unity ML-agents
28
Unity ML-agents
29
Unity ML-agents
30
Tutorial
Tutorial
31
Discrete Action Continuous Action Adversarial Agents
Curriculum Learning Imitation Learning Multi-agents
Tutorial
32
Sokoban
 ML-agents의 example 환경인 GridWorld 환경을 수정하여
Sokoban으로 변경
 Discrete action 환경
 파란 네모가 초록색 박스를 밀어서 +에 넣는 것이 목표
 박스가 x에 들어가거나 agent가 +나 x에 들어가면 감점
 resetParameter를 통해 게임판 사이즈, +의 개수, 박스의 개수,
x의 개수 조절 가능
 DQN(Deep Q Network)을 이용하여 학습 수행
 https://youtu.be/jlqDBtqgj0c
정규석 윤성훈
Tutorial
33
Tutorial
34
Drone
 Unity Asset store에서 받은 드론 모델을 이용하여 제작
 Continuous action 환경
 드론이 하얀 구체까지 날아가는 것이 목표
 상하좌우, 전후 방향으로 이동
 Deep Deterministic Policy Gradient (DDPG) 알고리즘을 통해 학습
 네트워크에 노이즈를 섞는 방식으로 exploration 수행
 https://youtu.be/iTFrt-3T0-k
이현호 조동헌
Tutorial
35
Tutorial
36
Pong
 두개의 agents가 서로 대결하는 환경
 각각의 agent에 brain을 설정하여 학습 수행
 각 막대가 공을 받아치는 것이 목표
 공을 받아치면 +0.5, 공을 놓치면 -1, 상대방이 공을 놓
피면 +1의 reward를 받음
 각각의 알고리즘을 DQN으로 학습 수행
 https://youtu.be/gXHtDkCktfY
민규식 신명재
Tutorial
37
Tutorial
38
Sokoban Curriculum
 소코반 환경을 변형하여 curriculum 환경으로 제작
 학습을 진행할수록 게임판의 크기를 늘리고 +의 수와 박스의 수
도 함께 늘리는 방식으로 난이도 향상
 level-0 : "gridSize": 4, "numGoals": 1, "numBoxes": 1, "numObstacles": 1
 level-1 : "gridSize": 6, "numGoals": 4, "numBoxes": 1, "numObstacles": 1
 level-2 : "gridSize": 8, "numGoals": 6, "numBoxes": 1, "numObstacles": 1
 level-3 : "gridSize": 10, "numGoals": 7, "numBoxes": 2, "numObstacles": 1
 level-4 : "gridSize": 10, "numGoals": 6, "numBoxes": 3, "numObstacles": 1
 level-5 : "gridSize": 10, "numGoals": 5, "numBoxes": 4, "numObstacles": 1
 DQN 알고리즘을 통해 학습
 https://youtu.be/QJuzsVReymA
조동헌윤성훈
Tutorial
39
Tutorial
40
Dogde 환경
 파란 네모가 상하좌우로 움직이면서 오렌지색 공을 피하는 환경
 사람의 플레이를 recording demonstration 코드를 통해 기록
 State, action, reward, done 정보를 기록하여 .demo 파일로 저장
 Python 상에서 해당 정보를 로드 후 Supervised learning 기반 학습 수행
 Action 결과를 softmax를 통해 확률로 변환 후 확률적으로 action 선택
 https://youtu.be/uv_J4z7gi70
이현호 정규석
Tutorial
41
Tutorial
42
TwoLeg agent 환경
 각각의 다리가 서로 다른 agents
 각 다리가 협력하여 앞으로 달리는 것이 목표
 Agent의 state는 각 다리 부분과 body의 위치, 속도, 각속도
 각 관절의 torque를 action으로 설정
 학습 수행 중… ㅠ.ㅠ
민규식 신명재
Tutorial
43
Tutorial
44
환경 제작 알고리즘
Tutorial
45
https://github.com/reinforcement-learning-kr/Unity_ML_Agents
Tutorial
46
?
Unity ML-agents
47
Multi-agents
Multi-agents
48
Multi-agents
 Multi-agents RL에 대한 연구가 활발하게 이루어지는 중!
 하지만 Multi-agents 알고리즘을 테스트 할 수 있는 환경은 아직 부족한 상황
 Multi-agents 환경을 Unity ML-agents로 개발 진행!
 총 6개 이상의 환경 제작 목표 -> 현재 2개 완성…
 Predator-Prey 환경
 Zombie Defense 환경
 Beehive환경 (제작 중)
 To be continued…
 더 많은 환경들을 제작하여 Github에 업데이트 및 정리 예정
Multi-agents
49
Predator-Prey
 다수의 갈색 사자가 하나의 하얀 양을 잡는 환경
 사자와 양 모두 학습 가능
 State는 현재 각 agent의 위치를 따로 받음 (2개), action은 상하좌우
 사자의 경우 양을 잡으면 +1, 벽으로 이동하면 -0.1, 한번 이동하는 경우 -0.01의
reward를 받음
 양의 경우 한번 이동하면 +0.01, 벽으로 이동하면 -0.1, 사자에게 잡히면 -1의
reward를 받음
 사자가 잘 협력해야 양을 잡을 수 있는 환경
 resetParameter를 통해 사자의 수를 2-6까지 변경 가능
Multi-agents
50
Multi-agents
51
Zombie Defense
 Agent들이 몰려오는 좀비를 총으로 쏴서 막는 환경
 각 agent가 할당된 좀비만 공격하여 죽일 수 있음 (협력 필요!)
 State는 각 에이전트의 위치와 종류, 그리고 20마리 좀비의 x, y
위치와 좀비의 종류 -> 총 62개의 state
 Action: 왼쪽, 오른쪽, 총쏘기
 각 agent에 할당된 좀비를 맞추는 경우 +0.1, 할당되지 않은 좀비
를 맞추거나 총이 빗나가는 경우 -0.01, 좀비가 바리케이트에 도
달하는 경우 -5의 reward 받음
 Curriculum 방식을 통해 학습 수행 (속도, 스폰 시간)
Multi-agents
52
Future Work
53
Github 정리 ML-agent 서적 작업
Thank You!
54
Thank You!
55
민규식 정규석 신명재 이현호 윤성훈 조동헌
Thank You!
56

More Related Content

What's hot

[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인강 민우
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기NAVER D2
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...ozlael ozlael
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기Seungjae Lee
 
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템WooSung Jeon
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hostingiFunFactory Inc.
 
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현강 민우
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들MinGeun Park
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다Jinho Jung
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들Jubok Kim
 
톤톤해적단 게임소개서
톤톤해적단 게임소개서톤톤해적단 게임소개서
톤톤해적단 게임소개서DrukHigh
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로
최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로
최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로SeongkukYun
 
전리품 분배 시스템 기획 배상욱
전리품 분배 시스템 기획 배상욱전리품 분배 시스템 기획 배상욱
전리품 분배 시스템 기획 배상욱SwooBae
 
Killer Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet GamesKiller Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet GamesHenric Suuronen
 
모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기Sunnyrider
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)Lee Sangkyoon (Kay)
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 

What's hot (20)

[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
 
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
 
게임강연정리
게임강연정리게임강연정리
게임강연정리
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들
 
톤톤해적단 게임소개서
톤톤해적단 게임소개서톤톤해적단 게임소개서
톤톤해적단 게임소개서
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
 
최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로
최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로
최소 300억은 버는 글로벌 게임 기획 : 몬스터슈퍼리그 사례를 중심으로
 
전리품 분배 시스템 기획 배상욱
전리품 분배 시스템 기획 배상욱전리품 분배 시스템 기획 배상욱
전리품 분배 시스템 기획 배상욱
 
Killer Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet GamesKiller Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet Games
 
모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 

Similar to [RLKorea] Unity ML-agents 발표

NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서영준 박
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발MinGeun Park
 
Multiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement LearningMultiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement LearningYeChan(Paul) Kim
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인Jubok Kim
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기Chris Ohk
 
유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서
유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서
유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서용호 김
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014NDOORS
 
브릿지 Unity3D 기초 스터디 3회
브릿지 Unity3D 기초 스터디 3회브릿지 Unity3D 기초 스터디 3회
브릿지 Unity3D 기초 스터디 3회BridgeGames
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기강 민우
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회BridgeGames
 
팀 스톰 GIGDC19 대학부 제작 부문 수상자 쇼케이스 발표자료
팀 스톰 GIGDC19  대학부 제작 부문 수상자 쇼케이스 발표자료팀 스톰 GIGDC19  대학부 제작 부문 수상자 쇼케이스 발표자료
팀 스톰 GIGDC19 대학부 제작 부문 수상자 쇼케이스 발표자료MinSeokJang14
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안Lee Jungpyo
 
딥러닝을 11번가 영상 검색에 활용한 경험 공유
딥러닝을 11번가 영상 검색에 활용한 경험 공유딥러닝을 11번가 영상 검색에 활용한 경험 공유
딥러닝을 11번가 영상 검색에 활용한 경험 공유혁준 전
 
브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회BridgeGames
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다Evion Kim
 
SVVR아카데미 4월과정 소개_0317
SVVR아카데미 4월과정 소개_0317SVVR아카데미 4월과정 소개_0317
SVVR아카데미 4월과정 소개_0317Unitylearningcenter
 
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들대원 김
 

Similar to [RLKorea] Unity ML-agents 발표 (20)

NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
 
Multiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement LearningMultiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement Learning
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
 
유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서
유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서
유니티, 언리얼4 교육 전문기관 스킬트리랩 소개서
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
 
브릿지 Unity3D 기초 스터디 3회
브릿지 Unity3D 기초 스터디 3회브릿지 Unity3D 기초 스터디 3회
브릿지 Unity3D 기초 스터디 3회
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회
 
팀 스톰 GIGDC19 대학부 제작 부문 수상자 쇼케이스 발표자료
팀 스톰 GIGDC19  대학부 제작 부문 수상자 쇼케이스 발표자료팀 스톰 GIGDC19  대학부 제작 부문 수상자 쇼케이스 발표자료
팀 스톰 GIGDC19 대학부 제작 부문 수상자 쇼케이스 발표자료
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
 
딥러닝을 11번가 영상 검색에 활용한 경험 공유
딥러닝을 11번가 영상 검색에 활용한 경험 공유딥러닝을 11번가 영상 검색에 활용한 경험 공유
딥러닝을 11번가 영상 검색에 활용한 경험 공유
 
브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
 
SVVR아카데미 4월과정 소개_0317
SVVR아카데미 4월과정 소개_0317SVVR아카데미 4월과정 소개_0317
SVVR아카데미 4월과정 소개_0317
 
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
 

[RLKorea] Unity ML-agents 발표

  • 2. Contents 2 1. ML-agents Team 2. Unity ML-agents 3. Tutorial 4. Multi-agent Env.
  • 3. ML-agents Team 3 민규식 정규석 신명재 이현호 윤성훈 조동헌
  • 5. ML-agents Team 5 Tutorial  Unity ML-agent 출시 (2017. 09. 17)  다양한 강화학습 환경을 직접 만들어 볼 수 있어요!  왠지 생각만큼 많이 사용되고 있지는 않은 듯…? Tutorial을 만들자!!
  • 6. ML-agents Team 6 Environment  강화학습에도 다양한 분야가 있습니다!  하지만 일부 분야들은 잘 구성된 환경이 없어서 어려움이 많습니다.  그런 분야 중 하나에 대한 환경 세트를 제작하려고 합니다. Multi-agent RL
  • 9. Unity ML-agents 9 강화학습을 하는 사람들의 고민 강화학습을 테스트할 환경
  • 10. Unity ML-agents 10 Unity  3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진  3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작  게임 엔진 시장의 45% 이상 차지, 등록 개발자 수 500만 명 이상
  • 12. Unity ML-agents 12 Unity ML-agents  유니티 환경 내에 강화학습을 위한 설정을 할 수 있음  Python과 Unity 환경 간 통신 가능 (state, action reward)  Agent, Brain, Academy로 구성  Agent: Agent에 대한 설정, Observation, reward, done 설정  Brain: Brain을 통해 agent에 대한 action 설정  Player: 직접 사람이 플레이 할 수 있는 brain 설정  Heuristic: 규칙을 통해 action을 선택하는 brain 설정  Internal: 학습된 모델을 통해 Unity 내부에서 환경을 플레이하는 brain 설정  External: 외부 Python 코드와 Unity 환경 간 통신을 할 수 있게 하는 설정  Academy: Brain을 통합 관리하며 환경에 대한 다양한 설정 가능
  • 15. Unity ML-agents 15 Unity ML-agents VS: Single Agent : Multi-agents : Adversarial Agents : Imitation Learning
  • 16. Unity ML-agents 16 Unity ML-agents Agent Brain 설정Agent 코드 Academy 설정 : Training : Heuristic : Player
  • 20. Unity ML-agents 20 - Unity ML-agents 는 강화학습에서만 사용할 수 있을까?
  • 21. Unity ML-agents 21 - Unity ML-agents 는 강화학습에서만 사용할 수 있을까? - 서로 다른 특성을 가진 공들의 움직임에 대한 데이터가 필요! - 실제로 공을 굴려볼 수는 없고… 충돌 등 물리적인 부분에 대한 구현도 어렵고… - 시뮬레이션을 통해 데이터 취득 필요 - C# 으로 데이터를 취득하지는 못하겠고… - ML agents 를 이용하여 환경 제작 -> 공들의 정보를 python으로 보내고 데이터를 만들자 Unity ML-agents Python .mat .pickle
  • 23. Unity ML-agents 23 왜 안 해요….? 1. 게임 개발 어렵지 않나요…? 해본 적이 없어요… 2. 언어가 C# 이라는데… 개발 못해요…
  • 31. Tutorial 31 Discrete Action Continuous Action Adversarial Agents Curriculum Learning Imitation Learning Multi-agents
  • 32. Tutorial 32 Sokoban  ML-agents의 example 환경인 GridWorld 환경을 수정하여 Sokoban으로 변경  Discrete action 환경  파란 네모가 초록색 박스를 밀어서 +에 넣는 것이 목표  박스가 x에 들어가거나 agent가 +나 x에 들어가면 감점  resetParameter를 통해 게임판 사이즈, +의 개수, 박스의 개수, x의 개수 조절 가능  DQN(Deep Q Network)을 이용하여 학습 수행  https://youtu.be/jlqDBtqgj0c 정규석 윤성훈
  • 34. Tutorial 34 Drone  Unity Asset store에서 받은 드론 모델을 이용하여 제작  Continuous action 환경  드론이 하얀 구체까지 날아가는 것이 목표  상하좌우, 전후 방향으로 이동  Deep Deterministic Policy Gradient (DDPG) 알고리즘을 통해 학습  네트워크에 노이즈를 섞는 방식으로 exploration 수행  https://youtu.be/iTFrt-3T0-k 이현호 조동헌
  • 36. Tutorial 36 Pong  두개의 agents가 서로 대결하는 환경  각각의 agent에 brain을 설정하여 학습 수행  각 막대가 공을 받아치는 것이 목표  공을 받아치면 +0.5, 공을 놓치면 -1, 상대방이 공을 놓 피면 +1의 reward를 받음  각각의 알고리즘을 DQN으로 학습 수행  https://youtu.be/gXHtDkCktfY 민규식 신명재
  • 38. Tutorial 38 Sokoban Curriculum  소코반 환경을 변형하여 curriculum 환경으로 제작  학습을 진행할수록 게임판의 크기를 늘리고 +의 수와 박스의 수 도 함께 늘리는 방식으로 난이도 향상  level-0 : "gridSize": 4, "numGoals": 1, "numBoxes": 1, "numObstacles": 1  level-1 : "gridSize": 6, "numGoals": 4, "numBoxes": 1, "numObstacles": 1  level-2 : "gridSize": 8, "numGoals": 6, "numBoxes": 1, "numObstacles": 1  level-3 : "gridSize": 10, "numGoals": 7, "numBoxes": 2, "numObstacles": 1  level-4 : "gridSize": 10, "numGoals": 6, "numBoxes": 3, "numObstacles": 1  level-5 : "gridSize": 10, "numGoals": 5, "numBoxes": 4, "numObstacles": 1  DQN 알고리즘을 통해 학습  https://youtu.be/QJuzsVReymA 조동헌윤성훈
  • 40. Tutorial 40 Dogde 환경  파란 네모가 상하좌우로 움직이면서 오렌지색 공을 피하는 환경  사람의 플레이를 recording demonstration 코드를 통해 기록  State, action, reward, done 정보를 기록하여 .demo 파일로 저장  Python 상에서 해당 정보를 로드 후 Supervised learning 기반 학습 수행  Action 결과를 softmax를 통해 확률로 변환 후 확률적으로 action 선택  https://youtu.be/uv_J4z7gi70 이현호 정규석
  • 42. Tutorial 42 TwoLeg agent 환경  각각의 다리가 서로 다른 agents  각 다리가 협력하여 앞으로 달리는 것이 목표  Agent의 state는 각 다리 부분과 body의 위치, 속도, 각속도  각 관절의 torque를 action으로 설정  학습 수행 중… ㅠ.ㅠ 민규식 신명재
  • 48. Multi-agents 48 Multi-agents  Multi-agents RL에 대한 연구가 활발하게 이루어지는 중!  하지만 Multi-agents 알고리즘을 테스트 할 수 있는 환경은 아직 부족한 상황  Multi-agents 환경을 Unity ML-agents로 개발 진행!  총 6개 이상의 환경 제작 목표 -> 현재 2개 완성…  Predator-Prey 환경  Zombie Defense 환경  Beehive환경 (제작 중)  To be continued…  더 많은 환경들을 제작하여 Github에 업데이트 및 정리 예정
  • 49. Multi-agents 49 Predator-Prey  다수의 갈색 사자가 하나의 하얀 양을 잡는 환경  사자와 양 모두 학습 가능  State는 현재 각 agent의 위치를 따로 받음 (2개), action은 상하좌우  사자의 경우 양을 잡으면 +1, 벽으로 이동하면 -0.1, 한번 이동하는 경우 -0.01의 reward를 받음  양의 경우 한번 이동하면 +0.01, 벽으로 이동하면 -0.1, 사자에게 잡히면 -1의 reward를 받음  사자가 잘 협력해야 양을 잡을 수 있는 환경  resetParameter를 통해 사자의 수를 2-6까지 변경 가능
  • 51. Multi-agents 51 Zombie Defense  Agent들이 몰려오는 좀비를 총으로 쏴서 막는 환경  각 agent가 할당된 좀비만 공격하여 죽일 수 있음 (협력 필요!)  State는 각 에이전트의 위치와 종류, 그리고 20마리 좀비의 x, y 위치와 좀비의 종류 -> 총 62개의 state  Action: 왼쪽, 오른쪽, 총쏘기  각 agent에 할당된 좀비를 맞추는 경우 +0.1, 할당되지 않은 좀비 를 맞추거나 총이 빗나가는 경우 -0.01, 좀비가 바리케이트에 도 달하는 경우 -5의 reward 받음  Curriculum 방식을 통해 학습 수행 (속도, 스폰 시간)
  • 53. Future Work 53 Github 정리 ML-agent 서적 작업
  • 55. Thank You! 55 민규식 정규석 신명재 이현호 윤성훈 조동헌