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

TensorFlowは、機械学習と機械知能のためのオープンソースライブラリです。TensorFlowは、エッジに沿って流れるテンソルを持つデータフローグラフを使用します。詳細については、https://www.tensorflow.orgを参照してください。TensorFlowはApache 2.0ライセンスの下でリリースされます。

5
ニューラルネットワークのクロスエントロピー誤差関数
ML初心者向けのMNISTでは、クロスエントロピーを次のように定義しています Hy′(y):=−∑iy′ilog(yi)Hy′(y):=−∑iyi′log⁡(yi)H_{y'} (y) := - \sum_{i} y_{i}' \log (y_i) i y ′ iyiyiy_iはクラス予測確率値で、はそのクラスの真の確率です。iiiy′iyi′y_i' 質問1 ()が0になるのは問題ではありませんか?これはもちろん、本当に悪い分類器を持っていることを意味します。しかし、データセットのエラー、たとえばとしてラベル付けされた「明白な」を考えてください。単にクラッシュしますか?選択したモデル(最後にソフトマックスアクティベーション)は、基本的に正しいクラスに対して確率0を与えませんか?yiyiy_ilog(yi)log⁡(yi)\log(y_i)13 質問2 クロスエントロピーは次のように定義されることを学びました Hy′(y):=−∑i(y′ilog(yi)+(1−y′i)log(1−yi))Hy′(y):=−∑i(yi′log⁡(yi)+(1−yi′)log⁡(1−yi))H_{y'}(y) := - \sum_{i} ({y_i' \log(y_i) + (1-y_i') \log (1-y_i)}) 何が正しいのですか?いずれかのバージョンの教科書の参照はありますか?これらの関数は、その特性がどのように異なりますか(ニューラルネットワークのエラー関数として)?

4
ニューラルネットワーク:使用するコスト関数?
主にニューラルネットワークを使用した実験にTensorFlowを使用しています。かなりの実験(XOR-Problem、MNIST、いくつかのリグレッションなど)を行っていますが、全体的に初心者と見なされる可能性があるため、特定の問題に対して「正しい」コスト関数を選択するのに苦労しています。 TensorFlowに来る前に、PythonとNumPyを使用して、完全に接続されたMLPとリカレントネットワークをいくつかコーディングしましたが、ほとんどの場合、単純な2乗誤差と単純な勾配不足で十分な問題がありました。 ただし、TensorFlowはカスタムコスト関数を作成するだけでなく、かなり多くのコスト関数を提供するので、ニューラルネットワークのコスト関数専用のチュートリアルがあるかどうか知りたいのですが?(私はすでに公式のTensorFlowチュートリアルの半分のように実行しましたが、特定のコスト関数または学習者が特定の問題に使用される理由を実際には説明していません-少なくとも初心者には) いくつか例を挙げます: cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y_output, y_train)) 1つのベクトルの合計が1になるように、両方の入力にsoftmax関数を適用すると思いますが、ロジットとのクロスエントロピーは正確には何ですか?私はそれが値を合計し、クロスエントロピーを計算すると思った...だからメトリック測定?!出力を正規化し、合計して二乗誤差を取ると、これは非常に同じではないでしょうか?さらに、なぜこれがMNISTなどに使用されるのですか(またはさらに難しい問題)?私は10または多分1000のクラスのように分類したい場合は、に関する情報破棄完全に値を合計しません。これは、実際の出力はクラスでしたの? cost = tf.nn.l2_loss(vector) これは何のため?l2の損失はほぼ二乗誤差であると考えましたが、TensorFlowのAPIは、入力が1つのテンソルに過ぎないことを示しています。まったく考えがつかないのですか?! 加えて、クロスエントロピーについてこれをかなり頻繁に見ました: cross_entropy = -tf.reduce_sum(y_train * tf.log(y_output)) ...しかし、なぜこれが使用されるのですか?数学的にクロスエントロピーの損失ではありません: -1/n * sum(y_train * log(y_output) + (1 - y_train) * log(1 - y_output)) (1 - y_train) * log(1 - y_output)ほとんどのTensorFlowの例の一部はどこにありますか?不足していませんか? 回答:この質問は非常に開かれていることは知っていますが、すべての問題/コスト関数が詳細にリストされている10ページほどになるとは思いません。どのコスト関数を使用するかについての簡単な要約(一般的にもTensorFlowでも、私にとっては重要ではありません)と、このトピックに関する説明が必要です。および/または初心者向けのソース;)

3
KerasのマルチGPU
複数のGPUでトレーニングを分割するために、kerasライブラリ(またはテンソルフロー)でどのようにプログラムできますか?8個のGPUを備えたAmazon ec2インスタンスにいて、それらすべてを使用してより高速にトレーニングしたいとしますが、コードは単一のCPUまたはGPU用です。

4
ノイズ対照推定(NCE)損失の直感的な説明?
これら2つのソースからNCE(候補サンプリングの形式)について読みました。 テンソルフローの評価 オリジナルペーパー 誰かが次のことで私を助けることができます: NCEの仕組みの簡単な説明(上記を解析して理解するのは難しいことがわかったので、そこに提示された数学につながる直感的なものは素晴らしいでしょう) 上記のポイント1の後、これがネガティブサンプリングとどのように異なるかについての自然に直感的な説明。数式にわずかな変更があることがわかりますが、数学を理解できませんでした。ネガティブサンプリングのコンテキストでの直感的な理解はありword2vecます。ボキャブラリーからランダムにいくつかのサンプルを選択し、Vそれらのみを更新するため|V|、サイズが大きくなり、高速化が実現します。間違っている場合は修正してください。 どちらをいつ使用するか、どのように決定されますか?例を含めることができれば素晴らしいと思います(アプリケーションを理解しやすいかもしれません) NCEはネガティブサンプリングより優れていますか?どのような方法で良いですか? ありがとうございました。

1
PyTorch対Tensorflow Fold
PyTorchとTensorflow Foldは両方とも、入力データの長さまたは次元が不均一な状況(つまり、動的グラフが有用または必要な状況)に対処することを目的とした深層学習フレームワークです。 依存するパラダイム(例:動的バッチ処理)とその意味、それぞれに実装できる/できないもの、弱点/強さなどの意味で、それらを比較する方法を知りたいと思います。 この情報を使用して、動的計算グラフの探索を開始するためにそれらの1つを選択するつもりですが、特定のタスクはありません。 注1:DyNetやChainerのような他の動的計算グラフフレームワークも比較で歓迎されますが、PyTorchとTensorflow Foldに焦点を当てたいと思います。 注2:PyTorchでこのhackernewsスレッドを見つけましたが、情報はまばらですが、それほど多くはありません。 注3:Tensorflow Foldに関する別の関連するhackernewsスレッドには、比較方法に関する情報が含まれています。 注4:関連するRedditスレッド。 注5:Tensorflow Foldのgithubに関連するバグで、重要な制限を特定しています。評価中に条件分岐を実行できないことです。 注6:使用されているアルゴリズム(動的バッチ処理など)に関連した可変長入力に関するpytorchフォーラムでの議論。

2
Kerasで2つの異なるモデルをマージする
2つのKerasモデルを1つのモデルにマージしようとしていますが、これを達成できません。 たとえば、添付の図では、次元8の中間層を取得し、これをモデル(再び次元8の)層への入力として使用し、モデルとモデル両方を単一のモデル。A2A2A2B1B1B1BBBAAABBB 機能モジュールを使用して、モデルとモデル個別に作成しています。どうすればこのタスクを達成できますか?AAABBB 注:はモデル入力層であり、はモデル入力層です。A1A1A1AAAB1B1B1BBB

3
多重出力回帰のためのニューラルネットワーク
34の入力列と8つの出力列を含むデータセットがあります。 この問題を解決する1つの方法は、34の入力を取得し、各出力列に対して個別の回帰モデルを構築することです。 特にニューラルネットワークを使用して、この問題を1つのモデルだけで解決できるかどうか疑問に思っています。 多層パーセプトロンを使用しましたが、線形回帰のように複数のモデルが必要です。Sequence to Sequenceは実行可能なオプションですか? TensorFlowを使用しています。コードはありますが、多層パーセプトロン理論の観点から見落としていることを理解することがより重要だと思います。 MLPでは、1つの出力ノードがある場合、1つの出力を提供することを理解しています。10個の出力ノードがある場合、それはマルチクラスの問題です。10個の出力の中から最も確率の高いクラスを選択します。しかし、私の場合、同じ入力に対して8つの出力があることは確かです。 たとえば、入力のセットに対して、何か(X、Y、Z)の3D座標を取得するとしましょう。同様に、入力= {1,10,5,7}出力= {1,2,1}。したがって、同じ入力{1,10,5,7}に対して、X値Y値とZのモデルを作成する必要があります。1つの解決策は、MLPを使用して3つの異なるモデルを作成することです。しかし、私は1つのモデルを持つことができるかどうかを見たいです。そこで、seq2seqの使用を考えました。エンコーダは一連の入力を受け取り、デコーダは一連の出力を提供するためです。しかし、テンソルフローのseq2seqはfloat値を処理できないようです。私はこれについて間違っている可能性があります。


3
ディープラーニングライブラリを使用したテキストからのキーワード/フレーズ抽出
おそらくこれは広すぎるかもしれませんが、テキスト要約タスクでディープラーニングを使用する方法に関するリファレンスを探しています。 標準の単語頻度アプローチと文のランク付けを使用してテキストの要約を既に実装していますが、このタスクにディープラーニングテクニックを使用する可能性を調査したいと思います。また、センチメント分析にConvolutional Neural Networks(CNN)を使用してwildml.comで提供されているいくつかの実装も行っています。テキストの要約とキーワード抽出にTensorFlowやTheanoなどのライブラリをどのように使用できるか知りたいのですが。ニューラルネットの実験を始めてから約1週間が経過しました。これらのライブラリのパフォーマンスが、この問題に対する以前のアプローチと比較してどうなるか、とても楽しみです。 これらのフレームワークを使用したテキスト要約に関連する興味深い論文とgithubプロジェクトを特に探しています。誰かが私にいくつかの参照を提供できますか?

2
ケラスvs. tf.keras
私は間を選択する際に混乱ビットだKeras(keras-チーム/ keras)とtf.keras私の新しい研究プロジェクトのために(tensorflow / tensorflow /パイソン/ keras /)。 Kerasは誰にも所有されていないという議論があります。そのため、人々は貢献することに満足しており、将来プロジェクトを管理するのがはるかに容易になります。‬ 他の側では、tf.kerasは、Googleがこれより厳密なテストとメンテナンスを所有しています。さらに、これはTensorflow v.2に存在する新機能を利用するためのより良いオプションのようです。 ですから、データサイエンス(機械学習)プロジェクト(研究段階)を開始するには、最初は両方とも大丈夫ですが、どちらを選択しますか?!‬

4
Intel GPUでTensorFlowを使用する
私はディープラーニングの初心者です。 TensorFlowをIntel GPUで使用する方法はありますか?はいの場合は、正しい方向に向けてください。 そうでない場合は、Intel Corporation Xeon E3-1200 v3 / 4th Gen Core Processor Integrated Graphics Controllerに使用できるフレームワーク(ある場合)(Keras、Theanoなど)をお知らせください。
20 tensorflow  keras  theano  gpu 

4
「LSTMセルのユニット数」の意味は何ですか?
Tensorflowコードから:Tensorflow。RnnCell。 num_units: int, The number of units in the LSTM cell. これが何を意味するのか理解できません。LSTMセルの単位は何ですか。ゲートを入力、出力、および忘れますか?これは、「Deep LSTMの再帰投影レイヤーのユニット数」を意味しますか。では、なぜこれが「LSTMセルのユニット数」と呼ばれるのですか?LSTMセルとは何ですか?VS VS LSTMブロックとの違いは何ですか?セルでない場合の最小LSTMユニットとは何ですか?

1
ケラスを使用したマルチクラス分類で文字列ラベルを処理するにはどうすればよいですか?
私は機械学習とケラスの初心者であり、現在ケラスを使用してマルチクラスの画像分類問題に取り組んでいます。入力はタグ付き画像です。いくつかの前処理の後、トレーニングデータはPythonリストで次のように表されます。 [["dog", "path/to/dog/imageX.jpg"],["cat", "path/to/cat/imageX.jpg"], ["bird", "path/to/cat/imageX.jpg"]] 「犬」、「猫」、および「鳥」はクラスラベルです。この問題にはワンホットエンコーディングを使用する必要があると思いますが、これらの文字列ラベルの処理方法についてはあまり明確ではありません。私はこの方法でsklearnのLabelEncoder()を試しました: encoder = LabelEncoder() trafomed_label = encoder.fit_transform(["dog", "cat", "bird"]) print(trafomed_label) そして、出力は[2 1 0]であり、これは[[1,0,0]、[0,1,0]、[0,0,1]]のような気まぐれな出力とは異なります。いくつかのコーディングで行うことができますが、それに対処するための「標準」または「伝統的な」方法があるかどうか知りたいですか?

3
深層学習モデルをトレーニングする際のミニバッチメモリの影響を計算する方法は?
Andrej Karphatyの次のメモに基づいて、モデルをトレーニングするためにGPUに必要なメモリ量を計算しようとしています:http ://cs231n.github.io/convolutional-networks/#computational-considerations 私のネットワークには、532,752のアクティベーションと19,072,984のパラメーター(重みとバイアス)があります。これらはすべて32ビットのfloat値であるため、それぞれが4バイトのメモリを消費します。 私の入力画像は180x50x1(幅x高さx奥行き)= 9,000 float 32値です。私は画像増強を使用しないので、その他のメモリはミニバッチサイズにのみ関連すると思います。128個の画像のミニバッチサイズを使用しています。 Andrejの推奨に基づいて、次のメモリサイズを取得します。 アクティベーション: 532,752 * 4 /(1024 ^ 2)= 2.03 MB パラメーター: 19,072,984 * 4 /(1024 ^ 2)* 3 = 218.27 MB その他: 128 * 9,000 * 4 /(1024 ^ 2)= 4.39 MB したがって、このネットワークをトレーニングするための合計メモリは224,69 MBになります。 TensorFlowを使用していますが、何かが足りないと思います。私はまだトレーニングを実行していませんが、(過去の経験に基づいて)使用中のメモリが計算した値よりもはるかに大きいことを確信しています。 ミニバッチの各画像について、TensorFlowが勾配を保持して、単一の重み/バイアス更新ステップで後で正規化できる場合、メモリは別の532,752 * 128の値を考慮する必要があると思います(各画像の勾配ミニバッチ)。その場合、128個のイメージ/ミニバッチでこのモデルをトレーニングするには、260.13 MBがさらに必要になります。 ディープラーニングモデルをトレーニングするためのメモリに関する考慮事項を理解するのに役立ちますか?上記の考慮事項は正しいですか?

4
tfrecordファイルをシャードに分割する利点は何ですか?
私はTensorflowで音声認識に取り組んでおり、LSTM NNを大規模なウェーブデータセットでトレーニングする予定です。パフォーマンスが向上するため、tfrecordsを使用する予定です。tfrecordsファイルが断片に分割されるインターネット(例:Inception)にはいくつかの例があります。私の質問は、tfrecordsファイルをシャードに入れることの利点は何ですか?この分割によりパフォーマンスが向上しますか?

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