問題タブ [mnist]
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.
neural-network - MNIST - トレーニングのスタック
私はニューラル ネットワークとディープ ラーニング(最初の 2 つの章) を読んでおり、それに沿って、MNIST データ セットから数字を分類する独自の ANN を構築しようとしています。
私の実装は、10 エポック後にテスト セット (約 5734/10000) の数字を分類する際に最大 57% の精度でピークに達するため、ここ数日間頭を悩ませてきました (トレーニング セットの精度は 10 エポック以降に停滞し、テスト セットの精度は、おそらくオーバー フィッティングのために低下します)。
本とほぼ同じ構成を使用しています。すべての層が完全に接続された 2 層フィードフォワード ANN (784-30-10)。標準のシグモイド活性化関数; 二次費用関数; 重みは同じ方法で初期化されます (平均 0、標準偏差 1 のガウス分布から取得) 唯一の違いは、バッチ/ミニバッチ トレーニングの代わりにオンライン トレーニングを使用していることと、学習率が 3.0 ではなく 1.0 であることです (私はミニバッチ トレーニング + 学習率 3.0 を試しましたが)
それでも、私の実装は一連のエポックの後に 60% パーセンタイルを通過しません。本のように、ANN は最初のエポックの直後にほとんど同じ構成で%90 を超えます。最初は、逆伝播アルゴリズムの実装を台無しにしましたが、逆伝播を異なる方法で 3 回再実装した後、各再実装でまったく同じ結果になり、困惑しました...
バックプロパゲーション アルゴリズムが生成する結果の例:
上記と同じ構成のより単純なフィードフォワード ネットワーク (オンライン トレーニング + 学習率 1.0): 3 つの入力ニューロン、2 つの隠れニューロン、および 1 つの出力ニューロン。
初期重みは次のように初期化されます。
入力が [0.0, 0.5, 1.0] の場合、出力は 0.78900331 です。同じ入力と 1.0 の目的の出力を逆伝播すると、次の偏導関数が得られます (dw = 重みに関する導関数、db = バイアスに関する導関数)。
これらの偏導関数でネットワークを更新すると、修正された出力値 0.74862305 が得られます。
上記の結果を確認するのに十分親切な人がいるとしたら、問題の原因としてバックプロパゲーションが正しくないことをほぼ除外したので、非常に役立ちます.
MNIST の問題に取り組んでいる人で、この問題に遭遇した人はいますか? 私はここで本当に迷っているので、チェックすべきことの提案も役に立ちます。
python - TensorFlow は numpy 配列からデータセットを作成します
TensorFlow は、データを保存する優れた方法として構築されています。これは、たとえば、例で MNIST データを格納するために使用されます。
入力と出力のnumpy配列があるとします。
それらをデータセットに変換するにはどうすればよいtf
ですか?
のような機能を使いたいnext_batch
python - unpickle 後の端末での MNIST データセットからのすべての値の表示
クエリに関する以前の質問を確認しましたが、ピクルされたファイル (MNIST.pkl.gz) からすべての値を表示するには、さらにヘルプが必要です。gzip を使用してピクルを解除し、ターミナルの配列ですが、残りのエントリはドットに置き換えられました。完全な配列の印刷中に発生するこの問題を解決するために、私はそれを印刷する方法を試しましたが、それは主に同じ問題を解決するため、私の問題を解決しませんでしたが、NumPyを使用して印刷している場合. これが私のコードです:
caffe - Caffe の Accuracy レイヤーの下部が InnerProduct と Label で構成されているのはなぜですか?
私はcaffeを初めて使用します。MNISTの例では、label は softmax レイヤーと比較する必要があると考えられていましたが、 ではそうではありませんでしたlenet.prototxt
。なぜInnerProduct
結果とラベルを使用して精度を得るのだろうか、それは不合理に思えます。レイヤーで何かを見逃したからですか?
machine-learning - Tensorflow MNIST の初心者には、評価ステップの理解が必要です
訓練されたモデルを評価する Tensorflow の基本的な例を調べました。これがそれが言うことです:
このコードに従わなかったのですが、トレーニング済みの「モデル」はどこにありますか? それともtf.reduce_mean(....)ですか? 訓練されたモデルをチェックします。