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

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

2
時系列のこの予測が「かなり悪い」のはなぜですか?
ニューラルネットワークの使用方法を学習しようとしています。私はこのチュートリアルを読んでいました。 値を用いて、時系列にニューラルネットワークを適合した後にでの値を予測するために著者は青い線は、時系列であり、以下のプロットを取得し、緑色列データに予測され、赤色でありますテストデータの予測(テストトレイン分割を使用)tttt + 1t+1t+1 「トレーニングデータセットとテストデータセットの両方を適合させるという、モデルの仕事がかなり貧弱だったことがわかります。基本的に、出力と同じ入力値を予測しました。」 次に、著者は、およびを使用して値を予測することにしました。そうすることで取得tttt − 1t−1t-1t − 2t−2t-2t +1t+1t+1 「グラフを見ると、予測にさらに構造が見られる」と言います。 私の質問 最初の「貧しい」のはなぜですか?私にはほとんど完璧に見えますが、すべての単一の変化を完全に予測します! 同様に、なぜ2番目の方が優れているのでしょうか?「構造」はどこにありますか?私にとっては、最初のものよりもずっと貧しいようです。 一般に、時系列の予測はいつ良いのか、いつ悪いのか?


1
(ミニ)バッチグラジエントのグラジエントの合計または平均は適切ですか?
ミニバッチグラジエントを適切に実装したとき、トレーニングバッチのすべての例のグラジエントを平均しました。しかし、私は今、最適な学習率がオンライン勾配まともな場合よりもはるかに高いことに気づきました。私の直感では、これは平均化された勾配のノイズが少ないため、より速く追跡できるためです。したがって、バッチの勾配を合計するだけでも理にかなっています。とにかく、値は正と負になります。 学習率を使用してバランスを取ることができるのは、単なる一定の要因であることは知っています。しかし、ニューラルネットワークの論文から結果を再現できるように、科学者が合意した定義はどれかと思います。 通常、バッチの合計勾配をバッチサイズで除算しますか?

1
単一のReLUがReLUを学習できないのはなぜですか?
私のニューラルネットワークのフォローアップとして、ユークリッド距離を学習することすらできないため、さらに単純化して、単一のReLU(ランダムな重み)を単一のReLUにトレーニングしようとしました。これは最も単純なネットワークですが、収束に失敗する時間の半分です。 最初の推測がターゲットと同じ方向にある場合、すぐに学習し、正しい重み1に収束します。 最初の推測が「後方」である場合、ゼロの重みでスタックし、低損失の領域に到達することはありません。 理由がわかりません。勾配降下は、グローバルミニマムへの損失曲線に簡単に従うべきではありませんか? サンプルコード: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, ReLU from tensorflow import keras import numpy as np import matplotlib.pyplot as plt batch = 1000 def tests(): while True: test = np.random.randn(batch) # Generate ReLU test case X = test Y = test.copy() Y[Y < 0] …


5
Yolo Loss機能の説明
Yolo v2損失関数を理解しようとしています。 λcoord∑i=0S2∑j=0B1objij[(xi−x^i)2+(yi−y^i)2]+λcoord∑i=0S2∑j=0B1objij[(wi−−√−w^i−−√)2+(hi−−√−h^i−−√)2]+∑i=0S2∑j=0B1objij(Ci−C^i)2+λnoobj∑i=0S2∑j=0B1noobjij(Ci−C^i)2+∑i=0S21obji∑c∈classes(pi(c)−p^i(c))2λcoord∑i=0S2∑j=0B1ijobj[(xi−x^i)2+(yi−y^i)2]+λcoord∑i=0S2∑j=0B1ijobj[(wi−w^i)2+(hi−h^i)2]+∑i=0S2∑j=0B1ijobj(Ci−C^i)2+λnoobj∑i=0S2∑j=0B1ijnoobj(Ci−C^i)2+∑i=0S21iobj∑c∈classes(pi(c)−p^i(c))2\begin{align} &\lambda_{coord} \sum_{i=0}^{S^2}\sum_{j=0}^B \mathbb{1}_{ij}^{obj}[(x_i-\hat{x}_i)^2 + (y_i-\hat{y}_i)^2 ] \\&+ \lambda_{coord} \sum_{i=0}^{S^2}\sum_{j=0}^B \mathbb{1}_{ij}^{obj}[(\sqrt{w_i}-\sqrt{\hat{w}_i})^2 +(\sqrt{h_i}-\sqrt{\hat{h}_i})^2 ]\\ &+ \sum_{i=0}^{S^2}\sum_{j=0}^B \mathbb{1}_{ij}^{obj}(C_i - \hat{C}_i)^2 + \lambda_{noobj}\sum_{i=0}^{S^2}\sum_{j=0}^B \mathbb{1}_{ij}^{noobj}(C_i - \hat{C}_i)^2 \\ &+ \sum_{i=0}^{S^2} \mathbb{1}_{i}^{obj}\sum_{c \in classes}(p_i(c) - \hat{p}_i(c))^2 \\ \end{align} 誰かが機能の詳細を説明できる場合。

1
次元の呪いは、一部のモデルに他のモデルよりも大きな影響を与えますか?
私が次元の呪いについて読んでいた場所は、主にkNNと線形モデル一般に関連してそれを説明します。Kaggleのトップランカーは、10万個のデータポイントをほとんど持たないデータセットで数千の機能を使用しています。主に、特にブーストツリーとNNを使用します。多くの機能が高すぎるように思われ、それらが次元の呪いの影響を受けると感じています。しかし、これらのモデルは競合他社を上回っているため、そうではないようです。それでは、元の質問に戻ります。一部のモデルは、他のモデルよりも次元の呪いの影響を受けますか? 具体的には、次のモデルに興味があります(これらが私が知っている/使用しているモデルだからです)。 線形およびロジスティック回帰 デシジョンツリー/ランダムフォレスト/ブーストツリー ニューラルネットワーク SVM kNN k-meansクラスタリング

1
深層学習について、VCディメンションは何を教えてくれますか?
基本的な機械学習では、次の「経験則」を学びます。 a)データのサイズは、仮説セットのVCディメンションのサイズの少なくとも10倍にする必要があります。 b)N個の接続を持つニューラルネットワークのVC次元は約Nです。 ディープラーニングニューラルネットワークが数百万のユニットを言うとき、これは、たとえば数十億のデータポイントが必要であることを意味しますか?これに光を当ててください。

2
Adam Optimizerを使用したトレーニング損失と反復のスパイクの説明
私はi)SGDとii)Adam Optimizerを使用してニューラルネットワークをトレーニングしています。通常のSGDを使用すると、下に示すように(赤い曲線)、スムーズなトレーニングロス対反復曲線が得られます。ただし、Adam Optimizerを使用した場合、トレーニング損失曲線にはいくつかのスパイクがあります。これらのスパイクの説明は何ですか? モデルの詳細: 14入力ノード-> 2非表示レイヤー(100-> 40ユニット)-> 4出力ユニット 私はアダムのためのデフォルトパラメータを使用していますbeta_1 = 0.9、beta_2 = 0.999、epsilon = 1e-8とbatch_size = 32。 i)SGDを使用 ii)Adamを使用

2
ニューラルネットワークのコンボリューションが便宜を超えた数学的理由はありますか?
畳み込みニューラルネットワーク(CNN)では、畳み込みを進める前に、各ステップでの重みの行列の行と列を反転させてカーネル行列を取得します。これは、Hugo Larochelleによる一連のビデオで説明されています。 隠されたマップを計算する[...]カーネル行列を使用して、前の層からチャネルを持つ離散畳み込みを行うことに対応するであろう、そのカーネルは隠された重み行列から計算されるWijWijW_{ij}、我々は、行を反転して、列。 他のタイプのNNのように、畳み込みの縮小ステップを通常の行列乗算と比較する場合、便宜性は明確な説明になります。しかし、これは最も適切な比較ではないかもしれません... デジタルイメージング処理では、画像へのフィルターの畳み込みの適用(これは実用的な直感のための素晴らしいYouTubeビデオです)は次のように関連しているようです: 畳み込みは連想的であるが(相互)相関はそうではないという事実。 時間領域での畳み込みは周波数領域での乗算と同じであるため、画像の周波数領域でフィルターを乗算として適用する可能性(畳み込み定理)。 DSP 相関のこの特定の技術環境では、次のように定義されます。 F∘I(x,y)=∑j=−NN∑i=−NNF(i,j)I(x+i,y+j)F∘I(x,y)=∑j=−NN∑i=−NNF(i,j)I(x+i,y+j)F\circ I(x,y)=\sum_{j=-N}^{N}\sum_{i=-N}^N\, F(i,j)\,I(x+i, y+j) これは本質的に、アダマール製品のすべてのセルの合計です。 F∘I(x,y)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢F[−N,−N]I[x−N,y−N]⋮F[0,−N]I[x,y−N]⋮F[N,−N]I[x+N,y−N]⋯⋱⋯⋱⋯F[−N,0]I[x−N,y−N]⋮F[0,0]I[x,y]⋮F[N,0]I[x+N,y]⋯⋱⋯⋱⋯F[−N,N]I[x−N,y+N]⋮F[0,N]I[x,y+N]⋮F[N,N]I[x+N,y+N]⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥F∘I(x,y)=[F[−N,−N]I[x−N,y−N]⋯F[−N,0]I[x−N,y−N]⋯F[−N,N]I[x−N,y+N]⋮⋱⋮⋱⋮F[0,−N]I[x,y−N]⋯F[0,0]I[x,y]⋯F[0,N]I[x,y+N]⋮⋱⋮⋱⋮F[N,−N]I[x+N,y−N]⋯F[N,0]I[x+N,y]⋯F[N,N]I[x+N,y+N]]\small F\circ I(x,y)=\Tiny\begin{bmatrix}F[-N,-N]\,I[x-N,y-N]&\cdots&F[-N,0]\,I[x-N,y-N]&\cdots& F[-N,N]\,I[x-N,y+N]\\ \vdots&\ddots&\vdots&\ddots&\vdots\\ F[0,-N]\,I[x,y-N]&\cdots&F[0,0]\,I[x,y]&\cdots& F[0,N]\,I[x,y+N]\\ \vdots&\ddots&\vdots&\ddots&\vdots\\ F[N,-N]\,I[x+N,y-N]&\cdots&F[N,0]\,I[x+N,y]&\cdots& F[N,N]\,I[x+N,y+N]\\ \end{bmatrix} ここで、はフィルター関数(行列として表される)であり、I (x 、y )は位置(x 、y )の画像のピクセル値です。F(i,j)F(i,j)F(i,j)I(x,y)I(x,y)I(x,y)(x,y)(x,y)(x,y) 相互相関の目的は、プローブ画像とテスト画像の類似性を評価することです。相互相関マップの計算は、畳み込み定理に依存しています。 一方、畳み込みは次のように定義されます。 F∗I(x,y)=∑j=−NN∑i=−NNF(i,j)I(x−i,y−j)F∗I(x,y)=∑j=−NN∑i=−NNF(i,j)I(x−i,y−j)F* I(x,y)=\sum_{j=-N}^{N}\sum_{i=-N}^N\, F(i,j)\,I(x-i, y-j) これは、フィルターが対称である限り、フィルターの行と列を反転した相関操作と同じです。 F∗I(x,y)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢F[N,N]I[x−N,y−N]⋮F[0,N]I[x,y−N]⋮F[−N,−N]I[x+N,y−N]⋯⋱⋯⋱⋯F[N,0]I[x−N,y−N]⋮F[0,0]I[x,y]⋮F[−N,0]I[x+N,y]⋯⋱⋯⋱⋯F[N,−N]I[x−N,y+N]⋮F[0,−N]I[x,y+N]⋮F[−N,−N]I[x+N,y+N]⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥F∗I(x,y)=[F[N,N]I[x−N,y−N]⋯F[N,0]I[x−N,y−N]⋯F[N,−N]I[x−N,y+N]⋮⋱⋮⋱⋮F[0,N]I[x,y−N]⋯F[0,0]I[x,y]⋯F[0,−N]I[x,y+N]⋮⋱⋮⋱⋮F[−N,−N]I[x+N,y−N]⋯F[−N,0]I[x+N,y]⋯F[−N,−N]I[x+N,y+N]]\small F* I(x,y)=\Tiny\begin{bmatrix}F[N,N]\,I[x-N,y-N]&\cdots&F[N,0]\,I[x-N,y-N]&\cdots& F[N,-N]\,I[x-N,y+N]\\ \vdots&\ddots&\vdots&\ddots&\vdots\\ F[0,N]\,I[x,y-N]&\cdots&F[0,0]\,I[x,y]&\cdots& F[0,-N]\,I[x,y+N]\\ \vdots&\ddots&\vdots&\ddots&\vdots\\ F[-N,-N]\,I[x+N,y-N]&\cdots&F[-N,0]\,I[x+N,y]&\cdots& F[-N,-N]\,I[x+N,y+N]\\ \end{bmatrix} ⎡⎣⎢⎢⎢⎢⎢⎢⎢1474141626164726412674162616414741⎤⎦⎥⎥⎥⎥⎥⎥⎥[1474141626164726412674162616414741]\small\begin{bmatrix} …

3
RNNで時系列に逆伝播するのはなぜですか?
リカレントニューラルネットワークでは、通常、いくつかのタイムステップを順方向に伝播し、ネットワークを「展開」してから、入力シーケンス全体に逆方向に伝播します。 シーケンスの個々のステップごとに重みを更新しないのはなぜですか?(切り捨ての長さ1を使用するのと同じで、展開するものは何もありません)これにより、消失勾配の問題が完全に排除され、アルゴリズムが大幅に簡素化され、おそらくローカルミニマムで動けなくなる可能性が低くなり、最も重要なことにはうまく機能するようです。この方法でモデルをトレーニングしてテキストを生成しましたが、結果はBPTTトレーニングモデルで見た結果に匹敵するようでした。混乱しているのは、これまで見たRNNに関するすべてのチュートリアルが、BPTTを使用するように言っているからです。まるで適切な学習に必要であるかのように、そうではありません。 更新:回答を追加しました

3
パターン認識タスクにおける最先端のアンサンブル学習アルゴリズム?
この質問の構造は次のとおりです。最初にアンサンブル学習の概念を提供し、さらにパターン認識タスクのリストを提供し、次にアンサンブル学習アルゴリズムの例を挙げ、最後に私の質問を紹介します。すべての補足情報を必要としない人は、単に見出しを見て、私の質問にまっすぐ進むかもしれません。 アンサンブル学習とは何ですか? ウィキペディアの記事によると: 統計および機械学習では、アンサンブルメソッドは複数の学習アルゴリズムを使用して、構成学習アルゴリズムのみの場合よりも優れた予測パフォーマンスを取得します。通常は無限である統計力学の統計アンサンブルとは異なり、機械学習アンサンブルは代替モデルの具体的な有限セットのみを参照しますが、通常、これらの代替モデルの間にはるかに柔軟な構造が存在します。 パターン認識タスクの例: 光学式文字認識 バーコード認識 ナンバープレートの認識 顔検出 音声認識 画像認識 文書分類 アンサンブル学習アルゴリズムの例: PRタスクに使用される次のアンサンブル学習アルゴリズム(Wikiによる): アンサンブル学習アルゴリズム(複数の学習アルゴリズムを組み合わせるための教師付きメタアルゴリズム): ブースティング(主にバイアスを減らすための機械学習アンサンブルメタアルゴリズム、教師あり学習の分散、および弱い学習者を強い学習者に変換する機械学習アルゴリズムのファミリー) ブートストラップ集約(「バギング」)(統計的分類と回帰で使用される機械学習アルゴリズムの安定性と精度を改善するために設計された機械学習アンサンブルメタアルゴリズム)。 アンサンブル平均化(1つのモデルを作成するのではなく、複数のモデルを作成し、それらを組み合わせて目的の出力を生成するプロセス。モデルのさまざまなエラーが「平均化」されるため、モデルのアンサンブルのパフォーマンスは個々のモデルよりも優れていることがよくあります。 ) エキスパートの混合、エキスパートの階層的混合 異なる実装 ニューラルネットワークのアンサンブル(個々のモデルの結果を平均して決定を下す一連のニューラルネットワークモデル)。 ランダムフォレスト(分類、回帰、およびその他のタスクのためのアンサンブル学習方法。トレーニング時に多数の決定木を構築し、個々のクラスのモード(分類)または平均予測(回帰)であるクラスを出力することにより動作します。木)。 AdaBoost(他の学習アルゴリズム(「弱学習器」)の出力は、ブーストされた分類器の最終出力を表す加重合計に結合されます)。 さらに: 1つのニューラルネットワークを使用して異なる分類器を組み合わせる方法 コンピテンスエリアメソッド 私の質問 現在、最先端の技術であると考えられており、実際に企業や組織によって実際に使用されているアンサンブル学習アルゴリズムはどれですか(顔検出、車両登録プレート認識、光学文字認識など)。アンサンブル学習アルゴリズムを使用すると、認識精度が向上し、計算効率が向上します。しかし、問題は現実にこのように成り立っていますか? パターン認識タスクで、より良い分類精度とパフォーマンスを示す可能性のあるアンサンブル方法はどれですか?おそらく、一部の方法は現在古くなっているか、効果がないことが示されています。また、いくつかの新しいアルゴリズムの強さでは、アンサンブルメソッドが使用されなくなっている可能性もあります。この分野での経験があるか、この分野で十分な知識がある人は、問題を明確にするのに役立ちますか?

1
ニューラルネットワークをトレーニングするときに、トレーニング例が少なすぎますか?
私は最初のプロジェクトをまとめようとしている初心者です。私は歌の分類プロジェクトを念頭に置いていましたが、手動でラベリングするので、約1000曲、つまり60時間の音楽を合理的にまとめることができました。 私はいくつかのクラスで分類しているので、1つのクラスがトレーニングセットで50〜100曲しか持っていない可能性があります。これは少なすぎるようです。ニューラルネットワークのトレーニングに必要なデータ量の一般的な経験則はありますか? 編集:私はバニラLSTMを使用することを考えていました。入力フィーチャの次元は39、出力次元は6になります。隠しレイヤーの次元の最初の試行は100です。

3
ディープニューラルネットワーク—画像分類専用ですか?
深い信念または畳み込みニューラルネットワークを使用して見つけたすべての例は、画像分類、チャットの検出、または音声認識にそれらを使用します。 ディープニューラルネットワークは、特徴が構造化されていない(たとえば、シーケンスまたはグリッドに配置されていない)古典的な回帰タスクにも役立ちますか?はいの場合、例を挙げることができますか?

1
スタックオートエンコーダーと2層ニューラルネットワークのトレーニングに違いはありますか?
2層スタックオートエンコーダと2層ニューラルネットワークを構築するためのアルゴリズムを書いているとしましょう。それらは同じものですか、違いですか? 私が理解しているのは、スタックされたオートエンコーダーを構築するとき、レイヤーごとに構築するということです。ニューラルネットワークの場合、ネットワーク内のすべてのパラメーターを初期化し、各データポイントに対してネットワークを通過させて損失(例:真正距離)を計算し、逆伝播を行います。

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