ニューラルネットワークのmaxoutとは何ですか?


42

ニューラルネットワークのmaxoutユニットが何をするのか説明できますか?彼らはどのように機能し、従来のユニットとどのように違いますか?

Goodfellow らによる 2013年の「Maxout Network」ペーパーを読みました(ヨシュアベンジオ教授のグループから)、しかし、私はそれをよく理解していません。

回答:


26

maxoutレイヤーは、アクティベーション関数が入力の最大値であるレイヤーです。論文で述べたように、2つのmaxoutユニットを持つMLPでさえ、どんな関数にも近似できます。maxoutのパフォーマンスが優れている理由についてはいくつかの理由がありますが、主な理由は次のとおりです。

ドロップアウトは、モデルの平均化の形と考えることができます。モデルの平均化では、反復ごとにランダムなサブネットワークが訓練され、最終的にはそのような異なるランダムなネットワークの重みが平均化されます。重みを明示的に平均化できないため、近似が使用されます。この近似は 、maxoutの線形ネットワークの場合に正確です
。maxoutレイヤーへの入力はドロップされません。したがって、データポイントの最大値を出力する入力のIDは変更されません。したがって、ドロップアウトはMLPの線形部分でのみ発生しますが、maxoutレイヤーのために任意の関数を近似できます。
ドロップアウトは線形部分でのみ発生するため、平均化近似が線形ネットワークに対して正確であるため、これによりモデルの平均化がより効率的になると推測されます。

それらのコードはここから入手できます


1
ありがとう!私は今maxoutを行う方法を理解しています。いくつか質問があります。(1)したがって、「maxoutでは、入力はmaxoutレイヤーにドロップされません。」と書いた内容に従って、maxoutの前にドロップアウトを行いません。(2)MLPの線形部分とはどういう意味ですか?「このように、ドロップアウトはMLPの線形部分でのみ発生しますが、maxout層のために関数を近似することができます。」(3)なぜ平均化が優れているのですか?「ドロップアウトは線形部分でのみ発生するため、平均化近似は線形ネットワークに対して正確であるため、これによりモデルの平均化がより効率的になると推測されます。」
RockTheStar 14

2
(1)だから私が理解していることから、maxout層ノードはおよびです。したがって、maxoutレイヤーへの入力ノード自体は、より深いレイヤーのノードの線形結合です。ドロップアウトは、maxoutレイヤーまたはzレイヤーに対しては行われませんが、それより深いレイヤーに対しては行われます。(2)線形部分とは、線形活性化機能のみを備えた隠れ層を意味します。(3)線形ネットワークの場合の平均化の改善、ドロップアウトで使用される平均化スキームは正確です。一般に、NNは線形ではありませんが、maxoutを使用すると、NNのほとんどが線形になり、線形部分でのみドロップアウトが行われます。max(zi)zi=kxk
オプト

ありがとう!(3)「正確」とはどういう意味で、NNがmaxoutで線形になるのはなぜですか?手伝ってくれてありがとうございます。
RockTheStar

1
Nah maxoutはネットワークアーキテクチャです。ドロップアウトは正則化手法です
オプトイン

1
-1これは、Goodfellowのmaxoutアクティベーション関数の正しい定義ではありません。@ toussaint-louvertureによる答えはそれを正しくします。stats.stackexchange.com/a/298705/20587
Trisoloriansunscreen

15

maxoutユニットは、最大k個の区分的線形凸関数を学習できます1

したがって、kが2の場合、ReLU、absolute ReLU、leaky ReLUなどを実装できます。または、新しい関数の実装を学習できます。kを10とすると、凸関数を近似的に学習することさえできます。

kが2の場合:

Maxoutニューロンは関数計算します。ReLUとLeaky ReLUはどちらもこの形式の特殊なケースです(たとえば、ReLUの場合、)。したがって、MaxoutニューロンはReLUユニットのすべての利点を享受し(動作の線形領域、飽和なし)、その欠点はありません(ReLUが消滅する)。max(w1Tx+b1,w2Tx+b2)w1,b1=0

ただし、ReLUニューロンとは異なり、すべての単一ニューロンのパラメーター数が2倍になり、パラメーターの総数が多くなります。2

詳細はここで読むことができます:
1. DLブック
2. http://cs231n.github.io/neural-networks-1


すべての重みではなく、バイアスパラメータの数だけを倍にします。
ハンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.