GPU : 4070 spuer 단일
os : window11(wsl - Ubuntu 22.04) |
validation dataset 구축
최대한 주체측에서 validation dataset과 비슷한 형태로 구축하기 위해
이러한 형식으로 8953개의 validation dataset을 구축하였다.
Baseline validation minADE
pretrain된 model을 validation 했을때
minADE 점수는 0.8124이다.
SMART model을 Full fine_tuning해서 전체 파라미터를 학습하기에는
에폭당 50~60시간이라는 많은 시간이 걸려서 부분 파인튜닝을 하여 학습시간을 줄이고자 하였다.
Fine-tuning
map encoder 부분을 freeze하고 agent_encoder 부분만 학습을 진행 하여
학습시킬 파라미터를 줄여 학습 시간을 줄이고자 하였다.
또한 map encoder freeze 한 이유는 주체측에서
제공해준 Pretrain modeld이 제공해준 train dataset으로
격번 dataset 으로 학습했다고 하였지만 도로 구조를 어느정도 이미 학습 하였고 학습 시키지 않은 데이터셋의
도로 구조도 거의 바뀌지 않았을 것이라 생각 해서
map encoder를 freeze하고 agent encoder만 학습하여 agent motion에 대한 부분만 학습시키려 하였다.
freeze map (10 epoch 까지 했을때)
freeze map (12 epoch 까지 했을때) - 20epoch 진행중
20 epoch까지 학습 해보고 그중 가장 좋았던 가중치를 가지고 리더보드에 올려볼 예정이다.
결과 정리
1차 평가에서는 (minADE_1 + minADE_6)/2 한 값을 1차 평가로 사용하기 때문에
minADE(예측한 궤적이 실제 궤적과 평균적으로 얼마나 차이나는지 , 단위 m)만 보면 될 것 같다.
앞으로 2 epoch 정도 지켜보고 리더보드에 제출할것이다.
| metric | baseline | 10 epoch | 12 epoch | 20 epoch (진행중) |
| cls_acc | 0.084754 | 0.08746 | 0.08731 | |
| loss | 4.656417 | 4.6278 | 4.46273 | |
| minADE | 0.812400 | 0.8046 | 0.78766 | |
| minFDE | 2.888588 | 2.9044 | 2.81799 | |
지표 설명
https://app.notion.com/p/BASELINE-TEST-val-381a9200dcab803db029fedec27283ee
이후 할 것
1.
기존 코드는 __init__에서 map_cls_loss가 정의만 되어있고 training_step의 loss 계산에서는 cls_loss만 쓰이는것을 확인했다
만약 주체측에서 제공해준 코드로 학습을 시켰다면
map_encoder는 agent_encoder의 motion 예측을 돕는 방향으로만 간접 최적화된거고
다음 map token 자체를 맞추는 과제에 대해선 직접 학습된 적이 없을수도 있다고 생각하였다
수정전
수정후
이렇게 수정한 이후
map encoder를 freeze했던 가중치중 가장 좋은걸 Full Fine-tuning 해볼 예정
2.
학습 시간이 오래 걸리는게 데이터셋의 크기 때문이라면 test dataset이랑 비슷한 dataset들을 찾아내거나
혹은 주체측에서 전체 데이터셋에서 격번으로 데이터셋을 뽑아서 사용했다고 했기 때문에
데이터셋을 나눠볼 예정