RL Researcher

Unity ML 기초 본문

Reinfrocement Learning/Unity-ML

Unity ML 기초

Lass_os 2021. 2. 7. 22:03

1. 머신러닝(ML)이란?


  • 기계학습 또는 머신러닝은 인공지능의 한 분야입니다.

  • 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야

  • 대량의 데이터나 알고리즘을 통해 '학습'을 시켜 수행하는 방식입니다. (기초 데이터를 주지 않아도 스스로 학습을 통하여 결과를 추측해냅니다.)

2. 학습의 종류


  • 강화학습(PPO)

  • 모방학습

  • 커리큘럼 학습

  • 관찰학습

3. Unity ML - Agent 훈련 주기


  • Agent의 행동

  • Environment(환경)의 상태 변경

  • Agent에게 보상을 제공

4. Unity ML - Agent 내부 구조


Agent

  • 각각의 Agent는 고유의 상태 및 관측 값을 가지고 있습니다.

  • Environment내에서 고유의 행동을 수행하며 Enviornment에서 일어나는 이벤트에 따라 고유의 Reward를 받습니다.

  • 각 Agent의 행동은 Agent가 연결된 Brain(브레인)에 의해 결정됩니다.

Brain

  • 각 Brain은 특정 상태와 행동 공간을 정의합니다.

  • 연결된 에이전트가 어떤 행동을 취할지 결정합니다.

현재 버전의 행동결정

  • External : Tensorflow를 사용하여 파이썬 API를 통해 개방형 소켓으로 통신하여 Action을 결정합니다.

  • Internal(실험 단계) : TensorflowSharp를 통해 프로젝트에 탑재된 훈련 모델을 활용하여 Action을 결정합니다.

  • Player : 플레이어의 입력을 통해 Action을 결정합니다.

  • Heuristic : 직접 코딩한 동작을 기반으로 행동을 결정

 Academy

  • Sence에 포함된 Academy Object는 해당 환경이 포함된 모든 Brain을 지식으로 포함합니다.

  • 각 Environment는 한개의 Academy만 포함하며 정의는 다음과 같습니다.

    • 엔진 설정 : 훈련 및 추론 모드 상에서 게임 엔진의 속도와 렌더링 품질 설정

    • 프레임 스킵 : 각 에이전트가 새로운 결정을 내릴때 생략할 엔진 단계의 개수

    • 글로벌 에피소드 길이 : Episode가 지속될 길이를 의미, Episode가 이 길이에 도달하면 모든 Agent가 완료 상태로 변경

'Reinfrocement Learning > Unity-ML' 카테고리의 다른 글

Background-Machine_Learning  (0) 2021.02.13
Comments