<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Deep Learning guinea pig image classi cation using Nvidia DIGITS and GoogLeNet</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Warmia and Mazury in Olsztyn</institution>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper guinea pig classi cation using deep learning imaging methods was performed on the Nvidia DIGITS 6. Models capable of distinguishing skinny, abyssinian and crested fur types were created in the process. To increase the classi cation accuracy empty images (with only the background) were added to the data set. Upon evaluation, the created model recognized the animals correctly from images taken in various household backgrounds.</p>
      </abstract>
      <kwd-group>
        <kwd>deep learning</kwd>
        <kwd>animal recognition</kwd>
        <kwd>robotics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Robotic systems are nowadays increasingly appearing in various industries. This
trend is also represented in various animal care facilities like farms, daries,
shelters [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ] and more. New robotic systems are created, that ll the public space as
well as connect to the personal home environment. With the growing need of
automating work more software and hardware platforms are employed to increase
the ease of life.
      </p>
      <p>In this work, deep learning techniques were utilized to create a classi cation
model of guinea pigs in di erent home environments (living room, o ce, corridor,
etc.), to explore the possibilities of bringing such systems into the world of
household animals. Creating such a model was important, to understand how
machine learning algorithms would adapt to live creatures, while keeping a high
accuracy of the prediction and short inference times needed in robotics.</p>
      <p>
        To address these problems GoogLeNet was used. The pre-trained model
connects various techniques known from Deep Learning like convolutions, pooling,
adding softmax and more [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], to distinguish all the objects that are present in
the image. It implements so called Inception modules, that range from 245 lters
to 1024 in top inception modules. The consequence of this is the possibility to
remove fully connected layers on top completly [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Gathered results, will perform as a base for future projects of animal social
and care systems. Example appliances could include:
{ automatic feeding and cleaning systems,
{ automatic pet door management,
{ illness and status detectors,
{ or mobile, home robots allowing the owners to check on their pets using
mobile software.
1.1</p>
      <sec id="sec-1-1">
        <title>Related Works</title>
        <p>
          Related works about animal classi cation were published in regard of wild animal
monitoring [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The authors used convolutional neural networks to create a model
from the Serengeti National Park camera-trap database snapshot containing
179683 images. Then they tested the set using popular topologies like AlexNet,
VGGNet, GoogLeNet and nally ResNets.
        </p>
        <p>
          Similarly convolutional neural networks were used to recognize 20 species
common in North America [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] over a 14346 image training data set. The
imagery data from motion triggered cameras was automatically segmented using
the graph-cut algorithm.
        </p>
        <p>
          Another approach was taken for classifying di erent animals for automated
species recognition [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The authors enforced ScSPM (Sparse coding Spatial
Pyramid Matching) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] to extract and classify animal species over a 7
thousand image data set. After that multi-class pre-trained SVMs were applied to
classify global features of animal species.
        </p>
        <p>All mentioned authors follow a similar pattern when using machine learning
for image classi cation, but none of them concern household animals. All
presented projects face di erent problems from those, that could be encountered in
a safe, indoor environment. Hence, di erent data acquisition techniques had to
be used.
1.2</p>
      </sec>
      <sec id="sec-1-2">
        <title>Nvidia DIGITS</title>
        <p>
          DIGITS (Nvidia Deep Learning GPU Training System) was used in this project.
It is an open-source project for training deep neural networks (DNNs). The
software simpli es common deep learning tasks such as managing data, designing
and training neural networks and monitoring performance in real time. [
          <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
          ].
The solution comes with pre-trained models (but it allows usage of self created
ones) for example:
{ GoogLeNet (Inception),
{ AlexNet,
{ UNET,
{ and more.
        </p>
        <p>In this paper GoogLeNet was used as the model of choice.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Background / Formulation</title>
      <p>
        Deep Learning (DL) is a machine learning technique growing in popularity over
the past few years. It is connected to the fact that it becomes more useful than
before thanks to the amount of available training data and advances in computer
hardware/software [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It allows to create models that perform the following
tasks:
{ computer vision,
{ speech recognition,
{ natural language processing,
{ recommendation systems,
{ and more.
      </p>
      <p>
        To understand how DL works, we should rst de ne what learning actually
is. A simple de nition was provided by Mitchell [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] as follows:
De nition 1. A computer program is said to learn from experience E with
respect to some class of tasks T and performance measure P, if its performance at
task in T, as measured by P, improves with experience E.
      </p>
      <p>This can apply to di erent kind of tasks, performance measures and
experiences. In this paper we will focus on the task of object classi cation using
computer vision.</p>
      <p>
        Classi cation of objects is based on describing to what category a given input
belongs. This can be used in robotics for tasks like delivering foods and drinks
to clients by the Willow Garage PR2 robot [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The general rule is to create an
algorithm that produces the funcion: f : IRn ! f1; :::; kg, where the category is
assigned when y = f (x) for input x.
      </p>
      <p>This paper focused on supervised learning, which means that all data set
items were associated with a label (each guinea pig image was added to a speci c
category). In practice, it means that the algorithm knew how to classify certain
objects with similary properties from the start.
2.1</p>
      <sec id="sec-2-1">
        <title>Machine learning and neural networks</title>
        <p>Articial neural networks are a subgroup of algirthms that are used for machine
learning. The main idea behind them is creating arti cial neurons, wchich are
implemented as a non-linear function over a linear combination of input features.
Each neuron generally consist of one to multiple inputs with wages, activation
function, bias and one output.</p>
        <p>In neural network algorithms we can tweak several parameters, that will
greately impact the nal output: number of epochs, learning rate, solver type
and many more.</p>
        <p>
          { Epoch - one complete pass of the data in the data set. The amount of epochs
should be determined through tests. Small number of epochs often leads to
bad predictions, while a big number leads to over tting.
{ Learning rate - describes the rate at which the network abandons old
beliefs, for new ones to take their place. The value must be correct, values
that are too big or too small may lead to bad predictions.
{ Solver type - contains information about how the weights are updated for
the network. This project used Stochastic Gradient Descent (SGD) [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and
Adam.
        </p>
        <p>When working with machine learning algorithms, we can encounter two
problems, that are the result of our actions - under tting and over tting.</p>
        <p>Over tting takes place, when the model is training the data too well. That
happens when noise, details or random uctuations are taken into consideration,
which negatively impacts the performance of the model on any new data. In such
case, the parameters should be adjusted to constrain the amount of detail that
the model learns.</p>
        <p>Under tting on the other hand is usually the result of big learning rates.
The model becomes too general, which in the end gives bad results for object
classi cation. To provide a solution to the problem, usually adjusting parameters
or using di erent ML algorithms should be used.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Optimizers used in the project</title>
        <p>Stochastic Gradient Descent (SGD) is one of the most popular algorithms
in DL. It is an extension to the rst-order optimization algorithm: Gradient
Descent. In SGD, the gradient is an expectation, which may be estimated even
using a small set of samples. SGD has proven to work very well with deep learning
models. While it doesn't guarantee nding the local minimum, it usually nds
a very low value of the cost funcion quickly.</p>
        <p>The estimate from the example x minibatch m0 can be written as follows:
g = m10 O Pim=01 L xi; yi; , where the loss is L (x; y; ) = log p (yjx; ) for
each example.</p>
        <p>Adam is an optimization algorithm that is used for iteratively updating the
network weights based on the training data. The algorithm combines two extensions
of the SGD: Adaptive Gradient Algorithm (AdaGrad) and Root Mean Square
Propagation(RMSProp). Instead of adapting the parameter learning rates based
on the average rst moment (the mean) as in RMSProp, Adam also makes use
of the average of the second moments of the gradients (the uncentered variance).
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Convolutional Networks</title>
        <p>Convolutional Neural Networks (CNNs) are used for data, that has a known
grid-like topology. The name comes from the fact, that it employs an operation
called convolution, which is a kind of linear operation (instead of general matrix
multiplication).</p>
        <p>
          Convolutions are operations on two functions of a real value argument. The
convolution can be represented as s(t) = (x w)(t), where x is a single input, w
is a valid probability density function and t is time. It leverages three important
ideas that can improve machine learning systems: sparse interactions, parameter
sharing and equivariant representations [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The output of the function is often
called the feature map.
        </p>
        <p>Each layer of CNNs consists of three distinguishable stages: producing sets of
linear activations, detector stage and pooling. Pooling is a method that instead
of giving the output of the neural net, provides a summary statistic of all nearby
outputs. This is especially helpful, if images of variable size are given as an input.
Moreover it helps with feature extraction (as it is known, neural networks loose
data over time, with each layer) from convolutional layers.
2.4</p>
      </sec>
      <sec id="sec-2-4">
        <title>GoogLeNet</title>
        <p>GoogLeNet was introduced at ILSVRC 2014 competition, where it took rst
place with a result of 6.67% error rate (which is close to human level
performance). The architecture consisted of 22 layers (27 with pooling) of the Deep
CNN reducing the number of parameters to 4 million (60 million compared from
AlexNet).</p>
        <p>The main innovation between normal CNNs and GoogLeNet was the
implementation of Inception modules. The modules ran several small convolutions in
order to reduce the number of parameters. Moreover batch normalization,
RMSprop and image distortions were used. Data from the previous layer was run
over four 1x1 convolutions, one 3x3 convolution and one 5x5 convolution, with
a 3x3 pooling added simultaneously. You can see the network presented on the
graph on Fig. 1.</p>
        <p>
          The Inception module 3x3 and 5x5 condolutions ratio increases as higher
layers are achieved. This is due to the fact, that stacking Inception modules on
top of each other produces an e ect where as features of higher abstraction are
captured by higher layers, their spatial concentration is expected to decrease [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>The highest pro of the network is high inference speeds. GoogLeNet was
designed to be computational e cient, so that it could be run on devices with
limited computational power or low-memory footprint, making it a good choice
for robotics and its applications.
2.5</p>
      </sec>
      <sec id="sec-2-5">
        <title>Deep Learning downsides</title>
        <p>While Deep Learning is performing well for many cases of image classi cation, it
still has disadvantages, that should be considered when picking the right method.
The most known cons of the method are:
{ small data sets can produce bad results,
{ long calculation time is a big factor,
{ debugging is extremly hard,
{ picking good neural net parameters takes practice,
{ it's hard to gather the logic behind results.</p>
        <p>With recent advantages in Deep Learning some of the factors are less limiting.
The learning duration for example, is being decreased using parallellization.
The data was collected by recording a square video of each guinea pig over a
period of 30 seconds in di erent environments and then extracting frames as an
image. Each frame was then lowered in resolution to 256x256 px in order to t
GoogLeNet requirements. Example images taken from the data set can be seen
in Fig. 2.</p>
        <p>The entire data set consisted of 1098 images. From the initial data set - 25%
(274) images were excluded for model validation and 10% (110) were excluded to
calculate the test data loss and accuracy. Moreover 32 photos in di erent
environments (animal cage, sleepingroom, guestroom, balcony and bathroom) were
taken after the training to test the model behaviour. The visual representation
of the training data set can be seen on Fig. 3.</p>
        <p>To ensure good accuracy of the model, images for each guinea pig had to
cover the whole anatomy of the animal. To achieve that, the following camera
positions were covered:
{ facing the mouth,
{ both sides front and back facing,
{ rear view of the animal,
{ top view with di erent distances to the guinea pig.</p>
        <p>Moreover empty images (without guinea pigs) were added with the same
room backgrounds where previous photos were taken, to increase classi cation
accuracy in distinguishing wanted objects. This set contained 191 images mixed
with the guinea pig data set.</p>
        <p>Guinea pigs phenotype highly depends on their breed. Therefore three di erent
subjects of diverese ages were used in the experiment:</p>
        <p>Using the data, four labels were produced and assigned to the following neural
network classes, which provided a base for further classi cation:
{ None - when there is no guinea pig in the image,
{ Abyssinian, Crested and Skinny - fur type.</p>
        <p>Finally the data was processed by the neural network, on di erent settings.
Two parameters were changed during testing: learning rate and optimizer used,
while the epoch count remained at 15. The settings can be seen below:
1. First test:
{ Epoch count: 15,
{ Learning rate: 0.001 with xed policy,
{ Optimizer: Stochastic Gradient Descent.
2. Second test:
{ Epoch count: 15,
{ Learning rate: 0.001 with step down policy,
{ Optimizer: Adam.</p>
      </sec>
      <sec id="sec-2-6">
        <title>3. Third test:</title>
        <p>{ Epoch count: 15,
{ Learning rate: 0.01 with step down policy,
{ Optimizer: Stochastic Gradient Descent.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Results</title>
      <p>Final results for classi cation models were gathered from the neural networks
described in the previous section.</p>
      <p>Performing the rst test gave good results, although over tting was
discovered around epoch 13, with accuracy of 98,95% and loss of 0.04. Later epochs
drastically fell in value, producing an accuracy of 65,63% and loss of 1.03.
Overtting appeared because of the low learning rate from the very start, which
should have been avoided.</p>
      <p>Second test, using Adam as the solver type, provided the best results. The
nal acurracy and loss after 15 epochs were 99.31% and 0.04 respectfully. A
di erent training rate (0.01) was also tested, but it didn't provide any useful
results.</p>
      <p>The nal test gave good results, but not satisfactory - it produced an accuracy
of 87,15% and loss of 0.32. That was not enough to be used for the guinea pig
classi cation system (the predictions would give false-positives).</p>
      <p>The nal classi cation model that was selected for further use and testing,
was taken from test number two, using the Adam optimizer. Over 15 epochs
with a learning rate of 0.001 ran on the GoogLeNet model on Nvidia DIGITS,
it has provided the best results. Using more epochs and a di erent learning rate
was tested afterwards, but it led to over tting of the data. You can see the nal
result on Fig. 4.
4.1</p>
      <sec id="sec-3-1">
        <title>Manual image test results</title>
        <p>After the model was created, a series of tests were performed to check, if the
inference is correct. The rst set of tests consisted of images from the previously
gathered data set. The prediction was always right for provided images, with the
value between 70%-95%. You can see an example result on Fig. 5.</p>
        <p>Moreover, as soon as acquiring enough information from predictions was
done, tests on new images were performed (di erent environments, same guinea
pigs) giving satisfactory results - guinea pigs were classi ed correctly on each
provided picture containing the animal. Example result one such case can be
seen on Fig. 6.</p>
        <p>One failed prediction was encountered, when a picture of a background with
a cat was used. The cat was badly classi ed as an abyssinian guinea pig. This
happened due to the fact, that the data set didn't contain images that were in
any case similar to the cat picture used. More cases like that can be produced
with the provided model, as it was trained on speci c data in the rst place.
Modern robotics highly depend on sensor readings of the surrounding
environment. They often use camera input as one of the parameters to perceive the
world. Due to that, imaging methods for decision-making were introduced.</p>
        <p>In this paper Deep Learning was implemented for guinea pig classi cation
in order to explore the possibilities of introducing household animal care using
robotics and automation, while keeping them safe.</p>
        <p>The provided GoogLeNet model from Nvidia DIGITS has proven successful
in identifying the guinea pigs in di erent environments, even when taking images
that weren't originally added to the data set. Some errors were observed
(falsepositives) when no guinea pigs were present in the tested image. The model
will behave poorly when other animals are present in the pictures, since the
classi cation was based purely on guinea pigs.</p>
        <p>Increasing the accuracy of the model, can greately improve the robot-animal
interactions, allowing to tailor behaviours to speci c beings. This could be achieved
by using modifying the learning rate, using more images, creating more labels or
nally using a di erent optimizer or pre-built model. There are many possible
variables to take into consideration, when building a model for a de ned task.</p>
        <p>The guinea pig classi cation model after building with GoogLeNet, was able
to provide results almost instantly. This is important, if used for robotics, because
while waiting for an action, the environment can change quite drasticly.
Moreover, such model are built to be deployed on an autonomous platform (Raspberry,
Jetson TX2 or any other), so the memory usage will be limited, increasing the
inference calculation time.</p>
        <p>The created model proves that guinea pig fur recognition for robotic systems
is possible. The project gave good results - the created model recognized the
animals correctly from images taken in various household backgrounds. The
prediction was acquired fast making the inference time low. This is especially
important for robotic systems that deal with live animals, because the reaction
times need to be rapid.</p>
        <p>Future work might include robotic systems that monitor the state of speci c
animals, adjust food distribution depending on image readings or alert when the
guinea pig su ers from any kind of illness.</p>
        <p>Moreover, di erent types of models can be employed to see, which one ts
the needs the most. The project shouldn't be limited to GoogLeNet.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Roldan</surname>
          </string-name>
          ,
          <source>J. del Cerro</source>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Garzon-Ramos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Garcia-Aunon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Garzon</surname>
          </string-name>
          , J. de Leon,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Barrientos</surname>
          </string-name>
          , \
          <article-title>Robots in agriculture: State of art and practical experiences," Service Robots Antonio Neves</article-title>
          , IntechOpen,
          <year>2018</year>
          . DOI:
          <volume>10</volume>
          .5772/intechopen.69874. Available from: https://www.intechopen.com/books/servicerobots/robots-in
          <article-title>-agriculture-state-of-art-and-practical-experiences.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>BD</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Adil</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ranvir</surname>
          </string-name>
          , \
          <article-title>Robotics: An emerging technology in dairy and food industry: Review,"</article-title>
          <source>International Journal of Chemical Studies</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Long</surname>
          </string-name>
          , E. Shelhammer, and T. Darrell, \
          <article-title>Fully convolutional networks for semantic segmentation,"</article-title>
          <source>arXiv: 1411.4038</source>
          , (
          <year>v2</year>
          )
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>F.</given-names>
            <surname>Chollet</surname>
          </string-name>
          , \Xception:
          <article-title>Deep learning with depthwise separable convolutions</article-title>
          ,"
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Salazar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vargas</surname>
          </string-name>
          , \
          <article-title>Towards automatic wild animal monitoring: Identi cation of animal species in camera-trap images using very deep convolutional neural networks</article-title>
          ,"
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>G.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. X.</given-names>
            <surname>Han</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kays</surname>
          </string-name>
          , and T. Forrester, \
          <article-title>Deep convolutional neural network based species recognition for wild animal monitoring,"</article-title>
          <source>International Conference on Image Processing (ICIP)</source>
          IEEE pp.
          <fpage>858</fpage>
          -
          <lpage>862</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>X.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kays</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Huang</surname>
          </string-name>
          , \
          <article-title>Automated identi cation of animal species in camera trap images,"</article-title>
          <source>EURASIP Journal of Image and Video Processing</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Gong</surname>
          </string-name>
          , and T. Huang, \
          <article-title>Linear spatial pyramid matching using sparse coding for image classi cation,"</article-title>
          <source>IEEE Conference on Computer Vision and Pattern Recognition</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. \Nvidia DIGITS.
          <article-title>" https://developer</article-title>
          .nvidia.com/digits.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>B.</given-names>
            <surname>Erickson</surname>
          </string-name>
          , P. Kor atis,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Akkus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kline</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Philbrick</surname>
          </string-name>
          , \
          <article-title>Toolkits and libraries for deep learning,"</article-title>
          <source>Journal of Digital</source>
          Imaging vol.
          <volume>30</volume>
          pp.
          <fpage>400</fpage>
          -
          <lpage>405</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. I. Goodfellow and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          , Deep Learning. Cambridge, Massachusetts: The MIT Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. T. M. Mitchell,
          <article-title>Machine Learning</article-title>
          .
          <source>McGraw-Hill</source>
          , New York,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. I. Goodfellow,
          <string-name>
            <given-names>N.</given-names>
            <surname>Koenig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Muja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pantofaru</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Sorokin</surname>
          </string-name>
          , \
          <article-title>Help me help you: Interfaces for personal robots</article-title>
          ,"
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. L. Bottou, \
          <article-title>Large-scale machine learning with stochastic gradient descent,"</article-title>
          <source>Proceedings of COMPSTAT</source>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>C. Szegedy</surname>
            , W. Liu,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Sermanet</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Reed</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Anguelov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Erhan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Vanhoucke</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Rabinovich</surname>
          </string-name>
          , \
          <article-title>Deeper with convolutions," Available from</article-title>
          : http://arxiv.org/abs/1409.4842.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>