본문 바로가기

강화학습10

유니티 머신러닝 개발 ML Agents 14편, 목표 찾기 예제 개선. 8 다수의 에이전트 사용하기 유니티 머신러닝 개발 ML Agents 14편, 목표 찾기 예제 개선. 8 다수의 에이전트 사용하기 이전에는 타깃을 복수로 설치할 수 있게 하고 Goal을 정해서 해당 Goal 수 까지 취득이 가능하다면, 에피소드가 종료되게끔 구성했습니다. 이번에는 Agentf를 복수로 구성해봅시다. 그것을 위하여 gAgentManager.cs 라는 소스를 추가하도록 합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class gAgentManager : MonoBehaviour { public List agentList = new List(); public void EndEpisode() { foreach .. 2021. 4. 16.
유니티 머신러닝 개발 ML Agents 13편, 목표 찾기 예제 개선. 7 여러 타깃 사용해보기, 관리자 만들기 유니티 머신러닝 개발 ML Agents 13편, 목표 찾기 예제 개선. 7 여러 타깃 사용해보기, 관리자 만들기 직전 수정은 사실 프로그램의 결과값, 즉 눈으로 보는 프로그램의 변화는 거의 없습니다. 로직 변화가 있지만요, 엄밀히 말하면 정말 같은 것은 아니지만, 그냥 보시기에는 거의 차이가 없는 수정이죠 출동 검증 방식이 바뀐 것이었으니까요. 이번에는 타겟을 추가할 수 있도록 수정하려 합니다. 타깃을 관리하는 관리 소스를 만들 예정입니다. 다음 이름의 cs 파일을 추가합니다. gTargetManager.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class gTargetManager : M.. 2021. 4. 14.
유니티 머신러닝 개발 ML Agents 11편, 목표 찾기 예제 개선. 5 관측정보 바꾸기, Ray Perception Sensor 3D를 이용한 개선 유니티 머신러닝 개발 ML Agents 11편, 목표 찾기 예제 개선. 5 관측정보 바꾸기, Ray Perception Sensor 3D를 이용한 개선 저번 예제에는 훈련장을 줄이고, 벽을 설치해서 낙하하는 로직을 제거하고, 이동 방식은 인풋을 반영해서 움직이는 방식으로 변경하였습니다. 이번에는 뭘 해볼 것이냐. 이번에는 우리가 재공 하는 관측치를 바꿔봅시다. 현재 우리가 관측치를 재공하는 방법은 gRollerAgent.cs의 public override void CollectObservations(VectorSensor sensor) 해당 함수를 통해 샌서에 정보를 넣어줍니다. 함수를 볼까요 /// /// 강화학습 프로그램에게 관측정보를 전달 /// /// public override void Coll.. 2021. 4. 11.
유니티 머신러닝 개발 ML Agents 8편, 목표 찾기 예제 개선. 2 floor 확장, 복잡한 바닥형태 태스트와 학습의 한계점 유니티 머신러닝 개발 ML Agents 8편, 목표 찾기 예제 개선. 2 floor 확장, 복잡한 바닥 형태 테스트와 학습의 한계점 저번 글에서는, 이쁘게 꾸며보고, 에이전트가 타겟을 바라보며 갈 수 있게 구성하였습니다. 그래서 모델이 회전을하지 못하는 제한을 설정했고요 그로 인해 변경된 환경 때문에 세팅을 바꾸고 다시 교육을 시키는 내용을 진행했었죠. 이번에도 환경에 대한 변화를 줘 보도록 하겠습니다 이번에는 floor를 확장시켜 봅시다. floor의 Transform의 Scale를 2,1,2로 수정합니다. 위의 자료 참고하여서 이후 플레이해봅니다. 넓어진 플로어에서 활동하는 에이전트를 보실 수 있습니다. 하지만 타깃이 한정적으로 설치되기 때문에 에이전트가 활동하는 반경은, 기존 floor 사이즈로 제.. 2021. 4. 7.
유니티 머신러닝 개발 ML Agents 6편, 목표찻기 예제 제작.2 학습프로그램 제작, 학습시키고, 학습데이터 확인해보기 유니티 머신러닝 개발 ML Agents 6편, 목표 찾기 예제 제작. 2 학습 프로그램 제작, 학습시키고, 학습 데이터 확인해보기 지난 편에서는 폭표찾기 예제를 진행하였고, 그중 유니티 프로젝트를 제작하였습니다. 추가로 Heuristic 모드로는 잘 동작하는 것까지 진행했어죠. 오늘은 아나콘다에서 파이썬으로 학습프그램을 돌리고, 만들어둔 유니티 프로젝트를 구동시켜 학습을 시켜보겠습니다. 그리고 학습된 파일을 가져와서 사용도 해보고요. 이전 배포 예제들을 돌렸을 때, 학습 프로그램들이 들어있는 위치를 기억하실 겁니다. ml-agents-release_15\config\ppo 요기종 Basic.yaml을 복사해서 사본을 만들고, 이름을 바꿉니다. rollerball_config.yaml 로 교체합니다. 해당.. 2021. 4. 6.
유니티 머신러닝 개발 ML Agents 5편, 목표찻기 예제 제작.1 목표찻기 유니티 프로그램 제작 유니티 머신러닝 개발 ML Agents 5편, 목표 찾기 예제 제작. 1 목표 찾기 유니티 프로그램 제작 지난 편 까지는 유니티 mlAgent 환경을 구성하고, 해당 예제에서 재공하는 예제를 돌려보았습니다. MlAgent Release8로 구성하였는데, 해당 설명부터는 Release15로 구성하여 진행합니다. Release 15의 성치는 거의 8과 유사하니 앞의 과정을 성공하셨으면 쉽게 성공하실 수 있을 거라 생각합니다. 추후 포스팅 보시는 분들이 좀 생기면, 앞의 설명들도 15버전으로 바꿀 계획은 있습니다. 일단은 그냥 진행 해당 예지는 ml-agent relese15문서의 예제 문서를 참고하여 만들었습니다. 영문 설명이 부담 없으신 분은 그냥 github.com/Unity-Technologies/ml.. 2021. 4. 6.
유니티 머신러닝 개발 ML Agents 4편, 강화 학습시켜보고, 결과를 이용해 보기 유니티 머신러닝 개발 ML Agents 4편, 강화 학습시켜보고, 결과를 이용해 보기 4편입니다. 이번 시간에는 실제로 강화 학습을 시켜보고, 해당 학습 데이터를 이용하는 걸 해보도록 하겠습니다. 우리가 이전에 생성시켰던, 유니티 프로젝트를 다시 오픈합니다. 1편 내용입니다. Area만 구동시켜 보는 테스트까지 했어죠. Area만 실제 학습된 자료로 플레이 하고, 나머지 Area는 학습을 하는 장소라고 말씀드렸습니다. 이번 시간에는 나머지 Area를 활성화시키고, 구동시켜 강화 학습을 진행해보려 합니다. 그럼 비활성화된 1~31까지를 활성화시키도록 합시다. 우리는 지금 PushBlock 예제를 이용해 보고 있죠. 우리가 받음 ml-agents-release_8 에 PushBlock를 학습시킬 수 있는 파.. 2021. 4. 5.
유니티 머신러닝 개발 ML Agents 3편, ml agents 파이선 패키지 설치하기 유니티 머신러닝 개발 ML Agents 3편, ml agents 파이선 패키지 설치하기 3편입니다. 이번에는 ml agent 파이선 패키지를 깔고 학습프로그램을 구동시켜보는 것까지 해볼게요 지난 편에서는 아나콘다를 설치하고, 환경 세팅을 했어죠. 이번에는 아나콘다에 ml agent를 깔아보도록 합시다. 1편에서 사용하고 있는 Ml Release8 기준입니다. 차후에 최신버전으로 갱신할 생각은 있습니다. 지난 시간에 설치한 Anaconda Prompt를 오픈합니다. 그럼 아래와 같으 오픈되겠죠 우리가 만든 가상환경 mltest 를 활성화시켜줍니다. 뭔 말인지 잘 모르겠다 싶으시면 이전 편인 아나콘다 설치과 환경 세팅을 보고 오시면 됩니다. 코드는 아래와 같고 conda activate mltest ml r.. 2021. 4. 4.
유니티 머신러닝 개발 ML Agents 2편 아나콘다 설치하기, 가상환경 세팅 유니티 머신러닝 개발 ML Agents 2편 아나콘다 설치하기, 가상환경 세팅 1편에 이어 2편입니다. 1편에서는 유니티에 ML Agents Release 8 프로젝트를 연동하고 벽돌 이동 예제를 이미 선행된 학습 데이터로 이동시키는 예제까지 구동히켰습니다. 다음으로 작업해야 할 내용은, 우리가 직접 학습을 시켜보는 것입니다. 그를 위해서는 학습시키는 프로그램을 구동시켜야 합니다. ML Agent 같은 경우는 파이썬을 기반으로 학습 프로그램을 구동시킬 수 있습니다. 이 학습프로그램을 구동시킬수 있는 환경을 쉽게 구성하기 위해서 아나콘다, 라는 프로그램을 활용하면 좋습니다. 위키를 참고해 설명하면 -패키지 관리, 배표 등을 단순케 할 목적으로 과학계산, 애플리케이션, 대규모 데이터 처리 등을 위한 파이썬과.. 2021. 4. 3.
유니티 머신러닝 개발 ML Agents 1편 유니티에 ML연동과 학습된 데이터로 예제 실행 유니티 머신러닝 개발 ML Agents 1편 유니티에 ML연동과 학습된 데이터로 예제 실행 개인적으로 인공지능 관련 자료를 찻아보다. 사진분석, 표분석등을 걸쳐, 유니니를 통한 강화학습에 대한 정보를 얻게 되었고, 흥미가 생겨서 해보기로 했다. 하루정도 다양한 자료, 블로그, 유툽등을 뒤져보며, 이것저것 해보았다. 그리고 느낀건 정상적이지 않은 자료가 너무 많다는 것, 너무 오래된 자료 -ML이 버전이 올라가면 소용 없고, 설치하는 방식이 달라져 버리거나 하여 무쓸모 된 자료들 완전 틀린자료 -그냥 헛소리 적어둔 것 알지도 못하면서 대충 적은자료 -그냥 조회수 빨아서 돈벌려고 대충 적어둔것 -아는척이 해보고 싶었거나 공개시켜둔 소스가 실제로는 구동안됨 -다양한 애러가 있다던지 불친절한 설명 -명령이 치면.. 2021. 4. 1.