問題タブ [dbn]
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 - 画像分類のための深層学習
深層学習と深層信念ネットワークに関するいくつかの論文を読んだ後、私はそれがどのように機能するかについての基本的なアイデアを得ました。しかし、まだ最後のステップ、つまり分類ステップに固執しています。私がインターネットで見つけた実装のほとんどは、世代を扱っています。(MNIST 桁)
DBN を使用した画像 (できれば自然な画像またはオブジェクト) の分類について説明している説明 (またはコード) はありますか?
また、方向性のいくつかの指針は本当に役に立ちます。
python - PyBrain で教師付き深層学習トレーニングを行うには?
DeepBeliefTrainer を PyBrain/Python のデータで動作させるのに問題があります。PyBrain でディープ ラーニングを使用する方法について、unsupervised 以外の例を見つけることができないので、誰かが使用の基本的な概念を示す例を示してくれることを願っています。
私は以下を使用して初期化しようとしました:
回帰に SupervisedDataset を使用しようとしましたが、トレーニングが失敗しました。教師あり機械学習にディープラーニング トレーナーを使用して成功した人はいますか? そして、どうやってそれをしましたか?
私が得るエラー:
machine-learning - 実数値データ用のGB-RBMの実装
音声認識用のディープビリーフネットワークを実装しようとしています。したがって、ガウス可視ユニットを持つには、RBMの最初のレイヤーが必要です。
@Andrej Karpathyのmatrbm(https://code.google.com/p/matrbm/)を使用し、Bernouli-BernouliRBMをGaussian-Bernouliに変換するためにいくつかの変更を加えました。
変更されたバージョンはhttp://pastebin.com/KTPHnizdで入手できます。
私は何か間違ったことをしていますか?
python-2.7 - トピックモデリングのための深い信念ネットワークの実装
Geoffrey Hinton と Ruslan Salakhutdinov によるSemantic Hashing の記事 ( http://www.cs.toronto.edu/~hinton/absps/sh.pdf )のディープ ビリーフ ネットワークを実装しようとしています。制限付きボルツマン マシン (RBM) で制限付きポアソン モデルを実装する方法を理解するのに苦労しています。その結果、私のモデルは実数値の単語数ベクトルを取り、重みを正しく更新します。
以下に、私の RBM の重要なコードを示します。
ベルヌーイ分布と制約付きポアソン モデルの方法を以下に示します。
machine-learning - ディープ ビリーフ ネットワーク vs 畳み込みニューラル ネットワーク
私はニューラル ネットワークの分野に不慣れで、ディープ ビリーフ ネットワークと畳み込みネットワークの違いを知りたいです。また、Deep Belief と Convolutional Neural Nets を組み合わせた Deep Convolutional Network はありますか?
これが私が今まで集めてきたものです。間違っている場合は修正してください。
画像分類問題の場合、Deep Belief ネットワークには多くの層があり、それぞれが貪欲な層ごとの戦略を使用してトレーニングされます。たとえば、画像サイズが 50 x 50 で、4 層のディープ ネットワークが必要な場合
- 入力層
- 隠れ層 1 (HL1)
- 隠れ層 2 (HL2)
- 出力層
入力層と HL1 の間の重み (W1) をトレーニングするために、入力層には 50 x 50 = 2500 個のニューロン、HL1 = 1000 個のニューロン (たとえば)、HL2 = 100 個のニューロン (たとえば)、出力層 = 10 個のニューロンがあります。 AutoEncoder (2500 - 1000 - 2500) を使用して、サイズ 2500 x 1000 の W1 を学習します (これは教師なし学習です)。次に、最初の隠れ層を介してすべての画像をフィード フォワードして特徴セットを取得し、別のオートエンコーダー (1000 - 100 - 1000) を使用して次の特徴セットを取得し、最後にソフトマックス レイヤー (100 - 10) を使用して分類します。(最後の層 (HL2 - ソフトマックス層である出力) の重みのみを学習することは、教師あり学習です)。
(オートエンコーダーの代わりに RBM を使用できます)。
Convolutional Neural Networksを使用して同じ問題が解決された場合、50x50 の入力画像の場合、7 x 7 パッチのみを使用してネットワークを開発します (たとえば)。私のレイヤーは
- 入力層 (7 x 7 = 49 ニューロン)
- HL1 (25 の異なる特徴に対して 25 のニューロン) - (畳み込み層)
- プーリング層
- 出力層 (Softmax)
そして、重みを学習するために、サイズ 50 x 50 の画像から 7 x 7 のパッチを取得し、畳み込み層を介してフィード フォワードします。したがって、それぞれのサイズが (50 - 7 + 1) x (50 - 7) の 25 の異なる特徴マップを持つことになります。 + 1) = 44 x 44。
次に、プーリングハンドに11x11のウィンドウを使用するため、プーリングレイヤーの出力としてサイズ(4 x 4)の25個の機能マップを取得します。これらの特徴マップを分類に使用します。
重みを学習している間、私は Deep Belief Networks (教師なし学習) のようなレイヤーごとの戦略を使用しませんが、代わりに教師あり学習を使用して、すべてのレイヤーの重みを同時に学習します。これは正しいですか、それとも重みを学習する他の方法はありますか?
私が理解したことは正しいですか?
したがって、画像分類に DBN を使用する場合は、すべての画像のサイズを特定のサイズ (たとえば 200x200) に変更し、入力層にその数のニューロンを配置する必要がありますが、CNN の場合は、より小さなパッチでのみトレーニングします。入力 (サイズ 200x200 の画像の場合は 10 x 10 など) を入力し、学習した重みを画像全体に畳み込みますか?
DBN は CNN よりも優れた結果を提供しますか? それともデータセットに完全に依存していますか?
ありがとうございました。
python - PyBrain - ディープ ビリーフ ネットワーク トレーニングの方法は?
Pybrain を使用して DBN をトレーニングするのに苦労しています。最初に私はそれを簡単な方法でやろうとしました:
私はこの問題に直面しました: PyBrain で教師付きの深い信念のトレーニングを行うには? 、提案された解決策は別のエラーにつながりました:
ということで、ゼロからネットワークを定義してみました!
まだ私が実行したとき:
次のエラーが表示されます。
これは、関連する RBM の隠れ層と関係があります。
ここで何か不足していますか?
python - 「mnist.pkl.gz」で使用されている正確な形式とデータ構造で、データセットを .pkl ファイルに入れる方法は?
Python で Theano ライブラリを使用して、Deep Belief Networks でいくつかの実験をしようとしています。このアドレスのコードを使用します: DBN full code . このコードは、MNIST 手書きデータベースを使用します。このファイルは既に pickle 形式になっています。次の場所でアンピックされます:
- 列車セット
- 有効な_セット
- テストセット
これはさらに解凍されます:
- train_set_x、train_set_y = train_set
- valid_set_x, valid_set_y = valid_set
- test_set_x、test_set_y = test_set
自分のデータセットを作成するために、このデータセットを構築するコードを教えてください。私が使用する DBN の例では、この形式のデータが必要ですが、その方法がわかりません。誰かがこれを修正する方法を知っている場合は、教えてください。
これが私のコードです:
machine-learning - 制限されたボルツマン マシンによるデータ伝搬
RBM では、ノード内のすべての関係を確率で作成します。では、RBM を介してどのようにデータを伝播できるのでしょうか? 一次サンプリングだけですか?ゆらぎすぎじゃない?
それともフィードフォワードmlpのように機能しますか? (つまり、hj = \sum_i vi * wij) ですが、RBM にはこの概念はありません。なぜなら、この論文は確率モデルであると述べているからです。
machine-learning - 畳み込みディープ ビリーフ ネットワーク (CDBN) と畳み込みニューラル ネットワーク (CNN)
最後に、ニューラル ネットワークの学習を開始しました。畳み込みディープ ビリーフ ネットワークと畳み込みネットワークの違いを知りたいです。こちらにも同様の質問がありますが、正確な答えはありません。Convolutional Deep Belief Network は CNN + DBN であることはわかっています。ということで、物体認識を行います。どちらが他のものよりもはるかに優れているか、またはそれらの複雑さを知りたいです。検索しましたが、何か間違っている可能性があるものは見つかりませんでした。
python-2.7 - Python DBN dbn.predict の使用
こんにちは、dbn.predict がどのように機能するか混乱しています。キャニーを使用して画像内の数値を検出し、次に otsu しきい値を使用して 28x28 などにサイズ変更しましたが、それを dbn.predict に渡すと、次のエラーが発生します
ValueError: 内積に対して整列されていない配列。形状 (1, 28) および (784, 300) の配列の内積が要求されました
これが同じコードです、事前に感謝します