Answers.Body: <p>You get what we call <strong>high-level features</strong>, which are basically abstract representations of the parts that carry information in the image you want to classify.</p>
  
  <p>Imagine you want to classify a car. The image you feed your network could be a car on a road with a driver and trees and clouds, etc. The network, however, if you've trained it to recognize cars, will try to focus on parts of the image regarding a car. The final layers will have learned to extract an abstract representation of a car from the image (this means a low-resolution car-like shape). Now your final FC layers will try to classify the image from these high-level features. In this example, you would have an FC layer that learns to classify a car if this this abstract car-like figure is present in the image. Likewise, if it isn't present it won't classify it as a car. By accessing these high-level features, you essentially have a more compact and meaningful representation of what the image represents (based always on the classes that the CNN has been trained on).</p>
  
  <p>By visualizing the activations of these layers we can take a look on what these high-level features look like.</p>
  
  <p><img src="https://images.duckduckgo.com/iu/?u=https%3A%2F%2Fi.stack.imgur.com%2FHl2H6.png&amp;f=1" alt=""></p>
  
  <p>The top row here is what you are looking for: the high-level features that a CNN extracts for four different image types.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-28T22:51:44.053Z
Answers.Text: Do activations really tell you something about the features? How come that a number (the activation) can tell you something regarding a high-level feature? Which high-level feature? I think your answer would improve if you add more details about this.  Pedagogically, I think it is better to only say that a CNN only transforms the image with non-linear transforms and you should emphasize that this extraction of high-level features is just an interpretation of the inner workings.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-29T08:11:25.640Z
Answers.Text: I agree with you, an activation by itself can't tell you anything. But if you see how this activation changes you can get a better understanding of how that CNN works (and that's what I think the question was about).
Answers.UserDisplayName: Djib2011
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-29T18:23:49.470Z
Answers.Text: So, the convolutional layers reduce the input to get only the more relevant features from the image, and then the fully connected layer classify the image using those features, isn't it? I think I've just understood how a CNN works.
Answers.UserDisplayName: VansFannel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-29T19:39:57.273Z
Answers.Text: @VansFannel on a very high-level yes.
Answers.UserDisplayName: Djib2011
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-30T14:35:26.117Z
Answers.Text: @Djib2011 and on a very low or low level? Where can I find information about how CNN works? I only find on a very high-level description about them and how to implement them with TensorFlow. Thanks!
Answers.UserDisplayName: VansFannel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-30T14:58:15.963Z
Answers.Text: @VansFannel I'd recommend Stanford's excellent [course](http://cs231n.github.io/convolutional-networks/) on Convolutional Neural Networks.
Answers.UserDisplayName: Djib2011
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-30T19:32:58.940Z
Answers.Text: @Djib2011 Thanks. I've watched all the course. Maybe, I haven't watched in the right way.
Answers.UserDisplayName: VansFannel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-28T22:46:00.693Z
Answers.LastActivityDate: 2019-10-28T22:46:00.693Z
Answers.UserDisplayName: Djib2011
Body: <p>I've just started to learn CNN and somewhere I have read if I remove the last FCL I will get the features extracted from the input image but... what are those features?</p>
  
  <p>Are they numbers? Labels? An image location (x,y) where there is a line.</p>
  
  <p>I want to use these features on a one shot network, but I can't imagine how to use them if I don't know what they are.</p>
  
Tags: <convolutional-neural-networks><feature-extraction><meta-learning>
Title: What are the features get from a feature extraction using a CNN?
UserDisplayName: VansFannel
ThreadText: # What are the features get from a feature extraction using a CNN?
  
  (Asked by: username_0 on 2019-10-28)
  
  I've just started to learn CNN and somewhere I have read if I remove the last FCL I will get the features extracted from the input image but... what are those features?
  
  Are they numbers? Labels? An image location (x,y) where there is a line.
  
  I want to use these features on a one shot network, but I can't imagine how to use them if I don't know what they are.
  
  **Tags:** convolutional-neural-networks, feature-extraction, meta-learning
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-10-28. Score: 2 | Accepted answer
  
  You get what we call **high-level features**, which are basically abstract representations of the parts that carry information in the image you want to classify.
  
  Imagine you want to classify a car. The image you feed your network could be a car on a road with a driver and trees and clouds, etc. The network, however, if you've trained it to recognize cars, will try to focus on parts of the image regarding a car. The final layers will have learned to extract an abstract representation of a car from the image (this means a low-resolution car-like shape). Now your final FC layers will try to classify the image from these high-level features. In this example, you would have an FC layer that learns to classify a car if this this abstract car-like figure is present in the image. Likewise, if it isn't present it won't classify it as a car. By accessing these high-level features, you essentially have a more compact and meaningful representation of what the image represents (based always on the classes that the CNN has been trained on).
  
  By visualizing the activations of these layers we can take a look on what these high-level features look like.
  
  ![](https://images.duckduckgo.com/iu/?u=https%3A%2F%2Fi.stack.imgur.com%2FHl2H6.png&f=1)
  
  The top row here is what you are looking for: the high-level features that a CNN extracts for four different image types.
  
  > **Comments:**
  > **username_2**: Do activations really tell you something about the features? How come that a number (the activation) can tell you something regarding a high-level feature? Which high-level feature? I think your answer would improve if you add more details about this.  Pedagogically, I think it is better to only say that a CNN only transforms the image with non-linear transforms and you should emphasize that this extraction of high-level features is just an interpretation of the inner workings.  
  > **username_1**: I agree with you, an activation by itself can't tell you anything. But if you see how this activation changes you can get a better understanding of how that CNN works (and that's what I think the question was about).  
  > **username_0**: So, the convolutional layers reduce the input to get only the more relevant features from the image, and then the fully connected layer classify the image using those features, isn't it? I think I've just understood how a CNN works.  
  > **username_1**: @username_0 on a very high-level yes.  
  > **username_0**: @username_1 and on a very low or low level? Where can I find information about how CNN works? I only find on a very high-level description about them and how to implement them with TensorFlow. Thanks!  
  > **username_1**: @username_0 I'd recommend Stanford's excellent [course](http://cs231n.github.io/convolutional-networks/) on Convolutional Neural Networks.  
  > **username_0**: @username_1 Thanks. I've watched all the course. Maybe, I haven't watched in the right way.  
  
  ---
  
  