問題タブ [backpropagation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2026 参照

neural-network - ニューラル ネットワーク バックプロパゲーション?

だれかウェブサイトを推薦したり、NN でバックプロパゲーションがどのように実装されているかを簡単に教えてもらえますか? 基本的な概念は理解できましたが、コードの書き方がわかりません。

私が見つけたソースの多くは、方程式を示しているだけで、なぜそれを行っているのかを説明していません。また、変数名のせいで見つけにくくなっています。

例:

その例では、誰かがの目的を説明できますか

ありがとう。

0 投票する
2 に答える
2858 参照

batch-file - バックプロパゲーションとバッチトレーニング

dWバックプロパゲーションは、パターンごとの重みごとに(重みデルタ)を計算するため、確率的トレーニングを行うときに重みを変更する方法は簡単です。ただし、バッチトレーニングに使用するにはどうすればよいですか?トレーニングセット全体に蓄積dWしてから変更を適用するだけですか、それともそれ以上のものがありますか?

0 投票する
1 に答える
799 参照

machine-learning - 単一のネットワーク-複数の出力、または複数のネットワーク-単一の出力?

複数の出力を持つフィードフォワードニューラルネットワークを設計する場合、複数の出力を持つ単一のネットワークと、それぞれが単一の出力を持つ複数のネットワークを持つことの間に(計算効率以外の)概念的な違いはありますか?

同じネットワーク内の出力ニューロンは「オンザフライ」で相互に影響を与えませんが、各出力からのエラーが逆伝播して隠れ層の重みに影響を与え、それが他の出力の値に影響を与えるため、トレーニングに影響を与えます。 。

どちらの方法でも解決できる問題はありますか?直感的には、単一のネットワークは、一度に1つの出力のみをアクティブにする必要がある問題(つまり、OCR)に適しています。複数のネットワークは、複数の出力を同時にアクティブにできる問題(つまり、各出力が何らかの特性に対応する場合)に適しています。入力では、それらのいくつかが同時に存在する可能性があります)。しかし、これは単なる直感です。それは実質的に成り立ちますか?

0 投票する
3 に答える
11548 参照

computer-science - ニューラル ネットワークのバックプロパゲーションについて

更新:問題のより良い定式化。

例として、XOR ニューラル ネットワークを使用してバックプロパゲーション アルゴリズムを理解しようとしています。この場合、2 つの入力ニューロン + 1 つのバイアス、隠れ層の 2 つのニューロン + 1 つのバイアス、および 1 つの出力ニューロンがあります。

サンプル XOR ニューラル ネットワーク
(出典: wikimedia.org )

私は確率的逆伝播を使用しています。

もう少し読んだ後、出力ユニットのエラーが隠れ層に伝播することがわかりました...ニューラルネットワークの入力層に到達すると、各ニューロンがエラー調整を取得するため、最初は混乱しました隠れ層の両方のニューロンから。特に誤差の分布の仕方は、最初は把握しにくいものです。

ステップ 1では、入力の各インスタンスの出力を計算します。
ステップ 2では、出力ニューロン (この場合は 1 つしかありません) とターゲット値の間の誤差を計算します。ステップ 3では、ステップ 2 の誤差を使用して、各隠れユニット h の誤差を計算します。
ステップ2

ステップ 3

「重み kh」は、隠れユニット h と出力ユニット k の間の重みです。入力ユニットには出力ユニットに関連付けられた直接の重みがないため、これは混乱を招きます。数式を数時間見つめた後、合計が何を意味するのかを考え始めました。隠れ層ニューロンに接続する各入力ニューロンの重みに出力誤差を掛けて合計するという結論に達し始めています。 . これは論理的な結論ですが、「重み kh」(出力レイヤー k と非表示レイヤー h の間) が明確に示されているため、この式は少し混乱しているように見えます。

ここですべてを正しく理解していますか? 誰でもこれを確認できますか?

入力層の O(h) とは? 私の理解では、各入力ノードには 2 つの出力があります。1 つは隠れ層の最初のノードに入り、もう 1 つは 2 番目のノードの隠れ層に入ります。O(h)*(1 - O(h))2 つの出力のうち、式の一部にプラグインする必要があるのはどれですか?
ステップ 3

0 投票する
3 に答える
9576 参照

neural-network - ニューラル ネットワークを使用した天気予報

backpropagationを使用して天気予報のプログラムを作成しようとしています。私はこの分野の初心者です。温度、湿度、風速、降水量などのさまざまなパラメーターを含む履歴データがあります。

このデータを入力レイヤーに提供する方法について混乱しています。各入力ノードには、特定の日のデータ全体が与えられますか?それとも、パラメーターごとに異なるネットワークが必要ですか? 出力レイヤーについても混乱しています。

0 投票する
19 に答える
397764 参照

machine-learning - ニューラルネットワークにおけるバイアスの役割は何ですか?

最急降下法とバックプロパゲーションアルゴリズムを知っています。私が得られないのは、バイアスをいつ使用することが重要で、どのように使用するのかということです。

たとえば、AND関数をマッピングするときに、2つの入力と1つの出力を使用すると、正しい重みが得られません。ただし、3つの入力(そのうちの1つはバイアス)を使用すると、正しい重みが得られます。

0 投票する
2 に答える
5163 参照

neural-network - 回復力のあるバックプロパゲーション ニューラル ネットワーク - 勾配に関する質問

最初に言いたいのは、私はニューラル ネットワークに本当に慣れていないので、あまりよく理解していないということです ;)

バックプロパゲーション ニューラル ネットワークの最初の C# 実装を作成しました。XOR を使用してテストしたところ、動作しているように見えます。

ここで、回復力のあるバックプロパゲーション (Rprop - http://en.wikipedia.org/wiki/Rprop ) を使用するように実装を変更したいと思います。

定義によると、「Rprop は、すべてのパターンの偏導関数の符号のみ (大きさではない) を考慮し、それぞれの「重み」に独立して作用します。

すべてのパターンの偏微分とは何か教えてもらえますか? そして、隠れ層のニューロンのこの偏導関数をどのように計算すればよいでしょうか。

どうもありがとう

アップデート:

この Java コードに基づく私の実装: www_.dia.fi.upm.es/~jamartin/downloads/bpnn.java

私の backPropagate メソッドは次のようになります。

change = hidden_deltas[j] * activationsInputs[i]変数を勾配 (偏導関数) として使用して、sing をチェックでき ますか?

0 投票する
1 に答える
3468 参照

backpropagation - 高速トレーニングのためのニューラルネットワーク設定

過去のデータに基づいてソフトウェアプロジェクトの時間とコストを予測するためのツールを作成しています。このツールはニューラルネットワークを使用してこれを実行します。これまでのところ、結果は有望ですが、ネットワークのプロパティを変更するだけで、さらに多くの最適化を実行できると思います。これらの設定に関しては、ルールやベストプラクティスさえないようですので、経験のある人が私を助けてくれるなら、私はそれを大いに感謝します。

入力データは一連の整数で構成されており、ユーザーが望む高さまで上がる可能性がありますが、ほとんどの場合、私が思っていたように100,000未満になります。プロジェクトの人数やプロジェクトのコストなどの詳細、およびデータベースエンティティとユースケースに関する詳細です。

合計で10個の入力と2個の出力(時間とコスト)があります。私はResilientPropagationを使用してネットワークをトレーニングしています。現在、10個の入力ノード、5個のノードと2個の出力ノードを持つ1個の隠れ層があります。私は5%のエラー率を下回るようにトレーニングしています。

アルゴリズムはWebサーバー上で実行する必要があるため、どこにも行かないように見えるときにトレーニングを停止する手段を講じました。これは、10,000回のトレーニング反復に設定されています。

現在、少し変化するデータを使用してトレーニングしようとすると、ユーザーが期待する範囲内でトレーニングに時間がかかり、10,000回の反復制限に何度も達します。

ニューラルネットワークを使うのはこれが初めてで、何を期待できるのかよくわかりません。ネットワークにどのような設定を使用する必要があるか、および反復制限についていくつかのヒントを教えていただければ幸いです。

ありがとうございました!

0 投票する
1 に答える
6356 参照

neural-network - 交差エントロピー誤差関数は、通常の逆伝播アルゴリズムでどのように機能しますか?

C++ でフィードフォワード バックプロパゲーション ネットワークに取り組んでいますが、正しく機能していないようです。私がベースにしているネットワークは、クロスエントロピーエラー関数を使用しています。しかし、私はそれについてあまり詳しくなく、調べようとしてもまだよくわかりません。簡単に思えることもあれば、難しいこともあります。ネットワークは多項分類問題を解決します。私が理解している限り、クロスエントロピー誤差関数はこれらのケースに適しています。それがどのように機能するかを知っている人はいますか?