| 項目 | 方針 |
|---|---|
| リサイズ | アスペクト比を保って 224×224 に収める(事前学習モデルの入力に合わせる) |
| 正規化 | ImageNet の mean / std(事前学習の統計に合わせる) |
| マスク外領域 | データ確認後に確定(黒埋めか平均色埋めか.黒は強いエッジを作るため要検証) |
色を変える拡張は既定で無効にする. 舌の色そのものが正解ラベルであり,color jitter・彩度変更・ホワイトバランス変更はラベルを壊す.
| 使う | 使わない(既定) |
|---|---|
| 左右反転・微小回転・微小スケール・ランダムクロップ | 色相・彩度・明度ジッタ・グレースケール化・強い正規化 |
※ 撮影条件差の吸収のために色系の拡張を試す場合は,独立した実験として効果を測る.
| 項目 | 初期設定 |
|---|---|
| アーキテクチャ | ConvNeXt-Tiny(timm・ImageNet 事前学習) |
| 出力 | 5 クラス |
| 学習方式 | 全層ファインチューニング(データが少ないと判断した場合は段階的凍結を試す) |
| 最適化 | AdamW + cosine annealing(warmup 付き) |
| 早期終了 | 検証セットの macro F1 を基準にする |
まず 1 本を通すことを優先し,比較は timm での差し替えで後から行う.
すべての分割は患者単位で行う. 同一患者の画像が複数の分割に跨ってはならない.
| 局面 | 方式 |
|---|---|
| 日常の試行 | 患者単位の単一分割(train / val / test).クラス分布を層化する |
| 結論を出すとき | 患者単位の 5-fold 交差検証 |
patient_id と seed から決定的に生成し,config.yaml に記録する初回は対策を入れずに素の結果を見る.混同行列でどのクラスが落ちているかを確認してから,クラス重み付き損失等を独立した実験として追加し,効果を切り分けて評価する.
| 指標 | 役割 |
|---|---|
| macro F1 | 主指標(クラス不均衡下で少数クラスを無視できないため) |
| accuracy | 参考(クラス分布に引っ張られる) |
| クラス別 precision / recall | どのクラスが弱いかの特定 |
| 混同行列 | 誤りの方向(隣接クラスとの混同か,飛んだ誤りか)の確認 |
既存 TIASjudge のルールベース診断を同一テストセットで実行し,同じ指標で並べる.実装の取り込み方(移植 / 別リポジトリ参照)は未定とし,ベースライン実装に着手する時点で決める.
config.yaml に git コミットハッシュとともに記録するtorch.use_deterministic_algorithms)は速度とのトレードオフのため求めない.代わりに同一設定で複数 seed を回して振れ幅を確認する