Что означает DNN в TensorFlow Estimator.DNNClassifier?

Я предполагаю, что 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 означает что-то иное, чем глубокая нейронная сеть?


person omatai    schedule 24.01.2018    source источник
comment
Это может прояснить ситуацию stats.stackexchange.com/q/182734/130598.   -  person Maxim    schedule 25.01.2018
comment
@ Максим ... или это может замутить воду :-) Принятый ответ на этот вопрос более или менее указывает на то, что deep neural network - это неточный термин без определения. Затем он показывает два изображения того, что, несомненно, является MLP, различаясь только количеством (несколько) слоев ... но также продолжает описывать всевозможные другие возможности.   -  person omatai    schedule 25.01.2018
comment
Ну, мне более-менее понятно. Это можно назвать либо глубокой сетью, либо MLP. В настоящее время DNN является гораздо более распространенным термином, поэтому я не удивлен, что разработчики tensorflow выбрали это имя. Он не сжимается с глубокими CNN, RNN   -  person Maxim    schedule 25.01.2018


Ответы (2)


Дайте мне свое определение «глубокой» нейронной сети, и вы получите ответ.

Но да, это просто MLP, и правильное название действительно будет MLPclassifier. Но это звучит не так круто, как нынешнее название.

person Patwie    schedule 25.01.2018

Во-первых, ваше определение DNN немного вводит в заблуждение.

Существует несколько архитектур глубоких нейронных сетей. Инклюзивные сети Deep Feedforward — это не что иное, как многоуровневый MLP, плюс некоторые приемы, делающие их привлекательными.

В некоторых работах DNN использовались для охвата всех архитектур глубокого обучения, однако, по соглашению, DNN используются для обозначения архитектур, которые используют сети с глубоким распространением вперед, также называемые сетями с глубокой прямой связью.

Наиболее важным примером модели глубокого обучения является глубокая сетевая обратная связь или многоуровневый персептрон (MLP). MLP — это просто математическая функция, которая отображает некоторые наборы входных значений в выходные значения. Функция образована композицией множества более простых функций. Вы можете связать каждое приложение другой математической функции, чтобы обеспечить новое представление ввода.

Следовательно, имеет смысл назвать этот оценщик DNNClassifier.

Мой совет: прочтите эту книгу здесь.

person Carlos Henrique Reis    schedule 06.05.2018
comment
Мой совет - прочитать мой вопрос :-) Это не о том, что DNN означает вообще - это ТОЛЬКО о том, что DNNClassifier означает в контексте TensorFlow. Мне ясно, что если сеть должна быть полностью подключена, то это сеть MLP старого стиля и, следовательно, плохо названное подмножество широких DNN средств в более широком контексте. Я принимаю другой ответ :-) - person omatai; 08.05.2018