게임 인공지능 프로그래밍

게임 인공지능 프로그래밍/수업내용

[PPO모델] ML Agent 를 사용한 Flappy bird 교육

짤막 상식 : Rigidbody의 Collision Detection 설정 리지드 바디를 Countinuous 로 바꿀시 연산량은 올라가지만 빠른 속독의 물체와의 충돌도 감지할수 있다. PPO 모델을 사용한 Flappy Bird 훈련이다. 리워드는 아래와 같은 기준으로 주어진다. 천장에 닿을경우 : -1 바닥에 닿을경우 : -1 파이프에 닿을경우 : -1 살아있을경우 : +0.1 파이프를 통과하였을경우 : +1 이렇게 보상을 준비하고 훈련시켜 보았다. 우선 보상의 조건을 적게 주어도 살아있는동안 보상을 주면 꾸준히 Mean Reward 가 증가하는 것을 볼수 있었고 이걸 좀 더 빠르게 하기 위해 파이프를 통과하였을 경우의 보상을 주었다. 코드는 아래와 같다. Env 스크립트 using System.Col..

게임 인공지능 프로그래밍/수업내용

[PPO모델] 유니티짱 훈련시키기

오늘 학습한 MLagent 를 이용하여 유니티 짱을 독 포션 또는 HP 포션중 HP포션을 향하게 하는 훈련을 하였다. 결과로는 아주 백퍼센트 만족스럽지는 않지만 어느정도 MLagent를 이용하는 방법에 대해 정리가 조금 된듯하다. 우선 처음 작성한 코드는 아래와 같다. Room 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RoomArea : MonoBehaviour { public GameObject hpPortion; public GameObject poisonPortion; private List list = new List(); void Update() { if (Inpu..

게임 인공지능 프로그래밍/수업내용

[PPO모델] MLAgent 사용 펭귄 Ai 트레이닝 . 1

https://unity.com/products/machine-learning-agents Machine Learning Agents Create intelligent, responsive agents with a toolkit leveraging deep learning technology. unity.com 유니티 window -> pakage manager -> + -> Add pakage from disk -> ml agent pakage import 로 시작 유니티 프로젝트 경로에 파일이 있으면 프로젝트 창에 import가 안될수 있으니 주의 호 안의 랜덤한 좌표 구하기 baby 펭귄 추가 객체의 랜덤 방향 회전 추가 물고기 스폰 포인트 추가

게임 인공지능 프로그래밍/수업내용

[PPO 모델 사용 인공지능] 구체를 목표 까지 도달 하게 하기

agent 스크립트 Agent 를 상속받아야 한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using Unity.MLAgents; using Unity.MLAgents.Sensors; using Unity.MLAgents.Actuators; public class RollerAgent : Agent { public Transform Target; public Transform Target2; public float forceMultiplier = 10f; Rigidbody rBody; void Start() { this.rBody = GetComponent(); } //새로운 에피소드 실행시 호출됨 pu..

Bueong_E
'게임 인공지능 프로그래밍' 카테고리의 글 목록