0
$\begingroup$

What does single deep neural network means? I did an object detection project using tensorflow though I am certainly lacking in knowledge about how it works. I am new to machine learning and I've been reading about CNN recently while doing my project and I am now trying to understand how SSD works and I've read about single deep neural network. Does SSD also uses CNN with many hidden layer or is the same with single neural network with only one hidden layer (though I have read somewhere that deep neural net is called "deep" because of its many hidden layer)?

edit: Of course I searched and read some topics online before posting a question. I also get the difference between a neural network and a deep neural neural network but what I don't get is what is single deep neural network? Based on what I've read, a deep neural network is a network composed of a many hidden layers. How can it be "deep" if it is only a single network?

$\endgroup$

migrated from stackoverflow.com Jan 30 '18 at 0:25

This question came from our site for professional and enthusiast programmers.

  • 2
    $\begingroup$ Welcome to SO, which is not a tutorial service; please see What topics can I ask about here?. There are literally hundreds of online tutorials on the subject you are asking. $\endgroup$ – desertnaut Jan 28 '18 at 11:19
  • $\begingroup$ Its the literal meaning of single, which is only one instance. $\endgroup$ – Matias Valdenegro Jan 28 '18 at 11:48
0
$\begingroup$

Single in this context refers to single shot object detector. I don't think people typically talk about single deep neural networks. Single shot object detectors are to be contrasted with region proposal object detectors. The original RCNN region proposal network was trained essentially like this:

  1. Take a pre-trained imagenet cnn (e.g. Alexnet)
  2. Re-train the last fully-connected layer with the objects that need to be detected + "no-object" class

  3. Get all proposals(=~2000 p/image), resize them to match the cnn input, then save to disk.

  4. Train SVM to classify between object and background (One binary SVM for each class)
  5. BB Regression: Train a linear regression classifier that will output some correction factor (source)

Notice there are multiple models. Another variant, Faster RCNN had multiple networks for the various subtasks which were trained separately. In contrast, single shot detectors estimate a label and a bounding box essentially at the same time using a single network.

$\endgroup$
0
$\begingroup$

You confusion comes from the fact that you are conflating the terms 'network' and 'layer'.

A neural network is always composed of layers, un input layer, and output layer, and possibly one or more hidden layers.

If it has 2 or 3 layers (so at most one hidden layer), it is a shallow neural network, or simply a neural network.

If it has more than 3 layers (so more than one hidden layer), then it is considered a deep neural network. (See here for why more than 3 is considered 'deep').

In either case, you are dealing with a single neural network.

For some applications, you want to combine the results of multiple networks, for example when stacking neural nets or when resembling neural nets. In this case, the term single neural network is used to distinguish between one neural network vs. an ensemble or a stack of neural networks.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy