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

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


3
Keras LSTMについて
私はLSTMの理解を調整するために努力しており、この記事でKerasに実装されているChristopher Olahによって指摘されています。Jaras BrownleeがKerasチュートリアルとして書いたブログをフォローしています。主に混乱しているのは、 [samples, time steps, features]およびへのデータ系列の再形成 ステートフルLSTM 以下に貼り付けたコードを参照して、上記の2つの質問に集中してみましょう。 # reshape into X=t and Y=t+1 look_back = 3 trainX, trainY = create_dataset(train, look_back) testX, testY = create_dataset(test, look_back) # reshape input to be [samples, time steps, features] trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 1)) testX = numpy.reshape(testX, (testX.shape[0], look_back, 1)) ######################## …

15
tensorflowのtf.nn.max_poolの「SAME」パディングと「VALID」パディングの違いは何ですか?
「SAME」とで「有効」パディングの違いは何であるtf.nn.max_poolのはtensorflow? 私の意見では、「有効」とは、max poolを実行したときに、エッジの外側にゼロパディングがないことを意味します。 ディープラーニングのたたみ込み演算のガイドによると、プール演算子にはパディングがない、つまりの 'VALID'を使用するだけですtensorflow。しかし、最大プールの「SAME」パディングとはtensorflow何ですか?

2
Keras入力の説明:input_shape、units、batch_size、dimなど
任意のKeras層(の場合はLayerクラス)、缶誰かが違いを理解する方法を説明しinput_shape、units、dim、などを? たとえば、ドキュメントにはunits、レイヤーの出力形状を指定すると書かれています。 下のニューラルネットの画像にhidden layer1は4ユニットあります。これunitsはLayerオブジェクトの属性に直接変換されますか?それともunitsケラスでは、隠しレイヤーのすべてのウェイトの形状にユニット数を掛けたものに等しいですか? 簡単に言うと、下の画像を使用して、モデルの属性、特にレイヤーをどのように理解/視覚化するのですか?

11
TensorFlowでロジットという単語の意味は何ですか?
次のTensorFlow関数では、最終層の人工ニューロンの活性化をフィードする必要があります。私が理解していること。しかし、それがロジットと呼ばれる理由がわかりませんか?それは数学関数ではありませんか? loss_function = tf.nn.softmax_cross_entropy_with_logits( logits = last_layer, labels = target_output )

3
機械学習モデルの「損失」と「正確さ」を解釈する方法
TheanoまたはTensorflowでニューラルネットワークをトレーニングすると、エポックごとに「損失」と呼ばれる変数が報告されます。 この変数をどのように解釈すればよいですか?損失が大きいほど良くなったり悪くなったりしますか、それとも私のニューラルネットワークの最終的なパフォーマンス(精度)にはどのような意味がありますか?

5
PyTorchでトレーニング済みモデルを保存する最良の方法は?
PyTorchでトレーニング済みモデルを保存する別の方法を探していました。これまでのところ、2つの代替案を見つけました。 torch.save()はモデルを保存し、torch.load()はモデルをロードします。 model.state_dict()はトレーニング済みモデルを保存し、model.load_state_dict()は保存されたモデルをロードします。 私はこの議論に出くわしました。アプローチ2はアプローチ1よりも推奨されます。 私の質問は、なぜ2番目のアプローチが好ましいのかということです。それはtorch.nnモジュールがこれら2つの機能を持っているからであり、それらを使用することをお勧めしますか?

11
binary_crossentropyとcategorical_crossentropyが同じ問題に対して異なるパフォーマンスを提供するのはなぜですか?
CNNをトレーニングして、テキストをトピックごとに分類しようとしています。バイナリクロスエントロピーを使用すると、最大80%の精度が得られます。カテゴリカルクロスエントロピーでは、最大50%の精度が得られます。 なぜなのかわかりません。これはマルチクラスの問題です。それは、カテゴリクロスエントロピーを使用する必要があり、バイナリクロスエントロピーを使用した結果は無意味であることを意味しませんか? model.add(embedding_layer) model.add(Dropout(0.25)) # convolution layers model.add(Conv1D(nb_filter=32, filter_length=4, border_mode='valid', activation='relu')) model.add(MaxPooling1D(pool_length=2)) # dense layers model.add(Flatten()) model.add(Dense(256)) model.add(Dropout(0.25)) model.add(Activation('relu')) # output layer model.add(Dense(len(class_id_index))) model.add(Activation('softmax')) 次にcategorical_crossentropy、損失関数として次のようにコンパイルします。 model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) または model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 直観的には、カテゴリカルクロスエントロピーを使用する理由は理にかなっていますが、バイナリで良い結果が得られ、カテゴリで悪い結果が得られる理由がわかりません。

8
tf.nn.embedding_lookup関数は何をしますか?
tf.nn.embedding_lookup(params, ids, partition_strategy='mod', name=None) この機能の義務がわかりません。それはルックアップテーブルのようなものですか?それぞれのIDに対応するパラメーター(ID単位)を返すことはどちらですか。 たとえば、skip-gramモデルでを使用するとtf.nn.embedding_lookup(embeddings, train_inputs)、それぞれに対してtrain_input対応する埋め込みが見つかりますか?

10
ケラス、各レイヤーの出力を取得するには?
CNNを使用してバイナリ分類モデルをトレーニングしましたが、これが私のコードです model = Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode='valid', input_shape=input_shape)) model.add(Activation('relu')) model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=pool_size)) # (16, 16, 32) model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=pool_size)) # (8, 8, 64) = (2048) model.add(Flatten()) model.add(Dense(1024)) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(2)) # define a binary classification problem model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']) model.fit(x_train, …

12
逆伝播ニューラルネットワークで非線形活性化関数を使用する必要があるのはなぜですか?
私はニューラルネットワークについていくつか読んでおり、単層ニューラルネットワークの一般的な原理を理解しています。追加のレイヤーの必要性を理解しましたが、なぜ非線形活性化関数が使用されるのですか? この質問の後に、次の質問が続きます。逆伝搬で使用されるアクティベーション関数の派生物は何ですか?



5
Kerasでの "Flatten"の役割は何ですか?
FlattenKeras における関数の役割を理解しようとしています。以下は、単純な2層ネットワークである私のコードです。形状(3、2)の2次元データを取り込み、形状(1、4)の1次元データを出力します。 model = Sequential() model.add(Dense(16, input_shape=(3, 2))) model.add(Activation('relu')) model.add(Flatten()) model.add(Dense(4)) model.compile(loss='mean_squared_error', optimizer='SGD') x = np.array([[[1, 2], [3, 4], [5, 6]]]) y = model.predict(x) print y.shape これyは、形状(1、4)の出力です。ただし、Flatten線を削除すると、y形(1、3、4)のものが印刷されます。 分かりません。ニューラルネットワークについての私の理解から、このmodel.add(Dense(16, input_shape=(3, 2)))関数は、16ノードの完全に接続された非表示のレイヤーを作成しています。これらの各ノードは、3x2入力要素のそれぞれに接続されています。したがって、この最初のレイヤーの出力にある16個のノードはすでに「フラット」です。したがって、最初のレイヤーの出力形状は(1、16)になります。そして、第2層はこれを入力として、形状(1、4)のデータを出力する。 では、最初のレイヤーの出力がすでに「フラット」で形状(1、16)である場合、なぜさらにフラットにする必要があるのでしょうか。

2
Kerasでの多対一および多対多のLSTMの例
私はLSTMと、それらをKerasで構築する方法を理解しようとしています。私は、RNNを実行するために主に4つのモードがあることを発見しました(図の4つの正しいモード) 画像ソース:Andrej Karpathy さて、それぞれのミニマルなコードスニペットがKerasでどのように見えるのかと思います。だから何かのような model = Sequential() model.add(LSTM(128, input_shape=(timesteps, data_dim))) model.add(Dense(1)) 4つのタスクのそれぞれについて、少しの説明があるかもしれません。

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