[AWS DeepRacer] basic model과 ysy model
basic 모델을 돌리다가 치명적인 오류를 발견했다.
바로 속도의 하한선이 없기 때문에 무작정 느리게 돌면서 도로 위에 머무른다는 것이다.
그래서 내가 가장 경계했던 fluctuation 현상이 발생했다.
fluctuation 현상이란 직선도로에서도 이리저리 흔들리며 불필요한 움직임을 보이는 것이다.
사실 이 이름은 내가 만든 이름이다. 뭐라고 해야할 지 모르겠어서;;;
아무튼 그렇다 하더라도 계속 학습을 시키면 나아질 것이라고 생각했는데 전혀 그렇지 않았다.
basic 모델을 돌리면 돌릴 수록 그 현상은 심해졌고, 나아가 엄청나게 느려졌다.
따라서 하한선 설정과 완주 성공시 추가 보상을 주는 코드를 추가하여 ysy 모델이 탄생했다.
이번 포스팅에서는 basic model과 ysy model을 비교 분석해볼 것이다.
사전설정
먼저 2019 model에 60분씩 학습시켰다.
이 때 첫 학습과 클론 후 두번째 학습에 대해 공통적인 하이퍼 파라미터 설정을 통해 실험을 수행했다.
결과 분석
이제 결과를 분석해보자.
ysy model의 경우 확실히 느리지만 안정적인 그래프를 보인다.
basic모델의 경우 15분 정도에 완주율 100을 찍었는데, reward가 낮은 것으로 보아 역주행한 것 같다.
둘 다 추가 학습이 필요하다 정도로 결론을 내었다.
이후 각 모델에 대해 2019 track으로 evalution시킨 결과다.
ysy model의 경우 느리기도 하지만 두 번째 시도에서 off track하며 불안정한 모습을 보여주었다.
basic의 경우 완주율도 안정적이고 모두 15초 언저리의 주행시간을 보이며 안정감을 보이고 있다.
evalution 결과로는 basic모델의 압승이다.
이어서 각각을 clone하여 두번째 실험을 진행했다.
batch size설정을 잘못했는지 ysy모델은 조금 듬성듬성한 그래프다.
아무튼 결과를 보면 보상함수가 거의 같은데도 ysy 모델이 조금더 높은 reward를 기록하고 있다.
완주율은 점이 듬성듬성하여 비교하기가 어려웠다.
evaluation 결과는 여전히 basic model의 압승이다.
ysy의 기록이 조금 당겨지긴 했지만 off track을 발생시킨 것을 보니 여전히 불안정하다.
그에 반해 basic model은 퍼펙트다.
기록이 당겨진 것은 아니지만 저 정도면 이미 우수하고, 평가 주행을 보면 굉장히 안정적이었다.
overfitting에 강인함을 추가하고 싶어서 2018 track에서도 학습시켰다.
basic model의 경우 여기서부터 fluctuation하기 시작했다. ㅠㅠ
그래서 ysy model의 성능에 초점을 맞춰 실험했다.
이 때 하이퍼 파라미터는 2019 track을 처음 돌릴 때와 같은 것을 사용했다.
그래프만 봤을 때 그냥 ysy model이 저조한 학습률을 보인다.
이유는 모르겠지만 완주율도 낮은 걸로 봐서 이탈을 많이 했는 것 같다.
2019 track과 2018 track의 가장 큰 차이점은 커브라고 생각한다.
2019에는 큰 각도의 커브가 없는 반면, 2018에는 거의 반바퀴 원을 도는 커브가 있다.
완주율도 그 언저리에 있는 것을 보면 ysy 모델이 그 구간을 잘 통과를 못하는 것 같다.
evaluation결과는 정말 의외였다.
ysy model이 완주율은 떨어져도 fluctuation 현상이 없었기 때문이다! ヾ(^▽^*)))
basic모델은 fluctuation하기도 하고 속도 자체도 느려져서 기록이 많이 늘었다.
다행인 것은 완주를 잘 하는 안정적 모델이라는 것이다.
일단은 오프라인에서 돌려봐야할 것 같다.