Convolutional neural networks (CNNs): Difference between revisions

From Computer Science Wiki
(Created page with "<center> <blockquote style="padding: 5px; background-color: #FFF8DC; border: solid thin gray;"> File:Exclamation.png This is student work which has not yet been approve...")
 
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 5: Line 5:
</center>
</center>


[[file:Studying.png|right|frame|Case study notes<ref>http://www.flaticon.com/</ref>]]
[[File:Feed_forward_neural_net.gif|right|frame|feed forward neural net diagram]]


== Introduction ==
== Introduction ==
A convolutional neural network is a class of feedforward (which means that the connections between the units do not form a cycle and every unit in a layer is connected with all the units in the previous layer, as shown in the picture) artificial neural network that is used to analyze images. <ref> https://en.wikipedia.org/wiki/Convolutional_neural_network </ref>


Please write a clear, concise description of your topic here.You will likely reference your introduction from somewhere else. Please use the following syntax at the end of each of your ideas. '''IT IS CRITICAL YOU ATTRIBUTE''' others work. Your introduction should be factual. No more than 3 or 4 sentences, please. Because you are not an expert in your topic, I expect you to triangulate your information. LOTS OF LINK TO OTHER RESOURCES PLEASE!
== How does it work or a deeper look ==
<nowiki>
 
  <ref> the url I cited by material from </ref>
One of the biggest advantages of CNNs over other image classification algorithms is that, like all Aritficial Neural Networks, they are relatively independent from pre-processing, or prior knowledge provided by humans. Instead of using hand-engineered algorithms, they learn on their own how to most accurately and effectively evaluate their input through processing huge amounts of labelled information from large image databases. CNNs fundamentally work on the same set of rules as other feedforward neural networks. They operate in two phases: the learning phase and the classification phase. <ref>https://en.wikipedia.org/wiki/Feedforward_neural_network</ref>
</nowiki>
 
In the learning phase, they take take input (in case of image processing - a set of numbers describing each pixel, e.g. numbers from 0-255 for greyscale) together with its correct classification (e.g. a given image description has to fit one category, e.g. “cat pictures” or “dog pictures”). The set of values describing a given image is presented at the inputs. It will then be transformed depending on the weights of each connection as it reaches the output layer. Each unit from the output layer belongs to a different category and so now the output of the network is compared to the ideal output that would have been, has the pattern been correctly classified (the largest value in the correct category unit, very small values for other categories). On the basis of this comparison and through the use of advanced algorithms, such as backpropagation, all the connection weights are slightly modified to ensure that the next time the same information is presented at the inputs, the correct output unit has a higher value and the incorrect units have lower values than before. Ultimately the goal is that the network can correctly classify all the information-category pairs and learn to generalize and correctly classify new, unknown inputs.
 
In the classification phase the connection weights are no longer changeable. The information given at the inputs will be transformed based on the fixed weights until it reaches the output layer. Now the classification is simple - the output unit with the highest value is selected as the best fitting category. Obviously, the classification phase is much faster and more simple than the learning phase. <ref>http://www.fon.hum.uva.nl/praat/manual/Feedforward_neural_networks_1__What_is_a_feedforward_ne.html </ref>


== How does it work or a deeper look ==


* If you are discussing a THING YOU CAN TOUCH, you must explain how it works, and the parts it is made of. Google around for an "exploded technical diagram" of your thing, [http://cdiok.com/wp-content/uploads/2012/01/MRI-Technology.jpg maybe like this example of an MRI]  It is likely you will reference outside links. Please attribute your work.
* If you are discussing a PROCESS OR ABSTRACT CONCEPT (like [[fuzzy logic]]) you must deeply explain how it works.


== Examples ==  
== Examples ==  


Please include some example of how your concept is actually used. Your example must include WHERE it is used, and WHAT IS BENEFIT of it being used.
Ever since Alex Krizhevsky used CNNs to win the ImageNet competition in 2012 (basically, the annual Olympics of computer vision) dropping the classification error record from 26% to 15%, a host of companies have been using deep learning at the core of their services. Facebook uses neural nets for their automatic tagging algorithms, Google for their photo search, Amazon for their product recommendations, Pinterest for their home feed personalization, and Instagram for their search infrastructure. <ref>https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/ </ref>
 
 
One of the new applications of CNNs at the frontier of new technologies is to use them in self driving cars to process and analyse the environment around them.


== Pictures, diagrams ==
== Pictures, diagrams ==


Pictures and diagrams go a LONG way to helping someone understand a topic. Especially if your topic is a little abstract or complex. Using a picture or diagram is a two part process:
[[File:Typical_cnn.png]]
 
# [https://www.mediawiki.org/wiki/Help:Managing_files upload a file]
# [https://www.mediawiki.org/wiki/Help:Images use the file on a wiki page]


== External links ==
== External links ==


* It would be helpful
#https://en.wikipedia.org/wiki/Convolutional_neural_network
* to include many links
#https://en.wikipedia.org/wiki/Feedforward_neural_network
* to other internet resources
#http://www.fon.hum.uva.nl/praat/manual/Feedforward_neural_networks_1__What_is_a_feedforward_ne.html
* to help fellow students
#https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/
* Please make sure the content is good
* and don't link to a google search results, please


== References ==
== References ==

Latest revision as of 10:32, 22 August 2017

Exclamation.png This is student work which has not yet been approved as correct by the instructor

feed forward neural net diagram

Introduction[edit]

A convolutional neural network is a class of feedforward (which means that the connections between the units do not form a cycle and every unit in a layer is connected with all the units in the previous layer, as shown in the picture) artificial neural network that is used to analyze images. [1]

How does it work or a deeper look[edit]

One of the biggest advantages of CNNs over other image classification algorithms is that, like all Aritficial Neural Networks, they are relatively independent from pre-processing, or prior knowledge provided by humans. Instead of using hand-engineered algorithms, they learn on their own how to most accurately and effectively evaluate their input through processing huge amounts of labelled information from large image databases. CNNs fundamentally work on the same set of rules as other feedforward neural networks. They operate in two phases: the learning phase and the classification phase. [2]

In the learning phase, they take take input (in case of image processing - a set of numbers describing each pixel, e.g. numbers from 0-255 for greyscale) together with its correct classification (e.g. a given image description has to fit one category, e.g. “cat pictures” or “dog pictures”). The set of values describing a given image is presented at the inputs. It will then be transformed depending on the weights of each connection as it reaches the output layer. Each unit from the output layer belongs to a different category and so now the output of the network is compared to the ideal output that would have been, has the pattern been correctly classified (the largest value in the correct category unit, very small values for other categories). On the basis of this comparison and through the use of advanced algorithms, such as backpropagation, all the connection weights are slightly modified to ensure that the next time the same information is presented at the inputs, the correct output unit has a higher value and the incorrect units have lower values than before. Ultimately the goal is that the network can correctly classify all the information-category pairs and learn to generalize and correctly classify new, unknown inputs.

In the classification phase the connection weights are no longer changeable. The information given at the inputs will be transformed based on the fixed weights until it reaches the output layer. Now the classification is simple - the output unit with the highest value is selected as the best fitting category. Obviously, the classification phase is much faster and more simple than the learning phase. [3]


Examples[edit]

Ever since Alex Krizhevsky used CNNs to win the ImageNet competition in 2012 (basically, the annual Olympics of computer vision) dropping the classification error record from 26% to 15%, a host of companies have been using deep learning at the core of their services. Facebook uses neural nets for their automatic tagging algorithms, Google for their photo search, Amazon for their product recommendations, Pinterest for their home feed personalization, and Instagram for their search infrastructure. [4]


One of the new applications of CNNs at the frontier of new technologies is to use them in self driving cars to process and analyse the environment around them.

Pictures, diagrams[edit]

Typical cnn.png

External links[edit]

  1. https://en.wikipedia.org/wiki/Convolutional_neural_network
  2. https://en.wikipedia.org/wiki/Feedforward_neural_network
  3. http://www.fon.hum.uva.nl/praat/manual/Feedforward_neural_networks_1__What_is_a_feedforward_ne.html
  4. https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/

References[edit]