ニューラルネットワークで「自由度」とはどういう意味ですか?


17

Bishopの本「Pattern Classification and Machine Learning」では、ニューラルネットワークのコンテキストでの正則化の手法について説明しています。ただし、トレーニングプロセス中に、モデルの複雑度とともに自由度の数が増加することを説明する段落は理解できません。関連する引用は次のとおりです。

ネットワークの効果的な複雑さを制御する方法としての正規化の代替は、早期停止の手順です。非線形ネットワークモデルのトレーニングは、トレーニングデータのセットに関して定義されたエラー関数の反復的な削減に対応します。共役勾配など、ネットワークトレーニングに使用される最適化アルゴリズムの多くでは、エラーは反復インデックスの増加しない関数です。ただし、一般に検証セットと呼ばれる独立したデータに関して測定されたエラーは、多くの場合、最初は減少し、その後ネットワークが過剰になり始めると増加します。したがって、図5.12に示すように、検証データセットに関して最小のエラーのポイントでトレーニングを停止して、良好な一般化パフォーマンスを持つネットワークを取得できます。この場合のネットワークの振る舞いは、ネットワーク内の有効な自由度の観点から定性的に説明されることがあります。モデルの複雑さ。

また、トレーニングの過程でパラメーターの数が増加することも示しています。「パラメータ」とは、ネットワークの隠されたユニットによって制御される重みの数を指すと仮定していました。おそらく、正則化プロセスによって重みが大きさで増加することは防がれますが、数は変わらないので、私は間違っています。かなりの数の隠れユニットを見つけるプロセスを指しているのでしょうか?

ニューラルネットワークの自由度とは何ですか?トレーニング中にどのパラメーターが増加しますか?


1
命名法。パラメータは単一の重みです。パラメーターの数が増えると、「ニューロン」または「ニューロン間の接続」の数が増えます。これは、トポロジーが一定でないことを意味します。
EngrStudent-モニカの復元2013年

ありがとう!しかし、なぜトレーニングが重みの数を増やすのですか?
ロバートスミス

実際、トレーニング中にニューラルネットワークの構造を操作するトレーニングアルゴリズムがあります(カスケード相関、NEATなど)。彼らは通常、常に重みの数を増やします。しかし、ビショップは彼の本でそれを言及しているとは思わない。
アルファ

@alfa面白い。私はまだ本全体を読んでいませんので、その種のアルゴリズムについて言及しているかどうかはわかりません。しかし、本のこのセクションでそれらを参照しているとは思わない。
ロバートスミス

回答:


12

これがビショップの意味だと思う:

ニューラルネットを、入力を出力にマップする関数と考えると、小さいランダムな重みでニューラルネットを最初に初期化すると、ニューラルネットは線形関数によく似ています。シグモイド活性化関数はゼロ付近で線形に近く(テイラー展開を行う)、小さな入力重みにより、各隠れユニットの有効領域がゼロ付近でわずかな間隔になることが保証されます。あなたが持っている層は、線形関数に非常によく似ています。したがって、ニューラルネットワークを少数の自由度(入力の次元に等しい)としてヒューリスティックに記述することができます。ニューラルネットをトレーニングすると、重みが任意に大きくなり、ニューラルネットが任意の非線形関数をより適切に近似できるようになります。トレーニングが進むにつれて、


ご回答ありがとうございます。本の関連部分を引用として追加したので、コンテキストを確認できます。しかし、それがあなたの提案を確認するかどうかはわかりません。
ロバートスミス

はい、それは私がビショップが意味したと思ったことを確認します。
マーク・シヴァーズ

あなたの答えを数回読んで、トレーニングが進行してモデルがオーバーフィットし始めると、モデルが近似できる関数の数は、トレーニングデータから非常にうまくポイントを近似しますが、その予測は実際には減少すると思いますtは、他のポイントまたは同様のデータセットに合わせて一般化できないため、適切です。
ロバートスミス

4

「定性的に説明されることもある」というフレーズは、彼が単純な線形回帰に類似しているだけであることを示唆しています。線形回帰モデルに項を追加するたびに、モデルに自由度を追加し、誤差項に関連する自由度から自由度を引きます。モデルに十分な独立項を入れると、一連の乱数から履歴を完全に「予測」できますが、将来を完全に予測することはできません。


3

複雑な統計学習モデルの自由度の問題は、1998年のJASAで議論されています。基本的に、アイデアは、ニューラルネットワークなどの複雑なモデルの出力が、入力の単位の変化にどの程度応答するかを確認することです。線形モデルの場合、関係は驚くほど1対1であるため、複雑度(回帰変数の数)のモデルの自由度はpp。より複雑なモデル(回帰ツリーと見なされます)の場合、CARTモデルは分割する適切な変数と適切な分割ポイントを探すため、余分なノードを追加する機能により柔軟性が向上します。これは、リグレッサーを線形モデルに追加する以上のことであり、Yeは回帰ツリーがノードあたり約3.5-4 dfsを消費することを発見しました。ニューラルネットワークはその中間のどこかにあるかもしれませんが、自由度は確かにユニットの数よりもはるかに大きく、重みの数よりも大きい可能性があります。

同様のことがHTF Secによって提供されたと思います7.6、彼らは驚くべきことにYe(1998)について言及していない。しかし、彼らはビショップを特別なケースと呼んでいます。


1
ありがとう。それは正しいように思えますが、ニューラルネットワークのトレーニングとの関係はどうですか?96ページの「統計的学習の要素」(docs.google.com/…)で、自由度と共分散に関連する式を見つけました。さらにトレーニングするとエラー関数が減少し、結果として共分散が増加し、自由度。ただし、その方程式(本の3.60)が成り立つ理由はわかりません。
ロバートスミス

ところで、それはまた、Yeの論文で述べられた(一般化された)自由度の定義とは少し異なるように思われます。
ロバートスミス

1
その共分散は微分の大まかなバージョンと考えることができると思います...または逆の場合もあります:微分は、ステップのサイズがゼロになるときの限界として定義され、外乱の分散がゼロになるときのその共分散。方程式(3.60)は保持する必要はありません、それは定義なので、保持するものは何もありません。何ホールドすることは、彼らが次のページで簡単に言及することを線形モデルのためのDFSの標準的な定義と同値であり、それは単に線形モデルの線形代数です。Ye(1998)もそれについて語らなければなりません。
StasK

3

彼は「ネットワークの効果的な複雑さ」と言います。彼は実際にネットワークの重みの大きさについて言及しています。これは最小記述長原理に関して理解できます。しかし、それに入る前に、直感は、重みが大きくなればなるほど、ネットワークが適合できる機能の種類が増えるため、自由度が高くなる(そして効果的な複雑さが増す)と​​いうことです。

その章で、彼は正則化について話している。正則化は、重みをできるだけ小さくすることを要求することにより、過剰適合のリスクを効果的に減らす技術である。一般に、

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
。ここで、はアルゴリズムを特徴付けるすべてのパラメーターを含むベクトルで、は正規化定数です。この式で対数尤度を最大化すると、ML推定値が得られます。ここで、正規化子として機能し、分類器の複雑さを制御することにより過剰適合を回避するのに役立つパラメーターに事前分布を追加します。具体的には、パラメータがガウス分布であると仮定するのが自然な場合、wZD(β)

p(w)=exp(α||w||22)/ZW(α)
MAPとして定義されます。ベイズの定理を使用して、argmaxwp(w|D)

p(w|D)=p(D|w)p(w)
上記の式を置き換えて、対数を取ると、(は依存しません上の)Zw

argminwnβ2[tny(xn,w)]2+α2iwi2

より一般的には、MAPの推定値は次と同等であることがわかっています。

wMAP=argminwlog2P(D|w)log2(w)

式の右側は、分類子を記述するのに必要なビット数として解釈できます。最初の項は、トレーニングデータでネットワークが行うエラーをコード化するために必要なビット数を表します。2番目は、重みのコード化に必要なビット数を表します。

したがって、MAP推定値は、可能な限り最もコンパクトな表現を選択することと同等です。つまり、トレーニングデータを可能な限り忠実に考慮し、最小ビット数で表現できる重みのセットを探します。

これはバイアス/分散問題の別の形式であることに注意してください。重みが大きいほど、最初の項が低くなります。これは、ネットワークがトレーニングデータによりよく適合する(オーバーフィット)ためです。しかし同時に、重みの複雑さが増します。重みが小さいほど、ネットワークの複雑さは小さくなりますが、エラー項(バイアス)は高くなります。ネットワークのエラーをコーディングするために必要なビット数が多いほど。

これが彼が何を指しているのかについての十分な考えをあなたに与えることを願っています。

PS進行中の議論にもっと長い議論を追加する多分私はあなたを誤解しています。最後に自分自身を説明してみてください。

重み平均の事前分布は、近似する関数についての仮定を表します。事前分布(つまり重み)が大きいほど、ガウス分布は広くなります。つまり、ネットワークに適合すると考えられる構成が多くなります。

回帰のケースを考えてみましょう(私が言及した論文のように)。低い一般化エラーは、ネットワークが実際の値に非常に近い見えないサンプルをマッピングできることを意味します。直線を当てはめている場合は、1次多項式で十分です(複雑度が低い)。これで、データを高次の多項式で近似することもできます(高次の係数をゼロとは異なるようにします)。より複雑な曲線のために振動を許容するため、ネットワークの複雑さはより高くなります。それにもかかわらず、高次の項に対応する係数が十分に低い場合、ネットワークは直線を非常によく近似できるため、一般化が良好になります。

したがって、MDLの重要なポイントは、一般化エラーを最小限に抑えることができる限り、重みをできるだけ小さくすることです。

最後に、「モデルがオーバーフィットし始めると、他の機能をモデル化する能力が増加するという議論がまだ面倒です。オーバーフィットするモデルは新しいものに適用するために一般化できないため、それはまったく逆だと思います。情報。"。はい、他のより複雑な関数をモデル化できますが、手元の関数を適切にモデル化できません。本の図5.12では、重量のサイズが大きくなるにつれて、誤差が最初に減少します(バイアスの減少)。再び増加し始める特定の時点まで(一般化の減少、過剰適合)。


1
ありがとう。これはMarcのアイデアに似ていますが、モデルがオーバーフィットし始めると、他の関数をモデル化する能力が向上するという議論がいまだに面倒です。オーバーフィットするモデルは一般化して新しい情報に適用できないため、これはまったく逆だと思います。
ロバートスミス

1
ロバート、私はそれが一般化エラー対ネットワークの複雑さ、つまりより複雑な機能をモデル化する能力の意味を誤解していると信じています。cbcl.mit.edu/projects/cbcl/publications/ps/…のように、さまざまな用語を説明する多くの論文があります。
jpmuc

「複雑さ」という用語を使用しても混乱はないと思います。クレイジーな値を持つ重みがたくさんあると、モデルが非常に複雑になり、結果のプロットですぐにわかるからです。一方、幅広い機能セットを管理できるようにするには、過剰適合を回避することで取得できるデータから十分に一般化できるモデルが必要です。
ロバートスミス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.