# mlagents-learn을 이용해 ML-Agents 사용하기

ML-Agents를 사용하는 방법에는 2가지가 있다

 

첫 번째, ML-Agents에서 제공하는 mlagents-learn 기능을 이용해 학습을 수행, 이 경우 강화학습 알고리즘을 직접 구현하지 않아도 되고 간단한 명령어만으로 학습을 수행할 수 있다, 단점으로는 학습과 관련된 파라미터만 변경이 가능하고, 알고리즘에 대한 변경은 제한적

 

두 번째, ML-Agents의 Python-API를 사용하여 직접 구성한 파이썬 코드를 통해 에이전트를 학습하는 것, 알고리즘에 대한 변경이 자유롭지만 직접 구현해야 한다는 점에서 난이도가 높다

 

 



# ML-Agents에서 제공하는 강화학습 알고리즘

  1. Proximity Policy Optimization (PPO)
  2. Soft Actor Critic (SAC)
  3. Curiostiy based Exploration (ICM, RND)
  4. Mulity-Agent Posthumous Credit Assigment (MA-POCA)

 

Proximity Policy Optimization, Soft Actor Critic

더보기

해당 알고리즘들은 강화학습에서 가장 대중적으로 사용되며, 일반적으로 좋은 성능을 보이고 안정적으로 학습됨, 연속적인 행동과 이산적인 행동 환경 모두에서 사용가능

 

Curiostiy based Exploration

더보기

호기심 기반 탐험을 위한 알고리즘으로 강화학습의 탐험에 대한 성을을 향상시킨 알고리즘이다

 

 

Mulity-Agent Posthumous Credit Assigment 

더보기

멀티 에이전트 환경, 즉 하나의 환경에 다수의 에이전트가 존재하는 환경에서 학습을 수행하는 알고리즘이다

여러 에이전트가 효율적으로 협력하여 일부 희생을 하더라도 공동의 목표를 수행하도록 학습하는 알고리즘이다

 

희생한다는 말이 왜이리 슬프냐...ㅠㅠㅠㅠ

 



 

# ML-Agents에서 제공하는 학습 방식

  1. Curriculum Learning
  2. Parameter Randmization
  3. Competitive Multi Agent
  4. Cooperative Mulit Agent

 

Curriculum Learning

더보기

어려운 문제가 있을때 처음부터 어려운 문제를 학습하는 것이 아닌 순차적으로 난이도를 높여가면서 학습을 수행하는 방식

 

Parameter Randmization

더보기

환경 내의 다양한 파라미터들을 변경해가며 학습을 수행하는 것

예를 들어, 운전을 할 때 노면의 마찰계수가 다양한 노면을 주행해야 할 수도 있고, 3DBall같은 경우 공의 크기를 다양하게 변경해가며 학습을 수행할 수 있다

 

 

Competitive Multi Agent

더보기

멀티 에이전트 강화학습 중에서 경쟁적인 에이전트임

경쟁적으로 학습하여 점점 발전하도록 학습하게 됨

 

 

Cooperative Mulit Agent

더보기

멀티 에이전트 강화학습 중에서 협력적인 에이언트임

에이전트들이 협력하여 문제를 해결하는 알고리즘을 위한 학습을 함