Files
FYS-STK4155/doc/pub/cnn/html/._cnn-bs003.html
T
2019-10-04 05:50:18 +02:00

233 lines
9.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--
Automatically generated HTML file from DocOnce source
(https://github.com/hplgit/doconce/)
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="DocOnce: https://github.com/hplgit/doconce/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Convolutional Neural Networks">
<title>Convolutional Neural Networks</title>
<!-- Bootstrap style: bootstrap -->
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<!-- not necessary
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
-->
<style type="text/css">
/* Add scrollbar to dropdown menus in bootstrap navigation bar */
.dropdown-menu {
height: auto;
max-height: 400px;
overflow-x: hidden;
}
/* Adds an invisible element before each target to offset for the navigation
bar */
.anchor::before {
content:"";
display:block;
height:50px; /* fixed header height for style bootstrap */
margin:-50px 0 0; /* negative fixed header height */
}
</style>
</head>
<!-- tocinfo
{'highest level': 2,
'sections': [('Convolutional Neural Networks (recognizing images)',
2,
None,
'___sec0'),
('Regular NNs dont scale well to full images',
2,
None,
'___sec1'),
('3D volumes of neurons', 2, None, '___sec2'),
('Layers used to build CNNs', 2, None, '___sec3'),
('Transforming images', 2, None, '___sec4'),
('CNNs in brief', 2, None, '___sec5'),
('CNNs in more detail, building convolutional neural networks in '
'Tensorflow and Keras',
2,
None,
'___sec6'),
('Setting it up', 2, None, '___sec7'),
('The MNIST dataset again', 2, None, '___sec8'),
('Strong correlations', 2, None, '___sec9'),
('Layers of a CNN', 2, None, '___sec10'),
('Systematic reduction', 2, None, '___sec11'),
('Prerequisites: Collect and pre-process data',
2,
None,
'___sec12'),
('Importing Keras and Tensorflow', 2, None, '___sec13'),
('Using TensorFlow backend', 2, None, '___sec14'),
('Train the model', 2, None, '___sec15'),
('Visualizing the results', 2, None, '___sec16'),
('Running with Keras', 2, None, '___sec17'),
('Final part', 2, None, '___sec18'),
('Final visualization', 2, None, '___sec19'),
('Fun links', 2, None, '___sec20')]}
end of tocinfo -->
<body>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
equationNumbers: { autoNumber: "none" },
extensions: ["AMSmath.js", "AMSsymbols.js", "autobold.js", "color.js"]
}
});
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<!-- Bootstrap navigation bar -->
<div class="navbar navbar-default navbar-fixed-top">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="cnn-bs.html">Convolutional Neural Networks</a>
</div>
<div class="navbar-collapse collapse navbar-responsive-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contents <b class="caret"></b></a>
<ul class="dropdown-menu">
<!-- navigation toc: --> <li><a href="._cnn-bs001.html#___sec0" style="font-size: 80%;">Convolutional Neural Networks (recognizing images)</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs002.html#___sec1" style="font-size: 80%;">Regular NNs dont scale well to full images</a></li>
<!-- navigation toc: --> <li><a href="#___sec2" style="font-size: 80%;">3D volumes of neurons</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs004.html#___sec3" style="font-size: 80%;">Layers used to build CNNs</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs005.html#___sec4" style="font-size: 80%;">Transforming images</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs006.html#___sec5" style="font-size: 80%;">CNNs in brief</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs007.html#___sec6" style="font-size: 80%;">CNNs in more detail, building convolutional neural networks in Tensorflow and Keras</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs008.html#___sec7" style="font-size: 80%;">Setting it up</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs009.html#___sec8" style="font-size: 80%;">The MNIST dataset again</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs010.html#___sec9" style="font-size: 80%;">Strong correlations</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs011.html#___sec10" style="font-size: 80%;">Layers of a CNN</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs012.html#___sec11" style="font-size: 80%;">Systematic reduction</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs013.html#___sec12" style="font-size: 80%;">Prerequisites: Collect and pre-process data</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs014.html#___sec13" style="font-size: 80%;">Importing Keras and Tensorflow</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs015.html#___sec14" style="font-size: 80%;">Using TensorFlow backend</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs016.html#___sec15" style="font-size: 80%;">Train the model</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs017.html#___sec16" style="font-size: 80%;">Visualizing the results</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs018.html#___sec17" style="font-size: 80%;">Running with Keras</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs019.html#___sec18" style="font-size: 80%;">Final part</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs020.html#___sec19" style="font-size: 80%;">Final visualization</a></li>
<!-- navigation toc: --> <li><a href="._cnn-bs021.html#___sec20" style="font-size: 80%;">Fun links</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div> <!-- end of navigation bar -->
<div class="container">
<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p> <!-- add vertical space -->
<a name="part0003"></a>
<!-- !split -->
<h2 id="___sec2" class="anchor">3D volumes of neurons </h2>
<p>
Convolutional Neural Networks take advantage of the fact that the
input consists of images and they constrain the architecture in a more
sensible way.
<p>
In particular, unlike a regular Neural Network, the
layers of a CNN have neurons arranged in 3 dimensions: width,
height, depth. (Note that the word depth here refers to the third
dimension of an activation volume, not to the depth of a full Neural
Network, which can refer to the total number of layers in a network.)
<p>
To understand it better, the above example of an image
with an input volume of
activations has dimensions \( 32\times 32\times 3 \) (width, height,
depth respectively).
<p>
The neurons in a layer will
only be connected to a small region of the layer before it, instead of
all of the neurons in a fully-connected manner. Moreover, the final
output layer could for this specific image have dimensions \( 1\times 1 \times 10 \),
because by the
end of the CNN architecture we will reduce the full image into a
single vector of class scores, arranged along the depth
dimension.
<p>
<center> <!-- FIGURE -->
<hr class="figure">
<center><p class="caption">Figure 2: A CNN arranges its neurons in three dimensions (width, height, depth), as visualized in one of the layers. Every layer of a CNN transforms the 3D input volume to a 3D output volume of neuron activations. In this example, the red input layer holds the image, so its width and height would be the dimensions of the image, and the depth would be 3 (Red, Green, Blue channels). </p></center>
<p><img src="figslides/cnn.jpeg" align="bottom" width=500></p>
</center>
<p>
<p>
<!-- navigation buttons at the bottom of the page -->
<ul class="pagination">
<li><a href="._cnn-bs002.html">&laquo;</a></li>
<li><a href="._cnn-bs000.html">1</a></li>
<li><a href="._cnn-bs001.html">2</a></li>
<li><a href="._cnn-bs002.html">3</a></li>
<li class="active"><a href="._cnn-bs003.html">4</a></li>
<li><a href="._cnn-bs004.html">5</a></li>
<li><a href="._cnn-bs005.html">6</a></li>
<li><a href="._cnn-bs006.html">7</a></li>
<li><a href="._cnn-bs007.html">8</a></li>
<li><a href="._cnn-bs008.html">9</a></li>
<li><a href="._cnn-bs009.html">10</a></li>
<li><a href="._cnn-bs010.html">11</a></li>
<li><a href="._cnn-bs011.html">12</a></li>
<li><a href="._cnn-bs012.html">13</a></li>
<li><a href="">...</a></li>
<li><a href="._cnn-bs021.html">22</a></li>
<li><a href="._cnn-bs004.html">&raquo;</a></li>
</ul>
<!-- ------------------- end of main content --------------- -->
</div> <!-- end container -->
<!-- include javascript, jQuery *first* -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<!-- Bootstrap footer
<footer>
<a href="http://..."><img width="250" align=right src="http://..."></a>
</footer>
-->
<center style="font-size:80%">
<!-- copyright only on the titlepage -->
</center>
</body>
</html>