Newer
Older
TIASJudgeModel / docs / 06_TEST / TEST_06_ハイパーパラメータの比較.md

ハイパーパラメータの比較 (Hyperparameter Sweep)

CNN の学習のハイパーパラメータ(学習率・weight decay・バッチサイズ・入力解像度・学習の長さ)を 1 つずつ変えて,TEST_04 までの基準の構成と比べた結果(ユーザーの依頼で約 1 時間の枠で実施).まず seed 42 の分割で 14 通りを試し,効果が見えた入力解像度 320 だけを seed 43・44 でも回して確かめた.

項目内容
実行日時2026-09-28 12:11〜13:07(約 56 分)
実行場所Archimedes の RTX A6000(GPU 1 の 1 枚.未使用の GPU のみを使用.他の GPU は使用中または利用者ありだった)
本数18 本(seed 42 で 14 通り+入力解像度 320 の seed 43・44 を 2 モデル × 2)
条件ややあり除外(TEST_03〜05 で最も良かった条件).評価は common(「あり」と淡紅)の macro F1
基準の構成ConvNeXt-Tiny・重み inverse(学習率 1e-4)と ResNet-50(学習率 1e-3・対策なし).いずれも batch 32・weight decay 0.05・入力 224・最大 40 エポック・patience 8
設定configs/hparam/(基準の設定から 1 項目だけを変えたもの)
コードd9f67e5-dirty(コードの変更なし.未コミットの設定ファイルを含むため dirty)

seed 42 での比較 (Sweep on Seed 42)

1 項目だけを変えた結果(5 fold の平均).「内側の検証 F1」は各 fold の早期終了に使った検証データでの最良の macro F1 で,held_out を見ずに構成を選ぶための値.「基準との差」は同じ fold どうしの held_out の差.

モデル変更内側の検証 F1held_out common F1基準との差上回った fold淡白 recall紫 recall1 本の秒数
ConvNeXt-Tiny基準0.7140.627 ± 0.034——0.570.37159
ConvNeXt-Tiny学習率 3e-50.7080.608 ± 0.050−0.0191 / 50.510.29137
ConvNeXt-Tiny学習率 2e-40.7300.621 ± 0.020−0.0053 / 50.650.39180
ConvNeXt-Tiny学習率 4e-40.6910.598 ± 0.052−0.0281 / 50.590.48211
ConvNeXt-Tinyweight decay 0.0050.7310.627 ± 0.061−0.0003 / 50.660.32142
ConvNeXt-Tinyweight decay 0.20.6950.614 ± 0.066−0.0123 / 50.670.46142
ConvNeXt-Tinybatch 160.7050.588 ± 0.092−0.0391 / 50.470.36210
ConvNeXt-Tiny最大 60 エポック・patience 150.7080.599 ± 0.069−0.0281 / 50.570.28189
ConvNeXt-Tiny入力 3200.6990.654 ± 0.078+0.0284 / 50.660.32222
ResNet-50基準0.7230.627 ± 0.056——0.600.36117
ResNet-50学習率 3e-40.6830.633 ± 0.063+0.0052 / 50.480.28124
ResNet-50学習率 3e-30.7050.599 ± 0.031−0.0291 / 50.660.3282
ResNet-50weight decay 0.0050.7090.641 ± 0.029+0.0132 / 50.630.41119
ResNet-50weight decay 0.20.7060.630 ± 0.051+0.0032 / 50.630.32110
ResNet-50batch 160.7060.653 ± 0.032+0.0253 / 50.640.41159
ResNet-50入力 3200.7420.664 ± 0.096+0.0363 / 50.580.45188
  • 学習率・weight decay・学習の長さは,今の値(ConvNeXt 1e-4・ResNet-50 1e-3・weight decay 0.05・40 エポック)がほぼ最良だった.どれを変えても held_out は ±0.03 の範囲で,多くは下がる
  • 内側の検証 F1 で選ぶと,ConvNeXt は weight decay 0.005(held_out は基準と同じ),ResNet-50 は入力 320 になる.内側の検証 F1 と held_out の順位はあまり一致しない(検証データが各 fold 約 100 枚と少ないため)
  • 2 モデルとも held_out が上がったのは入力 320 だけだったので,seed を変えて確かめた

入力解像度 320 の確認 (Resolution Check)

seed 42・43・44 の 15 fold で,入力 224(TEST_03・TEST_04 の結果)と 320 を同じ fold どうしで比べた.

モデル入力 224入力 320差(320 − 224)320 が上回った foldseed ごとの差(42 / 43 / 44)紫 recall1 本の秒数
ConvNeXt-Tiny(重み inverse)0.632 ± 0.0600.634 ± 0.072+0.002 ± 0.0658 / 15+0.028 / +0.001 / −0.0220.34 → 0.39約 220
ResNet-50(lr 1e-3)0.637 ± 0.0620.653 ± 0.076+0.016 ± 0.0728 / 15+0.036 / +0.011 / +0.0010.39 → 0.47約 180
  • seed 42 で見えた改善は,seed を増やすとほぼ消えた.ConvNeXt は差なし,ResNet-50 は +0.016 だが上回った fold は半分(8/15)で,ばらつきの範囲内
  • 紫の再現率は 2 モデルとも少し上がった(+0.05〜0.08).解像度を上げると細部の色むらが見えるという見込み(TEST_04「次の一手」)と矛盾しないが,確かな差ではない
  • ResNet-50・入力 320 の 0.653 は CNN の中では最も高く,色特徴+ロジスティック回帰(TEST_05.除外で 0.644)とほぼ同じ

分かったこと (Findings)

  1. 学習のハイパーパラメータを変えても性能はほとんど変わらない.今の設定はすでに妥当な範囲にあり,ハイパーパラメータの調整で大きく伸ばせる余地は小さい
  2. seed 1 つ(5 fold)での比較は当てにならない.seed 42 では +0.03 に見えた入力 320 の効果が,3 seed では +0.00〜0.02 になった.fold 間の標準偏差(0.03〜0.10)が効果の大きさより大きいため,今後の比較も最低 3 seed で行う
  3. 内側の検証 F1(各 fold 約 100 枚)で構成を選んでも held_out の良さとは一致しにくい.選び方を公平にするための入れ子の交差検証は,このデータ量では選択の精度自体が低い
  4. 以上から,CNN の性能の頭打ち(common macro F1 0.63〜0.65)はハイパーパラメータではなくデータ量やラベルのあいまいさによるものと考えられる.色特徴だけの分類器が同じ水準に届く(TEST_05)こととも整合する

注意 (Caveats)

  • 1 項目ずつ変えただけで,組み合わせ(例: 入力 320 + batch 16)は試していない
  • seed 42 だけの比較(上の表)は,どの差もばらつきの範囲内である
  • 条件はややあり除外だけ.ややあり込みでは試していない
  • 重み(checkpoints/)は保存したが,Archimedes の共用ディスクを圧迫するためユーザーの判断で削除した(本実験の 18 本ぶん 8.8 GB と TEST_04 の 36 本ぶん 18 GB.削除後の空き 52 GB.TEST_03「サーバの容量について」).同じ設定で数分で作り直せる

次の一手 (Next Steps)

  • ハイパーパラメータの調整は打ち切り,性能を伸ばすなら情報を増やす方向を試す: CNN と色特徴の併用(アンサンブル),「ややあり」のソフトラベル化
  • 入力 320 は紫の再現率に効いている可能性があるので,併用を試すときの CNN 側の候補に残す

実験 ID (Run IDs)

手元の runs/ に回収済み(.gitignore 対象).名前の cv_hp_<モデル>_<変更> が構成を表す.実験 ID の日時は 2026-09-28 12:11〜13:03.

ls -d runs/*_cv_hp_*