stem/AI/Neural Networks/MLP/Back-Propagation.md

117 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

vault backup: 2023-12-22 16:39:03 Affected files: .obsidian/community-plugins.json .obsidian/graph.json .obsidian/plugins/calendar/data.json .obsidian/plugins/calendar/main.js .obsidian/plugins/calendar/manifest.json .obsidian/plugins/dataview/main.js .obsidian/plugins/dataview/manifest.json .obsidian/plugins/dataview/styles.css .obsidian/workspace.json Events/Cardiff.md Events/November 27th Week.md Events/🪣🪣🪣.md Food/From Aldi.md Food/Meal Plans/Meals - 2023-06-18.md Food/Meal Plans/Meals - 2023-06-24.md Food/Meal Plans/Meals - 2023-07-30.md Food/Meal Plans/Meals - 2023-08-06.md Food/Meal Plans/Meals - 2023-08-13.md Food/Meal Plans/Meals - 2023-08-20.md Food/Meal Plans/Meals - 2023-08-27.md Food/Meal Plans/Meals - 2023-09-03.md Food/Meal Plans/Meals - 2023-09-10.md Food/Meal Plans/Meals - 2023-09-17.md Food/Meal Plans/Meals - 2023-09-25.md Food/Meal Plans/Meals - 2023-10-02.md Food/Meal Plans/Meals - 2023-10-14.md Food/Meal Plans/Meals - 2023-10-22.md Food/Meal Plans/Meals - 2023-10-30.md Food/Meal Plans/Meals - 2023-11-05.md Food/Meal Plans/Meals - 2023-11-14.md Food/Meal Plans/Meals - 2023-11-20.md Food/Meal Plans/Meals - 2023-12-03.md Food/Meal Plans/Meals - 2023-12-11.md Food/Meal Plans/Meals - 2023-12-16.md Food/Meals.md Food/Sauces.md Lab/DNS.md Lab/Deleted Packages.md Lab/Domains.md Lab/Ebook Laundering.md Lab/Home.md Lab/Linux/Alpine.md Lab/Linux/KDE.md Lab/Photo Migration.md Lab/VPN Servers.md Languages/Arabic.md Languages/Spanish/Spanish.md Languages/Spanish/Tenses.md Languages/Spanish/Verbs.md Money/Me/Accounts.md Money/Me/Car.md Money/Me/Home.md Money/Me/Income.md Money/Me/Monthly/23-04.md Money/Me/Monthly/23-05.md Money/Me/Monthly/23-06.md Money/Me/Monthly/23-07.md Money/Me/Monthly/23-08.md Money/Me/Monthly/23-09.md Money/Me/Monthly/23-10.md Money/Me/Monthly/23-11.md Money/Me/Monthly/23-12.md Money/Me/Subs.md STEM/AI/Classification/Classification.md STEM/AI/Classification/Decision Trees.md STEM/AI/Classification/Gradient Boosting Machine.md STEM/AI/Classification/Logistic Regression.md STEM/AI/Classification/Random Forest.md STEM/AI/Classification/Supervised/SVM.md STEM/AI/Classification/Supervised/Supervised.md STEM/AI/Ethics.md STEM/AI/Kalman Filter.md STEM/AI/Learning.md STEM/AI/Literature.md STEM/AI/Neural Networks/Activation Functions.md STEM/AI/Neural Networks/Architectures.md STEM/AI/Neural Networks/CNN/CNN.md STEM/AI/Neural Networks/CNN/Convolutional Layer.md STEM/AI/Neural Networks/CNN/Examples.md STEM/AI/Neural Networks/CNN/FCN/FCN.md STEM/AI/Neural Networks/CNN/FCN/FlowNet.md STEM/AI/Neural Networks/CNN/FCN/Highway Networks.md STEM/AI/Neural Networks/CNN/FCN/ResNet.md STEM/AI/Neural Networks/CNN/FCN/Skip Connections.md STEM/AI/Neural Networks/CNN/FCN/Super-Resolution.md STEM/AI/Neural Networks/CNN/GAN/CycleGAN.md STEM/AI/Neural Networks/CNN/GAN/DC-GAN.md STEM/AI/Neural Networks/CNN/GAN/GAN.md STEM/AI/Neural Networks/CNN/GAN/StackGAN.md STEM/AI/Neural Networks/CNN/GAN/cGAN.md STEM/AI/Neural Networks/CNN/Inception Layer.md STEM/AI/Neural Networks/CNN/Interpretation.md STEM/AI/Neural Networks/CNN/Max Pooling.md STEM/AI/Neural Networks/CNN/Normalisation.md STEM/AI/Neural Networks/CNN/UpConv.md STEM/AI/Neural Networks/CV/Data Manipulations.md STEM/AI/Neural Networks/CV/Datasets.md STEM/AI/Neural Networks/CV/Filters.md STEM/AI/Neural Networks/CV/Layer Structure.md STEM/AI/Neural Networks/CV/Visual Search/Visual Search.md STEM/AI/Neural Networks/Deep Learning.md STEM/AI/Neural Networks/Learning/Boltzmann.md STEM/AI/Neural Networks/Learning/Competitive Learning.md STEM/AI/Neural Networks/Learning/Credit-Assignment Problem.md STEM/AI/Neural Networks/Learning/Hebbian.md STEM/AI/Neural Networks/Learning/Learning.md STEM/AI/Neural Networks/Learning/Tasks.md STEM/AI/Neural Networks/MLP/Back-Propagation.md STEM/AI/Neural Networks/MLP/Decision Boundary.md STEM/AI/Neural Networks/MLP/MLP.md STEM/AI/Neural Networks/Neural Networks.md STEM/AI/Neural Networks/Properties+Capabilities.md STEM/AI/Neural Networks/RNN/Autoencoder.md STEM/AI/Neural Networks/RNN/Deep Image Prior.md STEM/AI/Neural Networks/RNN/LSTM.md STEM/AI/Neural Networks/RNN/MoCo.md STEM/AI/Neural Networks/RNN/RNN.md STEM/AI/Neural Networks/RNN/Representation Learning.md STEM/AI/Neural Networks/RNN/SimCLR.md STEM/AI/Neural Networks/RNN/VQA.md STEM/AI/Neural Networks/SLP/Least Mean Square.md STEM/AI/Neural Networks/SLP/Perceptron Convergence.md STEM/AI/Neural Networks/SLP/SLP.md STEM/AI/Neural Networks/Training.md STEM/AI/Neural Networks/Transformers/Attention.md STEM/AI/Neural Networks/Transformers/LLM.md STEM/AI/Neural Networks/Transformers/Transformers.md STEM/AI/Neural Networks/Weight Init.md STEM/AI/Pattern Matching/Dynamic Time Warping.md STEM/AI/Pattern Matching/Markov/Markov.md STEM/AI/Pattern Matching/Pattern Matching.md STEM/AI/Problem Solving.md STEM/AI/Properties.md STEM/AI/Searching/Informed.md STEM/AI/Searching/Searching.md STEM/AI/Searching/Uninformed.md STEM/CS/ABI.md STEM/CS/Calling Conventions.md STEM/CS/ISA.md STEM/CS/Languages/Assembly.md STEM/CS/Languages/Javascript.md STEM/CS/Languages/Python.md STEM/CS/Languages/Rust.md STEM/CS/Quantum.md STEM/CS/Resources.md STEM/IOT/Networking/Networking.md STEM/Light.md STEM/Quantum/Confinement.md STEM/Quantum/Orbitals.md STEM/Quantum/Schrödinger.md STEM/Quantum/Standard Model.md STEM/Quantum/Wave Function.md STEM/Speech/Linguistics/Consonants.md STEM/Speech/Linguistics/Language Structure.md STEM/Speech/Linguistics/Linguistics.md STEM/Speech/Linguistics/Terms.md STEM/Speech/Linguistics/Vowels.md STEM/Speech/Literature.md STEM/Speech/NLP/NLP.md STEM/Speech/NLP/Recognition.md STEM/Speech/Speech Processing/Applications.md Work/Possible Tasks.md Work/Tech.md
2023-12-22 16:39:03 +00:00
---
tags:
- ai
- maths
vault backup: 2023-12-22 16:39:03 Affected files: .obsidian/community-plugins.json .obsidian/graph.json .obsidian/plugins/calendar/data.json .obsidian/plugins/calendar/main.js .obsidian/plugins/calendar/manifest.json .obsidian/plugins/dataview/main.js .obsidian/plugins/dataview/manifest.json .obsidian/plugins/dataview/styles.css .obsidian/workspace.json Events/Cardiff.md Events/November 27th Week.md Events/🪣🪣🪣.md Food/From Aldi.md Food/Meal Plans/Meals - 2023-06-18.md Food/Meal Plans/Meals - 2023-06-24.md Food/Meal Plans/Meals - 2023-07-30.md Food/Meal Plans/Meals - 2023-08-06.md Food/Meal Plans/Meals - 2023-08-13.md Food/Meal Plans/Meals - 2023-08-20.md Food/Meal Plans/Meals - 2023-08-27.md Food/Meal Plans/Meals - 2023-09-03.md Food/Meal Plans/Meals - 2023-09-10.md Food/Meal Plans/Meals - 2023-09-17.md Food/Meal Plans/Meals - 2023-09-25.md Food/Meal Plans/Meals - 2023-10-02.md Food/Meal Plans/Meals - 2023-10-14.md Food/Meal Plans/Meals - 2023-10-22.md Food/Meal Plans/Meals - 2023-10-30.md Food/Meal Plans/Meals - 2023-11-05.md Food/Meal Plans/Meals - 2023-11-14.md Food/Meal Plans/Meals - 2023-11-20.md Food/Meal Plans/Meals - 2023-12-03.md Food/Meal Plans/Meals - 2023-12-11.md Food/Meal Plans/Meals - 2023-12-16.md Food/Meals.md Food/Sauces.md Lab/DNS.md Lab/Deleted Packages.md Lab/Domains.md Lab/Ebook Laundering.md Lab/Home.md Lab/Linux/Alpine.md Lab/Linux/KDE.md Lab/Photo Migration.md Lab/VPN Servers.md Languages/Arabic.md Languages/Spanish/Spanish.md Languages/Spanish/Tenses.md Languages/Spanish/Verbs.md Money/Me/Accounts.md Money/Me/Car.md Money/Me/Home.md Money/Me/Income.md Money/Me/Monthly/23-04.md Money/Me/Monthly/23-05.md Money/Me/Monthly/23-06.md Money/Me/Monthly/23-07.md Money/Me/Monthly/23-08.md Money/Me/Monthly/23-09.md Money/Me/Monthly/23-10.md Money/Me/Monthly/23-11.md Money/Me/Monthly/23-12.md Money/Me/Subs.md STEM/AI/Classification/Classification.md STEM/AI/Classification/Decision Trees.md STEM/AI/Classification/Gradient Boosting Machine.md STEM/AI/Classification/Logistic Regression.md STEM/AI/Classification/Random Forest.md STEM/AI/Classification/Supervised/SVM.md STEM/AI/Classification/Supervised/Supervised.md STEM/AI/Ethics.md STEM/AI/Kalman Filter.md STEM/AI/Learning.md STEM/AI/Literature.md STEM/AI/Neural Networks/Activation Functions.md STEM/AI/Neural Networks/Architectures.md STEM/AI/Neural Networks/CNN/CNN.md STEM/AI/Neural Networks/CNN/Convolutional Layer.md STEM/AI/Neural Networks/CNN/Examples.md STEM/AI/Neural Networks/CNN/FCN/FCN.md STEM/AI/Neural Networks/CNN/FCN/FlowNet.md STEM/AI/Neural Networks/CNN/FCN/Highway Networks.md STEM/AI/Neural Networks/CNN/FCN/ResNet.md STEM/AI/Neural Networks/CNN/FCN/Skip Connections.md STEM/AI/Neural Networks/CNN/FCN/Super-Resolution.md STEM/AI/Neural Networks/CNN/GAN/CycleGAN.md STEM/AI/Neural Networks/CNN/GAN/DC-GAN.md STEM/AI/Neural Networks/CNN/GAN/GAN.md STEM/AI/Neural Networks/CNN/GAN/StackGAN.md STEM/AI/Neural Networks/CNN/GAN/cGAN.md STEM/AI/Neural Networks/CNN/Inception Layer.md STEM/AI/Neural Networks/CNN/Interpretation.md STEM/AI/Neural Networks/CNN/Max Pooling.md STEM/AI/Neural Networks/CNN/Normalisation.md STEM/AI/Neural Networks/CNN/UpConv.md STEM/AI/Neural Networks/CV/Data Manipulations.md STEM/AI/Neural Networks/CV/Datasets.md STEM/AI/Neural Networks/CV/Filters.md STEM/AI/Neural Networks/CV/Layer Structure.md STEM/AI/Neural Networks/CV/Visual Search/Visual Search.md STEM/AI/Neural Networks/Deep Learning.md STEM/AI/Neural Networks/Learning/Boltzmann.md STEM/AI/Neural Networks/Learning/Competitive Learning.md STEM/AI/Neural Networks/Learning/Credit-Assignment Problem.md STEM/AI/Neural Networks/Learning/Hebbian.md STEM/AI/Neural Networks/Learning/Learning.md STEM/AI/Neural Networks/Learning/Tasks.md STEM/AI/Neural Networks/MLP/Back-Propagation.md STEM/AI/Neural Networks/MLP/Decision Boundary.md STEM/AI/Neural Networks/MLP/MLP.md STEM/AI/Neural Networks/Neural Networks.md STEM/AI/Neural Networks/Properties+Capabilities.md STEM/AI/Neural Networks/RNN/Autoencoder.md STEM/AI/Neural Networks/RNN/Deep Image Prior.md STEM/AI/Neural Networks/RNN/LSTM.md STEM/AI/Neural Networks/RNN/MoCo.md STEM/AI/Neural Networks/RNN/RNN.md STEM/AI/Neural Networks/RNN/Representation Learning.md STEM/AI/Neural Networks/RNN/SimCLR.md STEM/AI/Neural Networks/RNN/VQA.md STEM/AI/Neural Networks/SLP/Least Mean Square.md STEM/AI/Neural Networks/SLP/Perceptron Convergence.md STEM/AI/Neural Networks/SLP/SLP.md STEM/AI/Neural Networks/Training.md STEM/AI/Neural Networks/Transformers/Attention.md STEM/AI/Neural Networks/Transformers/LLM.md STEM/AI/Neural Networks/Transformers/Transformers.md STEM/AI/Neural Networks/Weight Init.md STEM/AI/Pattern Matching/Dynamic Time Warping.md STEM/AI/Pattern Matching/Markov/Markov.md STEM/AI/Pattern Matching/Pattern Matching.md STEM/AI/Problem Solving.md STEM/AI/Properties.md STEM/AI/Searching/Informed.md STEM/AI/Searching/Searching.md STEM/AI/Searching/Uninformed.md STEM/CS/ABI.md STEM/CS/Calling Conventions.md STEM/CS/ISA.md STEM/CS/Languages/Assembly.md STEM/CS/Languages/Javascript.md STEM/CS/Languages/Python.md STEM/CS/Languages/Rust.md STEM/CS/Quantum.md STEM/CS/Resources.md STEM/IOT/Networking/Networking.md STEM/Light.md STEM/Quantum/Confinement.md STEM/Quantum/Orbitals.md STEM/Quantum/Schrödinger.md STEM/Quantum/Standard Model.md STEM/Quantum/Wave Function.md STEM/Speech/Linguistics/Consonants.md STEM/Speech/Linguistics/Language Structure.md STEM/Speech/Linguistics/Linguistics.md STEM/Speech/Linguistics/Terms.md STEM/Speech/Linguistics/Vowels.md STEM/Speech/Literature.md STEM/Speech/NLP/NLP.md STEM/Speech/NLP/Recognition.md STEM/Speech/Speech Processing/Applications.md Work/Possible Tasks.md Work/Tech.md
2023-12-22 16:39:03 +00:00
---
Error signal graph
![mlp-arch-graph](../../../img/mlp-arch-graph.png)
1. Error Signal
- $e_j(n)=d_j(n)-y_j(n)$
2. Net Internal Sum
- $v_j(n)=\sum_{i=0}^mw_{ji}(n)y_i(n)$
3. Output
- $y_j(n)=\varphi_j(v_j(n))$
4. Instantaneous Sum of Squared Errors
- $\mathfrak{E}(n)=\frac 1 2 \sum_{j\in C}e_j^2(n)$
- $C$ = o/p layer nodes
5. Average Squared Error
- $\mathfrak E_{av}=\frac 1 N\sum_{n=1}^N\mathfrak E (n)$
$$\frac{\partial\mathfrak E(n)}{\partial w_{ji}(n)}=
\frac{\partial\mathfrak E(n)}{\partial e_j(n)}
\frac{\partial e_j(n)}{\partial y_j(n)}
\frac{\partial y_j(n)}{\partial v_j(n)}
\frac{\partial v_j(n)}{\partial w_{ji}(n)}
$$
#### From 4
$$\frac{\partial\mathfrak E(n)}{\partial e_j(n)}=e_j(n)$$
#### From 1
$$\frac{\partial e_j(n)}{\partial y_j(n)}=-1$$
#### From 3 (note prime)
$$\frac{\partial y_j(n)}{\partial v_j(n)}=\varphi_j'(v_j(n))$$
#### From 2
$$\frac{\partial v_j(n)}{\partial w_{ji}(n)}=y_i(n)$$
## Composite
$$\frac{\partial\mathfrak E(n)}{\partial w_{ji}(n)}=
-e_j(n)\cdot
\varphi_j'(v_j(n))\cdot
y_i(n)
$$
$$\Delta w_{ji}(n)=-\eta\frac{\partial\mathfrak E(n)}{\partial w_{ji}(n)}$$
$$\Delta w_{ji}(n)=\eta\delta_j(n)y_i(n)$$
## Gradients
#### Output Local
$$\delta_j(n)=-\frac{\partial\mathfrak E (n)}{\partial v_j(n)}$$
$$=-
\frac{\partial\mathfrak E(n)}{\partial e_j(n)}
\frac{\partial e_j(n)}{\partial y_j(n)}
\frac{\partial y_j(n)}{\partial v_j(n)}$$
$$=
e_j(n)\cdot
\varphi_j'(v_j(n))
$$
#### Hidden Local
$$\delta_j(n)=-
\frac{\partial\mathfrak E (n)}{\partial y_j(n)}
\frac{\partial y_j(n)}{\partial v_j(n)}$$
$$=-
\frac{\partial\mathfrak E (n)}{\partial y_j(n)}
\cdot
\varphi_j'(v_j(n))$$
$$\delta_j(n)=
\varphi_j'(v_j(n))
\cdot
\sum_k \delta_k(n)\cdot w_{kj}(n)$$
## Weight Correction
$$\text{weight correction = learning rate $\cdot$ local gradient $\cdot$ input signal of neuron $j$}$$
$$\Delta w_{ji}(n)=\eta\cdot\delta_j(n)\cdot y_i(n)$$
- Looking for partial derivative of error with respect to each weight
- 4 partial derivatives
1. Sum of squared errors WRT error in one output node
2. Error WRT output $y$
3. Output $y$ WRT Pre-activation function sum
4. Pre-activation function sum WRT weight
- Other [weights](../Weight%20Init.md) constant, goes to zero
- Leaves just $y_i$
- Collect 3 boxed terms as delta $j$
- Local gradient
- Weight correction can be too slow raw
- Gets stuck
- Add momentum
![mlp-local-hidden-grad](../../../img/mlp-local-hidden-grad.png)
- Nodes further back
- More complicated
- Sum of later local gradients multiplied by backward weight (orange)
- Multiplied by differential of activation function at node
## Global Minimum
- Much more complex error surface than least-means-squared
- No guarantees of convergence
- Non-linear optimisation
- Momentum
- $+\alpha\Delta w_{ji}(n-1), 0\leq|\alpha|<1$
- Proportional to the change in weights last iteration
- Can shoot past local minima if descending quickly
![mlp-global-minimum](../../../img/mlp-global-minimum.png)
![back-prop1](../../../img/back-prop1.png)
![back-prop2](../../../img/back-prop2.png)
![back-prop-equations](../../../img/back-prop-equations.png)
$w^+_5=w_5-\eta\cdot\frac{\partial E_{total}}{\partial w_5}$
![back-prop-weight-changes](../../../img/back-prop-weight-changes.png)