【#19 論文解説】Deep Residual Networks
こんにちは,ohashiです.
今回は残差学習(ResNet)についてご紹介します.
画像認識の基礎となるモデルに興味がある方はぜひ!
目的
こんな人向け
- 社内で扱ったことのない分野の技術調査を始めたい.
- ゼミでの論文紹介の前に論文がどんな技術か把握したい.
- githubのコードを触る前に論文の要点を把握したい.
- そもそも論文を読むことが苦手.
こんな人向けではない
- 論文内の数式を完璧に追って理解したい.(要は何がしたいのかの説明を優先します.)
- 著者または他者実装の追試結果,実装ノウハウを知りたい.(githubをご参照下さい.)
論文
今回は,画像認識の基盤技術となるResidual Networksについてご紹介します.
Deep Residual Learning for Image Recognition [arXiv, 2015]
Authors: Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
Publication: arXiv:1512.03385v1 [cs.CV]
できるようになったこと
残差学習による100~1,000層程度のモデルの学習
今回の研究で最も大きな貢献は,残差学習により100~1,000層のモデルを学習可能にした点です.これにより非常に大きなモデルを学習できるようになり,以降の巨大なモデルの発展に寄与しています.
まず,畳み込み層により変換された特徴マップを入力と見たときに,入力にさらに畳み込みをかける層と,入力をそのまま後段の特徴マップに要素和で加算するIdentity mapping層の2つを用意します.これを残差ブロックとして,複数積み重ねて構成されるのがResidual Networksです.従来は,畳み込み層を通るたびに,新たな特徴マップに変換していたのに対して,残差ブロックでは,前段で計算された特徴マップが,与えられたタスクに対して,十分な特徴が獲得できていなければ,その差分だけ学習するように設計されています.反対に,十分な特徴がすでに抽出されていれば,残差の学習がゼロとなるように学習されます.これにより,個々の残差ブロックが行うタスクを非常に簡単にすることでニューラルネットワーク全体のタスクの難易度を大きく下げたため,巨大なモデルを学習することが可能となりました.
まだできないこと
短時間による学習の最適化
論文内で今後の課題として述べられていますが,ResNetは学習にSGDを用いています.さらに,損失関数の値が下がらなくなるまで学習させた後に,学習率を1/10に減衰させる処理を行っています.具体的な数値は述べていませんでしたが,図から確認したところ,15epochごとに学習率を1/10に減衰させているようです.学習によく用いられているAdamやRMSPropで学習しない理由については,論文では述べられていませんでしたが,これについては詳しく調べたいと思います.
所感
今回はDeep Residual Networksについてご紹介しました.非常に重要な論文のため,改めて読んでみましたが,最適化手法の箇所だけ理解できませんでした.最適化手法はAdamだけしか扱えていないため,詳しく理解して,モデルごとに適切な使い分けをできるように心がけます.
ohashi
2019年入社,深層学習を扱う部署に配属.大学院では動画から脈波を抽出する研究に従事.動画像の理解,人間の魅力の解析,人間の自律神経や生体信号に興味関心.深層学習だと自然言語処理の実用化に興味関心.
同じ研究分野の人間が利害問わず協力して研究動向を追って,初学者の方に自分が勉強した教材を利用してもらって,研究のコミュニティが広がると嬉しいですよね.AIはとっつきにくい分野ではないことを知ってほしいです.むしろ社会にも実装され始めている現在は,みんなでAIが今できることとできないことを把握して,知恵を絞って面白いアイデアをどんどん出して実現していく段階だと思います.そういった時代に向けて,情報共有の一助になれば幸いです.
ご連絡はお問い合わせフォームからお願い致します.