Deep Learning: Neural Networks ©  Fabian M. Suchanek
Overview 2 Neural Networks Training a neural network ->Deep-learning
Def: Neural Networks 3 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. “OR”  AND NOT  “XOR” neuralNetwork( )=perceptron (perceptron ( ), perceptron ( )) “AND” (We will later generalize this definition of neural networks.) >walkexample
Neural Networks 4 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. 1 “OR”  AND NOT  “XOR” 0 “AND” neuralNetwork( )=perceptron (perceptron ( ), perceptron ( )) the input values are propagated “forward” through the network >walkexample
Neural Networks 5 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. 1 “OR” “AND”  AND NOT  “XOR” the input values are propagated “forward” through the network 0 1 1 Each perceptron computes the weighted sum of its inputs... neuralNetwork( )=perceptron (perceptron ( ), perceptron ( )) >walkexample
Neural Networks 6 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. 1 “OR” “AND”  AND NOT  “XOR” the input values are propagated “forward” through the network 0 1 0 ...and applies the bias and the activation function. neuralNetwork( )=perceptron (perceptron ( ), perceptron ( )) >walkexample
Neural Networks 7 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. 1 “OR” “AND”  AND NOT  “XOR” 0 1 0 1 the input values are propagated “forward” through the network neuralNetwork( )=perceptron (perceptron ( ), perceptron ( )) >walkexample
Neural Networks 8 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. 1 “OR” “AND”  AND NOT  0 1 0 1 1 neuralNetwork( )=perceptron (perceptron ( ), perceptron ( ))
Neural Networks 9 Neural Network  is a set of perceptrons, each of which can take the output of another perceptron as input. Neural Networks can also •  take any real values as input (not just 0 and 1) •  have different activation functions in different perceptrons •  produce any real value as output (e.g., with  ) •  have several outputs (i.e., a vector of real numbers) •  have several hidden layers •  have any type of connections between perceptrons (not just in layers) >details >details&training
Neural Networks and Features 10 Classical Machine Learning: 90% Feature engineering 10% Learning Neural Networks: Output ready for consumption Neurons automatically find and specialize on features (“Grandma neuron” fires for grandma) Raw, unpre‐processed input >details >details&training
The Crux with Neural Networks Neural Networks have the crucial advantage that they can eliminate much of the feature engineering. However, •  they require a huge amount of training data,    due to the curse of dimensionality •  they require a decision on the architecture •  the optimization is non‐convex, and may find a local optimum    (a large array of tricks are developed to avoid them) •  the deeper the network, the smaller the gradient, the less signal    to change the weights (“vanishing gradient problem”) 11 >details >details&training
Def: Feed Forward Neural Networks 12 feed forward neural network  (FNN) is a neural network without cycles, where the output perceptrons are those without successors.
Fully Connected FNNs 13 fully connected  FNN (FFNN), is an FNN where the perceptrons are partitioned into layers, so that each layer is fully connected to the following layer (and nowhere else), and all inputs are connected to all perceptrons of the first layer. Every FNN can be seen as an FFNN. A fully connected layer is also called a  dense layer . input “layer” hidden layers output layer >details >details&training
Fully Connected FNNs 14 The weights between Layer   and Layer   in an FFNN can be seen as a matrix   where   is the weight to perceptron   in Layer  from perceptron   in Layer  : Layer 1 ( ) Layer 2 ( ) 1 2 3 1 2 3 4  rows: higher layer (“to where”)  columns: lower layer (“from where”) >details >details&training  matrix
Fully Connected FNNs 15 Layer 1 Layer 2 1 2 3 1 2 3 4 Assume there are no biases, and all perceptrons use the same activation function  . Then for activations   of the perceptrons in Layer  , the perceptrons in Layer   compute the vector  (where   and   is the matrix product.) . >details >details&training
Fully Connected FNNs 16 In an FFNN, each layer   has a weight matrix  . Assuming that there are no biases, and that all perceptrons have the same activation function  , the FNN computes               Layer 1 Layer 2 1 2 3 1 2 3 4 Layer 0 Layer 3 (= )
Def: Softmax 17 Softmax  is a function   that takes as input a vector   and computes a vector   with  . The function (1) amplifies large values and (2) makes sure that  . Layer 1 Layer 2 1 2 3 1 2 3 4 Layer 0 Layer 3 ( ) — Softmax — Layer 4 ( )
Def: Thresholding 18 Thresholding  a value   by a threshold   means returning   if    and   otherwise. Layer 1 Layer 2 1 2 3 1 2 3 4 Layer 0 Layer 3 ( ) >details >details&training — Softmax — Layer 4 ( ) — Thresholding — Layer 5 (thresholding with  )
Approximation completeness 19 A FFNN computes a function  . With one hidden layer, enough perceptrons, and full connections, it  can approximate  any continuous function with a compact (=closed and bounded) domain. For boolean functions  , this is easy to see: for each positive input  , create a hidden perceptron with weights  ? and bias  . The output perceptron has weights   and bias  . The case for real inputs and boolean output is similar. The hidden layer projects the input into a higher dimensional space (like a kernel). As the dimension increases, every set becomes linearly separable (Cover’s Theorem). The hidden layer may have to be quite large => it is often preferable to rather add more layers >details >details&training
Def: Auto‐Encoder 20 An  auto‐encoder  is a FFNN with   inputs, one hidden layer with  perceptrons, and   outputs. It is trained to reproduce the input, thus forcing it to reduce the   dimensions to   dimensions. Training set: { }
Auto‐Encoders 21 An  auto‐encoder  is a FFNN with   inputs, one hidden layer with  perceptrons, and   outputs. It is trained to reproduce the input, thus forcing it to reduce the   dimensions to   dimensions. Training set: { } => the auto‐encoder learns that  , and it can reproduce the input faithfully. => the first weight matrix is a dimensionality‐reducer => it performes something comparable to PCA >training
Overview 22 Neural Networks Training a neural network >training ->Deep-learning
Training a Neural Network Given a training set   with   and  , we want to find a FFNN that, given any  , computes  . 1. decide the  hyperparameters : the architecture (number of     perceptrons and connections), differentiable activation functions, and     the training rate  . We assume no biases. 2. Initalize all weights with small random values 3. Use backpropagation 23 >details
Backpropagation Backpropagation is an algorithm for training an FFNN that is based on •  a weight matrix   where   is the weight from perceptron   to  •  the network function  , which computes the output of the FFNN     for a given input  , assuming that the weights are given by  . •  a loss function that, given an actual output   and a desired output       computes an error, e.g.,  •  the error function of the network  . Example   for a fixed  and a fixed  , with 24 >details
Minimizing the error Backpropagation aims to minimize the error function  for a given training example   through gradient descent.  For this, it computes for each weight   the derivative                                       We want to find how much each weight is responsible for the errors, and adjust these weights. 25 >details
Computing the derivative of  (using the chain rule) where •    is the net input of perceptron  •    is the output of perceptron  26 >details
Computing the derivative of  (using the chain rule) We have     for output perceptrons  For the perceptrons in lower layers,   can be computed  from the gradients in the higher layer. Hence they are “back”-propagated. 27 >details
Backpropagation 28 Backpropagation  is an algorithm that, given an FFNN, a training set, and a learning rate  , adjusts the weights so that the FFNN  approximates the training set: •  Until the error is sufficiently small     •  For each training example          •  Compute the output   of the network         •  Compute the gradient of the error function for each weight         •  Subtract   times the gradient from each weight Backpropagation does gradient descent on the error function >details
Summary: Neural Networks 29 Neural networks are combinations of perceptrons ->Architectures ->Embeddings ->Deep-learning ->Transformers