Questions tagged [convolutional-neural-network]

A convolutional neural network is a form of neural network with an additional convolutional layer, typically used in image & audio analysis. The convolutional layer is essentially a filtering stage defined by the kernel which is used. For example, a convolutional layer could have a kernel which extracts edges from an image towards the goal of learning which objects are in a scene.

Filter by
Sorted by
Tagged with
33 votes
6 answers
14k views

Why do convolutional neural networks work?

I have often heard people saying that why convolutional neural networks are still poorly understood. Is it known why convolutional neural networks always end up learning increasingly sophisticated ...
user avatar
271 votes
12 answers
257k views

What are deconvolutional layers?

I recently read Fully Convolutional Networks for Semantic Segmentation by Jonathan Long, Evan Shelhamer, Trevor Darrell. I don't understand what "deconvolutional layers" do / how they work. The ...
user avatar
  • 17.6k
12 votes
1 answer
4k views

Using a pre trained CNN classifier and apply it on a different image dataset

How would you optimize a pre-trained neural network to apply it to a separate problem? Would you just add more layers to the pre-trained model and test it on your ...
user avatar
  • 617
24 votes
1 answer
26k views

back propagation in CNN

I have the following CNN: I start with an input image of size 5x5 Then I apply convolution using 2x2 kernel and stride = 1, that produces feature map of size 4x4. Then I apply 2x2 max-pooling with ...
user avatar
  • 416
85 votes
4 answers
43k views

How are 1x1 convolutions the same as a fully connected layer?

I recently read Yan LeCuns comment on 1x1 convolutions: In Convolutional Nets, there is no such thing as "fully-connected layers". There are only convolution layers with 1x1 convolution ...
user avatar
  • 17.6k
42 votes
2 answers
41k views

How to prepare/augment images for neural network?

I would like to use a neural network for image classification. I'll start with pre-trained CaffeNet and train it for my application. How should I prepare the input images? In this case, all the ...
user avatar
  • 3,082
17 votes
4 answers
43k views

Question about bias in Convolutional Networks

I am trying to figure out how many weights and biases are needed for CNN. Say I have a (3, 32, 32)-image and want to apply a (32, 5, 5)-filter. For each feature map I have 5x5 weights, so I should ...
user avatar
  • 1,881
14 votes
1 answer
5k views

Back-propagation through max pooling layers

I have a small sub-question to this question. I understand that when back-propagating through a max pooling layer the gradient is routed back in a way that the neuron in the previous layer which was ...
user avatar
  • 243
9 votes
5 answers
5k views

How does deep learning helps in detecting multiple objects in single image?

Let's say there are two cars in an image. How can it detect these cars, given that it can detect single car in an image?
user avatar
6 votes
2 answers
3k views

How to sort numbers using Convolutional Neural Network?

Recently, in an interview I got this question: Design a convnet that sorts numbers. Operators are ReLU, Conv, and Pooling. E.g. input: 5, 3, 6, 2; output: 2, 3, 5, 6 I am not sure how can you sort a ...
user avatar
9 votes
1 answer
7k views

CNN - imbalanced classes, class weights vs data augmentation

I have a dataset with a few strongly imbalanced classes, eg. the smallest class is about 54 times smaller than the largest. Therefore, data augmentation in order to equalize the size of classes seems ...
user avatar
  • 155
8 votes
1 answer
5k views

Sigmoid vs Relu function in Convnets

The question is simple: is there any advantage in using sigmoid function in a convolutional neural network? Because every website that talks about CNN uses Relu function.
user avatar
  • 95
50 votes
5 answers
29k views

How do subsequent convolution layers work?

This question boils down to "how do convolution layers exactly work. Suppose I have an $n \times m$ greyscale image. So the image has one channel. In the first layer, I apply a $3\times 3$ ...
user avatar
  • 17.6k
31 votes
2 answers
35k views

Are there any rules for choosing the size of a mini-batch?

When training neural networks, one hyperparameter is the size of a minibatch. Common choices are 32, 64, and 128 elements per mini batch. Are there any rules/guidelines on how big a mini-batch should ...
user avatar
  • 17.6k
18 votes
2 answers
24k views

How many images per class are sufficient for training a CNN

I'm starting a project where the task is to identify sneaker types from images. I'm currently reading into TensorFlow and Torch implementations. My question is: how many images per class are required ...
user avatar
  • 301
14 votes
3 answers
17k views

What is the difference between Dilated Convolution and Deconvolution?

These two convolution operations are very common in deep learning right now. I read about dilated convolutional layer in this paper : WAVENET: A GENERATIVE MODEL FOR RAW AUDIO and De-convolution is ...
user avatar
9 votes
2 answers
8k views

Train object detection without annotated data/bounding boxes

From what I can see most object detection NNs (Fast(er) R-CNN, YOLO etc) are trained on data including ...
user avatar
  • 193
8 votes
4 answers
5k views

Faster-RCNN how anchor work with slider in RPN layer?

I am trying to understand the whole Faster-RCNN, From https://www.quora.com/How-does-the-region-proposal-network-RPN-in-Faster-R-CNN-work Then a sliding window is run spatially on these feature ...
user avatar
  • 373
6 votes
2 answers
6k views

Correct number of biases in CNN

What is the correct number of biases in a simple convolutional layer? The question is well enough discussed, but I'm still not quite sure about that. Say, we have (3, 32, 32)-image and apply a (32, 5, ...
user avatar
  • 217
3 votes
2 answers
406 views

Why are my predictions bad, if my accuracy in train is roughly 100% (Keras CNN)

In my CNN i have to handle 2 classes in a binary system, I have 700 images each class to train, and others to validation. This is my train.py: ...
user avatar
8 votes
3 answers
7k views

Should there be a flat layer in between the conv layers and dense layer in YOLO?

Should there be a flat layer in between the conv layers and dense layer in YOLO? It's something not specified in the paper, but I see most implementations of YOLO on github do this. In my ...
user avatar
5 votes
1 answer
2k views

1x1 Convolution. How does the math work?

So I stumbled upon Andrew Ng's course on $1x1$ convolutions. There, he explains that you can use a $1x1x192$ convolution to shrink it. But when I do: ...
user avatar
  • 153
4 votes
1 answer
6k views

Deconvolution vs Sub-pixel Convolution

I recently read Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network by Wenzhe Shi et al. I cannot understand the difference between ...
user avatar
9 votes
1 answer
2k views

What is the memory cost of a CNN?

I was recently thinking about the memory cost of (a) training a CNN and (b) inference with a CNN. Please note, that I am not talking about the storage (which is simply the number of parameters). How ...
user avatar
  • 17.6k
6 votes
4 answers
2k views

Why choose TensorFlow?

I have noticed that most of the deep learning developers use TensorFlow. So why choose TensorFlow? What is the advantage of TensorFlow over Theano and CNTK?
user avatar
  • 1,765
4 votes
3 answers
7k views

Number of Fully connected layers in standard CNNs

I have a question targeting some basics of CNN. I came across various CNN networks like AlexNet, GoogLeNet and LeNet. I read at a lot of places that AlexNet has 3 Fully Connected layers with 4096, ...
user avatar
4 votes
2 answers
7k views

What is the shape of conv3d and conv3d_transpose?

I want to do a GAN with coloured pictures. This means I need a three dimensional input and therefore I like to use conv3d and conv3d_transpose. Unfortunately in the TensorFlow documentation, I can't ...
user avatar
2 votes
1 answer
1k views

1x1 convolutions, equivalence with fully connected layer

I'm confused by the concept of equating a 1x1 convolution with a fully connected layer. Take the following simple example of a 1x1 convolution of 2 input channels each of size 2x2, and a single output ...
user avatar
  • 123
1 vote
1 answer
1k views

How to arrange the image dataset in CNN?

How do I arrange the image dataset in CNN? Should I put each image category in a separate folder? Or all of them in the same folder? Should the image name be the category name? I would like to see an ...
user avatar
  • 1,765
8 votes
1 answer
1k views

CNN for phoneme recognition

I am currently studying this paper, in which CNN is applied for phoneme recognition using visual representation of log mel filter banks, and limited weight sharing scheme. The visualisation of log ...
user avatar
4 votes
1 answer
1k views

What is deconvolution operation used in Fully Convolutional Neural Networks?

When I was reading this this paper, Fully Convolutional Networks for Semantic Segmentation, I found that they use an up-sampling layer to classify each pixel in to a class. I have two questions: How ...
user avatar
3 votes
1 answer
100 views

Performance of CNN based deep models with number of classes

How does a given deep cnn model performance vary with number of classes in tasks such as classification, object detection segmentation? For example mobilenet v2 gives around 90% accuracy on ...
user avatar
3 votes
1 answer
1k views

How to make a region of interest proposal from convolutional feature maps?

Problem Keras does not have any direct implementation of region of interest pooling. I am aware of how to perform maxpooling, but I don't know how to get bounding boxes from feature maps passed from ...
user avatar
  • 389
3 votes
1 answer
2k views

Layer notation for convolutional neural networks

When reading about convolutional neural networks (CNNs), I often come across a special notation used in the community and in scientific papers, describing the architecture of the network in terms of ...
user avatar
3 votes
1 answer
3k views

CNN backpropagation between layers

I have this CNN architecture: I know how to calculate error for weights based on the output and update weights between output<-->hidden and hidden<-->input layers. The problem is that I have ...
user avatar
3 votes
2 answers
148 views

How do CNNs use a model and find the object(s) desired?

Background: I'm studying CNN's outside of my undergraduate CS course on ML. I have a few questions related to CNNs. 1) When training a CNN, we desire tightly bounded/cropped images of the desired ...
user avatar
2 votes
2 answers
2k views

Training Validation Testing set split for facial expression dataset

I am using Convolutional Neural Networks (CNN) and I just want to ask if the way I split my training/validation/testing set is correct. I have a total of 55 subjects. I plan to split them into 80–10–...
user avatar
  • 81
2 votes
1 answer
2k views

Shaping data for ConvLSTM for many-to-one image model

Ultimately, I am trying to obtain a binary segmentation mask for an image sequence. I have n number of image sequences, each with 500 greyscale images of size 256px by 400px. Each of these sequences ...
user avatar
4 votes
4 answers
2k views

What is the state-of-the art ANN architecture for MNIST?

What is actually the best neural network architecture for the classic MNIST digit classifying task? I couldn't find any that would claim to be the winner...
user avatar
  • 7,957
3 votes
3 answers
3k views

Can pooling ever increase accuracy in convolutional neural networks?

In ConvNets, pooling is used to downsize the input volume, leading to fewer parameters, leading to computational efficiency and possibly helping with overfitting. But can pooling ever increase the ...
user avatar
3 votes
1 answer
1k views

How to apply my deep learning model to a new dataset?

I am doing semantic segmentation (multi-class classification of image pixels) using convolutional neural networks (CNN) in Keras. In particular, I am applying this to aerial images of crops (...
user avatar
  • 349
2 votes
1 answer
69 views

Training a neural network with TWO possible correct outputs for one input

I have a system as a black box that has two correct outputs for a single input sample. now I want to train a neural network to generate at least one of the correct outputs for that input sample. what ...
user avatar
2 votes
2 answers
1k views

Data augmentation based on the class type in the CNN model

I would like to use CNN model to classify images but some classes in my dataset have low amount of data. Can I apply data augmentation based on the number of the images in the class? For example, ...
user avatar
  • 1,765
1 vote
2 answers
141 views

ML model to transform words

I build model that on input have correct word. On output there is possible word written by human (it contain some errors). My training dataset looks that: ...
user avatar
1 vote
0 answers
102 views

Using neural networks to recognize digits in a scene

Neural nets are widely used (as example for the MNIST dataset). Using neural networks and convolutional neural networks, in particular, we can get over 99% accuracy. However, the MNIST dataset is a ...
user avatar
  • 1,881