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

深層学習は、機械学習の領域であり、その目的は、「深い」(多くの層で構成される)特別なニューラルネットワークアーキテクチャを使用して複雑な機能を学習することです。このタグは、ディープラーニングアーキテクチャの実装に関する質問に使用する必要があります。一般的な機械学習の質問には「機械学習」というタグを付ける必要があります。関連するソフトウェアライブラリのタグ(「keras」、「tensorflow」、「pytorch」、「fast.ai」など)を含めると役立ちます。


4
多層パーセプトロン(MLP)アーキテクチャ:隠れ層の数と隠れ層のサイズを選択するための基準?
10個の固有ベクトルがある場合は、入力層に10個のニューラルノードがあります.5個の出力クラスがある場合は、出力層に5個のノードがあります。ただし、MLPの非表示層の数とニューラル数1つの非表示レイヤー内のノード?

5
なぜシーケンスをpytorchに「パック」するのですか?
rnnの可変長シーケンス入力にパッキングを使用する方法を複製しようとしましたが、最初にシーケンスを「パック」する必要がある理由を理解する必要があると思います。 なぜそれらを「パッド」する必要があるのか​​理解していますが、なぜ「パッキング」(スルーpack_padded_sequence)が必要なのですか? 高レベルの説明をいただければ幸いです。

1
早期停止にはどのパラメーターを使用する必要がありますか?
Kerasを使用してプロジェクトのニューラルネットワークをトレーニングしています。Kerasは早期停止の機能を提供しています。早期停止を使用してニューラルネットワークが過剰適合しないようにするために、どのパラメータを監視する必要があるかを知っていてもよいですか?

6
TensorFlowでグラデーションクリッピングを適用する方法は?
サンプルコードを考えてみましょう。 グラデーションが爆発する可能性があるRNN上のこのネットワークにグラデーションクリッピングを適用する方法を知りたいです。 tf.clip_by_value(t, clip_value_min, clip_value_max, name=None) これは使用できる例ですが、どこに導入すればよいですか?RNNのデフォルトで lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0) # Split data because rnn cell needs a list of inputs for the RNN inner loop _X = tf.split(0, n_steps, _X) # n_steps tf.clip_by_value(_X, -1, 1, name=None) しかし、テンソル_Xは入力であり、何がクリップされる卒業生ではないので、これは意味がありませんか? これに対して独自のオプティマイザを定義する必要がありますか、それともより簡単なオプションがありますか?

6
TensorFlowで事前トレーニング済みの単語埋め込み(word2vecまたはGlove)を使用する
最近、畳み込みテキスト分類の興味深い実装を確認しました。ただし、私が確認したすべてのTensorFlowコードは、次のようなランダムな(事前トレーニングされていない)埋め込みベクトルを使用しています。 with tf.device('/cpu:0'), tf.name_scope("embedding"): W = tf.Variable( tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0), name="W") self.embedded_chars = tf.nn.embedding_lookup(W, self.input_x) self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1) 誰かがランダムなものの代わりにWord2vecまたはGloVeの事前訓練された単語の埋め込みの結果を使用する方法を知っていますか?

5
モデルの検証中のKerasでのverboseの使用は何ですか?
LSTMモデルを初めて実行しています。これが私のモデルです: opt = Adam(0.002) inp = Input(...) print(inp) x = Embedding(....)(inp) x = LSTM(...)(x) x = BatchNormalization()(x) pred = Dense(5,activation='softmax')(x) model = Model(inp,pred) model.compile(....) idx = np.random.permutation(X_train.shape[0]) model.fit(X_train[idx], y_train[idx], nb_epoch=1, batch_size=128, verbose=1) モデルのトレーニング中の詳細の使用は何ですか?

10
TensorFlowで正則化を追加するにはどうすればよいですか?
TensorFlowを使用して実装された多くの利用可能なニューラルネットワークコードで、正則化用語はしばしば損失値に手動で追加の用語を追加することによって実装されることがわかりました。 私の質問は: 手動で行うよりも洗練された、または推奨される正則化の方法はありますか? 私はそれにもget_variable議論があると思いますregularizer。それはどのように使用すべきですか?私の観察によると、レギュラライザーをそれに渡すと(など)tf.contrib.layers.l2_regularizer、正則化された項を表すテンソルが計算され、という名前のグラフコレクションに追加されtf.GraphKeys.REGULARIZATOIN_LOSSESます。そのコレクションはTensorFlowによって自動的に使用されますか(たとえば、トレーニング時にオプティマイザーによって使用されます)?またはそのコレクションを自分で使用する必要があると思いますか?

6
PyTorch-contiguous()
私はgithub (リンク)でLSTM言語モデルのこの例を調べていました。それが一般的に何をするかは私にはかなり明白です。しかしcontiguous()、コード内で数回発生する呼び出しが何をするのかを理解するのにまだ苦労しています。 たとえば、コードの74/75行目に、LSTMの入力シーケンスとターゲットシーケンスが作成されます。データ(に格納されているids)は2次元であり、最初の次元はバッチサイズです。 for i in range(0, ids.size(1) - seq_length, seq_length): # Get batch inputs and targets inputs = Variable(ids[:, i:i+seq_length]) targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous()) したがって、簡単な例として、バッチサイズ1およびseq_length10を使用するinputsと、targets次のようになります。 inputs Variable containing: 0 1 2 3 4 5 6 7 8 9 [torch.LongTensor of size 1x10] targets Variable containing: 1 2 3 4 …

4
Tensorflowでglobal_stepはどういう意味ですか?
これはTensorFlowウェブサイトのチュートリアルコードです。 誰かがglobal_step意味を説明するのを手伝ってもらえますか? TensorflowのWebサイトで、グローバルステップがトレーニングステップのカウントに使用されていることがわかりましたが、正確な意味がわかりません。 また、設定時に数字の0はどういう意味global_stepですか? def training(loss,learning_rate): tf.summary.scalar('loss',loss) optimizer = tf.train.GradientDescentOptimizer(learning_rate) # Why 0 as the first parameter of the global_step tf.Variable? global_step = tf.Variable(0, name='global_step',trainable=False) train_op = optimizer.minimize(loss, global_step=global_step) return train_op Tensorflow doc global_stepによると、変数が更新された後、1ずつインクリメントします。それは、1回の更新global_stepが1になった後という意味ですか?


5
トレーニング中のnansの一般的な原因
トレーニング中に頻繁に発生することNANが導入されていることに気づきました。 多くの場合、内積/完全に接続された層または畳み込み層の重みが爆発することによって導入されるようです。 これは、勾配計算が爆発しているために発生していますか?それとも、重みの初期化が原因ですか(もしそうなら、なぜ重みの初期化がこの効果をもたらすのですか)?それとも、入力データの性質が原因である可能性がありますか? ここでの最も重要な質問は単純です。トレーニング中にNANが発生する最も一般的な理由は何ですか。そして第二に、これと戦うためのいくつかの方法は何ですか(そしてなぜそれらは機能しますか)?

1
KerasでのTimeDistributedレイヤーの役割は何ですか?
TimeDistributedラッパーがKerasで何をするのかを把握しようとしています。 TimeDistributedは「入力のすべての時間スライスにレイヤーを適用する」と思います。 しかし、私はいくつかの実験をして、私が理解できない結果を得ました。 つまり、LSTMレイヤーに関連して、TimeDistributedレイヤーとDenseレイヤーだけで同じ結果が得られます。 model = Sequential() model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) model.add(TimeDistributed(Dense(1))) print(model.output_shape) model = Sequential() model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) model.add((Dense(1))) print(model.output_shape) どちらのモデルでも、(なし、10、1)の出力形状が得られました。 RNNレイヤーの後のTimeDistributedレイヤーとDenseレイヤーの違いを誰かが説明できますか?

2
カスタムTensorFlow Kerasオプティマイザー
tf.kerasAPIに準拠するカスタムオプティマイザークラスを記述したいとします(TensorFlowバージョン> = 2.0を使用)。これを行うための文書化された方法と実装で何が行われるかについて混乱しています。 ドキュメントtf.keras.optimizers.Optimizer の状態、 ### Write a customized optimizer. If you intend to create your own optimization algorithm, simply inherit from this class and override the following methods: - resource_apply_dense (update variable given gradient tensor is dense) - resource_apply_sparse (update variable given gradient tensor is sparse) - create_slots (if …

1
勾配ポリシー導出について
元のリソースであるAndrej Karpathyブログから、ポリシーグラデーションの非常に単純な例を再現しようとしています。その記事には、カートポールとポリシーグラディエントの例と、ウェイトとソフトマックスのアクティブ化のリストがあります。これは、完璧に機能する CartPoleポリシーグラディエントの非常に単純な再作成例です。 import gym import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import PolynomialFeatures import copy NUM_EPISODES = 4000 LEARNING_RATE = 0.000025 GAMMA = 0.99 # noinspection PyMethodMayBeStatic class Agent: def __init__(self): self.poly = PolynomialFeatures(1) self.w = np.random.rand(5, 2) def policy(self, state): z = state.dot(self.w) exp = …

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