2017-03-20 10 views
1

私はニューラルネットワークについて学んでいます。それらは私が出会った最も素敵なものです。任意のニューラルネットワーク出力を効率的に計算できますか?

質問:どのように任意のトポロジでニューラルネットワークの出力を計算しますか?使用するアルゴリズムや経験則はありますか?

たとえば、フィードフォワードネットワークは単純な行列表現を持っていると理解していますが、ループや出力を入力に接続したネットワークはどうですか?それらのマトリックスフォームはありますか?あるいは、何らかのグラフトラバーサルを行うための出力を生成する唯一の方法ですか?

例:

enter image description here

+0

私は、すでに訪問したノードの記録をネットワーク内のループをバイパスするために使用することができると思います。 – monster

答えて

2
  1. はのは、あなたの質問に添付あなたのニューラルネットワーク構造、 と絵を見てみましょう。
    人工ニューラルネットワーク接続は、それがそうであるように一般的な有向グラフではありません。 レイヤによって分散されるノードの種類が異なるなど、ここではさらに制限があります。
    入力ノード、隠れノード、出力ノードがあります。 簡単に言えば、入力ノード(ニューロン値)は読み取り専用とみなされ、変更の方法はありません。ノード9とノード4との間の接続は、信号がそれ以上伝播しないため、入力4自体としては無意味です。
    同じことがノード8と11の接続です。 hereと表示されますが、ニューラルネットワークの基礎は簡単な方法で説明されています。

  2. ループを持つネットワークについて言えば、リカレントネットワークと仮定します。 と仮定します。recursive neural networkを下の図に示します。 recursive neural network 出力はどのように計算されますか?
    フィードフォワードネットワークと同じ計算ルールを適用しようとすることができます。 formula,
    formula、ここでf - 活性化関数。
    しかし、ちょっと待ってください、私たちは formulaformula 値を知っている必要はありませんか? 技術的には、これは再帰ではありません。
    formulaノードの次の値はノードの現在の値に依存します」と読むことができます。
    示されているネットワークのダイナミクスは、「アンフォールディング」(下図参照)によって視覚化できます。 enter image description here したがって、リカレントネットワークは、時間ステップごとに1つのレイヤーを持ち、タイムステップ間で共有ウェイトを持つディープネットワークとして扱うことができます。ここでは、ステップ0の隠れ層をステップ1の入力として扱います。
    最初のステップの計算式はformulaのようになります。
    同様に、第2ステップについては、 formulaと計算することができます。簡単にするため

(実際に初期状態をモデルパラメータとして訓練されるが)、formulaformulaの値はゼロにより初期化することができます。展開はtrainingで使用されます(技術的には、繰り返しネットワークを一連のフィードフォワード隠しレイヤーに置き換えるだけです)。

結論として、再帰的なネットワークはまだマトリックスの表現と操作を持っていますが、明らかではないようです。

+0

これで説明したので、これはもっと意味があります。相互接続された大規模なネットワークでは複雑に思えますが、再帰はソリューションのように聞こえます。ありがとう! – natedogg

関連する問題