ここまで読んでもう一度上図を見るとわかりやすいと思います。上図においてグループノームで1グループのサイズを4に設定すれば、レイヤーノームと同じで逆に1に設定すればインスタンスノームと同じことになります。どれを使えばいいんだ。実はいずれの方法もバッチノームの性能を越えることができていないのですね。バッチサイズが小さい時にしかバッチノームよりも良い効果を発揮しない、ということです。それぞれ実用で使われている例がありますのでそちらを紹介してこの節を締めたいと思います。画像認識系(に良いらしい。(GNの原論文))4.(オプション)なんでバッチノーマライゼーションって強いの?ニューラルネットにおける勾配降下法やバックプロパゲーションなどをある程度理解していることを前提に書きましたので、よくわからなければ読み飛ばしてもらって構いません。ここで言っていることは簡単にまとめると、以下の2点だけです。バッチノームがうまくいく理由はまだわかっていない。バッチノームのおかげでニューラルネットにとってタスクが簡単になっているのだろう。ここからは上記2点についてもう少しだけ補足します。Shift)の解消が原論文では言われています。ニューラルネットの層を過ぎる毎にその層のアウトプットの分布が変わるよ、ということ。ニューラルネットの中を通るデータの分布が頻繁に変わってしまっては学習しづらいよね、という問題。間違っていればコメントお願いします。)バッチノームはこのICSを解決しているため精度向上に寄与している、という主張が原論文によってされているわけです。実際はこの主張は間違っているということがわかっています。バッチノームが強いのか。その理由は実はまだわかっていません。Goodfellow氏(GAN作った人!)によってされています。活性化関数を持たない単純なニューラルネットを考えます。回目のイテレーションを表しています。イテレーションの定義はフィードフォワードとバックプロパゲーションの1セットです。)に対して最適化されています。使って予測値を出します。ある重みを更新する時には、本来その前の層の重みたちがどう更新されるのかということも考慮しなければ最適な値は求められないのですが、一階微分だけを用いている勾配降下法ではこのような複雑な関係性まで考慮できません。この複雑な関係性の救世主がバッチノームです。バッチノームをいれてみましょう。バッチノームにより、m層への入力値は正規化されています。m層以前の層による値がどうであろうと一旦バッチノームで調整されてm層へと入力されるのです。このことにより大量の重みたちによる複雑な関係性を考慮しなくていいため、ニューラルネットが学習しやすくなり精度や速度があがる、ということです。Goodfellow氏によるバッチノームがうまくいく理由です。今までなんとなくバッチノームを使っていたのですが、今回調べたおかげで効果や仲間たちがわかりました。意義なども今までより深く理解することができたのでそちらも需要があればアウトプットしていきたいと思っていますのでよろしくお願いします。もらえるとこれからの励みになります!よろしくお願いします!(間違いなどもございましたら、ご指摘よろしくお願いします。Normalizationの概要とその派生たちを簡単に理解できた。Ng氏によるわかりやすいBN解説動画。数式とともに解説してくれている。BNがなぜ必要でなぜ有効なのかというのをわかりやすく教えてくれている。BNの派生たちを教えてくれている。バッチノームが内部共変量シフトを解決しているわけではないという旨が書かれている。interactionを緩和させていることが書かれている。requestStockLike26@omiita東工大情報系修士1年。深層学習の研究しています。アメリカの大学で1年間コンピュータサイエンス勉強してきました。安全にデータ分析・AI構築・運用するサポートを行っています。upLoginユーザーは見つかりませんでした。