タグ付けされた質問 「neural-networks」

人工ニューラルネットワーク(ANN)は、生物学的ニューラルネットワークに大まかに基づいた広範なクラスの計算モデルです。これらには、フィードフォワードNN(「ディープ」NNを含む)、畳み込みNN、反復NNなどが含まれます。

1
トレーニングの損失は再び減少します。何が起こっている?
トレーニングの損失が減少し、再び増加します。とても奇妙です。交差検証損失は、トレーニング損失を追跡します。何が起こっている? 次の2つのスタックLSTMSがあります(Kerasで)。 model = Sequential() model.add(LSTM(512, return_sequences=True, input_shape=(len(X[0]), len(nd.char_indices)))) model.add(Dropout(0.2)) model.add(LSTM(512, return_sequences=False)) model.add(Dropout(0.2)) model.add(Dense(len(nd.categories))) model.add(Activation('sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adadelta') 100エポックでトレーニングします。 model.fit(X_train, np.array(y_train), batch_size=1024, nb_epoch=100, validation_split=0.2) 127803サンプルのトレーニング、31951サンプルの検証 そして、それは損失がどのように見えるかです:

4
スキップ層接続を備えたニューラルネットワーク
ニューラルネットワークでの回帰に興味があります。 隠れノードがゼロのニューラルネットワーク+スキップレイヤー接続は線形モデルです。 同じニューラルネットについてですが、隠れノードはありますか?スキップ層接続の役割は何でしょうか? 直観的には、スキップ層接続を含めると、最終モデルは線形モデルといくつかの非線形部分の合計になります。 ニューラルネットにスキップレイヤー接続を追加することには、利点や欠点はありますか?

5
畳み込みニューラルネットワークとディープラーニングの違いは何ですか?
プロジェクトでディープラーニングを使用したい。いくつかの論文を読んで、質問がありました。畳み込みニューラルネットワークとディープラーニングに違いはありますか?これらは同じものですか、それとも大きな違いがありますか?

8
機械学習の原理理論と数学的理論が重要なのはなぜですか?
私は、原理的/理論的な機械学習を持つことがなぜそんなに重要なのだろうと考えてきました。人間としての個人的な観点から、原理的な機械学習が重要である理由を理解できます。 人間は自分がしていることを理解するのが好きで、私たちは理解の美しさと満足感を見つけます。 理論的な観点から、数学は楽しいです 物事の設計を導く原則がある場合、ランダムな推測、奇妙な試行錯誤に費やす時間が少なくなります。たとえば、ニューラルネットが実際にどのように機能するかを理解すれば、たった今試行錯誤を繰り返すよりもはるかに時間をかけて設計することができます。 より最近では、原則が明確であり、理論も明確であれば、システムへの(できれば)より透明性があるはずです。システムの機能を理解すれば、AIは多くの人々の誇大宣伝がすぐに消えてしまうリスクがあるため、これは良いことです。 原則は、世界が持つ可能性のある重要な構造と、別のツールではなくツールを使用するタイミングを要約する簡潔な方法のようです。 しかし、これらの理由は、機械学習の集中的な理論的研究を正当化するほど十分に強力なのでしょうか?理論に対する最大の批判の1つは、実行が非常に難しいため、通常、非常に制限されたケースや、本質的に結果を役に立たなくする必要がある仮定を研究することになります。Torの作者によるMITでの講演でこれを聞いたことがあると思います。彼が聞いたTorの批判の一部は理論的な議論であるが、本質的に、人々は現実の現実のシナリオについて物事を証明することができない。 計算能力とデータが非常に多いこの新しい時代では、実際のデータセットとテストセットを使用してモデルをテストできます。経験主義を使用して、物事が機能するかどうかを確認できます。代わりに、エンジニアリングと経験主義で機能するAGIまたはシステムを実現できる場合、特に定量化の限界を達成するのが非常に困難ですが、直感と定性的な答えがはるかに簡単な場合、機械学習の原理的および理論的な正当化を追求する価値がありますデータ駆動型アプローチで達成しますか?このアプローチは古典的な統計では利用できませんでした。そのため、当時は理論が非常に重要であったと思います。 私は個人的に常に理論を愛し、考えており、原則的なアプローチが重要でした。しかし、実際のデータとコンピューティング能力で物事を試すことができるという力で、理論的な追求の大きな努力(そして潜在的に低い報酬)がまだ価値があるのだろうかと思いました。 機械学習の理論的および原則的な追求は本当に重要ですか?

6
ニューラルネットワークはどのように画像を認識しますか?
この質問は、相互検証で回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 Neural Networkが画像認識でどのように機能するかを学習しようとしています。私はいくつかの例を見て、さらに混乱しました。20x20画像の文字認識の例では、各ピクセルの値が入力レイヤーになります。だから400ニューロン。次に、ニューロンの隠れ層と26個の出力ニューロン。その後、ネットワークをトレーニングすると、完全ではなく機能します。 ニューラルネットワークについて私を混乱させたのは、画像の中にあるものについて学習する方法です。何らかの方法でネットワークが画像の比較と認識を学習するために、しきい値処理、セグメンテーション、または測定を行う必要はありません。今では魔法のようです。ニューラルネットワークの学習を開始する場所

10
なぜニューラルネットワークとディープラーニングをダンプしないのですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 一般的なディープラーニングとニューラルネットワークの基本的な問題。 トレーニングデータに適合するソリューションは無限です。単一の方程式だけで満たされ、最も一般化できると言える正確な数学方程式はありません。単純に言えば、どれが最も一般化するのかわかりません。 重みの最適化は凸面の問題ではないため、グローバルミニマムまたはローカルミニマムになることは決してありません。 それでは、なぜニューラルネットワークをダンプして、代わりにより良いMLモデルを検索しないのですか?私たちが理解していること、そして一連の数学的な方程式と一致する何か?線形およびSVMにはこの数学的な欠点はなく、一連の数学方程式と完全に一致しています。同じラインで考えて(線形である必要はありません)、線形およびSVMおよびニューラルネットワークとディープラーニングよりも優れた新しいMLモデルを考え出すのはなぜですか?

6
凸問題の場合、確率的勾配降下(SGD)の勾配は常にグローバルな極値を指しますか?
最適化にSGDを使用する凸型コスト関数を考えると、最適化プロセス中の特定のポイントに勾配(ベクトル)があります。 私の質問は、凸面上の点を考えると、勾配は関数が最も速く増加/減少する方向だけを指すのですか、それとも勾配は常にコスト関数の最適/極値を指すのですか? 前者はローカルコンセプトであり、後者はグローバルコンセプトです。 SGDは、最終的にコスト関数の極値に収束できます。凸面上の任意の点に与えられた勾配の方向と、グローバルな極値を指す方向との違いについて疑問に思っています。 グラデーションの方向は、関数がそのポイントで最も速く増加/減少する方向である必要がありますよね?


1
修正された線形単位が非線形と見なされるのはなぜですか?
なぜ整流線形ユニット(ReLU)の活性化関数は非線形と見なされますか? f(x)=max(0,x)f(x)=max(0,x) f(x) = \max(0,x) 入力が正の場合は線形であり、深いネットワークの代表的な力を解き放つための私の理解からは、非線形活性化が必須です。そうでなければ、ネットワーク全体を単一のレイヤーで表すことができます。

3
Adam Optimizerがそのハイパーパラメーターの値に対して堅牢であると考えられる理由は何ですか?
私はディープラーニング用のAdamオプティマイザーについて読んでいて、Bengio、Goodfellow、Courvilleの新しい本Deep Learningで次の文章を見つけました。 Adamは通常、ハイパーパラメーターの選択に対してかなり堅牢であると見なされていますが、学習率を推奨されるデフォルトから変更する必要がある場合があります。 ディープラーニングシステムの統計的パフォーマンスにおいて(少なくとも私の経験では)ハイパーパラメーター検索が非常に重要になる可能性があるため、これが事実であれば大したことです。したがって、私の質問は、なぜそのような重要なパラメーターに対してアダムがロバストなのですか?特別および?β1β1\beta_1β2β2\beta_2 私はAdamの論文を読みましたが、なぜそれらのパラメーターで機能するのか、なぜ堅牢なのかについては説明していません。彼らは他の場所でそれを正当化しますか? 私は紙を読んでも、ために、彼らは非常に小さくしようとしたハイパーパラメータの数、ということらしいわずか2とするためにβ 2、それが唯一の2x3のハイパーパラメータで動作している場合にのみ3.どのようにこれは徹底的に実証研究することができ?β1β1\beta_1β2β2\beta_2

4
人工ニューラルネットワークから人間の脳について何を学ぶことができますか?
私の質問/タイトルはあまり具体的ではないことを知っているので、それを明確にしようとします: 人工ニューラルネットワークの設計は比較的厳密です。もちろん、一般的に、それらは生物学の影響を受け、実際のニューラルネットワークの数学的モデルを構築しようとしますが、実際のニューラルネットワークの理解は正確なモデルの構築には不十分です。したがって、正確なモデルや、実際のニューラルネットワークに「近い」ものは考えられません。 私の知る限り、すべての人工ニューラルネットワークは実際のニューラルネットワークからはかけ離れています。生物学には、標準の古典的な完全に接続されたMLPは存在しません。リカレントニューラルネットワークには実際の神経可塑性がないため、RNNの各ニューロンには同じ「フィードバックアーキテクチャ」がありますが、実際のニューロンは情報を個別に保存および共有します。畳み込みニューラルネットワークは効果的で人気がありますが、(たとえば)人間の脳の画像処理はごく少数の畳み込み層で構成されていますが、最新のソリューション(GoogLeNetなど)はすでに数十層を使用しています... 、彼らは人間のパフォーマンスにも近くありません。特に、実際のニューラルネットワークと比較して、かなりの量のレイヤーとデータ削減が必要なため、「レイヤーごとのパフォーマンス」を考える場合。 さらに、私の知る限り、モジュール式の自己拡張/自己再構築人工ニューラルネットワークでさえ、実際のニューラルネットワークの巨大な適応性と比較してかなり「固定的かつ静的」です。生物学的ニューロンには通常、ニューロンを非常に多様な異なる領域や他のニューロンに接続する数千の樹状突起があります。人工ニューラルネットワークは、はるかに「単純」です。 それでは、人間の脳/実際のニューラルネットワークについて、人工ニューラルネットワークから学べることはありますか?それとも、古典的な静的アルゴリズムよりも優れたパフォーマンスを発揮するソフトウェアを作成しようとするだけなのでしょうか(あるいは、そのようなアルゴリズムが失敗するようなことをするのでしょうか)。 誰かがこのトピックに関する(できれば科学的な)情報源を提供できますか? 編集:より多くの回答が高く評価されています(:

2
オートエンコーダーは意味のある機能を学習できません
次の2つのような50,000個の画像があります。 データのグラフを表します。これらの画像から特徴を抽出したかったので、Theano(deeplearning.net)が提供するオートエンコーダコードを使用しました。 問題は、これらのオートエンコーダーが機能を学習していないようです。私はRBMを試しましたが、それは同じです。 MNISTデータセットは素晴らしい機能を提供しますが、私のデータは何ももたらさないようです。以下に例を示します。 MNISTで作成されたフィルター: データをトレーニングして作成したフィルター: 隠れ層サイズとトレーニングエポックのさまざまな組み合わせを使用しましたが、結果は常に同じです。 なぜ機能しないのですか?自動エンコーダーがこれらの画像から特徴を抽出できないのはなぜですか? 編集: 同様の問題を抱えている人のために。解決策は本当にシンプルで、原因は本当に馬鹿げていました。RGBエンコーディングのピクセル値を0〜1の範囲の浮動小数点数に再スケーリングするのを忘れました。 値を再スケーリングすることで問題が解決しました。

2
Krizhevskyの'12 CNNは、最初のレイヤーで253,440個のニューロンをどのように取得しますか?
でアレックスKrizhevskyら。深い畳み込みニューラルネットワークを使用したImagenet分類では、各層のニューロン数が列挙されます(下図を参照)。 ネットワークの入力は150,528次元で、ネットワークの残りの層のニューロンの数は253,440–186,624–64,896–64,896–43,264– 4096–4096–1000で与えられます。 3Dビュー 最初のレイヤー以降のすべてのレイヤーのニューロンの数は明らかです。ニューロンを計算する1つの簡単な方法は、そのレイヤーの3つの次元を単純に乗算することです(planes X width X height): レイヤー2: 27x27x128 * 2 = 186,624 レイヤー3: 13x13x192 * 2 = 64,896 等 ただし、最初のレイヤーを見ると: レイヤー1: 55x55x48 * 2 = 290400 これは論文で指定されているものではない ことに注意してください253,440! 出力サイズの計算 畳み込みの出力テンソルを計算する他の方法は次のとおりです。 入力画像が3DテンソルのnInputPlane x height x width場合、出力画像のサイズは次のようnOutputPlane x owidth x oheightになります owidth = (width - kW) / dW + …

2
ドロップアウトとドロップ接続の違いは何ですか?
ドロップアウトとドロップ接続の違いは何ですか? 知る限り、ドロップアウトは、トレーニング中に非表示のノードをランダムにドロップしますが、テスト中はそれらを保持し、ドロップ接続は接続をドロップします。 しかし、接続をドロップすることは、非表示のノードをドロップすることと同等ではありませんか?ノード(または接続)は単なる重みのセットではありませんか?

2
フィルター行列の要素を初期化する方法は?
ライブラリ(ConvnetやTensorFlowなど)に依存しないPythonコードを作成することで、畳み込みニューラルネットワークをよりよく理解しようとしていますが、カーネルマトリックスの値を選択する方法に関する文献にこだわっています。画像の畳み込みを実行します。 CNNのレイヤーを示す以下の画像の機能マップ間のステップで、実装の詳細を理解しようとしています。 この図によると: カーネルマトリックスカーネルは画像上で「ステップ」し、特徴マップを作成します。各ピクセルは、カーネル(またはフィルターマトリックス)の各重みと入力画像の対応するピクセル値の間のすべての要素ごとの積の合計です。 私の質問は、カーネル(またはフィルター)行列の重みをどのように初期化するのですか? 上記のデモンストレーションでは、これらは1と0にすぎませんが、これは図のために単純化されていると思います。 これらの重みは、何らかの前処理ステップでトレーニングされていますか?または、ユーザーが明示的に選択しましたか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.