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

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

2
パーセプトロンの決定境界プロット
パーセプトロンアルゴリズムの決定境界をプロットしようとしていますが、いくつかのことで本当に混乱しています。私の入力インスタンスの形式は、基本的には2D入力インスタンス(x 1およびx 2)とバイナリクラスのターゲット値(y)[1または0]です。[ (x1、x2)、y][(x1,x2),y][(x_{1},x_{2}), y]バツ1x1x_{1}バツ2x2x_{2}yyy したがって、私の重みベクトルはという形式です。[ w1、w2][w1,w2][w_{1}, w_{2}] ここで、追加のバイアスパラメーターを組み込む必要があるため、私の重みベクトルは3 × 1ベクトルになりますか?それは1 × 3のベクトル?ベクトルは1行とn列しかないので、1 × 3にする必要があると思います。w0w0w_{0}3 × 13×13 \times 11 × 31×31 \times 31 × 31×31 \times 3 今度はをランダムな値にインスタンス化するとします。これの決定境界をどのようにプロットしますか?ここで、w 0は何を意味するのですか?あるwは0 / N O R M (ワット)原点から判定領域の距離?もしそうなら、これをどのようにキャプチャし、matplotlib.pyplotまたは同等のMatlabを使用してPythonでプロットしますか?[ w0、w1、w2][w0、w1、w2][w_{0}, w_{1}, w_{2}]w0w0w_{0}w0/ norm(w)w0/んorメートル(w)w_{0}/norm(w) この件に関して少しでも助けていただければ幸いです。

2
ニューラルネットワークのVC次元の計算
固定非反復(DAG)トポロジー(ノードとエッジの固定セットですが、学習アルゴリズムはエッジの重みを変えることができます)の場合、入力ニューロンを持つを入力として、1つの出力に導きます(0から離れた特定の固定しきい値の場合、1に切り上げるか、-1に切り捨てる実際の値を出力します)。このネットワークのVC次元を計算(または概算)するための高速な方法はありますか?nnn{−1,1}n{−1,1}n\{-1,1\}^n ノート 私はCS.SEでもう少し正確なアルゴリズムの再公式化を求めました: ニューラルネットワークのVC次元を効率的に計算または近似する

2
ニューラルネットワークの安定性を向上させるにはどうすればよいですか?
Rでニューラルネットを使用して、14入力と1出力のNNを構築しています。同じ入力トレーニングデータと同じネットワークアーキテクチャ/設定を使用して、ネットワークを数回構築/トレーニングします。 各ネットワークが生成されたら、それをスタンドアロンのテストデータセットで使用して、いくつかの予測値を計算します。ネットワークを構築するたびにすべての入力(トレーニングデータとテストデータの両方)が同じままであるにもかかわらず、予測データの反復ごとに大きな差異があることがわかりました。 NN内で毎回生成される重み付けに違いがあり、2つのニューラルネットワークが同一になることはないことを理解していますが、同一のデータが与えられた場合、各トレイン全体でより一貫性のあるネットワークを作成するにはどうすればよいですか?

4
なぜハイパーパラメータを学習しないのですか?
私はかなり人気のある論文「説明と悪用の例の説明」を実装していました。この論文では、それは敵対的な目的関数をトレーニングします J ''(θ)=αJ(θ)+(1 −α)J '(θ) αをハイパーパラメータとして扱います。αは0.1、0.2、0.3などにすることができます。 この特定の論文に関係なく、疑問に思っているのですが、パラメーターにαを含めて、最良のαを学習しませんか? そうすることの欠点は何ですか?オーバーフィットのせいですか?もしそうなら、なぜもう1つのパラメータを学習するだけで多くの過剰適合が生じるのですか?

2
たたみ込み層の複数のフィルターは、トレーニング中に同じパラメーターを学習しませんか?
私が学んだことに基づいて、CNNのConv Layerで複数のフィルターを使用して、さまざまな特徴検出器を学習します。しかし、これらのフィルターは同様に適用される(つまり、スライドして入力の領域に乗算する)ため、トレーニング中に同じパラメーターを学習するだけではないでしょうか。したがって、複数のフィルターを使用すると冗長になりますか?


3
CIFAR-10は60%を超える精度を得ることができない、Tensorflowバックエンドを使用するKeras [終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 昨年休業。 CIFAR-10データセットで15エポック後にトレーニングを行うと、検証損失が減少せず、1.4程度に留まるようになります(60%の検証精度)。トレーニングセットをシャッフルし、255で割って、float32としてインポートしました。Conv2Dレイヤーにドロップアウトがある場合とない場合の両方で、多数のアーキテクチャーを試しましたが、何も機能しないようです。同じアーキテクチャは、MNISTのテストセットで99.7%の精度を達成します。以下のアーキテクチャをご覧ください。 (注:過剰適合を防ぐために、Adamオプティマイザーのドロップアウトを増やし、学習率を上げたり下げたりしてみましたが、これはすべて過剰適合を防ぐことですが、トレーニングとテストセットの両方で約60%の同様の低い精度になっています)。 with tf.device('/gpu:0'): tf.placeholder(tf.float32, shape=(None, 20, 64)) #placeholder initialized (pick /cpu:0 or /gpu:0) seed = 6 np.random.seed(seed) modelnn = Sequential() neurons = x_train_reduced.shape[1:] modelnn.add(Convolution2D(32, 3, 3, input_shape=neurons, activation='relu', border_mode='same')) modelnn.add(Convolution2D(32, 3, 3, activation='relu', border_mode='same')) modelnn.add(MaxPooling2D(pool_size=(2, 2))) modelnn.add(Dropout(0.2)) modelnn.add(Convolution2D(64, 3, 3, activation='relu', border_mode='same')) modelnn.add(Convolution2D(64, 3, 3, …

2
Kerasの単純な線形回帰
この質問を見た後:Kerasを使用して線形回帰をエミュレートすることを試みて、私は勉強の目的で、そして私の直感を発展させるために、自分の例を転がそうとしました。 単純なデータセットをダウンロードし、1つの列を使用して別の列を予測しました。データは次のようになります。 これで、単一の1ノードの線形レイヤーを持つ単純なケラスモデルを作成し、その上で勾配降下法を実行しました。 from keras.layers import Input, Dense from keras.models import Model inputs = Input(shape=(1,)) preds = Dense(1,activation='linear')(inputs) model = Model(inputs=inputs,outputs=preds) sgd=keras.optimizers.SGD() model.compile(optimizer=sgd ,loss='mse',metrics=['mse']) model.fit(x,y, batch_size=1, epochs=30, shuffle=False) そのようなモデルを実行すると、nanすべてのエポックで損失が出ます。 jupyterノートブックへのリンク だから私はものを試してみることに決めました、そして私が途方もなく小さい学習率を使用する場合に のみまともなモデルを得るsgd=keras.optimizers.SGD(lr=0.0000001): なぜこれが起こっているのですか?私が直面するすべての問題に対して、このように手動で学習率を調整する必要がありますか?ここで何か悪いことをしていますか?これは可能な限り簡単な問題だと思いますよね? ありがとう!


1
減量減量とは何ですか?
私はディープラーニングから始めて、答えが見つからなかった、おそらく適切に検索できなかったという質問があります。私はこの答えを見ましたが、重量減衰損失とは何か、そしてそれが損失関数とどのように関連しているかはまだはっきりしていません。

2
たたみ込みニューラルネットワークは、異なるサイズの入力画像として使用できますか?
私は画像認識のための畳み込みネットワークに取り組んでおり、さまざまなサイズの画像を入力できるかどうかは疑問に思っていました(ただし、それほど大きくはありません)。 このプロジェクト:https : //github.com/harvardnlp/im2markup 彼らが言う: and group images of similar sizes to facilitate batching したがって、前処理を行った後でも、画像のサイズは異なります。これは、式の一部を切り取らないため意味があります。 異なるサイズの使用に問題はありますか?ある場合、どのようにこの問題に取り組むべきですか(式がすべて同じ画像サイズに収まらないため)? どんな入力でも大歓迎です


2
グラフィカルモデルとボルツマンマシンは数学的に関連していますか?
物理学のクラスでボルツマンマシンを使って実際にプログラミングを行ったことがありますが、それらの理論的な特性についてはよく知りません。対照的に、私はグラフィカルモデルの理論については適度な量を知っています(ローリッツェンの本Graphical Modelsの最初の数章について)。 質問:グラフィカルモデルとボルツマンマシンの間に意味のある関係はありますか?ボルツマンマシンは一種のグラフィカルモデルですか? 明らかに、ボルツマンマシンは一種のニューラルネットワークです。ニューラルネットワークの中には、数学的にグラフィカルモデルに関連しているものとそうでないものがあると聞きました。 私の質問に答えないCrossValidatedの関連質問: これは、以前に尋ねられた前の質問に似ています:階層モデル、ニューラルネットワーク、グラフィカルモデル、ベイジアンネットワーク間の関係は何ですか?より具体的です。 さらに、その質問に対する受け入れられた回答は私の混乱を明確にしません-ニューラルネットワークの標準的なグラフィック表現のノードが確率変数を表さなくても、そのような表現が存在しないことを必ずしも意味しません。具体的には、マルコフ連鎖の典型的なグラフィカル表現のノードが確率変数ではなく可能な状態のセットをどのように表すかについて考えていますが、X i間の条件依存関係を示すグラフを作成することもできますバツ私XiX_iバツ私バツ私X_iこれは、すべてのマルコフ連鎖が実際にはマルコフ確率場であることを示しています。答えはまた、ニューラルネットワーク(おそらくボルツマンマシンを含む)は「弁別的」であると述べていますが、その主張が何を意味するかを詳しく説明することはしません。また、明らかなフォローアップの質問は「差別的ではないグラフィカルモデルですか?」対処した。同様に、受け入れられた回答リンクはケビンマーフィーのウェブサイト(実際にはベイジアンネットワークについて学ぶときに彼の博士論文の一部を読んでいます)にリンクしていますが、このウェブサイトはベイジアンネットワークのみを取り上げており、ニューラルネットワークについてはまったく触れていません。異なっています。 この他の質問はおそらく私のものに最も似ています:ニューラルネットワークをグラフィカルモデルとして数学的にモデル化します。ただし、どの回答も受け入れられず、同様に参照のみが示され、説明は説明されません(この回答など)。いつかリファレンスを理解できるようになると思いますが、今は基本的な知識レベルにいるので、できるだけ単純化した回答をいただければ幸いです。また、上位の回答(http://www.cs.toronto.edu/~tijmen/csc321/lecture_notes.shtml)にリンクされているトロントのコースでは、これについて説明していますが、詳細については詳しく説明していません。さらに、私の質問に答える可能性がある1つの講義のノートは公開されていません。 3月25日講演13b:Belief Nets 7:43。このスライドでは、ボルツマンマシンを念頭に置いてください。そこにも、隠れたユニットと目に見えるユニットがあり、すべて確率的です。BMとSBNには、違いよりも共通点があります。9:16。最近では、「グラフィカルモデル」はニューラルネットワークの特別なカテゴリと見なされることがありますが、ここで説明する歴史では、非常に異なるタイプのシステムと見なされていました。

1
ニューラルネットワークは通常、トレーニング中に「キックイン」するのにしばらく時間がかかりますか?
バックプロパゲーションを使用して、分類用のディープニューラルネットワークをトレーニングしようとしています。具体的には、Tensor Flowライブラリを使用して、画像分類に畳み込みニューラルネットワークを使用しています。トレーニング中に私は奇妙な行動を経験しており、これが典型的であるのか、それとも私が何か間違ったことをしているのかと思っています。 したがって、私の畳み込みニューラルネットワークには8つのレイヤーがあります(5つの畳み込み、3つが完全に接続されています)。すべての重みとバイアスは、小さな乱数で初期化されます。次に、ステップサイズを設定し、Tensor FlowのAdam Optimizerを使用して、ミニバッチでトレーニングを進めます。 私が話している奇妙な振る舞いは、私のトレーニングデータの最初の約10ループでは、トレーニング損失は一般に減少しないということです。ウェイトは更新されていますが、トレーニングロスはほぼ同じ値のままで、ミニバッチ間で上昇または下降する場合があります。しばらくこのままで、損失は減らないという印象を常に持っています。 その後、突然、トレーニングロスが劇的に減少します。たとえば、トレーニングデータの約10ループ内で、トレーニングの精度は約20%から約80%になります。それ以降、すべてがうまく収束します。トレーニングパイプラインを最初から実行するたびに同じことが起こります。以下は、実行例を示すグラフです。 だから、私が疑問に思っているのは、これがディープニューラルネットワークのトレーニングによる通常の動作であり、「キックイン」に時間がかかるかどうかです。それとも、この遅延を引き起こしている何か間違っていることがあるのでしょうか? どうもありがとう!

1
ReLUアクティベーションがSVMと等しい単一層のNeuralNetwork?
n個の入力と1つの出力(バイナリ分類タスク)を持つ単純な単一層ニューラルネットワークがあるとします。出力ノードでアクティベーション関数をシグモイド関数として設定すると、結果はロジスティック回帰分類器になります。 この同じシナリオで、出力のアクティブ化をReLU(修正線形ユニット)に変更した場合、結果の構造はSVMと同じか、または類似していますか? なぜではないのですか?

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