Page 85 - Data Science Algorithms in a Week
P. 85

Machine Learning Applied to Autonomous Vehicles              69

                                                  ̂
                                     θt ← θt−1 − α ·   /( √  ̂   + ∈) (Update parameters)
                                                          
                                                     
                                    end while
                                    return θt (Resulting parameters for the Deep Neural Network)

                            Batch size: This hyper-parameter defines the number of examples that are going
                              to  be propagated in a  forward/backward iteration. A  fine  tuned  batch  size  can
                              support schemes of less memory and faster training. However, it can reduce the
                              accuracy of the gradient estimation.
                            Epochs: One epoch is a forward pass and one backward pass of all the training
                              examples of the training data set. The analyst monitors each epoch and analyzes
                              how the training process is evolving. Note that in each epoch the training and
                              validation  data  should  be  shuffled  to  improve  the  generalization  of  the  neural
                              network.
                            Hyperparameters:  Depending  on  the  algorithm  and  the  framework  used  there
                              exist values that should be tuned. Learning rates of the optimizer are usually an
                              important  hyper-parameters  to  find.  CNNs  may  involve  other  hyperparameters
                              such  as  filter  windows,  dropout  rates,  and  the  size  of  the  mini-batches.  These
                              hyper-parameters  can  be  different  for  each  layer.  For  example,  the  following
                              hyper-parameters can be relevant for a CNN: Number of Filters (K), F: filter size
                              (FxF),  Stride  (S),  and  the  amount  of  padding  (P).  Techniques  can  be  used  in
                              order  to  optimize  the  tuning  process  and  avoid  trial  and  error  efforts.  These
                              techniques  can  involve  models  from  Operations  Research,  evolutionary
                              algorithms, Bayesian schemes, and heuristic searches.

                          The training process will end when one finds a good accuracy between the model
                       outputs and the known output classes. In this project, an accuracy over 98% for a CNN
                       developed for Colombian traffic signals was achieved. This is a very good value taking
                       into consideration that humans are in the 98.32% accuracy range. The training process
                       requires sophisticated  computational power. It is essential to have access to high-level
                       computing resources or cloud services providers like Amazon (https://aws.amazon.com/),
                       IBM  Bluemix  (https://www.ibm.com/cloud-computing/bluemix/)  or  Microsoft  Azure
                       (https://azure.microsoft.com/).


                       Testing the Model

                          The  last  step  is  to  prove  that  the  neural  network  model  works  in  other  situations
                       which are different than the data that was used to train and validate the model. It is very
                       important to use data that has not been used in the process of training and validation. For
                       example, we developed a CNN with Colombian Traffic signals and obtained a moderate
   80   81   82   83   84   85   86   87   88   89   90