Я предполагаю, что DNN
в смысле, используемом в TensorFlow
, означает "глубокая нейронная сеть". Но я нахожу это очень запутанным, поскольку понятие «глубокой» нейронной сети, по-видимому, широко используется в других местах для обозначения сети, как правило, с несколькими сверточными и/или связанными слоями (ReLU, объединение, отсев и т. д.).
Напротив, в первый раз многие люди столкнутся с этим термином (в примере быстрого запуска 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
как об альтернативном термине. Так является ли DNN
в контексте tf.estimator
TensorFlow на самом деле MLP
? Документация по параметру hidden_units
предполагает, что это так:
- hidden_units: Итерация числа скрытых единиц на слой. Все слои полностью связаны. Бывший. [64, 32] означает, что первый слой имеет 64 узла, а второй — 32.
На нем написано MLP. Верно ли это понимание? Является ли поэтому DNN
неправильным, и если это так, следует ли в идеале DNNClassifier
устареть в пользу MLPClassifier
? Или DNN
означает что-то иное, чем глубокая нейронная сеть?
deep neural network
- это неточный термин без определения. Затем он показывает два изображения того, что, несомненно, является MLP, различаясь только количеством (несколько) слоев ... но также продолжает описывать всевозможные другие возможности. - person omatai   schedule 25.01.2018