update on week42

This commit is contained in:
mhjensen
2020-10-12 22:50:31 +02:00
parent ba48ed5f53
commit 1c928b64ac
32 changed files with 2251 additions and 1990 deletions
+36
View File
@@ -49,6 +49,41 @@ and the slides of "CS231":"http://cs231n.github.io/convolutional-networks/".
Another good read is the article here URL:"https://arxiv.org/pdf/1603.07285.pdf".
!split
===== Neural Networks vs CNNs =====
Neural networks are defined as _affine transformations_, that is
a vector is received as input and is multiplied with a matrix of so-called weights (our unknown paramters) to produce an
output (to which a bias vector is usually added before passing the result
through a nonlinear activation function). This is applicable to any type of input, be it an
image, a sound clip or an unordered collection of features: whatever their
dimensionality, their representation can always be flattened into a vector
before the transformation.
However, when we consider images, sound clips and many other similar kinds of data, these data have an intrinsic
structure. More formally, they share these important properties:
* They are stored as multi-dimensional arrays (think of the pixels of a figure) .
* They feature one or more axes for which ordering matters (e.g., width and height axes for an image, time axis for a sound clip).
* One axis, called the channel axis, is used to access different views of the data (e.g., the red, green and blue channels of a color image, or the left and right channels of a stereo audio track).
These properties are not exploited when an affine transformation is applied; in
fact, all the axes are treated in the same way and the topological information
is not taken into account. Still, taking advantage of the implicit structure of
the data may prove very handy in solving some tasks, like computer vision and
speech recognition, and in these cases it would be best to preserve it. This is
where discrete convolutions come into play.
A discrete convolution is a linear transformation that preserves this notion of
ordering. It is sparse (only a few input units contribute to a given output
unit) and reuses parameters (the same weights are applied to multiple locations
in the input).
!split
===== Regular NNs dont scale well to full images =====
@@ -623,3 +658,4 @@ learn the identity function under some constraints.