タグ付けされた質問 「deep-learning」

主にディープニューラルネットワーク(つまり、2つ以上の非表示レイヤーを持つネットワーク)で行われる、データの階層表現を学習するために使用される技術に関する機械学習研究の新しい領域だけでなく、何らかの確率的グラフィカルモデルでも行われます。

1
方法:ディープニューラルネットワークの重みの初期化
難しい学習タスク(高次元、固有のデータの複雑さなど)が与えられると、ディープニューラルネットワークはトレーニングが難しくなります。多くの問題を緩和するには、次のようにします。 ハンドピック品質データを正規化する 別のトレーニングアルゴリズムを選択する(たとえば、勾配降下の代わりにRMSprop) 勾配の急なコスト関数を選択します(例:MSEの代わりにクロスエントロピー) 異なるネットワーク構造を使用する(例:フィードフォワードではなくたたみ込み層) より良い重みを初期化する賢い方法があると聞いたことがあります。例えば、あなたはより良い等級を選ぶことができます:Glorot and Bengio(2010) シグモイド単位の場合: Uniform(-r、r)をサンプリングしますr = 6NI N+ NoU T−−−−−−√r=6N私ん+Noあなたtr = \sqrt{\frac{6}{N_{in} + N_{out}}} または双曲線正接単位: Uniform(-r、r)をサンプリングしますr = 4 6NI N+ NO U T−−−−−−√r=46N私ん+Noあなたtr =4 \sqrt{\frac{6}{N_{in} + N_{out}}} 重みをより適切に初期化する一貫した方法はありますか?

1
以前のたたみ込み層のデルタ項と重みを考慮して、たたみ込み層のデルタ項を計算するにはどうすればよいですか?
2つの畳み込み層(c1、c2)と2つの非表示層(c1、c2)を持つ人工ニューラルネットワークをトレーニングしようとしています。標準のバックプロパゲーションアプローチを使用しています。バックワードパスでは、前のレイヤーの誤差、前のレイヤーの重み、現在のレイヤーのアクティベーション関数に関するアクティベーションの勾配に基づいて、レイヤーの誤差項(デルタ)を計算します。より具体的には、レイヤーlのデルタは次のようになります。 delta(l) = (w(l+1)' * delta(l+1)) * grad_f_a(l) 通常のレイヤーに接続するc2の勾配を計算できます。私はh1の重みにデルタを掛けます。次に、その行列をc2の出力の形式に再形成し、活性化関数の勾配を掛けて、完了です。 今私はc2のデルタ項を持っています-これはサイズの4D行列です(featureMapSize、featureMapSize、filterNum、patternNum)。さらに、c2の重みがあります。これは、サイズの3Dマトリックス(filterSize、filterSize、filterNum)です。 これら2つの項とc1のアクティブ化の勾配を使用して、c1のデルタを計算します。 短い話: 以前の畳み込み層のデルタ項とその層の重みが与えられた場合、畳み込み層のデルタ項をどのように計算しますか?

2
バッチ正規化はReLUアクティベーション機能に意味がありますか?
バッチ正規化は、このホワイトペーパーでは、スケール変数とシフト変数およびβを使用したアクティブ化関数への入力の正規化として説明されています。このペーパーでは、主にシグモイドアクティベーション関数の使用について説明します。ただし、バッチ正規化によって生成された正規化分布からの入力をm a x (0 、x )の ReLU活性化関数に供給することは、βγγ\gammaββ\betamax(0,x)max(0,x)max(0,x)ββ\betaReLUが入力情報を失わないように、ほとんどの入力を0を超えてシフトすることを学習しません。つまり、ReLUへの入力が標準正規化されただけである場合、0未満の多くの情報が失われます。この情報が失われないことを保証する保証または初期化はありますか?BNとReLUの操作方法に何か不足していますか?ββ\beta

3
数学の畳み込みとCNNの関係
畳み込みの説明を読んである程度理解しました。誰かがこの操作がたたみ込みニューラルネットのたたみ込みにどのように関連しているかを理解するのを手伝ってくれませんか?gウェイトをかけるフィルターのような機能ですか?
10 machine-learning  neural-network  deep-learning  cnn  convolution  machine-learning  ensemble-modeling  machine-learning  classification  data-mining  clustering  machine-learning  feature-selection  convnet  pandas  graphs  ipython  machine-learning  apache-spark  multiclass-classification  naive-bayes-classifier  multilabel-classification  machine-learning  data-mining  dataset  data-cleaning  data  machine-learning  data-mining  statistics  correlation  machine-learning  data-mining  dataset  data-cleaning  data  beginner  career  python  r  visualization  machine-learning  data-mining  nlp  stanford-nlp  dataset  linear-regression  time-series  correlation  anomaly-detection  ensemble-modeling  data-mining  machine-learning  python  data-mining  recommender-system  machine-learning  cross-validation  model-selection  scoring  prediction  sequential-pattern-mining  categorical-data  python  tensorflow  image-recognition  statistics  machine-learning  data-mining  predictive-modeling  data-cleaning  preprocessing  classification  deep-learning  tensorflow  machine-learning  algorithms  data  keras  categorical-data  reference-request  loss-function  classification  logistic-regression  apache-spark  prediction  naive-bayes-classifier  beginner  nlp  word2vec  vector-space-models  scikit-learn  decision-trees  data  programming 

2
バッチを実行するとき、バックプロパゲーションはMax Poolingレイヤーを通じてどのように機能しますか?
学習に100サンプルのバッチサイズを使用していると仮定します。 したがって、すべてのバッチで、すべてのニューロン(およびバイアスなど)の重みは、学習率のマイナス* 100サンプルを使用して見つけた平均エラー値*に関するエラー関数の導関数を追加することによって更新されます。更新されている現在のニューロンの重み。 ここで、最大プールレイヤーを使用する場合、このレイヤーの微分をどのように計算できますか?フィードフォワードするすべてのサンプルで、異なるピクセル(たとえば、)が最大値として選択されているため、異なるパスが選択されるたびに100個を超えるサンプルをバックプロパゲートする場合、どうすればよいですか?私が心に留めている解決策は、最大値として選択されたすべてのピクセルを覚えてから、おそらくすべての最大ピクセルで微分を分割することです。これは何が行われているのですか?

3


1
Kerasモデルが背景を認識することを学ぶのはなぜですか?
私はPascal VOC2012でこのDeeplabv3 +のKeras実装をトレーニングするために、事前トレーニング済みのモデル(そのデータセットでもトレーニング済み)を使用してトレーニングしています。 精度がすぐに1.0に収束する奇妙な結果が得られました。 5/5 [==============================] - 182s 36s/step - loss: 26864.4418 - acc: 0.7669 - val_loss: 19385.8555 - val_acc: 0.4818 Epoch 2/3 5/5 [==============================] - 77s 15s/step - loss: 42117.3555 - acc: 0.9815 - val_loss: 69088.5469 - val_acc: 0.9948 Epoch 3/3 5/5 [==============================] - 78s 16s/step - loss: 45300.6992 …

2
バッチ正規化は、シグモイドがReLUよりもうまく機能することを意味しますか?
バッチ正規化とReLUはどちらも、勾配の消失問題に対する解決策です。バッチ正規化を使用している場合、シグモイドを使用する必要がありますか?それとも、batchnormを使用する場合でも価値のあるReLUの機能はありますか? 私は、batchnormで行われた正規化がゼロのアクティベーションを負に送信すると思います。これは、batchnormが「dead ReLU」問題を解決することを意味しますか? しかし、タンとロジスティックの継続的な性質は魅力的なままです。batchnormを使用している場合、tanhはReLUよりもうまく機能しますか? 答えはきっと決まると思います。では、あなたの経験で何がうまくいきましたか、そしてあなたのアプリケーションの顕著な特徴は何ですか?

2
特定の単語を名前、携帯電話番号、住所、電子メール、州、郡、市などとして分類するために使用される機械/ディープラーニング/ nlpテクニック
一連の単語または文字列をスキャンし、機械学習またはディープラーニングを使用して、それらを名前、携帯電話番号、住所、都市、州、国、およびその他のエンティティとして分類できるインテリジェントモデルを生成しようとしています。 私はアプローチを探していましたが、残念ながら、どのようなアプローチを取るべきかわかりませんでした。文字列が名前であるか都市であるかなどを予測するために、バッグオブワードモデルとグローブワードの埋め込みを試しました。 しかし、私はバッグオブワードモデルでは成功しませんでした。GloVeには、埋め込み例でカバーされていない名前がたくさんあります。-laurenはGloveに存在し、laurenaは存在しません 私はこの投稿をここで見つけましたが、それは合理的な答えでしたが、NLPとSVMがそれを解決するために使用されたという事実を除いて、その問題を解決するために使用されたアプローチはできませんでした。 どんな提案もありがたいです よろしくお願いいたします。SaiCharan Adurthi。

2
CNNをオートエンコーダとしてトレーニングすることには意味がありますか?
私は脳波データの分析に取り組んでいますが、最終的には分類する必要があります。ただし、レコーディングのラベルを取得するにはいくらか費用がかかるため、非常に大量のラベルなしデータをより適切に利用するために、教師なしアプローチを検討するようになりました。 これは当然、スタックオートエンコーダの検討につながりますが、これは良いアイデアかもしれません。ただし、畳み込みニューラルネットワークを使用することも意味があります。これは、何らかのフィルタリングがEEGに対して非常に有用なアプローチであり、考慮されるエポックが全体ではなくローカルで分析される必要があるためです。 2つのアプローチを組み合わせる良い方法はありますか?人々がCNNを使用するとき、彼らは一般的に教師付きトレーニングを使用しているようです、または何ですか?私の問題についてニューラルネットワークを探索することの2つの主な利点は、教師なしの側面と微調整であるようです(たとえば、人口データにネットワークを作成し、次に個人を微調整することは興味深いでしょう)。 それで、CNNが「不自由な」オートエンコーダであるかのようにCNNを事前トレーニングできるのか、それとも無意味なのか、誰かが知っていますか? たとえば、深い信念ネットワークなど、他のアーキテクチャを検討する必要がありますか?

1
畳み込み層のパラメーター数
この高度に引用された論文、著者らは、重みパラメータの数に関する以下の説明を与えます。なぜパラメータがあるのか​​、私にはよくわかりません 私はそれがあるべきだと思う49 Cの各以来、Cの入力チャネルを共有している同じフィルタ、49個のパラメータを。49C249C249C^249C49C49CCCC494949

2
word2vecの単語ベクトルの特徴
私は感情分析をしようとしています。単語を単語ベクトルに変換するために、word2vecモデルを使用しています。すべての文が「sentences」という名前のリストにあり、次のようにこれらの文をword2vecに渡しているとします。 model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300, window=5, sample=1e-3) 私は単語ベクトルに慣れていないので、2つの疑問があります。 1-特徴の数を300に設定すると、単語ベクトルの特徴が定義されます。しかし、これらの機能は何を意味していますか?このモデルの各単語が1x300のnumpy配列で表されている場合、これらの300の特徴はその単語に対して何を意味するのでしょうか。 2-上記のモデルの「sample」パラメーターで表されるダウンサンプリングは実際には何をしますか? 前もって感謝します。

1
匿名のスケーリングされた数値予測子を使用してnumer.ai競争にアプローチする方法は?
Numer.aiはここしばらくの間存在しており、それに関するWebでの投稿やその他の議論はほとんどないようです。 システムは随時変更され、今日のセットアップは次のとおりです。 トレーニング(N = 96K)およびテスト(N = 33K)で、[0,1]の連続値とバイナリターゲットを持つ21個のフィーチャ。 データはクリーンで(欠損値なし)、2週間ごとに更新されます。(テストセットの)予測をアップロードして、ログの損失を確認できます。テストデータの一部はライブデータでもあり、適切な予測に対して報酬が支払われます。 私が議論したいこと: 機能は完全に匿名であるため、私たちができる機能エンジニアリングはそれほど多くはないと思います。だから私のアプローチは非常に機械的です: これに触発されて、分類アルゴリズムを使用して、私のテストデータに最も適合するトレーニングデータを除外します。 いくつかの素晴らしい前処理を理解する 素晴らしい分類アルゴリズムを訓練する それらのアンサンブルを構築します(スタッキングなど)。 具体的な質問: ステップ1について:そのようなアプローチの経験はありますか?トレーニングサンプルがテストに属する確率(通常は0.5未満)を注文し、最大のK確率を取得するとします。どのようにKを選びますか?私は15Kで試しましたが、主にステップ3のトレーニングを高速化するために小さなトレーニングデータセットを用意しました。 ステップ2に関して:データはすでに0,1スケールです。(PCAのような)線形変換を適用すると、このスケールが壊れます。そのような数値データがあり、これが実際にそうであることがわからない場合、前処理で何を試みますか? PS:numer.aiが給料を支払っているので、これについて議論している人々が私にお金を稼ぐのを助けることができることを私は知っています。しかし、これは公開されているので、これは誰かを助けるでしょう... PPS:今日のリーダーボードには興味深いパターンがあります。ログ損失が0.64xxの上位2つ、次に0.66xxの3位、そしてほとんどの予測子は0.6888xに達しています。 したがって、非常に小さなトップフィールドと適度に成功した人(私を含む)がたくさんいるようです。


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