An advantage of ResNets is that the gradient can flow directly through the identity function from later layers to the earlier layers. However, the identity function and the output of H` are combined by summation, which may impede the information flow in the network.
そもそもResNetの背景には深層における勾配消失問題があります。
この対策としてidentity functionが導入されResNetができたのですがDenseNetでは
それはメリットである一方、モデルにおける情報フローを阻害していると考えたようです。
言われてみるとそうかも知れませんね。そこで考えたれた
ResNetの特徴Residul blockに対するDense blockです。見ての通り前工程の出力を全て入力に使っています。
で、使われたモデルはこんな感じで
ResNet含め、その他のアルゴリズムとの比較結果がこれ
青の数値がDenseNetです。エラーが小さいのでいい精度であることがわかります。
長くなりましたがいろんなCNNと目的関数の凸性を見てみました。
ちなみにこれら全てkerasにあります。
– Applications
便利な時代ですね。。。。そしてこれらも勾配法使われていると思うとエグい、、、
でわ。
こんにちは。
久しぶりの投稿になりました。本日の内容はタイトル通りです。
線形回帰とかの目的関数って最適解を持ちましたね。
しかし、ニューラルネットワークはそうはいかないと言いました。
つまり、目的関数が凸関数ではない可能性が非常に高いんですね。
目的関数や凸関数、勾配法がわからない方は次の記事をみてください。
CNNの目的関数を可視化した論文があります。
その図をお借りして実際にどんな感じか見てみましょう。
skip(residual) connectionとはResNetの特徴であるResidul blockの恒等写像のことです。
ちなみにこれは余談ですが、ResNetとXGBって考え方似てると思いませんか?
見ての通り左は明らかに凸ではないですね、右もマシではありそうですがサドルポイントが見られます。
別の図も見てみましょう。次のはCIFAR-10 datasetの学習の際のプロットになります。
すごくないですか?何がってskip connectionのおかげで少し凸っぽくなってます。
VGGとDenseNetは初見なので調べてみました。というかいろんなモデル多過ぎ、、、
この際なのでニューラルネットワークのモデルをちょろっとみてみましょう。
そもそも現在流行りのCNNの基盤となったアルゴリズムはLeNet-5というものです。
開発者はフランス人のYann LeCun’s Home Pageです。
僕も最近知ったんですがこれ何がえぐいかって1998年に発表されているんです。
1998年ですよ?、どんな時代かググってみました。
パソコンの歴史/年代流行によると
1. Windows98発売
2. アップルが初代iMacを発売
だそうです。まだちょっとすごさがわからないので調べてみると
– Windows 98 – Virtual x86
– What’s iMac – AirMac
だそうです。言いたいことは今のスマホの足元に到底及ばないスペックです。
まあこの話は置いておいて、VGGとDensenetは僕は初見だったので調べてみました。
まずはVGGです。下のアーキテクチャは論文のものです。
2014年のアルゴリズムで当時はかなり深いとされていたようです。
それほど喋ることが見当たらないのですが強いていうなら
このモデルのアウトプットベクトルが1000なので1000種類の画像を識別できます。
Fine Tuningすればあなたの好みの画像を分類できます。例えば、好みの女優とか?
なんでモデルを最初から作らずFine Tuningするのか?
という問に対する答えは、学習量が減るからのようです。
具体的には元々のモデル上層部の重みは学習データを変えてもそれほど変化しないようなので
そのまま使い下層部つまり出力層に近い重みを更新するようです。
入力が人からキリンとかになったらどうかと思いますがね、、、
続きまして、DenseNetです。
これはResNetの改良版と言えるでしょう。改良版というのは次のようにResNetを問題視したからです。