본문 바로가기

개발 프로젝트/Unity - Individual Museum

(4)
Unity 강화 학습 ML-Agent(4) - Chase AI MeetAgain 프로젝트에서 제작할 AI 모델은 2종류입니다. Chase AI : Target을 향해 불확실하게 향해 가는 AI Stay AI : Target 주위를 벗어나지 않는 AI 이번 게시글에선 Chase AI 모델의 생성 과정을 작성하겠습니다. Chase AI Chase AI는 Ml-Agent에서 가장 기본적인 추적 Agent입니다. 강화학습의 원리와, Ml-Agent의 사용법 그리고 Reward의 설정을 익히기 위해 가장 기본적인 모델부터 구현 시작했습니다. Chase Agent 스크립트는 CollectObservations() 함수를 통해 관찰 정보를 조절하거나 OnActionReceived() 함수에서 SetReward() 함수를 통해 보상을 조절하며 개선했습니다. 아래는 Chase AI..
Unity 강화 학습 ML-Agent (3) - GitBash로 학습 진행 이번 게시글에선 GitBash를 통해 Ml-Agent를 작동하여 신경망 모델을 제작하겠습니다. Ml-Agent가 Pytorch의 딥러닝 모델을 활용하는 과정은 아래와 같습니다. 환경 설정: ML-Agents로 훈련하려는 환경을 설정. Unity에서 에이전트들이 상호 작용하는 게임 환경이나 시뮬레이션을 구성합니다. 에이전트 정의: 각 에이전트는 훈련되어야 할 개체를 나타냅니다. 에이전트는 환경과 상호 작용하며 관찰(observation)을 수집하고, 행동(action)을 수행합니다 결정 주기: 학습된 에이전트는 환경에서 일정 주기마다 행동을 선택해야 합니다. 이 결정 주기는 DecisionRequester 등의 메커니즘을 사용하여 관리됩니다. 모델 학습: ML-Agents는 강화 학습 알고리즘을 사용하여 ..
Unity 강화학습 ML-Agent (2) - Agent 클래스와 딥러닝 구조 이번 게시글에선 Ml-Agent의 Agent 클래스에 대해 설명하며, Feature Vector를 활용하는 딥러닝의 구조에 대해 작성하겠습니다. Agent 클래스를 상속받는 클래스는 최소 3개의 함수로 구성됩니다. 1. Ml-Agent FrameWork의 Agent 클래스를 상속하는 클래스 A작성 public class ButterflyAgentChase : Agent { void Start() { ... } //Update는 사용하지 않습니다. } 2. Agent 클래스의 OnEpisodeBegin을 override하여 새로운 Episode가 시작될 때 환경의 초기값 설정 // In Agent Class . . /// /// Implement `OnEpisodeBegin()` to set up an A..
Unity 강화학습 ML-Agent (1) - Meet Again Unity를 통해 3D 공간 설계에 집중한 프로젝트를 진행하고 있습니다. 머신 러닝을 사용하는 Ml_Agent 강화학습을 활용하여 나비 오브젝트가 특정 오브젝트 주위를 맴도는 학습 AI를 제작하려고 합니다. 머신 러닝이란 명시적인 프로그램 없이 컴퓨터가 스스로 배우는 능력을 연구하는 분야를 뜻합니다. Ml-Agent는 Machine Learning Agent의 약어로 Unity에서 머신러닝을 간단하게 수행시킬 수 있는 도구입니다. ML Agent의 주요 구성 요소와 개념은 다음과 같습니다: 에이전트(Agent): ML Agent의 핵심이며 의사 결정을 내리고 행동하는 주체입니다. 강화학습에서는 에이전트가 환경과 상호 작용하며 경험을 통해 학습합니다. 환경(Environment): 에이전트가 상호 작용하는..