正規化層・プーリング層・スキップ結合:学習を助ける部品
ネットワークを深くしても学習がうまく進むように支える3つの部品を学びます。基礎層では、数値の大きさをそろえる正規化、情報をまとめて縮めるプーリング、層を飛び越える近道がそれぞれ何をするかをつかみます。深掘り層では、バッチ・レイヤー・グループ・インスタンスの各正規化、最大値・平均値・グローバルアベレージの各プーリングと不変性の獲得、そして ResNet のスキップ結合まで説明できるようになります。
ねらい
このレッスンでは、ネットワークを深く重ねても学習がうまく進むように支える、3つの部品を学びます。
基礎
正規化・プーリング・スキップ結合が、それぞれ何をするものかをつかみます。
1. 正規化は、数値の大きさをそろえます
正規化(せいきか)とは、層から層へ渡す数値の大きさをそろえてから次に渡すしくみです。英語では normalization(ノーマライゼーション)と表記します。
数値が大きすぎたり小さすぎたりばらついていると、学習は不安定になります。そこで、渡す前に数値の平均と広がりをそろえ、扱いやすい大きさに整えます。式で書くと、そろえた値 = (もとの値 − 平均) ÷ 広がりの大きさ となります。読み下すと、まず平均を引いて中心を0に寄せ、次に広がりで割って散らばりの大きさをそろえる、という意味です。広がりの大きさをどうはかるかは、数理のレッスンで学ぶ標準偏差にあたります。整えてから渡すことで、深いネットワークでも学習が進みやすくなります。
2. プーリングは、情報をまとめて縮めます
プーリング(pooling)とは、となり合ういくつかの数値を1つにまとめて、特徴マップを小さく縮める操作です。前のレッスンで、畳み込みが作る特徴マップを学びました。プーリングは、その特徴マップを大事な情報を残しながら小さくします。
写真を思いうかべてください。犬が写っているかを知りたいだけなら、1点ずつの細かい違いまでは要りません。少し粗くしても、「このあたりに犬らしい特徴がある」と分かれば十分です。プーリングは、こうして情報を粗くまとめ、扱う数を減らします。
3. スキップ結合は、層を飛び越える近道です
スキップ結合とは、いくつかの層を飛び越えて、前の層の出力を後ろの層へ直接届ける近道のことです。英語では skip connection(スキップコネクション)と表記します。
ふつうのネットワークは、層を1つずつ順に通ります。層を深くしすぎると、最初のほうの情報が途中で薄れ、学習の信号もうまく伝わらなくなります。スキップ結合は、そこに近道を作り、情報と信号がまっすぐ奥まで届くようにします。この近道を取り入れた代表的なモデルが ResNet(レスネット)です。ResNet の登場で、それまで難しかった、とても深いネットワークの学習ができるようになりました。
ポイント
正規化は数値の大きさをそろえ、プーリングは情報をまとめて縮め、スキップ結合は層を飛び越える近道を作ります。どれも、深いネットワークの学習を安定させるための部品です。
ここまでの要点
- 正規化は、層から層へ渡す数値の大きさをそろえます。
- プーリングは、となり合う数値をまとめて、特徴マップを小さく縮めます。
- スキップ結合は、層を飛び越える近道で、代表例が ResNet です。
まずは全体像をつかめれば十分という人は、ここで区切って大丈夫です。「数値をそろえ、情報を縮め、近道を作る」の3つで、深い学習を助けていると押さえられていれば、この先の深掘りに進む土台はできています。
発展
ここからは、正規化の4つのやり方、プーリングの種類と不変性、スキップ結合が効く理由を順に見ます。
4. 正規化の4つのやり方
正規化にはいくつかのやり方があり、どの範囲の数値をまとめてそろえるかで区別されます。代表的な4つを見ます。
1つ目は、バッチ正規化です。英語では batch normalization(バッチ・ノーマライゼーション)と表記します。学習では、データを何枚かまとめた束で処理します。この束をバッチといいます。バッチ正規化は、束の中の同じ位置の数値を集めて、その平均と広がりをそろえます。学習を速く安定させる効果が大きく、画像のモデルで広く使われます。ただし束の枚数が少ないと、そろえ方が不安定になるという弱点があります。
2つ目は、レイヤー正規化です。英語では layer normalization(レイヤー・ノーマライゼーション)と表記します。バッチ正規化が束をまたいで数値を集めたのに対し、レイヤー正規化は、データ1つの中だけで、その層の数値をそろえます。束の枚数に左右されないため、系列を扱うモデルや、後のレッスンで学ぶ Transformer(トランスフォーマー)で標準的に使われます。
3つ目は、インスタンス正規化です。英語では instance normalization(インスタンス・ノーマライゼーション)と表記します。データ1つの中で、さらに特徴の重なり1枚ごとに数値をそろえます。画像の作風を変える処理などで使われます。
4つ目は、グループ正規化です。英語では group normalization(グループ・ノーマライゼーション)と表記します。特徴の重なりをいくつかのグループに分け、グループごとにそろえます。バッチ正規化が苦手だった、束の枚数が少ない場面でも安定して働きます。
これら4つは、そろえる範囲がバッチの方向なのか、データ1つの中なのか、その中のどの単位までなのか、という違いで整理できます。目的やデータに合わせて使い分けます。
理解の確認
正規化は、どの範囲の数値をまとめてそろえるかで分かれます。バッチ正規化は束をまたいで、レイヤー正規化はデータ1つの中で、インスタンス正規化は特徴の重なり1枚ごとに、グループ正規化は重なりのグループごとにそろえます。束の枚数に左右されにくいのはレイヤー正規化とグループ正規化です。
5. プーリングの種類と、不変性の獲得
プーリングにも、まとめ方の違うやり方があります。
最大値プーリングは、まとめる範囲の中でいちばん大きい値だけを残します。特徴が最も強く出た点を選ぶので、その特徴があるかないかをはっきりとらえます。画像認識で広く使われます。
平均値プーリングは、まとめる範囲の値の平均をとります。範囲全体のならしをとるので、なめらかにまとまります。
グローバルアベレージプーリング (GAP) は、ジーエーピーと読み、英語では global average pooling(グローバル・アベレージ・プーリング)と表記します。これは、特徴マップ1枚の全体をまとめて、たった1つの平均値にする操作です。ネットワークの終わりのほうで、特徴マップをまとめて分類につなぐときに使われます。全体を1つにまとめるため、覚えるべき重みを持たず、過学習を抑える効果もあります。
プーリングには、大切な働きがあります。不変性の獲得です。不変性とは、入力が少しずれたり動いたりしても、結果が変わりにくい性質のことです。プーリングは、となり合う点をまとめて粗くするので、特徴の位置が少しずれても、まとめた後の結果はほとんど変わりません。たとえば犬の耳が数点ぶん右にずれても、まとめた特徴は同じになります。こうして位置のずれに強くなることを不変性の獲得といいます。
ポイント
最大値プーリングは最も強い値を残し、平均値プーリングは平均を残します。プーリングは位置のずれに強くなる不変性の獲得をもたらします。
理解の確認
最大値プーリングはいちばん大きい値を残し、平均値プーリングは平均を残します。グローバルアベレージプーリング (GAP) は特徴マップ全体を1つの平均値にまとめます。プーリングは、位置が少しずれても結果が変わりにくい不変性の獲得をもたらします。
6. スキップ結合と ResNet が、深い学習を可能にした理由
深いネットワークには、大きな課題がありました。層を深くするほど、学習の信号が奥から手前へ戻る途中で弱まり、手前の層がうまく学べなくなることです。学習の信号が弱まって消えていく問題は、誤差逆伝播法のレッスンで勾配消失問題として扱いました。ここでは、その課題をスキップ結合がどうやわらげるかを見ます。
ResNet が取り入れたスキップ結合は、いくつかの層を飛び越えて、入力をそのまま先の出力に足し合わせます。飛び越える経路があるおかげで、学習の信号は、途中の層で弱まっても、近道を通ってまっすぐ手前まで戻れます。だから、とても深いネットワークでも、手前の層まで学習が届きます。
もう1つの見方もあります。層に「入力からの変化ぶんだけ」を学ばせる、という見方です。スキップ結合で入力がそのまま先へ渡るので、途中の層は、入力を作り直す必要がなく、入力に加える小さな変化だけを学べばよくなります。学ぶことがやさしくなるため、層を深くしても性能が下がりにくくなります。ResNet は、この考え方で、それまでよりずっと深いネットワークの学習に成功しました。
理解の確認
深いネットワークでは、学習の信号が奥から手前へ戻る途中で弱まる課題がありました。ResNet のスキップ結合は、層を飛び越えて入力を先へ足すことで、信号がまっすぐ手前へ戻る近道を作ります。層は入力に加える変化だけを学べばよくなり、とても深い学習が可能になりました。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。