Successfully reported this slideshow.
Your SlideShare is downloading. ×

論文紹介:Deep Mutual Learning

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 22 Ad

論文紹介:Deep Mutual Learning

Download to read offline

Ying Zhang, Tao Xiang, Timothy M. Hospedales, Huchuan Lu, "Deep Mutual Learning" CVPR2018

https://openaccess.thecvf.com/content_cvpr_2018/html/Zhang_Deep_Mutual_Learning_CVPR_2018_paper.html

Ying Zhang, Tao Xiang, Timothy M. Hospedales, Huchuan Lu, "Deep Mutual Learning" CVPR2018

https://openaccess.thecvf.com/content_cvpr_2018/html/Zhang_Deep_Mutual_Learning_CVPR_2018_paper.html

Advertisement
Advertisement

More Related Content

More from Toru Tamaki (20)

Recently uploaded (20)

Advertisement

論文紹介:Deep Mutual Learning

  1. 1. Deep Mutual Learning Colin Lea, Michael D. Flynn, Rene Vidal, Austin Reiter, Gregory D. Hager, CVPR2017 神谷広大(名工大) 2022/11/25
  2. 2. 背景 nDeep Learning • 従来の機械学習モデルを凌駕する性能 • 多数のパラメータが必要 • 大容量メモリが必要 • 実行速度が遅い n小さなモデルサイズと高い性能の両立 • 高い性能は大量のパラメータとメモリ量が必要
  3. 3. 関連手法 n小さく高性能なモデルを実現するための手法 • アーキテクチャの改善 [Howard+, CVPR2017] • モデル圧縮 [Han+, CVPR2016] • 枝刈り [Li+, CVPR2017] • 二値化 [Rastegari+, CVPR2016] • 知識蒸留 [Hinton+, arXiv2015] • 小さいStudentモデルと大きなTeacherモデル • Teacherモデルを使ってStudentモデルを学習 nアンサンブル学習 [Thomas+, 2002] • 多数のモデルを使用し精度を上げる 知識蒸留
  4. 4. 提案手法 nDeep Mutual Learning (DML) • Teacherを使わずStudentがお互いに教え合って学習 • 2つの損失を使用 • Cross Entropy • クラスラベルに対する予測確率の損失 • KL Divergence • 他のStudentの予測確率との損失
  5. 5. DMLアプローチ nθ1,θ2でmクラス分類 • θ1 , θ2 の予測確率p1, p2を使用 nP1からp2までのKL損失 nθ1に対する総合損失関数 • KL損失の最小化で予測確率を近づける • Teacher無しの蒸留を実現 <latexit sha1_base64="V1IgGDvPt7kMw8sl+BdgM/qRIIM=">AAACqnichVHLShxBFD12jNFJomOyEdw0GSaMJAzVIjEEAuIDBF3omHnIzNB095Ta2C+6awbGtn/AH3DhSiEE8TOyyTYLF5ovEJcKbrLI7Z6GMBmS3KLqnnvqnlu3qnTPMgPB2NWQ9Gj48ciT0bHM02fPxyeyky8qgdv2DV42XMv1a7oWcMt0eFmYwuI1z+earVu8qu8vxfvVDvcD03U+ia7Hm7a265g7pqEJotTsyroaNsQeF5qqRPJHmcKlGL2Rl9Vwbb3Q0F2rFXRtcqGnzkby4aHczynRTKRmc6zIEpMHgZKCHFLbcLNf0EALLgy0YYPDgSBsQUNAow4FDB5xTYTE+YTMZJ8jQoa0bcrilKERu0/rLkX1lHUojmsGidqgUyyaPill5NklO2d37Bu7YDfs519rhUmNuJcueb2n5Z46cTS19fBflU1eYO+36p89C+zgfdKrSb17CRPfwujpOwfHd1sfSvnwNTtjt9T/KbtiX+kGTufe+LzJSyfI0Acofz73IKjMFpV3xbnNudzCYvoVo5jGKxToveexgFVsoEznXuA7rvFDeiuVpG2p3kuVhlLNS/SZ1PoFS4WkOA==</latexit> L✓1 = LC1 + DKL(p2||p1)
  6. 6. DMLアプローチ n収束するまでθ1,θ2の最適化 1. 現在のバッチについてp1とp2を更新 2. θ1,θ2を勾配更新
  7. 7. 複数モデルへの拡張 n任意の数のStudentに拡張可能 • K個のネットワーク • 第2項はKL距離の平均 nアンサンブル学習との違い • アンサンブル学習は多様性を増やすことが目的 • DMLは互いに似るように学習 • 多様性を減らすためゴールが違う <latexit sha1_base64="R+5ShezLiJYlklQK0mQjlo9XWME=">AAAC03ichVFNSxxBEK0dNTGrxo1eArk0WRTFZOkJoiIIEj0I68GPrAqOGWbGXh2m58OZ3oVN25eQU8CzB08GQgj5GbnkB+jBnyA5KgiSQ2pmB0TFpJruevW6XnV1tx1xNxGUnhW0js6uR4+7nxR7evue9peeDawlYSN2WM0JeRhv2FbCuBuwmnAFZxtRzCzf5mzd9ubS/fUmixM3DN6JVsS2fGsncOuuYwmkzFKwaEpD7DJhmZ4iMwTDuRSNEaMeWw6RupLV17oiRtLwTckxRX9FODECtkc89V5W1bwpq4sjhh3y7aTlo5ORyRXZ3ye3OU+NKrNUphWaGbkP9ByUIbelsPQNDNiGEBxogA8MAhCIOViQ4NgEHShEyG2BRC5G5Gb7DBQUUdvALIYZFrIerjsYbeZsgHFaM8nUDp7CccaoJDBET+l3ekF/0R/0nP55sJbMaqS9tNDbbS2LzP7Pz1ev/qvy0QvYvVH9s2cBdZjKenWx9yhj0ls4bX3zw+HF6vTKkBymX+hv7P+YntGfeIOgeel8XWYrR1DED9DvPvd9sPamok9UxpfHy7Nv86/ohhfwEkbwvSdhFhZgCWp47glcFzoKnVpNk9pH7VM7VSvkmkG4ZdrBX2KhsoQ=</latexit> L✓k = LCk + 1 K 1 K X l=1,l6=k DKL(pl||pk)
  8. 8. 複数モデルへの拡張 n任意の数のStudentに拡張可能 • K個のネットワーク • 第2項はKL距離の平均 nアンサンブル学習との違い • アンサンブル学習は多様性を増やすことが目的 • DMLは互いに似るように学習 • 多様性を減らすためゴールが違う <latexit sha1_base64="R+5ShezLiJYlklQK0mQjlo9XWME=">AAAC03ichVFNSxxBEK0dNTGrxo1eArk0WRTFZOkJoiIIEj0I68GPrAqOGWbGXh2m58OZ3oVN25eQU8CzB08GQgj5GbnkB+jBnyA5KgiSQ2pmB0TFpJruevW6XnV1tx1xNxGUnhW0js6uR4+7nxR7evue9peeDawlYSN2WM0JeRhv2FbCuBuwmnAFZxtRzCzf5mzd9ubS/fUmixM3DN6JVsS2fGsncOuuYwmkzFKwaEpD7DJhmZ4iMwTDuRSNEaMeWw6RupLV17oiRtLwTckxRX9FODECtkc89V5W1bwpq4sjhh3y7aTlo5ORyRXZ3ye3OU+NKrNUphWaGbkP9ByUIbelsPQNDNiGEBxogA8MAhCIOViQ4NgEHShEyG2BRC5G5Gb7DBQUUdvALIYZFrIerjsYbeZsgHFaM8nUDp7CccaoJDBET+l3ekF/0R/0nP55sJbMaqS9tNDbbS2LzP7Pz1ev/qvy0QvYvVH9s2cBdZjKenWx9yhj0ls4bX3zw+HF6vTKkBymX+hv7P+YntGfeIOgeel8XWYrR1DED9DvPvd9sPamok9UxpfHy7Nv86/ohhfwEkbwvSdhFhZgCWp47glcFzoKnVpNk9pH7VM7VSvkmkG4ZdrBX2KhsoQ=</latexit> L✓k = LCk + 1 K 1 K X l=1,l6=k DKL(pl||pk) <latexit sha1_base64="V1IgGDvPt7kMw8sl+BdgM/qRIIM=">AAACqnichVHLShxBFD12jNFJomOyEdw0GSaMJAzVIjEEAuIDBF3omHnIzNB095Ta2C+6awbGtn/AH3DhSiEE8TOyyTYLF5ovEJcKbrLI7Z6GMBmS3KLqnnvqnlu3qnTPMgPB2NWQ9Gj48ciT0bHM02fPxyeyky8qgdv2DV42XMv1a7oWcMt0eFmYwuI1z+earVu8qu8vxfvVDvcD03U+ia7Hm7a265g7pqEJotTsyroaNsQeF5qqRPJHmcKlGL2Rl9Vwbb3Q0F2rFXRtcqGnzkby4aHczynRTKRmc6zIEpMHgZKCHFLbcLNf0EALLgy0YYPDgSBsQUNAow4FDB5xTYTE+YTMZJ8jQoa0bcrilKERu0/rLkX1lHUojmsGidqgUyyaPill5NklO2d37Bu7YDfs519rhUmNuJcueb2n5Z46cTS19fBflU1eYO+36p89C+zgfdKrSb17CRPfwujpOwfHd1sfSvnwNTtjt9T/KbtiX+kGTufe+LzJSyfI0Acofz73IKjMFpV3xbnNudzCYvoVo5jGKxToveexgFVsoEznXuA7rvFDeiuVpG2p3kuVhlLNS/SZ1PoFS4WkOA==</latexit> L✓1 = LC1 + DKL(p2||p1) K=2のとき
  9. 9. 複数モデルへの拡張 n任意の数のStudentに拡張可能 • K個のネットワーク • 第2項はKL距離の平均 nアンサンブル学習との違い • アンサンブル学習は多様性を増やすことが目的 • DMLは互いに似るように学習 • 多様性を減らすためゴールが違う <latexit sha1_base64="R+5ShezLiJYlklQK0mQjlo9XWME=">AAAC03ichVFNSxxBEK0dNTGrxo1eArk0WRTFZOkJoiIIEj0I68GPrAqOGWbGXh2m58OZ3oVN25eQU8CzB08GQgj5GbnkB+jBnyA5KgiSQ2pmB0TFpJruevW6XnV1tx1xNxGUnhW0js6uR4+7nxR7evue9peeDawlYSN2WM0JeRhv2FbCuBuwmnAFZxtRzCzf5mzd9ubS/fUmixM3DN6JVsS2fGsncOuuYwmkzFKwaEpD7DJhmZ4iMwTDuRSNEaMeWw6RupLV17oiRtLwTckxRX9FODECtkc89V5W1bwpq4sjhh3y7aTlo5ORyRXZ3ye3OU+NKrNUphWaGbkP9ByUIbelsPQNDNiGEBxogA8MAhCIOViQ4NgEHShEyG2BRC5G5Gb7DBQUUdvALIYZFrIerjsYbeZsgHFaM8nUDp7CccaoJDBET+l3ekF/0R/0nP55sJbMaqS9tNDbbS2LzP7Pz1ev/qvy0QvYvVH9s2cBdZjKenWx9yhj0ls4bX3zw+HF6vTKkBymX+hv7P+YntGfeIOgeel8XWYrR1DED9DvPvd9sPamok9UxpfHy7Nv86/ohhfwEkbwvSdhFhZgCWp47glcFzoKnVpNk9pH7VM7VSvkmkG4ZdrBX2KhsoQ=</latexit> L✓k = LCk + 1 K 1 K X l=1,l6=k DKL(pl||pk) <latexit sha1_base64="V1IgGDvPt7kMw8sl+BdgM/qRIIM=">AAACqnichVHLShxBFD12jNFJomOyEdw0GSaMJAzVIjEEAuIDBF3omHnIzNB095Ta2C+6awbGtn/AH3DhSiEE8TOyyTYLF5ovEJcKbrLI7Z6GMBmS3KLqnnvqnlu3qnTPMgPB2NWQ9Gj48ciT0bHM02fPxyeyky8qgdv2DV42XMv1a7oWcMt0eFmYwuI1z+earVu8qu8vxfvVDvcD03U+ia7Hm7a265g7pqEJotTsyroaNsQeF5qqRPJHmcKlGL2Rl9Vwbb3Q0F2rFXRtcqGnzkby4aHczynRTKRmc6zIEpMHgZKCHFLbcLNf0EALLgy0YYPDgSBsQUNAow4FDB5xTYTE+YTMZJ8jQoa0bcrilKERu0/rLkX1lHUojmsGidqgUyyaPill5NklO2d37Bu7YDfs519rhUmNuJcueb2n5Z46cTS19fBflU1eYO+36p89C+zgfdKrSb17CRPfwujpOwfHd1sfSvnwNTtjt9T/KbtiX+kGTufe+LzJSyfI0Acofz73IKjMFpV3xbnNudzCYvoVo5jGKxToveexgFVsoEznXuA7rvFDeiuVpG2p3kuVhlLNS/SZ1PoFS4WkOA==</latexit> L✓1 = LC1 + DKL(p2||p1) K=2のとき
  10. 10. 複数モデルへの拡張 n任意の数のStudentに拡張可能 • K個のネットワーク • 第2項はKL距離の平均 nアンサンブル学習との違い • アンサンブル学習は多様性を増やすことが目的 • DMLは互いに似るように学習 • 多様性を減らすためゴールが違う <latexit sha1_base64="R+5ShezLiJYlklQK0mQjlo9XWME=">AAAC03ichVFNSxxBEK0dNTGrxo1eArk0WRTFZOkJoiIIEj0I68GPrAqOGWbGXh2m58OZ3oVN25eQU8CzB08GQgj5GbnkB+jBnyA5KgiSQ2pmB0TFpJruevW6XnV1tx1xNxGUnhW0js6uR4+7nxR7evue9peeDawlYSN2WM0JeRhv2FbCuBuwmnAFZxtRzCzf5mzd9ubS/fUmixM3DN6JVsS2fGsncOuuYwmkzFKwaEpD7DJhmZ4iMwTDuRSNEaMeWw6RupLV17oiRtLwTckxRX9FODECtkc89V5W1bwpq4sjhh3y7aTlo5ORyRXZ3ye3OU+NKrNUphWaGbkP9ByUIbelsPQNDNiGEBxogA8MAhCIOViQ4NgEHShEyG2BRC5G5Gb7DBQUUdvALIYZFrIerjsYbeZsgHFaM8nUDp7CccaoJDBET+l3ekF/0R/0nP55sJbMaqS9tNDbbS2LzP7Pz1ev/qvy0QvYvVH9s2cBdZjKenWx9yhj0ls4bX3zw+HF6vTKkBymX+hv7P+YntGfeIOgeel8XWYrR1DED9DvPvd9sPamok9UxpfHy7Nv86/ohhfwEkbwvSdhFhZgCWp47glcFzoKnVpNk9pH7VM7VSvkmkG4ZdrBX2KhsoQ=</latexit> L✓k = LCk + 1 K 1 K X l=1,l6=k DKL(pl||pk)
  11. 11. 実験設定 nデータセット • CIFAR100 [Alex+, NeurIPS2017] • クラス数100 • 32 32のカラー画像 • Train:50,000枚 • val:10,000枚 • Market-1501 [Zheng+, CVPR2021] • 1,501のIDで32,668枚 • Train:751ID • Test:750ID nOptimizer • Adam n評価指標 • Acc • mAP nモデルとパラメータ数 • CIFAR100:4つのモデルから2つを 選ぶ組み合わせ • Market-1501:MobileNet2つ
  12. 12. DMLの効果 nCIFAR-100での実験結果 • 個別に訓練した場合より良い精度 • パラメータ数の少ないモデルの方が良い精度 CIFAR100データセットでのTop-1 accuracy(%)
  13. 13. DMLの効果 nCIFAR-100での実験結果 • 個別に訓練した場合より良い精度 • パラメータ数の少ないモデルの方が良い精度 CIFAR100データセットでのTop-1 accuracy(%)
  14. 14. DMLの効果 nCIFAR-100での実験結果 • 個別に訓練した場合より良い精度 • パラメータ数の少ないモデルの方が良い精度 CIFAR100データセットでのTop-1 accuracy(%)
  15. 15. DMLの効果 nMarket-1501での実験結果 • 個別に訓練した場合より良い精度
  16. 16. DMLの効果 nMarket-1501での実験結果 • 個別に訓練した場合より良い精度
  17. 17. 一般的な蒸留とDMLの比較 n一般的な蒸留 • 2つのモデルをTeacher,student • TeacherをStudentの学習に利用 nIndependent Learning, Distillation, DMLの3つで比較 蒸留との比較 CIFAR-100(Top-1 accuracy(%)),Market-1501(mAP(%))
  18. 18. 一般的な蒸留とDMLの比較 n一般的な蒸留 • 2つのモデルをTeacher,student • TeacherをStudentの学習に利用 nIndependent Learning, Distillation, DMLの3つで比較 蒸留との比較 CIFAR-100(Top-1 accuracy(%)),Market-1501(mAP(%))
  19. 19. モデル数・損失計算の影響 n平均精度 • アンサンブルで推論 • モデル数が多い方が良い精度 n損失関数 • 5つのMobileNetを使用 • DML_e : 事後確率をまとめて損失計算
  20. 20. モデル数・損失計算の影響 n平均精度 • アンサンブルで推論 • モデル数が多い方が良い精度 n損失関数 • 5つのMobileNetを使用 • DML_e : 事後確率をまとめて損失計算
  21. 21. モデル数・損失計算の影響 n平均精度 • アンサンブルで推論 • モデル数が多い方が良い精度 n損失関数 • 5つのMobileNetを使用 • DML_e : 事後確率をまとめて損失計算
  22. 22. まとめ nDeep Mutual Learning (DML)アプローチ • Teacherネットワークが不要な蒸留方法 • KL距離を用いて訓練し生徒ネットワークが相互に学習 • 一般的な蒸留方法をより良い精度 n複数モデルへの適応 • モデル数が多いほど精度が高い • 生徒ネットワークごとに損失計算

×