sol’s blog

optuna를 이용한 하이퍼파라미터 튜닝

sol-commits
sol-commitsJun 29, 2025
optuna를 이용한 하이퍼파라미터 튜닝
trial 코드
  • tiral 70개 결과
    Trial 69 finished with value: 0.2476372571228252 and parameters: {'optimizer': 'sgd', 'lr': 0.001152792931227122, 'lstm_hidden_size': 512, 'fc_hidden_size': 256, 'dropout': 0.2, 'batch_size': 16}. Best is trial 34 with value: 0.12620377846033703.
    Best trial:
      Value: 0.1262
      Params:
        optimizer: adam
        lr: 0.0003656028849123593
        lstm_hidden_size: 512
        fc_hidden_size: 128
        dropout: 0.1
        batch_size: 16
    
  • 튜닝된 파라미터로 학습 결과
  • 지금 상황
    • optuna는 매 tiral마다 설정한 hyperparameter 세트로 5개의 fold 전체를 학습 & 평가하고, 각 fold에서 얻은 val_loss를 평균내어 objective 값으로 반환

      → best_trial로 선택되는 hyperparameter는 fold 전체에 공통으로 적용할 수 있는 global hyperparameter set 임

→ val_loss 평균만 보고 튜닝하면, 성능 분포의 편차(어느 fold에서 성능이 확 떨어지는지)를 반영하지 못해 한두 fold에서 크게 망하는 hyperparameter가 선택되는 리스크가 있음

→ val_loss 편차까지 반영하는 objective로 바꾸는 방향 적용

lstm_hidden_size, fc_hidden_size 는 극적인 성능 차이를 만드는 핵심 변수는 아닐 가능성이 높음

  • 운전자 행동 분류는 feature dimension 자체가 크지 않고, 데이터가 소규모이기 때문에 hidden size의 영향은 줄어들 것이라 예상됨.

→ lstm_hidden_size, fc_hidden_size는 베이스라인 때 썼던 값으로 고정하고,

optimizer, hidden_size