0

ニューラルネットワーククラスを作成しようとしていますが、いくつかの点については十分に理解していません。私はフォールリングのデザインに2つの質問があります。ニューラルネットワーク開発

I have developed Neural Netowrk Design like this

  1. 私はこれを正しくやっていますか?バイアスニューロンは、すべてのニューロン(入力層のニューロンを除く)または隠れ層のニューロンに接続する必要がありますか?

  2. 私の2番目の質問は出力値の計算です。私はニューロンの出力値を計算するために以下の方程式を使用しています。

    HiddenLayerFirstNeuron.Value = 
    (input1.Value * weight) + (input2.Value * weight) + (Bias.Value * weight) 
    

    この式の後、私は活性化を計算し、結果は出力を送信します。そして同じことをする出力ニューロン。

私は何をしているのか分かりませんし、問題を解決したいと思います。

答えて

0

ご覧ください。http://deeplearning.net/tutorial/contents.html in theano。これは、theano(象徴的な数学ライブラリ)を使って、多層パーセプトロンのために知る必要があるすべてを説明します。

0
  1. 通常、バイアスはすべての非表示および出力単位に接続されます。
  2. はい、前の層のニューロンの重み*出力の合計のような活性化関数の入力を計算します。

開発と幸運;)

+0

申し訳ありませんが、私は明確にすることを求めています。 入力ユニットを除くすべてのユニットでアクティベーション機能を使用する必要がありますか? –

+0

はい。一度、入力ユニットやネットでは活性化関数(S字状)をよく使用していますが、入力ユニットの起動機能のために正規化されたデータが再び正規化されるため、出力ユニットの出力は低くなりました。 – viceriel

0
  1. 各隠れに対して個別のバイアスニューロンと出力層がなければなりません。レイヤーは、f(m*x+b)=yのような一次多項式に適用される関数と考えると、yは出力であり、f(x)アクティブ化関数です。線形項を見ると、bと認識されます。これはバイアスを表し、この単純化の場合と同様にニューラルネットワークと同様に動作します。つまり、超平面を空間内で上下に移動させます。そのレイヤーのすべてのニューロンに1つのバイアスが接続されていることに注意してください。f((wi*xi+b)+...+(wn*xn+b))初期値は1です。勾配降下については、このニューロンを通常の体重のように訓練する必要があります。

  2. 私の意見では、出力レイヤーにもアクティベーション機能を適用するべきです。これは、通常、多層パーセプトロンで行われます。しかし、それは実際にあなたが望むものに依存します。たとえば、ロジスティック関数をアクティベーション関数として使用し、間隔が(0,1)の出力を必要とする場合は、アクティベーション関数を出力にも適用する必要があります。あなたの例にあるように、基本的な線形結合は理論上、前述のIntervallの境界を上回ることができます。

関連する問題