機械学習機能を有効に

 

この論文の内容は、いくつかの部分で構成されています。

活性化関数とは何ですか?
利用活性化関数(なぜあなたは、機能を有効にする必要がありますか)?
自然と特性がどのようなもの、活性化機能は何ですか?
どのように右のアプリケーション起動機能を選択するには?
あなたがより多くのいくつかの質問よりも上の非常に明確でない場合は、以下の内容があなたに貴重なものです。

活性化関数とは何ですか?
私たちは、最初に基本的なニューラルネットワークモデルを理解する必要があります。:(人工ニューラルネットワークの基本的な原則を学生が私の別の資料に記載さに慣れていない参照してください)
単一ニューロンモデルは、以下に示します。

このニューロンの入力値、および次の層に渡された入力値としてニューラルネットワーク内の各神経要素ノードのニューロン出力値の受容層、入力層のニューロンノードの位置は、入力属性値に直接通過します層(隠れ層又は出力層)。上位ノードと下位層の入力と出力ノードとの間の関数関係を有する多層ニューラルネットワークでは、この関数は(また、活性化関数としても知られる)活性化関数と呼ばれています。

利用活性化関数(なぜあなたは、機能を有効にする必要がありますか)?
全く励起関数(励起関数をfに実際同等である(x)= x)は、線形関数その場合には、各レイヤの入力ノードは、上位レイヤから出力されない場合、あなたが多くのニューラルネットワークの層を有するかどうかを確認することは容易です、出力は入力、隠れ層及び無かなりの効果の線形結合であり、これは、次いで、近似がネットワークの非常に限られた容量であり、最も原始的なパーセプトロン(パーセプトロンの)です。そのため上記の理由により、我々は深く、ニューラルネットワークのスキル、活性化関数として非線形関数を導入することを決定した(もはや入力の線形結合が、ほぼすべての機能に近づくことができる)さらに強力ではありません。

自然と特性がどのようなもの、活性化機能は何ですか?
初期のニューラルネットワークは、主に、入力層として機能することは容易であり、シグモイド関数又は双曲線正接関数、有界出力を使用します。
Relu機能近年改善された(例えば、漏洩ReLU、P-ReLU、 R-ReLU 等)より多層ニューラル・ネットワーク・アプリケーション。

我々はこれらの活性化関数をまとめ下:

シグモイド関数
は次のようにシグモイドは、一般的にその数学的形式、非線形活性化関数で使用される:
F(Z)= 11 + E-ZF(Z)= \ {FRAC 1 1 + E {} ^ { - Z}。}。
F(Z )=
1 + E
-Z

1

シグモイド画像ジオメトリ次のように:

特徴:
非常に大きな負の数は、出力が0であれば連続実、特に、0と1の間の出力に入力を大切することができ、それは非常に大きな正の数である場合、出力は1である
欠点:
シグモイド機能は少なく、それを使用し、多くが、近年の人々によって使用されてきました。主にその固有の弱点のいくつかの理由。
一つの欠点:勾配は確率は非常に小さい爆発勾配であるニューラルネットワーク及び勾配爆発勾配が消滅の深さに逆パス、その結果、勾配が発生する確率が比較的大きい消えます。以下のように誘導体の初見シグモイド関数、:

我々は、ニューラルネットワークの重みを初期化する場合である[0,1]、[0,1]、[0,1]、後方から前方への数学的逆伝搬アルゴリズムの導出、拡散勾配から見て、各転送間のランダムな値勾配値の層は、特に、多層ニューラルネットワーク場合は、0.25倍に減少すると、その後、非常に小さなスルーゼロに多層勾配近い、すなわち後、現象が勾配消失を生じ、重み値がネットワークに初期化されるとき爆発(∞1、+)勾配を生じる範囲内(1、+∞)の値(1 、+∞)。
ます。http:数学的解析を詳細、資料を参照してください。//neuralnetworksanddeeplearning.com/chap5.html中国語の翻訳:ニューラルネットワークの深さに訓練することは困難である理由
欠点2:シグモイド出力されない場合をゼロ平均(すなわち、ゼロを中心としました)。これは、入力と出力層の上に得られた非神経ゼロ平均信号の層の後に生じるので、これは望ましくありません。結果を生じた:X> 0、F = WTX + BX> 0、\ F = W ^のTx + BX> 0、F = W
T
X + B、次いで求めwの局所勾配が両方とも正であるので、バックプロパゲーションプロセスで正方向に更新され、または両方が負の方向を更新するためにWまたは、とても遅い収束における結合効果の結果があります。あなたは電車にバッチを押すと、問題はまだ約緩和することができますので、もちろん、そのバッチは、異なる信号を得ることができます。それはいくつかの悪い影響を持つことになりますが、そのため、非ゼロは、この問題を意味するが、勾配は、多くのに比べてまだ良い、上記の問題に消えます。
3つの短所:べき乗を含む解析式は、コンピュータは、比較的時間がかかる解決することです。大幅トレーニング時間が長くなりますネットワークの深さの比較的大きなサイズのために。

TANH関数
TANH解決機能:
TANH(X)= EX-E-E-xtanh XEX +(X)= \ {FRAC {E ^ -e ^ {X} - E {X} ^ {X} ^ + E -X-}} {
TANH(X)=
E
X
+ E
-X-

E
Xは
-e
-X-を


TANH関数及びその誘導体イメージ・ジオメトリを以下に示します:

TANHは双曲線正接として読み出さ、それは問題がゼロを中心と出力シグモイド関数ではない解決し、しかし、勾配は、問題の問題や電源操作が残っの(勾配消失)が消失します。

Relu機能
分析関数Relu式:
Relu = MAX(0、X)Relu = MAX(0、X)
Relu = MAX(0、X)

下に示すようにRelu画像機能及びその誘導体:

ReLU関数が最大値は、実際の関数であるかかり、全体の間隔は、このガイド注目されるわけではないが、図に示すように、我々は、サブ勾配を取ることができます。ReLUは簡単ですが、それは近年の重要な成果である、次のような利点があります:
1)の勾配は、問題を解決消失(正の範囲で)
2)非常に高速な計算、入力が0以上であるかどうかを判断するための唯一の必要性
3)収束速度はるかに高速S字状とTANHより

:ReLUは特別な注意を必要とするいくつかの問題がある
1)ReLUのZEROよりも出力が中心の
2)を更新することはできません対応するパラメータで、その結果、アクティブ化されない場合があり、特定のニューロンを意味デッドReLU問題、。この状況が発生につながる可能性があるため主に2つの理由があります:(1)それは非常に不幸な初期化パラメータでは、この比較的まれである(2)学習率はあまりにもトレーニングプロセスのパラメータを更新するために、高すぎるリードが、残念ながら、ネットワークは、この状態になります。溶液は、ザビエルの初期化方法を用いてもよいし、自動調整adagrad学習速度アルゴリズムを使用してのような大きすぎる、または学習のレートセットを回避することです。

しようとする人工ニューラルネットワークの優先度を構築するときにこれらの2つの問題にもかかわらず、ReLUは依然として最も一般的に使用される活性化関数で、推奨されます!

漏洩ReLU関数(Prelu)
関数式:
F(X)= MAX(α-X、X)F(X)= MAX(\アルファX、X)
F(X)= MAX(α-X、X)

Relu画像漏洩機能およびその誘導体、次のように:
(レビューで学生が図のエラーを反映して、実際には、エラーがない、斜面の左半分は非常に0に近いので、それは変わっていないフラットなように見えます。 α= 0.01 \アルファ=0.01α= 0.01 のようになります。コメントをありがとうございました^ _ ^)

それを解決するため、典型的にはα= 0.01 \アルファ=0.01α=デッドReLU問題、RELUの提案セットαX\アルファxαxない0の最初の半分にするために 0.01。別の直感的なアイデアは、メソッドパラメータに基づいて、すなわちParametricReLUれる:F(X)=マックス (αX、X)パラメトリックReLU:F(X)= \ MAX(\アルファX、X)ParametricReLU:F(X)= MAX(αX、x)は、α\alphaα
学習アルゴリズムから伝播することもできます。理論的には、漏れReLUはReLUすべての利点を持って、プラスデッドReLUの問題はないだろうが、それらの実際の動作で、かつ絶対的な証拠はありません漏洩ReLUは、常により良いReLUよりこと。

ELU(指数線形単位)函数
函数表达式:
F(X)= {X、α(EX-1)において、X> 0otherwisef(X)= \開始{ケース} X、& \テキスト{もし} X&GT。0 \\ \アルファ(E ^ X - 1)、& \テキスト{さもなければ} \端{ケース}
F(X)= {
X、
α(E
X
-1)、X> 0の場合、さもなければ





機能と以下のように誘導体画像。


ELUは、既存の問題とを解決することであるReLU、明らかに、すべての基本的なELU ReLUの利点、ならびに:

デッドReLUない問題
平均出力が0に近づくが、ゼロを中心
。1
2は、
それは計算量がやや大きいことが小さい問題です。、漏れReLUと同様に、理論的に優れてReLUよりも、実際の使用時には、常により良いReLUよりも良い証拠ELUはありません。

MAXOUT関数は
この機能は、紙「MAXOUTネットワーク」を参照することができ、ネットワークのネットワーク層を学習MAXOUTの深さは、などの層、畳み込みとして層を、プールのように、我々はネットワークとしてレイヤ活性化機能をMAXOUTことができ、我々は仮定します入力特徴ベクトルネットワークの層:X =(X1、X2、 ...... XD)、 dは私たち入力ニューロンです。次のように各ニューロンのMAXOUT隠れ層が計算されます。

上記式Iニューロン隠れ層のMAXOUTを算出します。ここで、kはMAXOUT層を必要とし、私たちの人工によってサイズパラメータです。ドロップアウトのような、それ自身のパラメータp(各ニューロン脱落確率)を有し、パラメータMAXOUTがkです。Zは、式Iについて計算されます。

重みwは、bが2次元マトリクスのサイズ(M、K)サイズ(D、M、K)の三次元マトリックスである、これら2つのパラメータは、我々が学習する必要があることです。我々はパラメータK = 1を設定した場合、我々はMLPネットワークを学ぶ前に、この時間は、ネットワークは、通常と同様です。
私たちは、第二層I + 1、パラメータの一組だけに、従来のMLPアルゴリズムもともとi番目の層、理解することができますが、今、私たちはそう、我々はまた、wが訓練を受けていなかった、B nは、この層のパラメータのセット、およびその後、活性層のニューロンの活性化値として最大値Zを選択し、MAX(z)は関数、すなわち活性化関数としての役割を果たす。

どのように右の活性化機能を選択するには?
この問題は、それのいくつかの経験で、現在は明確ではありません。
1)深い学習は、多くの場合、大量のデータを処理するために多くの時間を要し、収束速度モデルは特に重要です。だから、一般的に言えば、トレーニングの深さは、ゼロを中心とネットワークデータを利用することを学ぶ(データは前処理によって達成することができる)と出力をゼロ中心。だから、モデルの収束を加速するために、中心のゼロを有する出力活性化関数の特性を選択してみてください。
あなたがReLUを使用している場合2)、この問題が解決されていない場合、あなたが漏れReLU、PReLUまたはMAXOUTを試すことができ、学習率を設定するように注意しますが、ネットワークは「死んだ」ニューロンの多くも聞かせしないように注意する必要があります。
3)最高あなたが双曲線正接を試すことができ、シグモイドを使用しないでください、効果が少ないReLUとMAXOUTよりなることを期待することができます。

おすすめ

転載: www.cnblogs.com/jimchen1218/p/11949023.html