在TensorFlow Estimator.DNNClassifier中DNN是什么意思?

oma*_*tai 5 terminology tensorflow tensorflow-estimator

我猜想DNN在某种意义上是TensorFlow指“ 深度神经网络 ”。但是我发现这深深地令人困惑,因为“深度”神经网络的概念似乎在其他地方被广泛使用,这意味着通常具有多个卷积和/或关联层(ReLU,池化,丢失等)的网络。

相比之下,很多人会首先遇到这个术语(在tfEstimator Quickstart示例代码中),我们发现:

# 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")
Run Code Online (Sandbox Code Playgroud)

这听起来像是可疑的浅,甚至更像是老式的多层感知器(MLP)网络。但是,没有提到DNN该近似定义源上的替代术语。那么DNN在TensorFlow tf.estimator上下文中实际上是一个MLP吗?hidden_units参数的文档表明是这种情况:

  • hidden_​​units:可迭代的每层隐藏单元数。所有层均已完全连接。例如 [64,32]表示第一层有64个节点,第二层有32个节点。

MLP已经写满了。这种理解正确吗?DNN因此,是否使用了不当用语?如果DNNClassifier可以,则最好弃用MLPClassifier?还是DNN代表深层神经网络以外的东西?

Pat*_*wie 7

给我你对“深度”神经网络的定义,你就会得到答案。

但是,是的,它只是一个 MLP,正确的命名确实是 MLPclassifier。但这听起来并不像现在的名字那么酷。