科学的電子図書館 ニューラルネットワークにおける活性化機能

アクティベーション機能

加算器から受信した信号は起動機能に送信される。 この機能を計算する際の結果は、ニヨロンYの出力信号である。

したがって、起動関数をfとして指定すると、Nyron出力信号は入力値のベクトルと次のように重み係数の重みに依存します。

y \u003d f(x1 * w1 + x2 * w2 + ... + xn * wn)

実際には、異なる活性化機能を使用して、ニューロンの挙動を変えるために、例えば、線形、しきい値、シグモイドなどが簡単に検討している。 たとえば、

線形起動関数

線形起動関数のグラフを図4に示す。 4-3。 ご覧のとおり、このグラフは直線であり、その傾斜角は定数kに依存し、座標の水平軸に沿ったシフト値は定数Tからです。

4.

5.

6.ニューラルネットワークがタスクを実行できるようにするには、訓練を受ける必要があります(図1参照)。 教師と教師なしで学習アルゴリズムがあります。
教師との学習プロセスはサンプリングの例のネットワークの提示です。 各サンプルはネットワーク入力に供給され、次にNA構造内で処理され、ネットワークの出力信号が計算され、これはターゲットベクトルの対応する値と比較され、これはネットワークの所望の出力である。 そして、特定の規則によって、エラーが計算され、選択されたアルゴリズムに応じて重み付け係数がネットワーク内で変更される。 教育セットベクトルは順次提示され、エラーと重みはトレーニングアレイ全体にわたるエラーが許容されるローレベルに達するまで、各ベクトルについて計算されます。

教師なしで学ぶとき、学習セットは入力ベクトルのみで構成されています。 トレーニングアルゴリズムは、合意された出力ベクトルが得られるようにネットワークの重みを調整する、すなわち 同じ出力を与えられた十分に閉じる入力ベクトルの提示のために。 したがって、学習プロセスは学習セットの統計的プロパティを割り当て、クラス内の類似のベクトルをグループ化します。 このクラスからのベクトル入力の表示は特定の出力ベクトルを与えるでしょうが、このクラスの入力ベクトルによって出力されるのはトレーニングに予測することは不可能です。 その結果、そのようなネットワークの出力は学習プロセスのために何らかの理解可能な形に変換されるべきである。 これは深刻な問題ではありません。 ネットワークによって設定された入力と出力の間の接続を識別するのは通常は難しくありません。
教師なしでニューラルネットワークを教えるために、HebbaとOHAの訓練の信号方法が適用されます。



数学的には、学習プロセスを次のように説明することができる。 操作の過程で、ニューラルネットワークは出力信号yを生成し、何らかの関数y \u003d g(x)を実現する。 ネットワークアーキテクチャが指定されている場合、関数Gの形式はシナプススケールの値と変位ネットワークの値によって決まります。

いくつかのタスクの解決策を関数y \u003d f(x)にする。 パラメータを設定します 入力と出力(x 1、y 1)、(x 2、y 2)、...、(x n、y n)、(x \u003d 1,2、...、n) 。

訓練は、エラー機能Eの目的の意味でFに近い関数Gの探索(合成)で構成されています(図1.8参照)。

さまざまなトレーニング例が選択されている場合は、ペア(Xn、Yn)(ここで、k \u003d 1,2、...、n)と誤差関数eの計算方法がある場合、ニューラルネットワークトレーニングは問題に変わります。非常に大きな寸法を有する多次元最適化、および関数Eは、一般的な場合に任意の種類のトレーニングを持つことができるので、多極値非切断最適化問題。

この問題を解決するために、以下の(反復)アルゴリズムを使用することができます。

1.一次のプライベートデリバティブの計算を伴う局所最適化アルゴリズム:

・グラデーションアルゴリズム(事前直交降下の方法)、

・抗原方向にターゲット機能の一次元および二次元最適化を伴う方法、

・共役勾配の方法、

・Anti-Agadiethrの方向を考慮した方法はアルゴリズムの数ステップです。

2. 1次および2次のプライベートデリバティブの計算を伴う局所最適化アルゴリズム:

・ニュートン法、

・スパース行列Hesseを用いた最適化方法

・準独自の方法、

・Gaussa Newton法、

・Levenberg Marquardt et al。

確率最適化アルゴリズム:

・ランダムな方向に検索します

・模倣アニーリング、

・モンテカルロ法(数値統計試験方法)。

4.グローバル最適化アルゴリズム(グローバル最適化タスクは、ターゲット関数が依存する可変値の整合性を使用して解決されます)。

7. ニューラルネットワーク あるいは、ヒト神経系は、すべての生物系の相互接続された挙動を提供する、人間の構造の複雑なネットワークです。

生物学的ニューロンは構造的にコア、細胞体およびプロセスからなる特別な細胞です。 重要なニューロンタスクの1つは、他のニューロンとの利用可能な接続を通してニューラルネットワーク全体にわたる電気化学パルスの伝送である。 さらに、各債券はシナプス通信力と呼ばれる特定の値によって特徴付けられる。 この値は、別のニューロンに伝送するときに電気化学的パルスで発生すると判断します。それが増加するか、または変わらないままであろう。

生物学的ニューラルネットワークは高い接続性を有する:1つのニューロンは他のニューロンと数千の接続を有する可能性がある。 しかし、これはおおよその値であり、それぞれの場合では異なります。 あるニューロンから別のニューロンへのインパルスの移動は、ニューラルネットワーク全体のある励起を生じさせる。 この励起の大きさは、ニューラルネットワークの反応をいくつかの入力信号に決定します。 たとえば、古い家族との会合は、明るくて楽しいライフの思い出がこの友達に関連付けられている場合、ニューラルネットワークの強力な開始につながる可能性があります。 次に、ニューラルネットワークの強い励起は、ハートビートの増加、より頻繁な目盛り、および他の反応につながる可能性があります。 ニューラルネットワークのためのなじみのない人との会合はほとんど目立たないようになり、したがって強い反応を引き起こさないでしょう。

生物学的ニューラルネットワークの以下の強く単純化されたモデルを与えることができる。

各ニューロンはカーネルを含む細胞体で構成されています。 セルの体から、樹状突起と呼ばれる、多くの短繊維が生まれます。 長い樹状突起は軸索と呼ばれます。 軸索は長距離にわたって伸びており、この絵の規模に示されているものをはるかに超えています。 通常、軸索は1cmの長さ(細胞体の直径100倍を超える)を有するが、1メートルに達することができる。

60〜80年のXXセンチュリーでは、人工知能の分野における優先順位の詳細は エキスパートシステム。 エキスパートシステムは自分自身をよく証明していますが、専門の分野でのみです。 よりユニバーサルインテリジェントシステムを作成するために、別のアプローチが必要でした。 おそらく、これは人工知能の研究者が人間の脳の根底にある生物学的ニューラルネットワークに注目を集めるという事実につながりました。

人工知能におけるニューラルネットワークは、生物学的ニューラルネットワークの単純化モデルである。

この類似度は終わります。 人間の脳の構造は上記よりもはるかに複雑であるため、少なくともそれを再現することは不可能である。

ニューラルネットワークには多くの重要なプロパティがありますが、それらのキーは学ぶことができます。 ニューラルネットワークの訓練は、主にニューロン間のシナプス関係の「力」を変更することからなる。 次の例は明確にそれを実証しています。 Pavlovの古典的な経験では、ベルが犬を給餌する前にベルを去ったたびに。 犬はすぐにベルベルを食物摂取量と関連付けることを学びました。 これは、聴覚腺および唾液腺の原因となる脳領域間のシナプスリンクが激化したという事実の結果であった。 そして、その後のベルの音の神経ネットワークの励起では、犬のより強い唾液分泌をもたらし始めた。

今日まで、ニューラルネットワークは人工知能の分野における研究の優先分野の1つです。

8. 多層パーセプトロン ニューラルネットワークの直接配布を呼び出します。 そのようなネットワーク内の入力信号は、レイヤからレイヤーに直接分布しています。 一般プレゼンテーションのマルチ層ペルセプトロンは、次の要素で構成されています。

・入口層を構成する入力ノードの組。

・コンピューティングニューロンの1つ以上の隠れた層。

・ニューロンの1つの出力層。

多層パーセプトロンは、Rosenblattの単層Perseceptronの一般化です。 多層知覚の例は、ニューラルネットワークの次のモデルです。

多層知覚における入出力要素の数は、問題の条件によって決定される。 使用方法に関して疑問が発生する可能性があります。 中間層と要素の使用量の質問は完全に不明確です。 初期近似として、1つの中間層を採用することができ、その中の要素数は入力要素の数と同じ半分に等しくなければならない。

多層パーセプトロンは、さまざまな複雑なタスクを解くために正常に使用され、次の3つの独特の機能があります。

目標の途中での困難を克服するために、人が彼の行動を管理する能力であるでしょう。 人の行動は意志のあるものではありません。 意識的なターゲットに関連していない行動と困難な困難(たとえば、急激な音声または予期せぬ音を変える)は不本意です。 任意の行動は常に認識の認識、それが達成できる操作の表現を示唆しています。 これらは特定の目標を目的とした意識的な行動であり、目標への道の上の人に直面している困難を克服することに関連しています。

男の精神的な活動では、2つの相互に関連した機能を実行します - 活性化と制動。 活性化関数は、人が自分の内科を動員し、意識的に設定された目標を達成するためにそれらを積極的な活動に指示することを可能にするという事実でそれ自体を明らかにします。 彼らのニーズ、意図、興味に応じて、人の知識と経験からの知識と経験への移行を確実にします。 同時に、意欲的な努力の助けを借りて、人は彼の行動を規制し、そのような動機の出現や理想的な理想とそれを満たさないそのような行動の実施を禁止しています。 これはブレーキ、制御、行動制御の表現です。

の生理学的塩基は、脳皮質の第1および第2のシグナル伝達系の相互作用を構成する。 主に、最初の信号システムは直接環境、人間の活動条件に反映されます。 目標の配置、それを達成する方法、意識的な努力、難しさを克服するための方法で考えることは、自分自身の管理は第2の信号システムの活動に基づいています。 これら2つのシステムの統一と相互作用において、第2の信号システムは主導的な役割を果たす。 「男性」i.p.p.pavlovは、「まず第一のシグナリングシステムを通して現実を知覚した後、それは第2のシグナリングシステム(単語、スピーチ、科学的思考)を通して現実のマスターになります。」

意欲的な行動が行われるとき、脳の皮質に興奮とブレーキの複雑なプロセスが起こります。 興奮をもたらすことができ、ブレーキは言葉や動きを遅らせることです。 脳の皮質の強さと平衡(第1および第2のシグナルシステム)人間の行動調節の基礎

意欲的なプロセスは、人間の精神の他のすべての側と密接に関係しています:注意、思考、想像力、記憶、感情、気質、能力、文字。 「ヴォーヤ、「私は」シェノフは、「動きのみにしか処分されず、心と道徳的感覚の活動的な側面です」。

人は意志のおかげで、彼のニーズ、感情、経験、知識、習慣の影響を受けていない障害を克服します。 したがって、困難を克服することの唯一の基準を考慮することは不可能です。 意欲的な精神的プロセスの詳細は、目標を達成するためのすべての機会の活性化を目的とした意識的な努力で構成されています。

各意志の行動はある内部構造を持っています。 単純な意欲的な行動では、2つのレベルが明確に区別されます - 目標と実行の目的。 目標を達成することを目的とした行動は、適切な動機が起こったらすぐに行われます。 中間リンクがありません。

複雑な意欲的な行動は含まれています:目標の意識、その重要性。 最も適切な行動方法の目標を達成する方法の定義。 意思決定; 実行 受けた、タスクを満たす。 評価した評価

いかなる意欲的な行動は、人の前に発生する目標の存在を含みます。 言い換えれば、人は特定の行動を通して達成したいものを知っています - チーム内のその立場を変更し、いくつかのニーズを満たすなどしています。 人間の目標は、リーダー、司令官によって提供される、内部運動(モチーフ)の実現の結果、またはタスクの意識の結果として発生します。 ここでの重要な心理的問題は、この課題を満たす必要性の深い認識であり、それを内部的に採用された目標、それを達成したいという願望の外観に変わることです。

意志のある行動の次のリンクは、目標を達成する方法について考えることです、それを達成する方法は何であるか、どのような行動がそれにつながっていますか。 同時に、それは時々1つの方法の実現可能性によって計量されることがあります、目標の実際の達成をするツールの選択。 これはすべて知的な人間の活動によるものです。 それは多くの場合、人格のやる気を起こさせる範囲によって影響され、動機のレスリングが生じる、すなわち 対抗していないやりのない動機の衝突。 そしてここで、その人は矛盾する動機の闘争を克服するための意欲的な努力を示す必要があります。

このスキルの重要な関連リンクは、この行動を実装することを決定することです。 決定を下すために、最大の意識だけでなく、決定、個性責任が必要です。 意思決定により、原則として、排出がやってくると、動機の闘争に伴うストレスが弱まります。 人が完全な救済、満足感を経験している、決定がその欲望を望んでいるならば、考えが考えているならば、すべての振動と内部ストレスが除去されます。 しかし、救済がやってくると、その決定が希望や人の願望と完全に一致していないとき。 電圧は決定の事実を低下させます。

解決策の実行は、意欲的な行動の主要部分です。 それは常に外部および内部の困難を克服することに関連しています。 外部、客観的な困難は自分自身には依存しません。 これらは仕事が困難であり、業務の複雑さ、偉大な物理的な取り組み、他の人の抵抗、天候と気候条件などを必要とします。 国内、主観的な困難は、その人の身体的および精神的状態に依存しています。 これらには、知識、経験、前者の習慣との間の矛盾などが含まれます。ほとんどの場合、外部および内部の困難は統一に現れています。

これらの困難を克服するために、意欲的な力が必要とされ、それは人が焦点を絞った行動またはそれから控除を実行するために人が費やされるエネルギーの量によって特徴付けられる。 意志の努力は、目標に対する意識の意識のすべてのリンク、それを達成する方法の定義、意思決定。 しかし、それは困難との闘いにおいて、それは決定を実行する過程で明らかにされています。 彼の意志の特異性を判断する意欲的な努力を示す人間の能力によると。

意欲的な行動の心理的構造の重要な場所は、行われた評価を占めます。 活動の過程でさえ、人はその行動を制御し調整します。 任意の瞬間に、それは事前に作成された理想的な方法(またはその部分)で結果として生じる結果をマージします。 活動の最終段階では、その結果の評価、達成プロセスの分析は独立した値によって取得されます。 将来的には、人間の行動の肯定的および欠点の両方を識別して考慮することが必要です。

特に有意な意欲的な行動(英雄的な行為、偉業)は、みんなの力を動員するときに非常に短い時間に急いで尽力しています。 そのような条件では、意欲的な行動のすべてのリンクが一緒にマージされているようです、互いに互いに浸透します。 目標、意思決定、行動のプログラム、ここで目標を達成する方法の定義は、人の直接的な行動に絡み合っています。 ほとんどの場合、それは緊急事態で起こります:戦闘状況、人々の人生の救い、自然な行動、事故、大惨事などを伴う

記事の2番目の部分では、深部学習の採点を続けています。

5.起動関数の選択

深いニューラルネットワークの最も重要な側面の1つは アクティベーション機能 ネットワークにもたらす(起動機能) 非線形性。 次に、一般的なアクティベーション機能を検討し、選択に推奨事項を示します。

シグモイド

シグモイド(シグモイド)は次式で表される。 σ(x)\u003d 1 /(1 + e -x)。 この関数はインレットで任意の実数を取り、出力では0から1の範囲の実数を与えます。特に、大きな(モジュール)負の数はゼロになり、大きな正のものです。 歴史的には、その出力はニューロンの活性化のレベルとしてよく解釈されているので、シグモイドは広く使用されてきた:活性化の欠如(0)から完全に富む活性化(1)の欠如から

現時点では、シグモイドはそれ自身の人気を失い、非常にめったに使われません。 この機能には2つの深刻な欠点があります。

  1. シグモイドの彩度は勾配の減衰につながります。 シグモイドの極めて望ましくない特性は、片側または他の(0または1)から関数を飽和させると、これらの部位の勾配がゼロに近くなるということです。 エラーの逆散合の過程で、この(ローカル)グラデーションに共通のグラデーションが乗算されます。 したがって、局所的な勾配が非常に小さい場合、実際には一般的な勾配をリセットします。 結果として、信号はほとんどニューロンを通過しないであろう。 さらに、彩度を防ぐためにシグモイドニューロンのスケールを初期化するときは非常に注意してください。 たとえば、ソースの重みが大きすぎる場合、ほとんどのニューロンは飽和状態になり、その結果、ネットワークが訓練が不十分になります。
  2. シグモイドの出力はゼロに対して中心にありません。 後続のレイヤのニューロンは、ダイナミクスに影響を与えるゼロに対して中心にある値を受け取るので、このプロパティは望ましくありません。 勾配の降下 (グラデーション降下)。 ニューロンに入る値が常に正の場合(たとえば、 x\u003e 0。 elementally b f \u003dωtx + B.その後、スケールのすべての勾配を返すプロセスで ω 正または負のどちらか(表現全体の勾配に応じて) f)。 これにより、体重更新の不要なジグザグダイナミクスが発生する可能性があります。 しかしながら、これらの勾配がパッケージ内に集計されるとき、重みの最終更新は、説明された欠点を部分的にレベルするという異なる符号を有することができることに留意されたい。 したがって、センタリングの欠如は不都合であるが、彩度の問題と比較して、深刻な影響が少ない。

双曲線接線

双曲線調整(双曲線接線、TanH)は入り口で任意の実数をとり、出力には-1から1の範囲の実数が得られます。シグモイドのように、双曲線正接は飽和することができます。 しかしながら、SIGMOIDとは対照的に、この関数の出力はゼロに対して中心にあります。 したがって、実際には、シグモイドではなく双曲線正接を使用することが常に好ましい。

relu。

近年、「整流器」と呼ばれる活性化特徴(電気工学における単一改集整流器と同様に整流器)が大気が集まっている。 この起動機能を備えたニューロンはRELU(整流線形単位)と呼ばれます。 Reluは次の式を持っています f(x)\u003d max(0、x) そして単純なしきい値をゼロに実装します。

RELUの正および負の側面を考えます。

肯定的な側面:

  1. シグモイドおよび双曲線接線の計算は、運動などのリソース集約的な操作の実装を必要とし、leluは活性化行列の単純なしきい値変換をゼロで実装することができる。 さらに、RELUは飽和していません。
  2. RELUの使用は、シグモイドおよび双曲線接線と比較して、確率勾配降下(ある場合には6倍までの場合)の収束速度を著しく増大させる。 これは線形文字およびこの機能の飽和の欠如によるものであると考えられている。

負の側面:

  1. 残念ながら、RELUは必ずしも十分ではなく、学習プロセスでは失敗する可能性があります(「死ぬ」)。 例えば、RELUを通過する大きな勾配は、このニューロンが起動されないようなスケールの更新をもたらす可能性がある。 これが起こると、この時点から始めて、このニューロンを通過する勾配は常にゼロになります。 したがって、このニューロンは不可逆的に無効になるでしょう。 例えば、学習速度(学習率)が多すぎると、Reluの40%までのRELU「死んだ」(つまり、活性化されません)がわかります。 この問題は適切なトレーニング速度を選択することによって解決されます。

現在、RELUの様々な変更の家族全員がいます。 次に、それらの特徴を見るでしょう。

LRELUαIの場合、RRELUαIがデータに基づいて決定される固定値が決定され、RRELUαjはトレーニング中に指定された間隔からランダムに生成され、テスト中に一定のままである。

リークリュル

「リーク」(リークレル、LRELU)のRELUは、通常のRELUの失敗を上記の問題を解決する試みの1つです。 間隔の通常のlelu バツ。< 0 これは出口でゼロを与えますが、LRELUはこの間隔で負の負の値を持ちます(コーナー係数は約0.01)。 つまり、LRELUの関数は形をしています f(x)\u003dαx にとって バツ。< 0 そして f(x)\u003d x にとって x≥0。ここで、αは小さい定数です。 いくつかの研究者はこの活性化関数の成功した適用を報告しますが、結果は必ずしも安定していません。

パラメトリックlele。

パラメトリックRELU(パラメトリックRELU、PRELU)の場合、負の間隔の角係数は定義されず、データに基づいて決定されます。 この出版物の著者らは、この活性化関数の使用がImageNetの画像認識タスクで人レベルを超える重要な要素であると主張しています。 PreLUのエラーおよび更新の逆普及のプロセス(P.43スライド)は非常に単純であり、従来のRELUのための適切なプロセスに似ています。

無作為化されたleu

ランダム化されたランダム化されたRELU、RRELUの場合、トレーニング中の負の間隔での角度係数は、指定された間隔からランダムに生成され、テスト中は一定のままです。 国内データサイエンスボウル(NDSB)の一部として、RRELU(NDSB)RRELUは、ランダム性要素が固有のランダム性要素による再訓練を減少させました。 この競争の勝者によると、学習中 α 私。 分布からランダムに生成されました 1 / U(3,8)そしてテスト中に値は常に数学的期待に等しかった: 2 /(L + U)\u003d 2/11.

L1規則化には、その結果、ベクトルベクトルがスパースになる(つまりゼロに非常に近い)という点で構成されている興味深い性質があります。 言い換えれば、L1の正則化を伴うニューロンは最終的に最も重要な入力の小さなサブセットのみを使用し、したがって、「ノイズの多い」入力の影響をほとんど影響されません。

実際には、特徴の直接選択の必要性がない場合、L2の正則化はL1の正則化と比較して最良の結果を提供します。

ベクトル標準の重さ

他の正則化方法は、重みベクトルのノルムを制限する方法(最大ノルム制約)である。 以内に この方法 各ニューロンの重みベクトルのノルムの絶対上限値を設定します。 制限の準拠は、投影可能な勾配降下(投影された勾配降下)によって提供されます。 実際には、これは次のように実装されています:重みを更新することは通常通り、そしてその後ベクトル重みを実行する ω 各ニューロンは状態に限られています ||Ω|| 2。< c 。 通常、価値 c. これは約3または4です。研究者はこの正則化方法を使用するときに前向きな効果を報告します。 この方法の有益な特性の1つは、更新の重量が常に制限されているため、あまりにも多くのトレーニング速度があっても「爆発的な」増加を防ぐことができることです。

落としさせる

ドロップアウト - 上記の方法を補完する簡単で非常に効果的な正則化方法。 彼は最近仕事で提案されました。 この方法の本質は、から学ぶ過程における 共有ネットワーク ランダムにサブネットをランダムに際立って、計量アップデートはこのサブネット内でのみ実行されます。 ニューロンは確率でサブネットに分類されます pこれはドリル係数と呼ばれます。 テスト中に、ドロップアウトは適用されませんが、代わりに、すべてのサブネットのアンサンブルの平均推定値を得ることが可能であるため、その代わりに流量の係数を掛けます。 実際には、ドリル係数 p 通常0.5に等しく選択されますが、検証データセットを使用して選択できます。

滴は最も人気のある正則化方法の1つです。 2014年に、Googleはこの方法の特許出願を提出しました。

視覚化

学習プロセスでは、学習の有効性を制御するための視覚化を実行することが有用である。

あなたが知っているように、学習率は非常に敏感なパラメータです。 以下の図1非常に大きい(非常に高い)トレーニング速度で、エラーカーブは許容できない形式を持ちます。 小さな(低い)学習速度では、多数の時代の後でさえも誤差が遅くなります。 大きな(高い)トレーニング速度では、最初は急速に急激に減少しますが、その結果、ネットワークが良好な結果に達することができない可能性がある結果として、極小値になります。 学習速度が正しく選択された場合(赤い線)、誤差は滑らかに減少し、最終的に最小値に達します。

それでは、より大きなスケールでエラーカーブを見てみましょう。 ERA(EPOCH)は、それぞれ学習データセットの単一の通路に対応し、各時代は多くのミニパケット(ミニバッチ)を含む。 各ミニパッケージのエラーを視覚化すると、エラーカーブが図2に表示されます。図1に関連して既に述べたように、エラーカーブが線形に近い形式である場合、これは学習速度が低いことを示しています。 エラーがゆっくり減少すると、おそらく学習の速度が大きすぎます。 曲線の「幅」はミニパッケージのサイズに対応しています。 「幅」が大きすぎる場合、つまりミニパッケージ間の散布が大きすぎると、ミニパッケージのサイズを大きくする必要があることを意味します。

もう1つの結論は精度曲線を使用して行うことができます。 図3では、赤い曲線は学習データセットの精度、および検証の緑色を表します。 曲線間の距離は、モデルの有効性を示しています。 大きな距離は、ネットワークがトレーニングデータによってよく分類され、検証データを分類することを示唆しています。 その結果、この場合、再訓練がある。 この問題を解決するためには、正則化を強化する必要があります。 曲線間の距離が存在しない場合、両方の曲線は低レベルの精度に対応していますが、それは私たちのモデルが不十分な学習を持っていることを意味します。 この場合、結果を改善するためには、モデルの容器を増やす必要がある。

深いネットワークの恩納まり

1モデルの訓練の様々な段階

学習プロセスがリソースに対して非常に厳しい場合には、例えば、各時代の後に、1つのモデル(チェックポイント)の訓練の異なる段階の異なる段階に組み合わせることができる。 このアプローチはより大きな多様性を提供しませんが、実際には十分な良好な結果がある可能性があります。

実用的な例:

実際のタスクでは、データは通常クラスによって不均一に配布されています。つまり、いくつかのクラスは多数のトレーニングイメージを持ち、いくつかはかなり少ないです。 最近の報告書で報告されているように、不均衡なトレーニングデータは、深部畳み込みネットワークの全体的な有効性に深刻な悪影響を及ぼし得る。 この問題に対する最も簡単な解決策は、少量の画像、または多数の画像でクラスからの画像を除外するクラス内の画像を複製することです。 上記の競争の文脈で適用されたこの問題に対するもう1つの解決策は、トリミングです。 文化的イベントの初期画像はクラスによって不均一に分布していたので、少数のトレーニングインスタンスを持つクラスの画像のフラグメントを学びました。 一方では、このアプローチではさまざまな学習データを提供し、もう一方の方法で、不均衡の問題を解決することができます。

説明した問題を解決するために、戦略を適用することもできます 薄い設定 優先モデルの(微調整) 特に、初期トレーニングデータセットは、一部が多数の画像で表されるクラスを含み、他のクラスが少数の画像で表されるように2つの部分に分割することができる。 各部分は比較的バランスが取れています。 その後、あなたは最初に多数の画像を持つクラス上のモデルを訓練し、それから少数の画像を持つクラスに訓練する必要があります。

Stanislav Petrenkoの翻訳

このように聞こえた大学での私の科学的研究の一部です。「畳み込みニューラルネットワークを使ったビデオストリームの人物を検出するプログラム的な複合」 作業の目的は、ビデオストリーム内の人物を検出する過程における速度特性を改善することであった。 スマートフォンカメラがビデオストリームとして使用され、デスクトップPS(Kotlin言語)が畳み込みニューラルネットワーク、および訓練されたネットワークを使用し、個人を認識しようとしたAndroidのモバイルアプリケーション(Kotlin言語)を作成および教えるために書かれました。カメラのビデオストリームから。 私はその結果がとても使い方であると言います 正確なコピー 私とリスクが提案されたトポロジー(私はお勧めしません)。

理論的タスク

  • 解決した問題解決の問題(分類、予測、修正)を決定します。
  • 入力を定義します(タイプ:画像、サウンド、サイズ:100x100,30x30、形式:RGB、Grayscale)と出力(クラス数)。
  • 畳み込みネットワークのトポロジー(畳み込み、昇降、完全な層の数。兆候の兆候、コアのサイズ、活性化機能)。

前書き

na トップスコア 個人の認識の分野では、畳み込みニューラルネットワークは、CognitronおよびNeocognitronとしてのNAアーキテクチャのアイデアの論理的発展である畳み込みニューラルネットワーク(以下、SNAと呼ばれる)を示している。 成功は、多層パーセプトロンとは異なり、二次元画像トポロジーを説明する可能性があるためです。

結合ニューラルネットワークは、規模の変化、変位、回転、交換角度および他の歪みの変化に対する部分的な抵抗を提供する。 カップリングニューラルネットワークは、スケールの変化の不変性を確保するために、3つのアーキテクチャのアイデアを組み合わせて、シフトと空間的歪みを回します。

  • ローカル受容体場(局所的な二次元ニューロン接続性を提供する)。
  • 一般的なシナプス係数(画像内のどこにでもいくつかの特徴の検出を提供し、重量係数の総数を減らす)。
  • 空間サブセクションを持つ階層的組織。
現時点では、畳み込みニューラルネットワークとその修正は、シーン上のオブジェクトを見つけるアルゴリズムの精度と速度の観点から最もよく考えられます。 2012年以来、ニューラルネットワークは、Imagenet画像を認識するために有名な国際コンテストの最初の場所を占めています。

だからこそ、彼の仕事では、私が非将軍の原則に基づく畳み込みニューラルネットワークを使用したのは、誤り分布アルゴリズムの緊急学習に基づいていました。

カップリングニューラルネットワーク構造

SNSはからなる 異なる種 層:「普通の」ニューラルネットワークの層および「通常の」ニューラルネットワークの層および層の層および層の層、および層は、図1に準拠している。


図1 - 畳み込みニューラルネットワークのトポロジー

最初の2種類の層(畳み込み式、サブサンプリング)は、それ自体を交互に交互にして、多層パーセプトロンの印入力ベクトルを形成します。

畳み込み性はその名前を運用のタイトルに受け取りました - 畳み込み、その本質はさらに説明されます。

結合ネットワークは、生物学的に信じられないネットワークと従来の多層パーセプトロンとの間の中央に成功している。 今日まで、画像認識の最良の結果は彼らの助けを借りて得られます。 平均して、そのようなネットワークの認識の精度は通常の検査を10-15%上回る。 SNSは重要な技術の深い学習です。

SNS成功の主な原因は、共有スケールの概念でした。 大きなサイズにもかかわらず、これらのネットワークは彼らの祖先 - Neocognitronと比較して少量のカスタムパラメータを持っています。 そのようなネットワークでは、Neocognitronが発生し、関連するスケールの部分的な拒否が起こり、リターンエラーに基づいているため、SNA(Tiled畳み込みニューラルネットワーク)の変形があります。 SNAは直列マシンですばやく機能し、各カードの畳み込みプロセスの正味並列化、およびネットワークエラーが配布されている場合の逆畳み込みのために迅速に学びます。

畳み込みとサブ選挙の視覚化を下図します。

ニューロンモデル


畳み込みニュラリアのトポロジー

ネットワークトポロジの定義は、解決したタスク、からのデータに焦点を当てています。 科学記事 そしてそれ自身の実験的経験。

トポロジの選択に影響を与える次のステージを選択できます。

  • ニューラルネットワーク(分類、予測、修正)で解決した問題を判断します。
  • 解決された問題の制限(速度、応答の正確性)を決定します。
  • 入力を定義します(タイプ:画像、サウンド、サイズ:100x100,30x30、フォーマット:RGB、グレイグレード)と出力(クラス数)。
私のニューラルタスクは解決されています - 画像の分類、特に人物。 ネットワークに対する課された制限は、1秒以下、および少なくとも70%の認識精度である。 図2による全ネットワークトポロジー。


図2 - 畳み込みニューラルネットワークのトポロジー

入口層

入力データは、JPEG型の色の画像、サイズ48x48ピクセルを表します。 サイズが大きすぎると、計算の複雑さがそれぞれ増加すると、応答速度の制限が破損し、この問題のサイズの定義は選択方法によって解決されます。 サイズを選択すると小さすぎると、ネットワークは個人の主要な兆候を識別できません。 各画像は3つのチャンネルに分けられます。赤、青、緑。 したがって、48×48画素のサイズの3つの画像が得られる。

入力層は二次元画像トポロジを考慮に入れて、画像がグレーの色合いで表示されている場合、カードは単独であり、そうでなければそれらのカードがAに対応する3つの3つがあるかもしれない。特定のチャンネル(赤、青、緑)の写真。

各特定のピクセル値の入力は、式に従って0から1の範囲で正規化されています。

カッター層

コーチング層はカードのセットです(標識の兆候、日常生活の兆候は通常の行列です)、各カードにシナプスカーネルがあります(異なるソースでは、スキャンコアまたはフィルタ)。

カードの数はタスク要件によって決定されます。あなたが多数のカードを取ると、認識の質は増加するが、計算の複雑さは増加する。 科学的記事の分析に基づいて、ほとんどの場合、1~2の比、すなわち前の層の各カード(例えば、第1の畳み込み層では前のものが入力される)が関連付けられている。図3に従って、畳み込み層の2枚のカードで、カード数 - 6。


図3 - 畳み込み層のカードと前回のリンクの組織化

畳み込み層の全カードのサイズは同じであり、式2で計算されています。

カーネルは、以前のカードの全領域を横切ってスライドするフィルタまたはウィンドウであり、オブジェクトの特定の兆候を見つけます。 たとえば、ネットワークが一連の人に訓練された場合、コアの1つは、目の領域、口、眉毛、鼻の中で最大の信号を生成するための学習プロセスで、他のカーネルが他の兆候を検出することができる。 カーネルサイズは通常3×3から7×7の範囲に充電されている。 カーネルのサイズが小さい場合は、大きすぎると、ニューロン間の接続数が増加すると兆候が強調できません。 また、畳み込み層カードのサイズが偶数でさえ、カーネルのサイズが選択され、次のテレクト層で寸法が小さくなると情報を失うことができます。

カーネルは共有スケールまたはシナプスのシステムであり、これは畳み込みニューラルネットワークの主な特徴の1つです。 通常の多層ネットワークでは、ニューロン間に多くのリンク、すなわち検出プロセスをゆっくり遅くするシナプスがあります。 逆に、畳み込みネットワークでは、合計の重みは接続数を減らし、画像領域全体の同じ符号を許可する。

最初に、各畳み込み層カードの値は0に等しい。核秤量の値は、-0.5から0.5の領域でランダムに指定されます。 カーネルは前のマップ上をスライドし、画像の処理によく使用される畳み込み操作を行います。

この操作は、次のように説明することができます。カーネルサイズウィンドウGは、所定のステップ(通常1)すべての画像Fを渡していて、各ステップで、ウィンドウの内容にカーネルGに乗算し、結果が合計されます。図4のように、結果マトリックスに記録されます。


図4 - カット操作と畳み込みカードの値の受信(有効)


操作を切断し、畳み込みカードの値を受けます。 カーネルがシフトされ、新しいカードは前のものと同じサイズで得られます(同じ)

この場合、元の行列のエッジの処理方法に応じて、結果は元の画像(有効)、同じサイズ(同じ)または 大きいサイズ (フル)、図5に従って。


図5 - ソースマトリックスの3種類の畳み込み

簡略化された形では、この層は式で表すことができる。

同時に、境界効果のために、初期行列のサイズが減少し、式:

投稿層

スリング層とブーティーとはカードを持っていますが、それらの数は前の(畳み込み式)層と一致していますが、それらは6です。レイヤーの目的は、前のレイヤーカードの寸法を減らすことです。 以前の畳み込み操作がすでにいくつかの兆候を識別している場合、さらなる処理のためにはもはやさらなる処理にはもはや必要ではなく、それはより詳細にならないように圧縮される。 さらに、すでに不要な部品のフィルタリングは再登録されないようにします。
前の層のマップのサブレイヤ(フィルタ)のカーネルを走査する過程で、走査型カーネルは畳み込み層とは対照的に交差しない。 通常、各カードには2×2カーネルがあり、これにより、畳込み層の前のカードを2回減らすことができます。 サインカード全体を要素の2 x 2セルに分割し、そのうち最大値が選択されます。

通常、レリーブ起動機能はテレクト層で使用されます。 図6に従って、イベント操作(または最大プールが最大選択)。


図6 - 形成 新しいカード 以前のカップリング層カードに基づくさまざまな接合層。 最大プーリング操作

正式には、層は式で表すことができる。

完全なレイヤー

レイヤの種類の最後は、通常の多層パーセプトロンの層である。 レイヤーの目的は分類であり、認識品質が向上するかを最適化する複雑な非線形関数をシミュレートします。

前のサブサンプル層の各カードのニューロンは、1つの隠れ層ニューロンに関連付けられています。 したがって、隠れ層のニューロンの数は、下層油層のカード数に等しいが、例えば、例えば、例えば、下層土層のカードのいずれかのニューロンの一部のみであってもよい。隠れ層の第1のニューロン、および第1のマップの第2のニューロンを有する残りの部分は、隠れ層のニューロン1および2に関連付けられている。 ニューロン値の計算は式:で表すことができる。

出力層

出力層は、前のレイヤーのすべてのニューロンに関連付けられています。 ニューロンの数は、認識可能なクラスの数、すなわち2 - 顔と顔ではない。 しかし、バイナリケースの接続数や計算数を減らすために、1つのニューロンを使用することができ、起動関数、双曲線正接、双曲線正接、値-1の歩留まりを使用することができます。値1のニューロン歩留まりの反対側 - クラスの人に属することを意味します。

起動機能を選択してください

ニューラルネットワークの開発の段階の1つは、ニューロンの活性化機能を選択することです。 起動機能の種類は大きく決定されています。 機能 このネットワークの学習のニューラルネットワークと方法 古典的な誤差分布アルゴリズムは、2層および3層のニューラルネットワーク上でうまく機能しますが、深さがさらに大きくなると問題が発生し始めます。 その理由の1つは、勾配のいわゆる難聴です。 エラーが各レイヤの出力層から入力に分散されると、現在の結果は起動機能の派生物に基づいています。 従来のSIGMOID起動関数の導関数は、定義全体の単位よりも小さいので、複数の層の後、エラーがゼロに近くなります。 逆に、活性化機能は無制限の導関数(例えば双曲線接線)を有する場合、普及が分散されるので爆発的な増加が生じる可能性があるため、学習手順の不安定性につながる。

この作業では、隠されたアウトレット層の活性化の関数として双曲線が使用され、RELUは畳み込み層に適用されます。 ニューラルネットワークで使用される最も一般的な起動関数を考えます。

シグモイド活性化機能

この関数は、継続的な機能のクラスを参照して、入口で任意の実数をとり、出力では0から1の範囲の実数を与えます。特に、負の数はゼロになり、大きいポジティブです。一つに。 歴史的には、その出力はニューロンの活性化のレベルとしてよく解釈されているので、シグモイドは広く使用されてきた:活性化の欠如(0)から完全に富む活性化(1)の欠如から シグモイド(シグモイド)は式によって表される。

下の図に準拠したシグモイド関数のグラフ:

シグモイドの極めて望ましくない特性は、片側または他の(0または1)から関数を飽和させると、これらの部位の勾配がゼロに近くなるということです。

エラーの逆散合の過程で、この(ローカル)グラデーションに共通のグラデーションが乗算されます。 したがって、局所的な勾配が非常に小さい場合、実際には一般的な勾配をリセットします。 結果として、信号はほとんどニューロンを通過しないであろう。 さらに、彩度を防ぐためにシグモイドニューロンのスケールを初期化するときは非常に注意してください。 たとえば、ソースの重みが大きすぎる場合、ほとんどのニューロンは飽和状態になり、その結果、ネットワークが訓練が不十分になります。

シグモイド関数は次のとおりです。

  • 連続。
  • 単調に増加します。
  • 区別した。

活性化機能双曲線接線

この作業では、隠し層と出力層の起動関数として双曲線が使用されます。 これは以下の理由によるものです。
  • 双曲線接線などの対称型活性化関数は、標準のロジスティック関数よりも速い収束を提供します。
  • この機能は連続的な最初の派生物を持っています。
  • この機能には単純な導関数があります。これはその値を通して計算できます。これは計算の節約を与えます。
双曲線接線の関数のグラフを図に示します。

RELU起動機能

ニューラルネットワークは、十分な層がある場合、および起動機能が非線形である場合に任意の複雑な機能をもたらすことができることが知られている。 SIGMOIDまたはTangenterのような活性化機能は非線形であるが、減衰または勾配の増加に関する問題を招く。 しかしながら、式:で表される、直立した線形起動関数(整流線形ユニット、RELU)を使用することが可能である。

下の写真に従ってRELU機能のグラフ:

Reluを使用する利点:

  • その派生物は単位またはゼロのいずれかに等しいので、成長は勾配の起こりまたは減衰が起こり得る。 エラーデルタに単位を掛けると、双曲線正接などの他の機能を使用した場合、デルタエラーがある場合、またはその派生物、つまり、そのデリバティブなどの、または減少、または増減、またはそのままである。双曲線接線は、さまざまな兆候を持つ数字を返し、勾配の減衰や成長に強く影響を与える可能性があります。 さらに、この関数の使用はスケールの間伐をもたらす。
  • シグモイドおよび双曲線接線の計算は、運動などのリソース集約的な操作の実装を必要としますが、活性化行列の単純なしきい値変換をゼロにして実装することができます。
  • 負の出力でチャンネル内の不要な部分を切り取ります。
短所から、RELUが必ずしも十分に信頼できるわけではなく、学習の過程で失敗する可能性があることに注意してください(「ダイ」)。 例えば、RELUを通過する大きな勾配は、このニューロンが起動されないようなスケールの更新をもたらす可能性がある。 これが起こると、この時点から始めて、このニューロンを通過する勾配は常にゼロになります。 したがって、このニューロンは不可逆的に無効になるでしょう。 例えば、学習速度(学習率)が多すぎると、Reluの40%までのRELU「死んだ」(つまり、活性化されません)がわかります。 この問題は適切なトレーニング速度を選択することによって解決されます。

実験に使用される教育サンプル

トレーニングサンプルは、陽性および否定的な例からなる。 この場合、個人から、「いない人」から。 陽性対陰性実施例4~1,8000陽性および2000陰性の比。

LFW3Dデータベースをポジティブトレーニングサンプルとして使用しました。 JPEGタイプのフロントパーソン、90x90ピクセルサイズのカラー画像が13000の量で含まれています。データベースはFTPによって提供され、アクセスはパスワードで行われます。 パスワードを入手するには、記入する必要があります メインページ あなたの名前を指定するためのサイトシンプルなフォーム eメール。 データベースからの個人の例は、以下の図に従って示されています。

否定的なトレーニングの例として、SUN397データベースが使用されていましたが、カテゴリに分割されているすべての種類のシーンが含まれています。 合計130,000イメージ、908シーン、313000シーンオブジェクト。 この塩基の総重量は37 GBです。 画像カテゴリはかなり異なり、最後のPSが使用されるより具体的な環境を選択することができます。 例えば、人の検出器が室内で認識するためだけに意図されていることを先験的に知られているならば、それは自然、空、山脈などのトレーニングサンプルを使用することは意味がない。 このため、次のカテゴリーの画像が作品の作者によって選択されました。リビングルーム、オフィス、クールな部屋、コンピュータルーム。 SUN397トレーニングサンプルからの画像の例は、以下の図に従って示されています。

結果

90×90ピクセルのサイズで入力画像からの信号の直接分布は20 ms(PC上)、3000 ms モバイルアプリ。 640×480画素の解像度でビデオストリーム内の顔を検出すると、90×90画素の大きさの50個の重なり領域を検出することができる。 選択されたネットワークトポロジを使用して得られた結果は、Jones Violiアルゴリズムと比較して悪化します。

結論

結合ニューラルネットワークは、規模の変化、変位、回転、交換角度および他の歪みの変化に対する部分的な抵抗を提供する。

- 画像全体を横切ってスライドし、任意の場所に人の兆候を見つけるフィルタです(オフセットへの不変性)。

投稿層 与える:

  • 前の層のカードの寸法を小さくすることによって、計算速度の速度(少なくとも2回)の増加。
  • すでに不要な部分をフィルタリングします。
  • 看板を検索する 高いレベル (次の畳み込み層の場合)。
最新のレイヤー - 通常の多層パーセプトロンの層。 2つの完全で接続されていて、1日休み。 この層は数学的観点から分類を担当し、それは複雑な非線形関数をシミュレートし、それは認識の質が改善される最適化されます。 下層土層の符号のカード数による層6内のニューロンの数。

可能な改善点

  • neuraletas Fast-Rcnn、Yoloを検討してください。
  • グラフィックプロセッサに対する学習プロセスの並列化
  • パフォーマンスを向上させるためのAndroid NDK(C ++)を使用する

畳み込みニューラルネットワークのトレーニングについて説明します

人工ニューロンは何をしますか? シンプルな言葉彼は彼の入力で加重量を考慮し、オフセット(バイアス)を追加し、決定し、この値は除外または使用されるべきです(はい、起動関数は働きますが、順序で行こう)。

アクティベーション機能 入力の中断された量としきい値の結果に応じて、ニューロンの出力値を定義します。

ニューロンを考える:

今価値 y。 無限大から+無限大へのバンド内の任意のものにすることができます。 実際には、ニューロンは起動があるべき境界線を知りません。 彼らは私たちがニューロンを起動する必要があるかどうかの問題に答えるでしょう(私たちは生物学との類推を実行することができるように、活性化パターンを考慮します。したがって、脳は働き、脳はの仕事の良い証言です。複雑で合理的なシステム)。

この目的のために、それらは起動関数を追加することにしました。 それはニューロンによって生成された値をチェックします y。 外部通信がこのニューロンを起動されたかどうかを考慮するか、または無視することができます。

ステップ関数の起動

心に遭遇する最初のものは、起動機能のためのアクティベーション境界であると考えられるものの問題です。 valueの場合 y。 いくつかのしきい値を超えて、私たちは起動したニューロンを検討します。 それ以外の場合は、ニューロンが非アクティブです。 そのような方式はうまくいくべきですが、最初にそれを形式化しましょう。

  • 関数A \u003d y\u003e境界線の場合はアクティブ化され、それ以外の場合はそうではありません。
  • 別の方法:a \u003d 1、y\u003e境界線、それ以外の場合はa \u003d 0。

作成したばかりの関数は段付き1と呼ばれます。 この機能を下図に示します。

関数は値を取ります 1 いつの(有効) y\u003e 0. (境界線)、値0(有効化されていない)それ以外の値。

ニューロンの活性化機能を作成しました。 これは簡単な方法ですが、その中に欠陥があります。 次の状況を考えてください。

私たちが創造すると想像してください バイナリ分類器 - 「はい」または「いいえ」(有効にするかどうか)と言うべきモデル。 段付き関数はあなたのためにそれを作るでしょう - それは1または0を表示します。

今度はより多くのニューロンが必要な場合を想像してください 多くのクラスの分類:class1、class2、class3など。 1つ以上のニューロンが活性化されているとどうなりますか? すべてのニューロン起動機能から、1を決定します。この場合、指定されたオブジェクトに対して最終的にクラスが表示されるべき質問が表示されます。

私たちは1つのニューロンだけを活性化し、他のニューロンの活性化機能はゼロでした(この場合のみ、ネットワークがクラ\u200b\u200bスを正しく決定することを確実にすることができます)。 そのようなネットワークは電車を訓練し求めるのが難しい。 起動関数がバイナリでない場合、値は「50%稼働」、「20%の有効化」などです。 いくつかのニューロンが活性化されている場合は、起動関数の最大値を持つニューロンを見つけることができます(もちろん、 ソフトマックス。 機能と違い max。 しかし、私たちがこれらの質問に対処しないまで)。

しかし、この場合、前のように、2つ以上のニューロンが「100%活性化された」と言っても問題はまだ残っています。 存在があるので 中間値 ニューロンの結果では、学習プロセスはより滑らかかつ迅速に、ワークアウト中にいくつかの完全に活性化されたニューロンの出現の可能性は段階的な活性化関数と比較して減少します(それはあなたが教えるものとどのデータについてもよります。 )。

起動関数(アナログ関数)の中間値を取得し、「有効化」またはそうでない(バイナリ関数)とは限らないと判断しました。

頭に来る最初のものは線形関数です。

線形起動関数

a \u003d cx。

線形関数は直線であり、入力(つまり、このニューロンの重み付け量)に比例します。

そのような起動関数の選択を使用すると、バイナリ応答だけではなく、値のスペクトルを取得できます。 複数のニューロンをまとめて接続することができ、複数のニューロンが有効になっている場合、その解決策は最大操作(またはSoftMax)の適用に基づいて行われます。 しかし、ここでは問題がないわけではありません。

あなたが学習方法に精通しているならば、あなたはこの関数のために、派生物は一定に等しいことに気づくかもしれません。

に由来する a \u003d cx。 沿って バツ。 等しい から。 これは、勾配が接続されていないことを意味します h。 勾配は永久的なベクトルであり、降下は永久勾配に従って作られる。 誤った予測が実行されると、エラーによって行われた変更も一定であり、デルタ入力(x)の変化には依存しない。

それは良くない(常にではありませんが、ほとんどの場合)。 しかし別の問題があります。 関連層を考慮してください。 各層は線形関数によって活性化されます。 この関数からの値は次の層に入力として次の層に進み、2つのレイヤはその入力に重み付けされた量を考慮し、次に、他の線形起動関数に応じてニューロンを含む。

それは私たちが何層のレイヤーを持っているかは関係ありません。 それらのすべてがそれらの性質によって異なる場合、最後のレイヤの最後のアクティベーション関数は最初のレイヤの入力から単純に線形関数を使用します! ちょっとやめて、この考えについて考えてください。

これは、2つの層(またはn層)を1つの層に置き換えることができることを意味する。 私たちはレイヤーからセットを作る機会を失いました。 どのようにして積み重ねるのかは関係ありません、すべてが線形起動関数を持つ1つのレイヤーに似ています( 線形関数の組み合わせ線形 - もう一つの線形関数).

シグモイド

SIGMOIDは滑らかで段関数に似ています。 その利点を考慮してください。

第一に、シグモイドはその性質によって非線形であり、そのような機能の組み合わせは非線形関数も生成する。 今度はレイヤーをスタックできます。

そのような関数の他の利点はバイナリではなく、ステップ関数とは異なり、アナログの起動を行う。 シグモイドの場合、なめらかな勾配によっても特徴付けられます。

気付いたら、値の範囲内です バツ。 -2から2まで y値は非常に早く変わります。 これは小さな変化値を意味します バツ。 この地域では、重要な価値の変化があります y。。 このような機能の動作は、yが曲線の縁の1つに押す傾向があることを示しています。

SIGMOIDは実際に分類タスクのための適切な機能のように見えます。 それは曲線の片側に値を持ち込むように努力します(たとえば、上部まで)。 x \u003d 2。 そして以下 X \u003d -2。)。 この動作により、予測で明確な境界を見つけることができます。

線形関数上のシグモイドの他の利点は以下の通りである。 最初のケースでは、固定範囲の機能値を持っています - リニア関数は(-inf、inf)内で変化します。 SIGMOIDのこのプロパティは、大きな活性化値の場合の誤差を引き起こさないので非常に便利です。

今日、シグモイドはニューラルネットワークにおける最も頻繁に活性化機能の1つです。 しかし、彼女はそれが注意を払う価値があるという欠点を持っています。

シグモイド値yの端に近づくときに、その傾向には変化に弱い対応があることを既に見ていることができることがすでに見たことができました。 バツ。。 これは、そのような領域の勾配が小さい値をとることを意味します。 そしてこれは、次に、消失の勾配に関する問題を引き起こす。 起動関数が両側の曲線のほぼ水平部分に近づくと、何が起こるのかを詳しく説明します。

この場合、勾配の値はほとんどないか消えています(極めて小さい値のために大きな変化はできません)。 Neuraletはさらに学ぶことを拒否し、またはそれを使用方法に応じて(勾配/計算が浮動小数点値への制約に悩ませ始めるまで)極めて遅くなることを拒否します。 これらの問題に取り組むためのオプションがあり、シグモイドは依然として分類作業に非常に人気があります。

他の頻繁に使用される活性化機能は双曲線接線である。

双曲線接線はシグモイドと非常によく似ています。 本当に、 これは補正されたシグモイド関数です。

したがって、このような機能は、前述のシグモイドと同じ特性を有する。 彼女の性質は非線形であり、それは層の組み合わせ、そして関数値の範囲の組み合わせに非常に適しています - ( - 1,1)。 したがって、起動関数が大きな値から過負荷をかけることを心配することは意味がありません。 しかしながら、接線関数の勾配がシグモイド(クーラー派生物)の勾配よりも大きいことは注目に値する。 SIGMOIDまたはTANKENTがあなたの勾配振幅要件に依存するかどうかを選択するという決定。 シグモイドだけでなく、双曲線接線は勾配の消失の問題です。

接線も非常に人気があり、活性化機能を使用しています。

relu。

私たちのリストについて - Reluの起動機能、

A(x)\u003d max(0、x)

定義を使用して、RELUが値を返すことが明らかになります h、 もし h プラス、I。 0 さもないと。 作業のスキームを以下に示します。

一見すると、RELUは最初の象限ではリニアであるため、リニア関数と同じ問題があるようです。 でも実は、 RELUはその性質によって非線形であり、RELUの組み合わせも非線形です! (実際、そのような機能は善です 近似どの関数もRELUの組み合わせで近似できるので)。 これは、レイヤーをスタックできることを意味します。 領域 許容値 relu - )

トピックを続ける:
インターネット

Windowsブートディスクを作成する最も一般的な方法の1つは、この記事で説明されている方法です。 そしてより正確に創造の中で、それは遠い世界で私たちを助けるでしょう...