転移学習は本当に効果的なのか?医用画像タスクでの転移学習の効果を調査してみた!
3つの要点
✔️ 医用画像タスクにおける転移学習の効果を様々な観点で分析
✔️ 転移学習は医用画像タスクの分類精度向上にあまり効果がない
✔️ 最下層のみの転移学習で収束速度を大幅に改善できる
Transfusion: Understanding Transfer Learning for Medical Imaging
written by Maithra Raghu, Chiyuan Zhang, Jon Kleinberg, Samy Bengio
(Submitted on 14 Feb 2019 (v1), last revised 29 Oct 2019 (this version, v3))
Comments: NeurIPS 2019
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG); Machine Learning (stat.ML)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
背景
深層学習の発展に伴って、医用画像タスク(医用画像のセグメンテーション、病変部位の検出等)においても使用され、従来の手法を凌駕する性能を実現しています。
医用画像タスクにおいては、性能向上のためにImageNetで事前学習したモデルによる転移学習がよく使用されます。
しかしながら、下図に示すようにImageNetに含まれるような一般的な画像 (ImageNet画像)と医用画像とでは、その特徴が大きく異なります。例えば、一般的な画像と比較して、医用画像は解像度が高く、局所的な特徴のみで分類しなければならないという特徴があります。
このようにImageNet画像と医用画像との特徴が異なることから、「ImageNet画像で事前学習したモデルでの転移学習が、医用画像タスクにおいて本当に効果的なのか?」という問題が挙げられていましたが、転移学習の効果に対する理解は進んでいないままでした。
そこで、本論文では医用画像タスクにおける転移学習の効果を様々な観点から分析しました。
その結果、分類精度向上に関する転移学習の効果として、「医用画像タスクにおいて、分類精度向上に転移学習はあまり効果がない」ということがわかりました。また、「転移学習を行った大規模なモデルと同等の精度を、シンプルで小規模なモデルで実現することができる」ということも主張しています。
さらに、収束速度に対する転移学習の効果を調査し、「最下層のみの転移学習で大幅に収束速度を改善できる」ということがわかりました。
本記事では、医用画像タスクにおける転移学習の効果の分析結果について紹介していきます。
実験
使用モデル
大規模モデルとして次の2つを使用します。
- ResNet-50
- Inception-v3
小規模モデルとして次の4つを使用します。
- CBR-LargeT
- CBR-LargeW
- CBR-Small
- CBR-Tiny
小規模モデルのアーキテクチャは次に示すようなConv、Batch Normalization、Reluを重ねたモデルです。
データセット
医用画像データセットとして次の2つを使用します。
- Retinal fundus photographs (RETINA data)
- 眼底画像のデータセット
- 糖尿病網膜症の症状の進行に応じて2段階に分類
- CheXpert
- 胸部X線画像のデータセット
- 胸部の5つの病気に分類
転移学習の効果分析
医用画像タスクにおける、転移学習の効果を「分類精度」「特徴量の類似度」「特徴量の可視化」「収束速度」という4つの観点で分析しました。
分類精度
分類精度をもとに転移学習の効果を検証します。また、モデルの分類精度の評価にはAUCを使用します。
RETINA dataでの分類精度は次のようになりました。
まず、ランダム初期化 (Random Init)と転移学習 (Transfer)した場合を比較すると、転移学習を行っても分類精度がほとんど向上しないことがわかります。
また、大規模モデル(ResNet50、 Inception-v3)と小規模モデル (CBR-xxx)を比較すると、両者の分類精度がほとんど変わらないことがわかります。
さらに、小規模モデルでは、ImageNetに対する分類精度 (IMAGENET Top5)が良くなくても、Retina dataに対する分類精度が良いことがわかります。
CheXpertでの分類精度は次のようになりました。
CheXpertでも、RETINA dataと同様に、転移学習によって分類精度がほとんど向上していないことがわかります。
特徴量の類似度
特徴量の変化を定量化して、その変化をもとに転移学習の効果を検証します。
特徴量の変化を定量化するために、CCA Similarityと呼ばれるモデル間での特徴量の類似度を使用します。
学習前と学習後の特徴量の変化について検証します。学習前と学習後の特徴量のCCA similarityにおいて、ランダムに初期化した場合 (青色, RandInit)、転移学習をした場合 (黄色、Pretrained)を比較すると次のようになりました。
RandInit、Pretrainedともに入力層に近い層ではCCA similarityが高くなり、出力層に近づくにつれCCA similarityが低くなっています。また、RandInit、PretrainedのCCA similarityの差 (灰色)は、入力層に近い2つの層で高くなっています。
この結果から、入力層に近い層では、事前学習した重みが効果的に再利用されていると言えます。したがって、入力層に近い層のみで転移学習を行っても十分な効果があるといえます。
特徴量の可視化
学習前と学習後の特徴量を可視化して、その変化をもとに転移学習の効果を検証します。
学習前と学習後のCNNのfilterを可視化すると次のようになりました。
まず、大規模モデルにおいては、ランダム初期化 (aからb)、転移学習 (cからd)の両方でfilterがほとんど変化していないことがわかります。
次に、小規模モデルにおいては、ランダム初期化 (eからf)、転移学習 (gからh)の両方でfilterの見た目が変化していることがわかります。ただし、転移学習を行った場合 (gからh)、事前学習で学習した線やエッジなどを検出するfilterの一部が学習後に消失していることもわかります。
収束速度
転移学習の収束速度に対する効果を検証します。
AUC>0.91となる学習回数 (収束速度)と転移学習を行う層の関係は次のようになりました。 (例えば、Block1はReNet50の入力層から1つ目のBlockまで転移学習を行ったモデルを意味します)
転移学習を行う層を増やすことで、収束速度が改善していることがわかります。
さらに、最下層のConv1のみの転移学習でも大幅に収束速度が改善できていることがわかります。
まとめ
今回は、医用画像タスクでの転移学習に関する論文について紹介しました。転移学習は医用画像タスクの分類精度を向上させる点ではあまり効果がなく、収束速度は大幅に改善できることが確認できました。
今後は、一般画像のデータセットに匹敵する量の医用画像データセットの開発や、医用画像タスク独自のアーキテクチャの研究の進展に期待したいです。
この記事に関するカテゴリー