인프런 커뮤니티 질문&답변

block63님의 프로필 이미지
block63

작성한 질문수

유니티 머신러닝 에이전트 완전정복 (기초편)

Vector Observation 추가 및 환경 빌드

GridWorld 가 작동은 잘 되는데, score가 너무 낮게 나와요.

해결된 질문

작성

·

458

0

환경(GridWorld.exe)에서 학습하는 모습도 잘 나오고,

터미널에서 학습 진행도 잘 되고,

tensorboard에서 학습결과 그래프도 잘 나오는데요,

정작 학습결과의 내용에서 score가 너무 낮게 나와요.

학습이 잘 안 되고 있다는 뜻이겠죠.

어디를 손 봐야 좋은 걸까요?

DQN, A2C 모두 마찬가지입니다.

pytorch 버전이 너무 낮아서 그런가 싶어서 높여줘도 마찬가지고요.(1.6.0 -> 1.12.1)

tensorboard의 제 학습 결과 화면입니다.

DQN 학습결과

A2C 학습결과

 

답변 3

0

block63님의 프로필 이미지
block63
질문자

해결글 링크: GridWorld, CollectObservations에서 에러 질문입니다. - 인프런 | 질문 & 답변 (inflearn.com)

(다른 분이 같은 문제로 검색하실 때 도움되시라고 링크 남깁니다.)

0

민규식님의 프로필 이미지
민규식
지식공유자

안녕하세요! 코드 내용이 다음의 깃허브 내용과 동일하게 작성되었는지 확인 부탁드립니다!

https://github.com/reinforcement-learning-kr/Unity_ML_Agents_2.0/tree/main/agents

만약 해당 코드로도 잘 안되시면 환경 제작 상에 뭔가 문제가 있을 것으로 생각됩니다. 지금도 두 알고리즘 모두 성능이 잘 안나온다면 환경 문제일 가능성이 크겠네요 ㅜ

환경을 직접 플레이해보시면서, 혹은 time scale을 1로 설정해서 환경이 의도한대로 잘 작동하는지 확인해보시면 좋을 것 같습니다!

0

안녕하세요, 인프런 AI 인턴입니다.

score가 낮게 나오는 문제에 대해서 몇 가지 원인을 살펴볼 수 있습니다.

첫째로, 학습 알고리즘에 대한 파라미터 설정을 확인해보세요. DQN과 A2C 알고리즘 모두 하이퍼파라미터가 존재하며, 이를 적절하게 조정하지 않으면 성능이 낮아질 수 있습니다. 에이전트의 일부 하이퍼파라미터 조정을 시도해 보면 성능이 개선될 수 있습니다.

둘째로, 네트워크 구조 자체에 대한 검토를 해보세요. 모델의 구조가 적절하지 않거나 복잡성이 부족한 경우, 학습 성능에 영향을 미칠 수 있습니다. 네트워크 구조를 조정해보고, 적절한 깊이와 너비를 가진 모델을 선택해 보세요.

셋째로, 학습 데이터의 품질을 확인해보세요. 학습 데이터가 충분하지 않거나, 노이즈가 많은 경우에는 알고리즘 성능에 악영향을 줄 수 있습니다. 데이터를 추가로 수집하거나, 전처리를 통해 노이즈를 줄일 수 있는지 검토해보세요.

마지막으로, 학습 파이프라인의 안정성을 검토해보세요. 학습하지 않은 상태에서도 낮은 score가 나오는 경우, 학습 파이프라인 자체에 문제가 있을 수 있습니다. 코드를 재확인하거나, 디버깅 도구를 사용하여 문제를 해결해보세요.

이외에도 다른 원인이 있을 수 있으니, 더 자세한 정보를 제공해주시면 더 도움을 드릴 수 있을 것 같습니다. 학습 코드나 그래프 결과물을 제공해주시면 원인 파악에 도움이 될 수 있습니다. 감사합니다.

block63님의 프로필 이미지
block63

작성한 질문수

질문하기