Sample Term Paper
Sample Term Paper
Sample Term Paper
ABSTRACT
This paper describes the method to authenticate signatures using deep learning. The paper covers
the various modules and the architecture required to achieve the purpose. Convolutional neural
networks are implemented to parse signatures and feed forward neural networks are implemented to
analyse the characteristics of the signature. Gradient descent is used to correct errors with a method
called back-propagation. This paper talks about how the signature on the cheque is compared to the
signature in the database and how a final authentication score is provided to the user.
Keywords: Machine learning, Deep learning, Neural networks, Convolution, Pooling, Activation
function, ReLU, Gradient Descent, Training, Test, Validation
the same data for training as well as testing,
INTRODUCTION since it would not know how well the network
generalises and whether or not the model
Machine learning is the idea that there are overfit the data. Hence we need to keep
generic algorithms that can provide interesting separate pairs in reserve for test set (input,
information about a set of data without having target) which are not used for training purpose.
to write any custom code specific to the This type of data set is called as test data set.
problem. Data is fed into the generic algorithm
and the logic is built based on the data. We check how well the network is learning
Machine learning can be used in several fields during training, so we can decide when to stop
like image classification, speech recognition, training the model. To take such a decision, we
cybersecurity, robotics etc. Deep learning is the cannot use training data as we would not detect
topic that covers neural networks and is a part overfitting but we cannot use the testing data
of machine learning. either as we are saving it for final test. Thus the
third kind of data set called validation set is
A neural network is a computational model that required to validate the learning so far. In
works in a similar way to the neurons in the statistics it is known as cross validation. If
human brain. Each neuron takes an input, there is a huge amount of data, the exact
performs some operations then passes the proportion of training to testing to validation
output to the following neuron. For image data is somewhere around 50:25:25 and in case
classification, Convolutional Neural Networks of less amount of data it is 60:20:20.
(CNN) are used. CNNs are primarily used for
image processing but can also be used for other CNNs tend to start with an input scanner. The
types of input such as audio. A typical use case scanner scans the input image and passes it on
for CNNs is where you feed the network to the next layer. This input data is then fed
images and the network classifies the data. through convolutional layers. These
convolutional layers also tend to shrink as they
The data set is divided into three parts. become deeper, mostly by easily divisible
Training data, testing data and validation data. factors of the input. Besides these
Training data is used to train a multi-layer convolutional layers, they also often feature
perceptron. The next step is to find how well it pooling layers. Pooling is a way to filter out
performs. In the case of trained network the details: a commonly found pooling technique is
error can be computed by computing the sum max pooling, which takes 2 x 2 pixels and
of squares error between output and target. The passes on the pixel with the biggest value.
next step is to figure out which data should be
used to test the network. It is not wise to use The output of the CNN acts as the input for a
fully connected layer where the features of the
image are established. The fully connected
layer is a feed forward neural network with
multiple hidden layers. The characteristics of
1 of 7
the signature like dots, dashes and curves are the entire matrix and pick the largest element
established in each of the hidden layers, which from the window to be included in the next
are then passed on to the next layer for representation map.
processing. The output of the fully connected
layer is the classification of the signature.
PROPOSED SYSTEM
The first step in the process is to input the Thus, effectively the dimensions of the feature
scanned image of the cheque to a CNN. A map reduce from (m, n) to (m/k, n/k) on
scanner or a filter scans the image and the input application of a (k, k) non-overlapping filter.
of the scanner is then passed on to the next Hence, k needs to be chosen in consistence
layer. The scanner is typically a matrix with a with the dimensions of the input feature map.
random set of values. This matrix is first placed In contrast, the dimensions on application of a
on the top-left corner of the image. A dot convolution layer would move to (m-k+1, n-
product of the pixel value of the image and the k+1). Unlike the convolution layer, the pooling
respective value on the matrix is calculated. filter does not operate on overlapping segments
The output of the scanner is a set of channels of the input feature map. However, we can
(the size of this set varies with the number of explicitly specify the stride to make the
scanners). This process can be repeated many operation overlapping. The pooling can be
times to increase accuracy. The output of the implemented in other ways also.
final convolutional layer is then fed into a feed-
forward neural network. The main reason for using the pooling layer is
to prevent the model from overfitting. In quite
a few models, the dropout layer succeeds the
pool.
3 of 7
Descent. The First order derivative tells us
whether the function is decreasing or After this we propagate backwards in the
increasing at a particular point. First order Network carrying Error terms and updating
Derivative basically give us a line which is Weights values using Gradient Descent, in
Tangential to a point on its Error Surface. which we calculate the gradient of Error (E)
function with respect to the Weights (W) or the
A Gradient is simply a vector which is a multi- parameters, and update the parameters (here
variable generalisation of a derivative (dy/dx) Weights) in the opposite direction of the
which is the instantaneous rate of change of y Gradient of the Loss function w.r.t to the
with respect to x. The difference is that to Model’s parameters. This step is carried out
calculate a derivative of a function which is multiple times until a good enough output, with
dependent on more than one variable or minimum error, is obtained.
multiple variables, a Gradient takes its place.
And a gradient is calculated using Partial
Derivatives . Also another major difference
between the Gradient and a derivative is that a
Gradient of a function produces a Vector Field.
SYSTEM ARCHITECTURE
The user uploads the scanned copy of the 64 channels. This is also passed through a max
signature through the user interface. The pool layer. The output of the second layer is
scanned image preprocessed in the then passed as a single dimensional array
preprocessing step. The RGB channels are through a fully connected neural network. This
converted into Grayscale channel. The size of network then outputs the accuracy percentage.
each image is converted into 70 X 150 units.
6 of 7
6. https://en.wikipedia.org/wiki/Artificial_neu
ral_network
OUTPUT 7. https://en.wikipedia.org/wiki/Machine_lear
ning
8. https://en.wikipedia.org/wiki/Convolutiona
l_neural_network
9. https://medium.com/@ageitgey/machine-
learning-is-fun-part-3-deep-learning-and-
convolutional-neural-networks-
f40359318721
10. https://towardsdatascience.com/types-of-
optimization-algorithms-used-in-neural-
networks-and-ways-to-optimize-gradient-
CONCLUSION
95ae5d39529f
11. https://towardsdatascience.com/deep-
Machine learning is being adopted by many of
learning-3-more-on-cnns-handling-
the industries world over, especially the
overfitting-2bd5d99abe5d
financial sector. My work is an attempt to
12. https://www.youtube.com/watch?
complement the efforts done in this area. My
v=FmpDIaiMIeA&t=2s
model will help reduce the number of
13. https://www.youtube.com/watch?
fraudulent transactions in the banking industry
v=FTr3n7uBIuE
by providing an accurate evaluation of the
14. https://www.youtube.com/watch?v=2-
signature in the documents. This will help in
Ol7ZB0MmU
reducing the losses incurred by banks. It will
15. https://www.youtube.com/watch?v=7Wq-
also help in bringing about quick turnaround
QmMT4gM
times by drastically cutting the manual
intervention. The cost of implementation of the
machine learning model is low and the
scalability of the model is high. The recent
improvements in Convolutional neural
networks is the creation of a new model called
Capsule Networks where each neuron will hold
a nested neural network. With the Capsule
Network, a new activation function is also
being developed, which can produce better
results. With the advancement of machine
learning models and improved computational
powers, the accuracy of the machine learning
models increase leaps and bounds and the turn
around time is reduced severalfold.
REFERENCES
7 of 7