Basic programming skills are not required but recommended.

Overview

Artificial Neural Network is a computational data model used in the development of Artificial Intelligence (AI) systems capable of performing “intelligent” tasks. Neural Networks are commonly used in Machine Learning (ML) applications, which are themselves one implementation of AI. Deep Learning is a subset of ML.

Course Outline

DAY 1 – ARTIFICIAL NEURAL NETWORKS

Introduction and ANN Structure.

Biological neurons and artificial neurons.

Model of an ANN.

Activation functions used in ANNs.

Typical classes of network architectures .

Mathematical Foundations and Learning mechanisms.

Re-visiting vector and matrix algebra.

State-space concepts.

Concepts of optimization.

Error-correction learning.

Memory-based learning.

Hebbian learning.

Competitive learning.

Single layer perceptrons.

Structure and learning of perceptrons.

Pattern classifier – introduction and Bayes’ classifiers.

Perceptron as a pattern classifier.

Perceptron convergence.

Limitations of a perceptrons.

Feedforward ANN.

Structures of Multi-layer feedforward networks.

Back propagation algorithm.

Back propagation – training and convergence.

Functional approximation with back propagation.

Practical and design issues of back propagation learning.

Radial Basis Function Networks.

Pattern separability and interpolation.

Regularization Theory.

Regularization and RBF networks.

RBF network design and training.

Approximation properties of RBF.

Competitive Learning and Self organizing ANN.

General clustering procedures.

Learning Vector Quantization (LVQ).

Competitive learning algorithms and architectures.

Self organizing feature maps.

Properties of feature maps.

Fuzzy Neural Networks.

Neuro-fuzzy systems.

Background of fuzzy sets and logic.

Design of fuzzy stems.

Design of fuzzy ANNs.

Applications

A few examples of Neural Network applications, their advantages and problems will be discussed.

DAY -2 MACHINE LEARNING

The PAC Learning Framework

Guarantees for finite hypothesis set – consistent case

Guarantees for finite hypothesis set – inconsistent case

Generalities

Deterministic cv. Stochastic scenarios

Bayes error noise

Estimation and approximation errors

Model selection

Radmeacher Complexity and VC – Dimension

Bias – Variance tradeoff

Regularisation

Over-fitting

Validation

Support Vector Machines

Kriging (Gaussian Process regression)

PCA and Kernel PCA

Self Organisation Maps (SOM)

Kernel induced vector space

Mercer Kernels and Kernel – induced similarity metrics

Reinforcement Learning

DAY 3 – DEEP LEARNING

This will be taught in relation to the topics covered on Day 1 and Day 2

Understand the intuition behind Artificial Neural Networks

Build artificial neural networks with Tensorflow

Classify images, data using deep learning

Apply Convolutional Neural Networks in practice

Requirements

Some prior coding experience with python is required.

Description

Neural networks are a family of machine learning algorithms that are generating a lot of excitement. They are a technique that is inspired by how the neurons in our brains function. They are based on a simple idea: given certain parameters, it is possible to combine them in order to predict a certain result. For example, if you know the number of pixels in an image, there are ways of knowing which number is written in the image. The data that enters passes through various “ layers” in which a series of adjusted learning rules are applied by a weighted function. After passing through the last layer, the results are compared with the “correct” results, and the parameters are adjusted.

Although the algorithms and the learning process in general are complex, one the network has learned, it can freeze the various weights and function in a memory or execution mode. Google uses these types of algorithms, for example, for image searches.

There is no single definition for the meaning of Deep Learning. In general, when we talk of Deep Learning, we are referring to a group of Machine Learning algorithms based on neural networks that, as we have seen, are characterized by cascade data processing. The entrance signal passes through the various stages, and in each one, they are subjected to a non-linear transformation. This helps to extract and transform the variable according to the determined parameters (weights or boundaries). There isn’t an established limit for the number of stages that a neural network must contain to be considered Deep Learning. However, it is thought that Deep Learning arose in the 80’s, using a model which had 5 or 6 layers. It was (and is) called the neocognitron and was created by the Japanese researcher Kunihiki Fukushima. Neural networks are very effective in identifying patterns.

An example worth highlighting of the application of Deep Learning is the project carried out by Google and the Universities of Stanford and Massachusetts. It aimed to improve the natural language processing techniques of a type of AI called Recurrent Neural Network Language Model (RNNLM). It’s used for automatic translations and creating subtitles, among other thing. Basically, it builds up phrases word by words, basing each word on the previous one and in this way, it can even write poems.

Module 1

1. Introduction to Deep Learning and TensorFlow

2. Basics of Neural Networks

3. Designing a shallow neural network (Scratch and python) (Project)

4. Deeper neural network using TensorFlow. (Project)

You’re going to learn hands-on artificial neural networks with neurolab, a lesser-known and traditional Python library for artificial intelligence.

Requirements

This is an intermediate level course. You should know Python programming, have basic math knowledge, and basic concepts of machine learning before enrolling.

Description

You’re going to learn hands-on artificial neural networks with neurolab, a lesser-known and traditional Python library for artificial intelligence. This is a hands-on course and you will be working your way through with Python and Jupyter notebooks.

What you will learn:

Basic concepts of neural networks (refresher)

The perceptron

Single-layer neural network

Multi-layer neural network

Recurrent neural networks (RNN)

Optical character recognition (OCR)

Who this course is for:

This course is for you if want to learn practical machine learning

This course is also for you if you’re a machine learning professional or work in a management position and want to expand your technical knowledge in the field

If you’re a student, know some programming and want to learn about artificial neural networks with lesser know libraries, this course is also for you

Machine learning (ML), or deep learning, depends on algorithms to inform what actions are taken and then produce an inferred function. In the future, we may see machines achieve true self-awareness and operate independently from human, data-influenced input. But for now, humans and data will continue to play a critical role in shaping machine-driven predictions. There are two main methods to guide your machine learning model—supervised and unsupervised learning. Depending on what data is available and what question is asked, the algorithm will be trained to generate an outcome using one of these methods. The difference between them is that supervised learning uses a full set of labeled data during training. In unsupervised learning, the data set is provided without explicit instructions on what to do with it; the machine is basically winging it.

What is supervised learning?

The supervised learning technique is more commonly used in machine learning because it deals with straightforward tasks and is easy to implement. Data inputs are labeled with the answer that the algorithm should arrive at, which helps the machine pick out patterns in the future, better differentiate data, or make predictions. Supervised learning is classified into two categories of algorithms and is ideal for problems where there are reference points available.

Classification: A classification problem exists when the output variable is a specific category.

Regression: A regression problem exists when the output variable is a real value that fluctuates (i.e. dollars, weight, measurement).

We regularly use supervised learning to teach ourselves or someone else a new task. It’s kind of like being given a test with the answer key. Once you have the task mastered, this technique can be applied to similar processes and information.

What is unsupervised learning?

In this technique, the machine learning model learns organically instead of receiving a data set with explicit instructions. It then tries to automatically find structure in the raw data through analysis and interpretation. While supervised learning is easiest, we don’t always have access to complete, perfectly labeled data sets to train the algorithm. Where supervised learning has the “right” answer, unsupervised learning is helpful in situations where analysts (or really anyone) ask questions and the algorithm doesn’t have the answer, or there’s more than one answer. The unsupervised learning model is classified into four different categories of algorithms, which group data based on similarities or relationships among variables:

Clustering: The deep learning model looks for data and features that are similar then groups them together.

Association: By reviewing key attributes in the data, an unsupervised learning model can predict other attributes that they’re commonly associated with.

Anomaly detection: In this instance, the model is used to call attention to data outliers. For instance, banks detect fraud by looking for unusual purchase patterns with customers—like if a card is used in two very different locations in one day, the bank notices and investigates the activity.

Artificial neural networks (or autoencoders): An autoencoder takes input data, compresses it into code, and then tries to recreate the input from that code while removing any signal noise so data quality is improved.

Other, less-known machine learning methods

There are other, less common methods for machine learning that we’re starting to see used more frequently, perhaps because we live and work in a time-constrained and often reward-driven culture.

Semi-supervised learning: This method combines aspects of supervised and unsupervised learning, where the process and reference data are known, along with the intended result—but the data is incomplete. It pulls from supervised learning using the reference data that’s available, but also incorporates unsupervised learning to make a best guess on the new result.

Reinforcement learning: This method uses rewards and feedback to find the optimal method of accomplishing a task. For example, this is used to train robots with artificial intelligence (AI), and we experience it when playing video games that give rewards after completion of a task.

Learn more about machine learning and artificial intelligence

Practical applications of supervised and unsupervised machine learning are all around us. Learn about some common machine learning examples—some of which you may encounter every day, depending on your line of work. Since there’s considerable noise and debate around machine learning, it’s also helpful to demystify some common machine learning misconceptions. This will help you understand how to harness the power of machine learning and embrace the opportunities it provides. Thinking of implementing ML or AI in your organization, or just want to dive deeper? Follow these AI and ML industry blogs to learn about what’s hot in the market.