0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ResNet50によるCIFAR-10分類①(baseline構築)

Posted at

はじめに

こんにちは、DL(ディープラーニング)を勉強している大学1年生です。
2025年の4月からプログラミングを本格的に勉強し始め、GCI(東大松尾研が提供するデータサイエンス入門講座)を修了し、現在DL基礎講座を受講しています。

今回は、DL基礎講座の最終課題に向けた学習のアウトプットとして、ResNet50を用いた画像分類に挑戦します。
この記事は、自分自身のポートフォリオとして ResNet50の実装と、その精度改善施策 を行うプロセスを記録し、共有することを目的としています。

※この記事は実装と改善のプロセスに焦点を当てており、ResNetの理論的な詳細には深く立ち入りません。理論的背景については、適切な参考文献をご参照ください。


💻 情報検索

DL基礎講座の教材だけではResNet50の具体的な実装例が少なかったため、インターネットで参考資料を探しました。


🛠️ ベースライン構築

採用したColabノートブックを分析したところ、いくつかの改善の余地があると考えました。

  1. 前処理が手薄: データ正規化(Normalization)や白色化(Whitening)などを追加する余地がある。
  2. 再現性の欠如: 乱数シードが固定されておらず、実行するたびに結果が変わってしまう可能性がある。
  3. 高速化の余地: DataLoaderのnum_workers調整など、学習速度を改善できる可能性がある。
  4. 評価基準の検討: 現在はAccuracy(正解率)のみであり、さらに総正解数 $\div$ 総バッチ数という一般的でない値を用いている。タスクによってはPrecision、Recall、F1スコアなど、他の指標も考慮すべきか検討が必要。
  5. 正則化の不足: 過学習を防ぐための正則化(Dropout、Weight Decayなど)が導入されていません。
  6. 転移学習の可能性: ImageNetなどで事前学習された重みを用いた転移学習(ファインチューニング)を行うことで、精度の向上が期待できます。

参考:元リンク(Colab)で提案されていた課題

今回ベースライン構築の参考にしたColabノートブックにも、精度改善のための課題が以下のように記載されていました。これらも参考にしながら改善を進めます。

  1. 学習の設定を変更し,認識精度の変化を確認しましょう.
    • ヒント:プログラムの中で変更できる設定は次のようなものが存在します.
      • ミニバッチサイズ
      • 学習回数(Epoch数)
      • 学習率
      • 最適化手法
        • torch.optim.Adagrad()torch.optim.Adam()などが考えられます.
        • PyTorchで使用できる最適化手法はこちらのページにまとめられています.

ベースライン構築の方針

まずは「ベースラインモデル」を構築します。
その際、元のColabノートブックから以下の2点を優先的に改善します。

  • 2. 乱数シードの固定化(実験の再現性を確保するため)
  • 4. 評価基準の適切性の検討(モデルを正しく評価するため)

このベースラインモデルを基準とし、その後、他の改善策(1, 3, 5, 6)に順次取り組んでいきます。baselineでは元ファイルにあった回転などの前処理をなくしています。

実際の構築

長くなるので、git-hubにコードを公開しておきます。

おわりに

次回以降は改善モデルを作っていきたいと思います。
いままでエクセルに手入力で実験ログをとっていたので、W&Gの使い方についても調べて活用していこうと思います

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?