작성
·
562
0
답변 1
1
안녕하세요! 아 그쪽 부분이 헷갈리셨군요?
ML-Agents 관련 설명하는 곳에서 이야기하듯이 ML-Agents로 만든 환경을 학습할 수 있는 방법은 두가지가 있습니다.
1. Python 코드를 직접 짜서 학습시키기
2. Unity ML-Agents에서 제공하는 강화학습 알고리즘 사용하기
강의 내용 중 config 폴더 안에 있는 yaml을 세팅하고 mlagents-learn 명령을 이용해서 학습하는 것은 2번에 해당합니다. 말씀하신 DQN 코드를 파이썬 스크립트를 통해서 직접 짜고 이를 통해 학습하는 것은 1번에 해당합니다.
강의에 나오는 DQN 코드를 편집기에서 짜시고 이렇게 저장된 .py 파일을 실행하시면 됩니다. 이 부분에 대해서는 ML-Agents 살펴보기, ML-Agents 환경 학습 1, ML-Agents 환경 학습 2 내용을 한번 다시 수강하셔도 좋을 듯 합니다.
책 관련해서는 해당 인프런 내용과 같은 내용으로 책이 다음달 쯤 개정판으로 출간 예정입니다! 영상 강의만으로는 참고하시기가 어려우시면 책이 출간되었을 때 해당 책의 내용도 같이 참고해주시면 좋을 것 같습니다!
안녕하세요! 질문 주신 내용에 대한 답변 드리겠습니다!
우선 전에 말씀드린 mlagents-learn과 python-api를 통한 직접 코딩은 완전히 별개의 방법이라고 생각해주시면 되겠습니다! 두가지 방법 중 하나를 선택해서 내가 만든 ml-agents 환경을 학습할 수 있습니다.
mlagents-learn의 경우 yaml 파일에서 설정을 진행 후 mlagents-learn 명령을 통해 Unity ML-Agents에서 제공하는 알고리즘에 따라 학습하는 방법입니다. 이 경우 yaml을 통해서만 설정을 변경할 수 있어서 알고리즘 변경이 제한적인 단점이 있습니다. 과정을 더 자세하게 설명드리면
1. yaml 파일에서 알고리즘에 대한 설정을 진행한다.
2. mlagents-learn 명령을 통한 학습을 진행한다. (mlagents-learn [yaml 경로] [환경 경로] [run-id])
다음으로 저희 강의에서 직접 스크립트를 통해 구현하신 python API는 mlagents-learn을 통한 학습과는 아무 연관이 없습니다. 위의 그림을 보시면 연관이 있는거 아닌가? 생각하실수도 있는데 이는 mlagents-learn을 통한 학습도 python 코드를 통한 학습이므로 그렇게 그림이 나온걸로 생각해주시면 될 것 같구요! 직접 구현하신 코드는 저 그림에서 Python Trainer 부분은 제외하고 바로 Python API로 환경과 통신하는 부분이라고 생각해주시면 되겠습니다. 이렇게 구현하는 경우, 알고리즘부터 네트워크 구조, 사용하는 기법 등등 직접 다 python을 통해서 짜는 방식이므로 자유도가 높습니다. 이 과정은 다음과 같습니다.
1. python 스크립트를 작성한다
2. 파일을 저장한다. (ex. dqn.py)
3. 파일을 실행한다. (ex. python dqn.py)
혹시라도 파이썬 자체에 대해서 익숙하지 않으시다면 파이썬의 기초적인 실행 방법 등에 대해서는 숙지를 하시고 강의를 진행해주시면 이해에 도움이 될 것 같습니다!
답변 감사합니다. 말씀하신 내용을 다시 봤는데도 잘 이해가 안가서 다시 질문 드립니다.
여기 보면 python API를 만들어서 mlagents-learn이랑 만든 Python API랑 통신을 하는데요.
mlagents-learn 명령을 쓸때 학습 내용을 보면
*.yaml 말고 정보를 가지고 있는곳이 없고요.
*.yaml 까봐도 파이썬 파일 경로가 들어 있지 않으니.. 내가 만든 python API를 어떻게
mlagents-learn에 실행할때 쓰게 하는지 잘 모르겠습니다.
바쁘신데 매번 친절한 답변 감사합니다. 오늘도 좋은하루 되세요!~