タグ付けされた質問 「tensorflow」

Googleが開発したディープラーニング用のPythonライブラリ。このタグは、(a)質問の重要な部分または予想される回答のいずれかとしてテンソルフローが含まれるトピックの質問に使用します。&(b)は、テンソルフローの使用方法だけではありません。

6
指数関数的減衰を伴うAdamオプティマイザー
ほとんどのTensorflowコードで、Adam Optimizerが一定の学習率1e-4(つまり0.0001)で使用されているのを見ました。通常、コードは次のようになります。 ...build the model... # Add the optimizer train_op = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) # Add the ops to initialize variables. These will include # the optimizer slots added by AdamOptimizer(). init_op = tf.initialize_all_variables() # launch the graph in a session sess = tf.Session() # Actually intialize the variables sess.run(init_op) # now …

1
softmax_cross_entropy_with_logitsはsoftmax_cross_entropy_with_logits_v2とどう違うのですか?
具体的には、私はこの声明について疑問に思うだろう: TensorFlowの将来のメジャーバージョンでは、デフォルトでbackpropのラベル入力に勾配が流れるようになります。 を使用すると表示されますtf.nn.softmax_cross_entropy_with_logits。同じメッセージの中で、それを見ることを促しますtf.nn.softmax_cross_entropy_with_logits_v2。私はドキュメントを調べましたが、それは次のことだけを述べていtf.nn.softmax_cross_entropy_with_logits_v2ます: バックプロパゲーションは、ロジットとラベルの両方に発生します。ラベルへの逆伝播を禁止するには、この関数にフィードする前にstop_gradientsにラベルテンソルを渡します。 反対に、tf.nn.softmax_cross_entropy_with_logits「S: バックプロパゲーションはロジットにのみ発生します。 件名が非常に新しいので(基本的なチュートリアルを進めようとしています)、これらのステートメントはあまり明確ではありません。私は逆伝播の浅い理解を持っていますが、前のステートメントは実際には何を意味しますか?バックプロパゲーションとラベルはどのように接続されていますか?そして、これtf.nn.softmax_cross_entropy_with_logits_v2はオリジナルとは対照的に私がどのように働くかをどのように変えますか?

3
機械学習:バイナリ予測にカテゴリクロスエントロピーまたはバイナリクロスエントロピー損失を使用する必要がありますか?
まず、バイナリ予測を実行する必要がある場合、ワンホットエンコーディングを実行して少なくとも2つのクラスを作成する必要があることに気付きました。これは正しいです?ただし、バイナリクロスエントロピーは、クラスが1つだけの予測に対してのみですか?ほとんどのライブラリ(TensorFlowなど)で通常見られるカテゴリクロスエントロピー損失を使用する場合、大きな違いはありますか? 実際、カテゴリクロスエントロピーとバイナリクロスエントロピーの正確な違いは何ですか?TensorFlowでバイナリクロスエントロピーの実装を見たことがないので、おそらくカテゴリー的なものも同じように機能すると思いました。

1
回帰用のCNNアーキテクチャ?
入力が画像で、ラベルが80から350の間の連続値である回帰問題に取り組んでいます。画像は、反応が起こった後のいくつかの化学物質のものです。判明する色は、残りの別の化学物質の濃度を示し、それがモデルが出力するものです-その化学物質の濃度。画像は回転、反転、ミラー化できますが、期待される出力は同じままです。この種の分析は実際のラボで行われます(このモデルをトレーニングするのと同じように、非常に特殊な機械が色分析を使用して化学物質の濃度を出力します)。 これまでのところ、おおよそVGG(conv-conv-conv-poolブロックの複数のシーケンス)に基づいたモデルで実験したことがあります。より最近のアーキテクチャ(Inception、ResNetなど)を試す前に、画像を使用した回帰でより一般的に使用される他のアーキテクチャがあるかどうかを調査したいと思いました。 データセットは次のようになります。 データセットには約5,000の250x250のサンプルが含まれていますが、64x64にサイズ変更したため、トレーニングが簡単になりました。有望なアーキテクチャを見つけたら、より大きな解像度の画像で実験します。 これまでのところ、私の最良のモデルでは、トレーニングセットと検証セットの両方で約0.3の平均二乗誤差があり、これは私のユースケースでは受け入れられません。 これまでの私の最高のモデルは次のようになります。 // pseudo code x = conv2d(x, filters=32, kernel=[3,3])->batch_norm()->relu() x = conv2d(x, filters=32, kernel=[3,3])->batch_norm()->relu() x = conv2d(x, filters=32, kernel=[3,3])->batch_norm()->relu() x = maxpool(x, size=[2,2], stride=[2,2]) x = conv2d(x, filters=64, kernel=[3,3])->batch_norm()->relu() x = conv2d(x, filters=64, kernel=[3,3])->batch_norm()->relu() x = conv2d(x, filters=64, kernel=[3,3])->batch_norm()->relu() x = maxpool(x, size=[2,2], stride=[2,2]) x …

5
LSTMユニットとセルの理解
私はしばらくの間LSTMを研究してきました。私はすべてがどのように機能するかを高いレベルで理解しています。ただし、Tensorflowを使用して実装する場合、BasicLSTMCellには多数のユニット(つまりnum_units)パラメーターが必要であることに気付きました。 LSTMのこの非常に徹底的な説明から、単一のLSTMユニットが次のいずれかであることがわかりました。 これは実際にはGRUユニットです。 のパラメーターnum_unitsは、BasicLSTMCellレイヤー内で相互に接続するこれらの数を参照していると想定しています。 それは疑問を残します-この文脈での「セル」とは何ですか?「セル」は、通常のフィードフォワードニューラルネットワークのレイヤーと同等ですか?

3
TensorflowでPCAを超えるオートエンコーダーを構築する
ニューラルネットワークでデータの次元数を削減するヒントンとサラクーディノフ、サイエンス 2006は、ディープオートエンコーダーの使用による非線形PCAを提案しました。Tensorflowを使用してPCAオートエンコーダーを何度も構築およびトレーニングしようとしましたが、線形PCAよりも良い結果を得ることができませんでした。 オートエンコーダを効率的にトレーニングするにはどうすればよいですか? (@amoebaによる後の編集:この質問の元のバージョンには、正しく動作しなかったPython Tensorflowコードが含まれていました。編集履歴で見つけることができます。)

1
リバースモード自動微分のステップバイステップの例
この質問がここに属するかどうかはわかりませんが、最適化における勾配法と密接に関連しています。これはここではトピックのようです。とにかく、他のコミュニティがこのトピックについてより良い専門知識を持っていると思うなら、気軽に移行してください。 要するに、私は逆モード自動微分の段階的な例を探しています。トピックに関する文献はそれほど多くなく、既存の実装(TensorFlowのようなもの)は、その背後にある理論を知らずに理解するのは困難です。したがって、私たちが何を渡し、どのように処理し、計算グラフから何を取り出すかを誰かが詳細に示すことができれば、非常に感謝しています。 私が最も苦労しているいくつかの質問: 種 -なぜそれらが必要なのですか? 逆微分ルール -前方微分を行う方法を知っていますが、どのように後方に進みますか?たとえば、このセクションの例では、をどのように知ることがますか?w2¯=w3¯w1w2¯=w3¯w1\bar{w_2}=\bar{w_3}w_1 我々はして作業を行うだけで、シンボルの実際を介して、またはパス値は?たとえば、同じ例では、と記号または値はありますか?wiwiw_iwi¯wi¯\bar{w_i}

2
変分オートエンコーダーでのKLD損失と再構成損失の重み付け方法
VAEで見たほぼすべてのコード例で、損失関数は次のように定義されています(これはtensorflowコードですが、theano、torchなどでも同様です。これはconvnetでも見られますが、あまり関係ありません) 、単に合計が引き継がれる軸に影響します): # latent space loss. KL divergence between latent space distribution and unit gaussian, for each batch. # first half of eq 10. in https://arxiv.org/abs/1312.6114 kl_loss = -0.5 * tf.reduce_sum(1 + log_sigma_sq - tf.square(mu) - tf.exp(log_sigma_sq), axis=1) # reconstruction error, using pixel-wise L2 loss, for each batch rec_loss = …

1
TensorBoardでTensorFlowによって与えられたヒストグラムをどのように解釈しますか?
私は最近、テンソルフローを実行して学習しており、解釈方法がわからないヒストグラムをいくつか取得しました。通常、バーの高さは頻度(または相対頻度/カウント)と考えます。しかし、通常のヒストグラムのようにバーが存在しないという事実と、陰影が付いているという事実は、私を混乱させます。また、一度に多くの行/高さがありますか? 誰かが次のグラフを解釈する方法を知っていますか(そしておそらくテンソルフローでヒストグラムを読むのに役立つ一般的なアドバイスを提供します): 元の変数がベクトルまたは行列またはテンソルである場合、実際にテンソルフローは各座標のヒストグラムのように表示されますか?また、この情報を取得して人々を自立させる方法を参照することは、ドキュメントで有用なものを見つけるのが困難であるため、今は素晴らしいでしょう。たぶん、いくつかのチュートリアルの例など?それらを操作する上でのアドバイスもいいかもしれません。 参考として、これを与えたコードの抜粋を以下に示します。 (X_train, Y_train, X_cv, Y_cv, X_test, Y_test) = data_lib.get_data_from_file(file_name='./f_1d_cos_no_noise_data.npz') (N_train,D) = X_train.shape D1 = 24 (N_test,D_out) = Y_test.shape W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std), name='W1') # (D x D1) S1 = tf.Variable( tf.constant(100.0, shape=[]), name='S1') # (1 x 1) C1 = tf.Variable( tf.truncated_normal([D1,1], mean=0.0, stddev=0.1), name='C1' ) …

3
隠れ層ニューロンとしてのRelu vs Sigmoid vs Softmax
Tensorflowを使用して、1つの隠れ層のみを持つ単純なニューラルネットワークで遊んでいた後、隠れ層に対して異なるアクティベーションを試みました。 レルー シグモイド ソフトマックス(まあ、通常ソフトマックスは最後のレイヤーで使用されます。.) Reluは、最高の列車精度と検証精度を提供します。これを説明する方法がわかりません。 Reluには、勾配のない消失などのスパース性などの優れた特性があることがわかっていますが、 Q:Reluニューロンはシグモイド/ソフトマックスニューロンよりも一般的に優れていますか?ほとんど常にNN(またはCNNでも)Reluニューロンを使用する必要がありますか? 複雑すぎるニューロンはより良い結果をもたらすだろうと考えました。少なくともオーバーフィットを心配する場合は、精度を訓練します。 PS:コードは基本的に「Udacity-Machine learning -assignment2」からのものです。これは、単純な1-hidden-layer-NNを使用したnotMNISTの認識です。 batch_size = 128 graph = tf.Graph() with graph.as_default(): # Input data. tf_train_dataset = tf.placeholder(tf.float32, shape=(batch_size, image_size * image_size)) tf_train_labels = tf.placeholder(tf.float32, shape=(batch_size, num_labels)) tf_valid_dataset = tf.constant(valid_dataset) tf_test_dataset = tf.constant(test_dataset) # hidden layer hidden_nodes = 1024 hidden_weights = tf.Variable( tf.truncated_normal([image_size …


5
ディープラーニング:どの変数が重要であるかを知るにはどうすればよいですか?
ニューラルネットワークの用語(y =重み* x +バイアス)の観点から、どの変数が他の変数よりも重要であるかをどのようにして知ることができますか? 10個の入力を持つニューラルネットワーク、20個のノードを持つ1つの隠れ層、1つのノードを持つ1つの出力層があります。どの入力変数が他の変数よりも影響力があるかを知る方法がわかりません。私が考えているのは、入力が重要な場合、最初のレイヤーへの重みの高い接続がありますが、重みは正または負になる可能性があるということです。したがって、入力の重みの絶対値を取得し、それらを合計することができます。より重要な入力は、より高い合計を持ちます。 したがって、たとえば、髪の長さが入力の1つである場合、次のレイヤーの各ノードに1つの接続、つまり20の接続(したがって20の重み)が必要です。各重量の絶対値を取り、それらを合計することはできますか?

1
オートエンコーダーの損失関数
私はビットオートエンコーダを実験しており、テンソルフローを使用して、MNISTデータセットを再構築しようとするモデルを作成しました。 私のネットワークは非常に単純です:X、e1、e2、d1、Y、ここでe1とe2はエンコード層、d2とYはデコード層です(そしてYは再構築された出力です)。 Xには784個、e1には100個、e2には50個、d1には再び100個、Y 784には再びあります。 シグモイドをレイヤーe1、e2、d1、およびYのアクティベーション関数として使用しています。入力は[0,1]であり、出力もそうである必要があります。 さて、クロスエントロピーを損失関数として使用してみましたが、出力は常にブロブであり、Xからe1への重みは常にゼロ値の行列に収束することに気付きました。 一方、損失関数として二乗平均誤差を使用すると、適切な結果が得られ、入力を再構築できるようになりました。 どうしてこんなことに?値を確率として解釈することができ、したがってクロスエントロピーを使用できると思いましたが、明らかに何か間違っています。

2
ニューラルネットワークのサンプル、タイムステップ、機能の違い
LSTMニューラルネットワークに関する次のブログをご覧ください:http ://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/ 著者は、LSTMのさまざまな構成のために、入力ベクトルXを[サンプル、タイムステップ、フィーチャ]として再形成します。 著者は書いている 実際、文字のシーケンスは、個別の機能の1つのタイムステップではなく、1つの機能のタイムステップです。ネットワークにより多くのコンテキストを与えましたが、期待したほど多くのシーケンスを与えていません これは何を意味するのでしょうか?

4
可変サイズの画像を畳み込みニューラルネットワークへの入力として与えることは可能ですか?
オブジェクト検出用の畳み込みニューラルネットワークへの入力として、可変サイズの画像を提供できますか?可能であれば、どうすればそれを実行できますか? しかし、画像をトリミングしようとすると、画像の一部が失われ、サイズを変更しようとすると、画像の鮮明さが失われます。画像の鮮明さが主な考慮事項である場合、固有のネットワークプロパティを使用するのが最適であることを意味しますか?

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