Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 2 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
I have some confusion between mobilenet and SSD. As far as I know, mobilenet is a neural network that is used for classification and recognition whereas the SSD is a framework that is used to realize the multibox detector. Only the combination of both can do object detection. Thus, mobilenet can be interchanged with resnet, inception and so on. SSD can be interchanged with RCNN. Are my statements correct?
There are two types of deep neural networks here. Base network and detection network. MobileNet, VGG-Net, LeNet, and all of them are based on networks. The Base network provides high-level features for classification or detection. If you use a fully connected layer at the end of these networks, you have a classification. But you can remove the fully connected layer and replace it with detection networks, like SSD, Faster R-CNN, and so on.
In fact, SSD use of last convolutional layer on base networks for the detection task.
MobileNet just like other base networks uses convolution to produce high-level features.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 1 year ago.
Improve this question
being new to Deep Learning i am struggling to understand the difference between different state of the art algos and their uses. like how is resnet or vgg diff from yolo or rcnn family. are they subcomponents of these detection models? also are SSDs another family like yolo or rcnn?
ResNet is a family of neural networks (using residual functions). A lot of neural network use ResNet architecture, for example:
ResNet18, ResNet50
Wide ResNet50
ResNeSt
and many more...
It is commonly used as a backbone (also called encoder or feature extractor) for image classification, object detection, object segmentation and many more.
There is others families of nets like VGG, EfficientNets etc...
FasterRCNN/RCN, YOLO and SSD are more like "pipeline" for object detection. For example, FasterRCNN use a backbone for feature extraction (like ResNet50) and a second network called RPN (Region Proposal Network).
Take a look a this article which present the most common "pipeline" for object detection.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
Disclaimer: I also posted this question on CrossValidated but it is not receiving any attention. If this is not the place for it I will gladly remove it.
As I understand it, the only difference between them is the way the two networks are trained. Deep autoencoders are trained in the same way as a single-layer neural network, while stacked autoencoders are trained with a greedy, layer-wise approach. Hugo Larochelle confirms this in the comment of this video. I wonder if this is the ONLY difference, any pointers?
The terminology in the field isn't fixed, well-cut and clearly defined and different researches can mean different things or add different aspects to the same terms. Example discussions:
What is the difference between Deep Learning and traditional Artificial Neural Network machine learning? (some people think that 2 layers is deep enough, some mean 10+ or 100+ layers).
Multi-layer perceptron vs deep neural network (mostly synonyms but there are researches that prefer one vs the other).
As for AE, according to various sources, deep autoencoder and stacked autoencoder are exact synonyms, e.g., here's a quote from "Hands-On Machine Learning with Scikit-Learn and TensorFlow":
Just like other neural networks we have discussed, autoencoders can
have multiple hidden layers. In this case they are called stacked
autoencoders (or deep autoencoders).
Later on, the author discusses two methods of training an autoencoder and uses both terms interchangeably.
I would agree that the perception of the term "stacked" is that an autoencoder can extended with new layers without retraining, but this is actually true regardless of how existing layers have been trained (jointly or separately). Also regardless of the training method, the researches may or may not call it deep enough. So I wouldn't focus too much on terminology. It can stabilize some day but not right now.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
In general, a more complicated neural network(say, an object classification CNN with 128 layers) requires more "resources"(time,number of gpu) to train than a less complicated neural network(for example, an object classification CNN with 32 layers).I found a link which has a very nice summary of different types of CNN and "resources" required to train them:
https://adeshpande3.github.io/adeshpande3.github.io/The-9-Deep-Learning-Papers-You-Need-To-Know-About.html
However, after the training is complete, when we're actually using these neural networks(say, an autonomous driving car using a trained CNN to help navigate the car), do more complicated and more accurate neural networks require more "computational resources"(could be cpu,memory,etc) to run than a less complicated,less accurate neural networks?
I'm asking a generic question and the neural networks are not limited to object classification but can also include neural networks in NLP or other areas.
If the answer is "it depends",can you provide some examples of more complicated, more accurate neural networks using more resources to run than less complicated/accurate neural networks?
There is a recently released CVPR 2017 paper with the title Speed/accuracy trade-offs for modern convolutional object detectors (Huang et al.) that compares different feature extractors with some neural network architectures which the authors call "meta-architectures". They compare the so build models towards their speed, memory usage and accuracy.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I practiced already some machine learning aspects, and developed some small projects. Nowadays some blogs, articles, open posts talk about deep learning. I get interested to see practically what the difference between machine learning and deep learning is, and maybe to learn a new approaches/ techniques called deep learning. I read few blogs, but conceptually I see that deep learning is a subset of machine learning, and it’s nothing more than Neural networks with multiple layers!!
I am however stunned and perplexed to recognize if it is the only difference between machine learning and deep learning !!!
What is the merit to think of deep learning and not machine learning if we want only talk about neural networks? so if it is, why not call it neural networks, or deep neural networks to distinguish some classification ?
Is there a real difference than that I mentioned?
Does there any practical example showing a significant difference letting us to make these different notions?
Deep learning is set of ML patterns and tactics to increase accuracy of classical ML algorithms, like MLP, Naïve Bayes classifier, etc.
One of the earliest and easiest of such tactics – adding hidden layers to increase network’s learning capacity. One of recent - convolutional autoencoder
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Deep Learning Techniques (Deep Neural Network, Deep Belief Network, Deep Stacking Networks, ...) are very efficient in some areas. They take a very long time to train, but this is a only-once cost.
I read several papers about different techniques and they only focused on accuracy and time to train them. How fast are they to produce an answer in practice, once trained ?
Are there some data available on benchmarking deep networks with perhaps millions of parameters ?
I would think that they are quite fast as all the weights are fixed, but as the functions can be quite complex and the number of parameters quite high, I'm not sure on how they really perform in practice.
The speed is highly dependent on the size of the network. Assuming your network is dense Feed Forward network, each layer of the network is represented by a (usually very rectangular) matrix. Pushing an input through the network requires a matrix vector product. So if you have a network with 8 layers, it will take you 8 matrix products. How long each of those takes depends on the original dimension of the data set and the size of said layers.