Aiml Neural Net

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

21CS54

ARTIFICIAL
INTELLIGENCE
AND MACHINE
LEARNING
PROJECT DEMO
HAND WRITTEN
CHARACTER
RECOGNITION
WITH NEURAL
NETWORKS
Presented by :
1BI21CS013 Aishwarya K R
1BI21CS024 Apoorva Sreenivas
1BI21CS032 Bhavana J N
1BI22CS415 Tejaswini N
TABLE OF CONTENTS

01 INTRODUCTION 03 DATA SET


PROBLEM
02 STATEMENT 04 ALGORITHM
01

INTRODUCTION
NEURAL NETWORKS
In the realm of artificial intelligence and machine learning, neural
networks stand as a pinnacle of innovation, mirroring the complexity
and adaptability of the human brain. Originating from the foundational
principles of biological neurons, neural networks have revolutionized
various domains, ranging from computer vision and natural language
processing to robotics and healthcare. Their ability to learn intricate
patterns, extract meaningful representations from data, and make
intelligent decisions has propelled them to the forefront of modern
computational intelligence.
At its core, a neural network comprises interconnected layers of
artificial neurons, organized in a hierarchical fashion to process and
transform input data into actionable insights. These networks learn
from vast amounts of labeled examples through a process known as
training, wherein they adjust their internal parameters to minimize the
discrepancy between predicted and actual outputs. Through iterative
optimization techniques such as gradient descent and backpropagation,
neural networks iteratively refine their internal representations,
gradually enhancing their predictive capabilities.
HANDWRITTEN CHARACTER
RECOGNITION
In the digital age, handwritten character recognition plays a pivotal
role in various applications, ranging from digitizing historical
documents to facilitating automated form processing. However,
despite advancements in technology, accurately deciphering
handwritten text remains a challenging task due to its inherent
variability and complexity.
To address this challenge, we embark on a project aimed at
leveraging the power of neural networks for handwritten character
recognition. Neural networks, particularly convolutional neural
networks (CNNs), have demonstrated remarkable success in image
classification tasks, making them a natural choice for tackling
handwritten character recognition.
Our project seeks to develop a robust and efficient system capable
of accurately identifying and classifying handwritten characters. By
training neural networks on large datasets of handwritten samples,
we aim to create models that generalize well to unseen data, thereby
enabling reliable recognition performance across diverse
handwriting styles and variations.
02
PROBLEM
STATEMENT
PROBLEM STATEMENT

The primary objective is to design and train neural


network models capable of accurately identifying
and classifying handwritten characters across various
writing styles and languages. This involves
addressing key challenges such as noise, distortion,
and variability in handwriting, while ensuring the
models generalize well to unseen data.
03

DATA SET
DATA SET
• A_Z Handwritten Data.csv dataset is used
from kaggle.
• 10 rows * 785 cloumns.
• We split the data into training and testing
data.
• Also, we are reshaping the train & test
image data so that they can be displayed as
an image, as initially in the CSV file they
were present as 784 columns of pixel data.
So we convert it to 28×28 pixels.
04

ALGORITHM
CNN
CNN stands for Convolutional Neural Networks that
are used to extract the features of the images using
several layers of filters.
In deep learning, a convolutional neural network
(CNN or ConvNet) is a class of deep neural
networks, that are typically used to recognize
patterns present in images but they are also used for
spatial data analysis, computer vision, natural
language processing, signal processing, and various
other purposes The architecture of a Convolutional
Network resembles the connectivity pattern of
neurons in the Human Brain and was inspired by the
organization of the Visual Cortex.
LAYERS The convolutional layer is the core building block of a CNN, and it is where
the majority of computation occurs. It requires a few components, which are
input data, a filter, and a feature map. Let’s assume that the input will be a
color image, which is made up of a matrix of pixels in 3D. This means that
the input will have three dimensions—a height, width, and depth—which
correspond to RGB in an image. We also have a feature detector, also known
CONVOLUTIO as a kernel or a filter, which will move across the receptive fields of the
image, checking if the feature is present. This process is known as a
N LAYER convolution.
The feature detector is a two-dimensional (2-D) array of weights, which
represents part of the image. While they can vary in size, the filter size is
typically a 3x3 matrix; this also determines the size of the receptive field. The
filter is then applied to an area of the image, and a dot product is calculated
between the input pixels and the filter. This dot product is then fed into an
output array. Afterwards, the filter shifts by a stride, repeating the process
until the kernel has swept across the entire image. The final output from the
series of dot products from the input and the filter is known as a feature map,
activation map, or a convolved feature.
LAYERS A pooling layer in a convolutional neural network (CNN) combines the
outputs of the previous layer into a single neuron. This reduces the
dimensions of the hidden layer.
Pooling layers are a key building block for CNNs. They are used in tasks
such as classification, segmentation, object detection, and autoencoders.
The goal of pooling is to: Maintain the most relevant information, Decrease
the input's spatial size, Avoid overfitting, and Lower the network's
computational and parameter requirements
Pooling involves sliding a window across the input and performing an
POOLING operation on the values in that window. The output is a condensed version of
the input, with the same number of channels but smaller width and height
LAYER There are two common types of pooling operations:
• Average pooling: Averages the input values by taking the mean
• Max pooling: Selects the maximum of the input values.
Pooling leads to better computational efficiency and invariance in the
features
Some drawbacks of pooling layers include:
• Some spatial information may be lost, especially if the filter size is
too big
• If max pooling is used in an image where the background is light, it
may eliminate the foreground features and only return the background
LAYERS
A dense layer in a convolutional neural network (CNN) is a layer of neurons
that receives input from all the neurons in the previous layer. Dense layers are
DENSE LAYER also known as fully connected layers and are the most commonly used layer
in artificial neural networks
Dense layers perform matrix-vector multiplication to change the dimension
of the output. The general rule of matrix-vector multiplication is that the row
vector of the output from the preceding layers is equal to the column vector
of the dense layer.
Dense layers are used to classify images based on the output from the
convolutional layers.
A neural network for image processing typically has the following layers:
• Input layer: Contains all the inputs, such as images
• Convolutional layer: Applies filters to extract features from the image
• Pooling layer: Reduces the size of the image
• Dense layer: Classifies images based on the output from the
convolutional layers
THANKS
!
CREDITS: This presentation template was created by Slidesgo, and
includes icons by Flaticon, and infographics & images by Freepik

You might also like