web-dev-qa-db-ja.com

TensorFlow Estimator.DNNClassifierでのDNNの意味は何ですか?

DNNで使用される意味でのTensorFlowは、「 deepニューラルネットワーク 」を意味すると思います。しかし、「深い」ニューラルネットワークの概念が他の場所で広く使用されているように思われるため、これは非常に混乱しているように見えます。

対照的に、多くの人々がこの用語に遭遇する最初のインスタンス( tfEstimatorクイックスタートのサンプルコード で):

# Build 3 layer DNN with 10, 20, 10 units respectively.
  classifier = tf.estimator.DNNClassifier(feature_columns=feature_columns,
                                          hidden_units=[10, 20, 10],
                                          n_classes=3,
                                          model_dir="/tmp/iris_model")

これは疑わしいほど浅く聞こえ、古いスタイルの多層パーセプトロン( [〜#〜] mlp [〜#〜] )ネットワークのようにさらに疑わしく聞こえます。ただし、その最も近いソースの代替用語としてのDNNについての言及はありません。 TensorFlow tf.estimatorコンテキストのDNNは実際にはMLPですか? hidden_unitsパラメータに関するドキュメントは、これが事実であることを示唆しています:

  • hidden_​​units:レイヤーごとの非表示ユニット数の反復可能。すべてのレイヤーが完全に接続されています。例[64、32]は、第1層に64個のノードがあり、第2層に32個のノードがあることを意味します。

その上にMLPが書かれています。この理解は正しいですか?したがって、DNNは誤称です。もしそうであれば、DNNClassifierMLPClassifierを優先して非推奨にすべきですか?それともDNNdeepニューラルネットワーク以外のものを表していますか?

8
omatai

「深い」ニューラルネットワークの定義を教えてください。そうすれば答えが得られます。

しかし、はい、それは単なるMLPであり、実際の適切な命名はMLPclassifierです。しかし、これは現在の名前ほどクールに聞こえません。

5
Patwie

まず、DNNの定義は ビットを誤解させる です。

ディープニューラルネットワークにはいくつかのアーキテクチャがあります。包括的ディープフィードフォワードネットワークは、多層MLPに加えて 魅力的にするためのいくつかの手法 にすぎません。

一部の著作物は「DNN」を使用してすべてのディープラーニングアーキテクチャをカバーしていますが、慣例により「DNN」はディープフィードフォワードネットワークとも呼ばれるディープフォワード伝播ネットワークを使用するアーキテクチャを指すために使用されます

深層学習モデルの最も重要な例は、深遠なネットフィードフォワードまたは多層パーセプトロン(MLP)です。 MLPは、いくつかの入力値のセットを出力値にマップする単なる数学関数です。関数は、多くの単純な関数の合成によって形成されます。異なる数学関数の各アプリケーションを関連付けて、入力の新しい表現を提供できます。

したがって、この推定量がDNNClassifierと呼ばれることは理にかなっています

私のアドバイスは この本はここ を読むことです。