我猜测DNN
中使用的TensorFlow
意味着" deep neural network"。但是我发现这非常让人感到困惑,因为这是一个很深的"神经网络似乎在其他地方被广泛使用,意味着网络通常具有几个卷积和/或相关层(ReLU,汇集,丢失等)。
相比之下,我们发现很多人会遇到这个术语(在tfEstimator Quickstart example code中)的第一个例子:
# 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 DNN
上下文中的tf.estimator
实际上是MLP
吗? hidden_units
参数的文档表明情况如此:
MLP已经写完了。这种理解是否正确? DNN
因此用词不当,如果是DNNClassifier
,理想情况下应该弃用MLPClassifier
?或者DNN
代表深层神经网络以外的东西吗?
答案 0 :(得分:4)
给我你的定义" deep"神经网络,你得到你的答案。
但是,是的,它只是一个MLP,一个正确的命名确实是MLPclassifier。但这并不像现在的名字那么酷。
答案 1 :(得分:1)
首先,您对DNN的定义是bit misleading。
有几种深度神经网络架构。 Inclussive深度前馈网络只不过是一个多层次的MLP,加上some techniques to make them attractive。
有些作品使用了" DNN"然而,按照惯例,跨越所有深度学习架构," DNNs"用于指代使用深度前向传播网络的架构,也称为深度前馈网络
深度学习模型最重要的例子是深度净前馈或多层感知器(MLP)。 MLP只是一个数学函数,它将一些输入值集映射到输出值。该功能由许多更简单的功能组成。您可以将不同数学函数的每个应用程序相关联,以提供输入的新表示。
因此,这个估算器被称为DNNClassifier
是有道理的我的建议是阅读this book here。