問題タブ [dropout]
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.
machine-learning - ドロップアウト使用時の停止手順は?
現在、ドロップアウトを利用したニューラル ネットワークを実装しています。出てきた問題は、いつトレーニングをやめるべきかということでした。
通常、私はその点を判断するために早期停止を使用しますが、元のドロップアウト ペーパーでは、「ドロップアウトにより、はるかに大きなネットをトレーニングできるようになり、早期停止の必要がなくなる」と述べられています。
早期停止を適用しない場合、どの停止手順を使用しますか?
neural-network - ニューラルネットワークのどこにドロップアウトを追加しますか?
ニューラル ネットワークのさまざまな部分でのドロップアウトに関する説明を見てきました。
重み行列のドロップアウト、
行列乗算の後、relu の前の隠れ層でのドロップアウト、
reluの後の隠れ層でのドロップアウト、
ソフトマックス関数の前の出力スコアのドロップアウト
ドロップアウトをどこで行うべきかについて少し混乱しています。誰かがそれについて詳しく説明するのを手伝ってもらえますか? ありがとう!
matlab - ドロップアウトのあるニューラル ネットワーク
分類にニューラル ネットワークを使用しようとしています。データセットは 7 つのパラメーターと 30 万を超えるサンプルで構成されています。ドロップアウトを使用して、ネットワークへのドロップアウトの影響を確認したいと思います。Matlab を使用しています。ただし、matlab にはドロップアウトに関する完全なドキュメントがありません。ドロップアウトに関する論文をいくつか見つけましたが、そのほとんどは画像用のディープ ニューラル ネットワークに関するもので、非常に複雑なアプローチをとっています。matlab で nnstart を使用しようとしましたが、この方法でドロップアウトを追加できるかどうかわかりません。単純なニューラル ネットワークに matlab によるドロップアウトを使用する方法はありますか?
私の質問に関連する情報や、場合によっては matlab コードを共有していただければ幸いです。
tensorflow - tensorflow のカスタム ドロップアウト
私はいくつかのデータで DNN モデルをトレーニングしており、学習した重みを分析して、私が研究している真のシステム (生物学におけるシグナル伝達カスケード) について何かを学びたいと考えています。生物学的 NN について学ぶために人工 NN を使用していると言えるでしょう。
トレーニング例ごとに、最上位層でシグナル伝達を担う単一の遺伝子を削除しました。
このシグナル伝達カスケードを NN としてモデリングし、最初の隠れ層のノードの 1 つを削除していると、ドロップアウトの実際のバージョンを実行していることに気付きました。
したがって、ドロップアウトを使用してモデルをトレーニングしたいと思いますが、オンラインで見たドロップアウトの実装はノードをランダムにドロップアウトするようです。必要なのは、トレーニング例ごとにドロップアウトするノードを指定する方法です。
これを実装する方法に関するアドバイスはありますか?私はどのパッケージにもオープンですが、現在、私がすでに行ったことはすべて Tensorflow にあるため、そのフレームワークを使用するソリューションをいただければ幸いです。
説明された詳細を好む人のために:
10 個の入力変数があり、最初のレイヤーの 32 個の relu ノードに完全に接続されています。これらは、出力に完全に接続されている 2 番目のレイヤー (relu) に完全に接続されています (回帰を行っているため線形)。
10 個の入力変数に加えて、28 個のノードのうちどれをドロップアウトする必要があるかもわかっています。
トレーニング時にこれを指定する方法はありますか?
現在使用しているコードは次のとおりです。
tensorflow - Tensorflow LSTM ドロップアウトの実装
- tf.nn.rnn_cell.DropoutWrapper() を呼び出すときに、テンソルフローは具体的にどのようにドロップアウトを適用しますか?
rnn へのドロップアウトの適用について私が読んだものはすべて、Zaremba らによるこの論文を参照しています。alは、繰り返し接続の間にドロップアウトを適用しないことを示しています。ニューロンは、LSTM レイヤーの前または後にランダムに削除する必要がありますが、LSTM レイヤー間では削除しないでください。Ok。
- 私が持っている質問は、時間に関してニューロンがどのようにオフになっているのですか?
誰もが引用している論文では、1 つのランダムな「ドロップアウト マスク」を生成して再利用するのではなく、ランダムな「ドロップアウト マスク」がタイムステップごとに適用され、ドロップアウトされる特定のレイヤーのすべてのタイムステップに適用されているようです。次に、次のバッチで新しい「ドロップアウト マスク」を生成します。
さらに、おそらく現時点でより重要なのは、テンソルフローはどのようにそれを行うのでしょうか? tensorflow api を確認し、詳細な説明を探してみましたが、まだ見つかりません。
- 実際の tensorflow ソース コードを掘り下げる方法はありますか?