その転移学習は本当に有用なのか?(1/3)

その転移学習は本当に有用なのか?(1/3)

1.その転移学習は本当に有用なのか?(1/3)まとめ

・転移学習は医療用画像処理タスクのパフォーマンスに大きな影響を与えていない事がわかった
・医療用画像処理タスクでは小さいモデルが大きなモデルに匹敵するパフォーマンスを出せていた
・大きなモデルでは転移学習の有無でパフォーマンスに大きな違いがあったが小さなモデルではなかった

2.Transfusion:医療画像における転移学習の有用性を評価

以下、ai.googleblog.comより「Understanding Transfer Learning for Medical Imaging」の意訳です。元記事は2019年12月6日、Maithra RaghuさんとChiyuan Zhangさんによる投稿です。結構衝撃的なお話ですが、これは転移学習の有用性と言うより、Double Descentでも出てきたモデルサイズとデータサイズが釣り合ってない事に起因する現象なのかなとも思います。

ディープニューラルネットワークが様々な領域で活用されるにつれて、(transfer learning)は、ディープラーニングモデルの開発において非常に人気のある手法として浮上しています。

転移学習では、ニューラルネットワークは2段階でトレーニングされます。
(1)事前トレーニング(pretraining)
ネットワークは一般に、多様なラベル/カテゴリを含む大規模な画像データセット(ImageNetなど)で最初に事前トレーニングされます。

(2)微調整(fine-tuning)
目標とするタスク専用のデータセットで、ネットワークを更にトレーニングして微調整します。タスク専用のデータセットは、事前調整時に使われる画像データセットよりもサンプルが少ないケースがあります。

事前トレーニングを行うと、モデルは一般的な画像から画像の特徴表現を学習する事ができます。そして学習した画像の特徴表現を目標とするタスクで再利用できるので、目標とするタスク用の学習用画像データが少なくとも、パフォーマンスを底上げする事が出来るとされているのです。

この2段階パラダイムは、様々な場面で、特に医療画像で非常に人気があります。

転移学習では、ImageNet用に設計された標準的なモデルが使用されます。このモデルを事前トレーニングし、医療用画像で微調整を行い、胸部X線画像の解釈、アルツハイマー病の早期発見、目の疾患の特定などに使用されています。

しかし、広範に利用されているにもかかわらず、転移学習の正確な効果はまだ十分に理解されていません。

最新の研究は、多くの仮説の解明に挑戦しています。これらの仮説には、パフォーマンスが改善する理由、基盤となるアーキテクチャの影響、データセットの種類とサイズと事前トレーニングの影響などが含まれますが、これらは全てImageNetに多く含まれる動植物や草木などの自然を撮影した画像についてです。医療画像などの専門分野の画像については、まだ多くの疑問が残っています。

2019で発表の論文「Transfusion: Understanding Transfer Learning for Medical Imaging」では、医療用画像を扱う転移学習に関する核心部的な疑問について調査をしました。そして、「詳細なパフォーマンス評価」と「ニューラルネットワークの隠れ層内の特徴表現」の分析の両方を通じて、多くの驚くべき結論を明らかにしています。

・医療用画像処理タスクのパフォーマンス向上に転移学習が寄与する限界
・様々なモデル間や隠れ層内で特徴表現が学習プロセスを通じてどのように進化するかを詳細に特性評価
・収束速度向上のための転送学習の利点

などです。

性能評価
最初に、モデルのパフォーマンスに対する転移学習の効果について徹底的な研究を行いました。

「ランダムに決定した重みを初期値にして学習を行い、タスクに直接適用するモデル」と「ImageNetで事前に学習して転移学習を活用したモデル」を同じタスクで比較しました。

2つの大規模な医療画像処理タスクを検討しました。眼底写真から糖尿病性網膜症を診断するタスクと胸部X線写真から5つの異なる疾患を特定するタスクです。

医療用画像処理に広く使用されている標準アーキテクチャ(ResNet50、Inception-v3)と、シンプルで軽量な畳み込みニューラルネットワークの両方を含む、様々なニューラルネットワークアーキテクチャを評価しました。シンプルで軽量な畳み込みニューラルネットワークとは、4つまたは5つの標準的な畳み込み-バッチノルム-ReLUレイヤーから構成されるネットワークです。(以降、CBRモデル:Convolution-Batchnorm-ReLUで表記)

転移学習の有無に関わらず、様々なタスクでこれら全てのモデルを評価した結果、以下の4つの重要なポイントが得られました。

(1)驚くべきことに、転移学習は医療用画像処理タスクのパフォーマンスに大きな影響を与えず、ゼロからトレーニングしたモデルは標準的なImageNetを使って転移学習させたモデルとほぼ同等です。

(2)医療用画像処理タスクでは、はるかに小さいCBRモデルが標準的なImageNetアーキテクチャに匹敵するパフォーマンスで実行されます。

(3)CBRモデルは標準的なImageNetモデルよりもはるかに小さく浅いので、ImageNetを使った分類ではパフォーマンスは非常に悪いです。これは、ImageNetのパフォーマンスは医療タスクのパフォーマンスを示すものではないことを強調しています。

(4)2つの医療タスクはImageNetよりもサイズがはるかに小さく(トレーニング画像数は約20万 vs 約120万)、非常に小さなデータセットを扱うケースでは、数千程度しかトレーニング用画像がありません。この非常に小さなデータしかないケースで転移学習を評価したところ、大きなモデル(ResNet)では転移学習した結果とゼロからトレーニングした結果でパフォーマンスに大きなギャップがありましたが、これは小さなモデル(CBR)では当てはまりませんでした。ImageNet用に設計された大規模なモデルは、非常に小さなデータしか利用できないケースでは過度にパラメーター化されている可能性があることを示唆しています。

3.その転移学習は本当に有用なのか?(1/3)関連リンク

1)ai.googleblog.com
Understanding Transfer Learning for Medical Imaging

2)arxiv.org
Transfusion: Understanding Transfer Learning for Medical Imaging

3)github.com
google/svcca