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

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



1
Kerasの埋め込みレイヤーを適切に使用するには?
seq2seqの目的でKerasの埋め込み層の適切な使用法を少し混乱しています(KerasでTensorFlow se2seq機械翻訳チュートリアルを再構築したいと思います)。私の質問は次のとおりです。 埋め込みレイヤーが文の単語値を固定次元長表現に変換することを理解しています。しかし、埋め込みレイヤーの2つの異なる使用法を観察します。1つは(Keras ブログのこのチュートリアルのように)、weightsパラメーターを介して外部の事前トレーニング済みのword2vecベクトルを利用します。 from keras.layers import Embedding embedding_layer = Embedding(len(word_index) + 1, EMBEDDING_DIM, weights=[embedding_matrix], input_length=MAX_SEQUENCE_LENGTH, trainable=False)` 他のケースでは、そのような外部出力はありませんが、ユーザーは、埋め込みベクトルに進んで表現ベクトルを決定します。望ましい結果に関するこれらのアプローチの実際の違いは何ですか?たぶん内部のみのソリューションは意味論的表現ではありませんか?行がすでに固定長である外部マトリックスに埋め込み層を適用するポイントは何ですか? さらに、trainable埋め込みレイヤーのパラメーターの目的/効果は何ですか?これをTrueに設定すると、Embeddingレイヤーがインポートされたword2vecの重みを実際のトレーニング例を考慮に入れるように微調整できると思いますか? さらに、「メタ文字」を適切にエンコードするように埋め込みレイヤーに指示するにはどうすればよいですか?mask_zeroパラメータをTrueに設定すると、パディングゼロを組み込むことができますが、UNK(不明)、EOS(文の終わり)はどうなりますか?(ちなみに、文ベースの入力で文の終わりに明示的に署名するポイントが何であるか理解できません...) そして最後に、トレーニングセットで表されていない単語の翻訳をモデルがどのように予測できるでしょうか。語彙で「最も近い」ものと近似しようとしていますか?

1
ディープニューラルネットでの次のカリキュラム学習の実装には何が欠けていますか?
まず、分類タスクがあります。 したがって、分類には典型的なソフトマックスクロスエントロピーを使用します。 カリキュラム学習の現在の実装は次のとおりです。 まず、ニューラルネットの最適なバージョンをトレーニングします 最後のエポックで、すべてのインスタンスのすべてのクロスエントロピーを取得します。そのため、小さいクロスエントロピーはより適切に分類され、大きいものはそれほど適切ではありません。 次に、クロスエントロピーに基づいてインスタンスを並べ替えます。 次に、カリキュラム学習理論が示唆するように、インスタンスのトレーニングをより簡単なものから難しいものへと始めます すでにさまざまなステップと繰り返しを試していることに注意してください。したがって、1つの例では、最初の200バッチを取得し、次のバッチに進む前に2回トレーニングし、エポックが完了するまで続けました。 別の例では、最初の10バッチを取得し、それらを1回だけトレーニングしてから、次の10と次の10を、エポックの終わりまで続けます。 これまでのすべての実験は、ニューラルネットワークは最初は比較的問題のない精度であると結論しており、より困難なインスタンスが発生すると、これは悪化します。最終的な精度は予想よりもはるかに悪く、最大の精度はまだかなり悪いです。 このカリキュラムの学習が機能しないのはなぜですか?不足しているものはありますか?

1
ケラスの事前学習済みモデルの特徴抽出
Kerasには、事前トレーニングされたモデルの機能を抽出する方法があります。ここで説明しますhttps://keras.io/applications/ from keras.applications.vgg16 import VGG16 from keras.preprocessing import image from keras.applications.vgg16 import preprocess_input import numpy as np model = VGG16(weights='imagenet', include_top=False) img_path = 'elephant.jpg' img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) features = model.predict(x) いくつかのサンプル画像でこれを試しました。私のベクトルxは、100回の観測で形状(100、3、224、224)、RGBで3、ピクセルサイズが224x224です。はpreprocess_inputVGGモデルのこれを再形成します(別の順序を想定しています)。 ただし、の出力形状featuresは(100、512、7、7)です。この形は何ですか?これらの機能をロジスティック回帰の入力として使用したい。したがって、(100、n)のような形状が必要です。観測ごとに1行と列の特徴です。出力をこの次元に再形成するにはどうすればよいですか? 今、自分のシンプルなConvnetを構築したいとします。 from keras.models import Sequential from …

1
トレーニングフェーズの後、GPUまたはCPUでニューラルネットワークを実行する方が良いですか?
私の理解では、GPUの方がニューラルネットを実行する方が効率的ですが、最近誰かがGPUはトレーニングフェーズでのみ必要であると提案しました。いったんトレーニングされると、CPUで実行する方が実際にはより効率的です。 これは本当ですか?

2
通常のラップトップでのディープネットのトレーニング
ディープニューラルネットワークの設計とトレーニングで「実践的な」経験を積むことに興味があるアマチュアが、その目的のために通常のラップトップを使用することは可能ですか(GPUなし)、または良い結果を得ることはできませんか?強力なコンピューター/クラスター/ GPUなしで妥当な時間? 具体的には、ラップトップのCPUはIntel Core i7 5500Uフィス世代で、8GB RAMを搭載しています。 ここで、どの問題に取り組みたいかを指定していないので、別の方法で質問を組み立てます。次の目標が達成されるように、ハードウェアで実装することをお勧めする深いアーキテクチャはどれですか:過去10年間に導入され、ディープネットの蜂起に不可欠であった手法(初期化、ドロップアウト、rmspropの理解など)をいつどのように使用するかに関する直感と知識の習得。 私はこれらの手法について読みましたが、もちろん自分で試してみなければ、これらを効果的に実装する方法と時期を正確に知ることはできませんでした。逆に、力が足りないパソコンを使ってみると、自分の学習速度が遅くなり、理解が深まったと言っても無意味でしょう。そして、これらのテクニックを浅いネットで使用しようとすると、正しい直感を構築できないでしょう。 (私の)学習のプロセスを次のように想像します。ニューラルネットを実装し、それを数時間まで練習して、得られたものを確認し、プロセスを繰り返します。これを1日に1、2回行うとしたら、たとえば6か月後に、その分野の専門家が知っておくべきことと同等の実践的な知識が得られれば幸いです。

1
CNNを使用して抽出した特徴をRNNに渡す方法は?
以下のような単語画像があります。 256x64画像だとしましょう。私の目的は、画像からテキストを抽出することです73791096754314441539。これは、基本的にOCRが行うことです。 画像から単語を認識できるモデルを作ろうとしています。 私が言葉を言っているとき、それは次のいずれかであることができます: 辞書の単語、非辞書の単語 az、AZ、特殊文字を含む spaces 以下のようにテンソルフローでモデル(会社のポリシーによりスニペット)を作成しました: inputs = tf.placeholder(tf.float32, [common.BATCH_SIZE, common.OUTPUT_SHAPE[1], common.OUTPUT_SHAPE[0], 1]) # Here we use sparse_placeholder that will generate a # SparseTensor required by ctc_loss op. targets = tf.sparse_placeholder(tf.int32) # 1d array of size [batch_size] seq_len = tf.placeholder(tf.int32, [common.BATCH_SIZE]) model = tf.layers.conv2d(inputs, 64, (3,3),strides=(1, 1), padding='same', …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.