1. Introduction to Deep Learning and Neural Networks
Augustine Okolie
Knowledge and Skill Forum
Augustine Okolie (Knowledge and Skill Forum) 2023 1 / 30
2. Outline
1 Introduction
2 Deep Learning (Artificial Neural Network)
3 Required Knowledge/Skills for Computer Vision
4 Applications
5 Challenges and Complexity of Neural Networks
Augustine Okolie (Knowledge and Skill Forum) 2023 2 / 30
3. Introduction
Artificial intelligence (AI) has revolutionized numerous industries.
Machine learning (ML) is a subset of AI, where systems learn from data, identify patterns,
and make decisions.
Neural networks and deep learning are specialized sub-fields of ML, gaining substantial
attention due to their profound capabilities.
Augustine Okolie (Knowledge and Skill Forum) 2023 3 / 30
4. Outline
1 Introduction
2 Deep Learning (Artificial Neural Network)
3 Required Knowledge/Skills for Computer Vision
4 Applications
5 Challenges and Complexity of Neural Networks
Augustine Okolie (Knowledge and Skill Forum) 2023 4 / 30
5. Deep Learning
Deep learning is part of a broader family of machine learning methods based on artificial neural
networks with representation learning. Learning can be supervised, semi-supervised or
unsupervised
Augustine Okolie (Knowledge and Skill Forum) 2023 5 / 30
6. Brain Nervous System vs Artificial Neural Network
Neurons are the fundamental units of the brain and nervous system.
Neural networks are machine learning models inspired by the human brain.
Composed of interconnected layers of nodes or ”neurons”.
Each neuron applies specific transformations to input data, enabling the model to learn and understand complex
patterns.
Augustine Okolie (Knowledge and Skill Forum) 2023 6 / 30
7. Deep Neural Network
Deep refers to multiple hidden layers in the network that enable learning of more complex
representations.
Performs complex operations on massive amounts of structured and unstructured data.
Excels in domains such as image recognition and natural language processing.
Augustine Okolie (Knowledge and Skill Forum) 2023 7 / 30
8. Components of a Neural Network
Neurons: Fundamental units of a neural network that receive inputs and generate an
output based on the activation function.
Weights: Coefficients which transform the input data within the network’s layers.
Bias: Similar to the intercept in a linear equation, it is an additional parameter in the
network which helps to adjust the output along with the weighted sum of the inputs to
the neuron.
Activation Functions: Functions that decide whether a neuron should be activated or
not. They help to add non-linearity to the network and map the input between the
required values like (0, 1) or (-1, 1).
Augustine Okolie (Knowledge and Skill Forum) 2023 8 / 30
9. Artificial Neural Networks: Hand Written Digit Recognition
Augustine Okolie (Knowledge and Skill Forum) 2023 9 / 30
11. Feature Extraction (Low Level, Mid Level, High Level, ...)
Augustine Okolie (Knowledge and Skill Forum) 2023 11 / 30
12. Is CNN better than ANN?
In general, CNN tends to be a more powerful and accurate way of solving classification problems. ANN is still dominant
for problems where datasets are limited, and image inputs are not necessary.
Augustine Okolie (Knowledge and Skill Forum) 2023 12 / 30
13. Recurrent Neural Network (RNN)
RNN has the ability to process temporal information — data that comes in sequences, such as a sentence, time series, etc.
Augustine Okolie (Knowledge and Skill Forum) 2023 13 / 30
14. Outline
1 Introduction
2 Deep Learning (Artificial Neural Network)
3 Required Knowledge/Skills for Computer Vision
4 Applications
5 Challenges and Complexity of Neural Networks
Augustine Okolie (Knowledge and Skill Forum) 2023 14 / 30
15. Mathematics in Computer Vision
1 Calculus
2 Linear Algebra
3 Probabilities and Statistics
4 Signal Processing
5 Projective Geometry
6 Computational Geometry
7 Optimization Theory
8 Control Theory
Augustine Okolie (Knowledge and Skill Forum) 2023 15 / 30
16. Software, Programming and Computer Vision Tools
1 Software and Programming Languages for Deep Learning: Python, C++, R, Julia,
MATLAB, etc.
2 Python Frameworks for Deep Learning: TensorFlow, PyTorch, Keras, Theano,
Caffe/Caffe2, OpenCV, Numpy, ScikitLearn, Skimage, etc.
3 Web-based Software: Flask/Django(Python), FastAPI (Python), Node.js/Express.js
(JavaScript), etc.
4 Cloud-based Machine Learning Platforms: Amazon SageMaker, Google Cloud ML
Engine, Microsoft Azure ML, IBM Watson, etc.
5 Mobile-based Software: TensorFlow Lite (Android/iOS), Core ML (iOS), ONNX
(Android/iOS), etc.
6 Containers and Orchestration: Docker/Kubernetes, Kubeflow, etc.
Augustine Okolie (Knowledge and Skill Forum) 2023 16 / 30
17. Outline
1 Introduction
2 Deep Learning (Artificial Neural Network)
3 Required Knowledge/Skills for Computer Vision
4 Applications
5 Challenges and Complexity of Neural Networks
Augustine Okolie (Knowledge and Skill Forum) 2023 17 / 30
18. Applications of Neural Networks
Image Recognition: Convolutional Neural Networks (CNNs) are widely used in digital
image processing, for tasks like object detection, facial recognition, and medical image
analysis.
Natural Language Processing: Recurrent Neural Networks (RNNs) and transformers
are commonly used for tasks such as language translation, sentiment analysis, text
generation, and speech recognition.
Time Series Prediction: RNNs are often employed to predict future values in time series
data, like stock prices or weather patterns.
Reinforcement Learning: Deep Q-Networks (DQNs) use neural networks to estimate
the quality of different actions in a given state.
Generative Models: Generative models use neural networks to generate new data that
resembles some given real data.
Augustine Okolie (Knowledge and Skill Forum) 2023 18 / 30
29. Outline
1 Introduction
2 Deep Learning (Artificial Neural Network)
3 Required Knowledge/Skills for Computer Vision
4 Applications
5 Challenges and Complexity of Neural Networks
Augustine Okolie (Knowledge and Skill Forum) 2023 29 / 30
30. Challenges and Complexity of Neural Networks
Requirement for large amounts of data and computational resources.
Overfitting: Fitting the training data too closely and performing poorly on unseen data.
Local minima in optimization.
Difficulty in understanding and interpreting neural networks - often referred to as ”black
box” models.
The challenge of choosing the right architecture and hyperparameters.
Augustine Okolie (Knowledge and Skill Forum) 2023 30 / 30