implementation of a parallel batch training
play

IMPLEMENTATION OF A PARALLEL BATCH TRAINING ALGORITHM FOR DEEP - PowerPoint PPT Presentation

IMPLEMENTATION OF A PARALLEL BATCH TRAINING ALGORITHM FOR DEEP NEURAL NETWORK YUPING LIN IFLYTEK LABORATORY FOR NEURAL COMPUTING FOR MACHINE LEARNING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE YORK UNIVERSITY, TORONTO NOVEMBER


  1. IMPLEMENTATION OF A PARALLEL BATCH TRAINING ALGORITHM FOR DEEP NEURAL NETWORK YUPING LIN IFLYTEK LABORATORY FOR NEURAL COMPUTING FOR MACHINE LEARNING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE YORK UNIVERSITY, TORONTO NOVEMBER 10, 2015 1

  2. OUTLINE Review  Neural Network Representation  Sequential Trainer  Concurrent Trainer  Dividing tasks  Collecting statistics  Using monitor  Using thread pool  Testing  Future Work  2

  3. REVIEW -- NEURAL NETWORK TRAINING output Forward phase  (𝑚+1) = 𝐺 𝑗 𝑥 𝑗𝑘 ∙ 𝑎 𝑗 𝑚 + 𝑐  𝑎 𝑘 𝑘 Where 𝐺 𝑦 is the nonlinear activation function input 3

  4. REVIEW -- NEURAL NETWORK TRAINING Error back propagation  (𝑝𝑣𝑢) = 𝑎 𝑙 (𝑝𝑣𝑢) − 𝑈 (𝑝𝑣𝑢)  𝜀 𝑙 𝑙 output (𝑚) = 𝐺 ′ 𝑎 𝑗 𝑚 𝑚+1  ∙ 𝑘 𝑥 𝑗𝑘 ∙ 𝜀 𝜀 𝑗 𝑘 Where 𝐺′ 𝑦 is the derivative of the activation function  𝑈 is the desired output vector  Weight updating  (𝑚) ∙ 𝜀 (𝑚+1)  ∆𝑥 𝑗𝑘 = 𝑎 𝑗 𝑘  𝑥 𝑗𝑘 = 𝑥 𝑗𝑘 − 𝛿 ∙ ∆𝑥 𝑗𝑘 Where 𝛿 is the learning rate  input 4

  5. REVIEW -- SEQUENTIAL TRAINING VS. CONCURRENT TRAINING Send train data VS. Master Worker Worker Worker trainer … trainer trainer trainer trainer Weight Weight Collect statistics update update 5 Sequential training Concurrent training

  6. BROAD VIEW OF THE IMPLEMENTATION There are 3 major components in our implementation:  The neural network representation : package of classes that form a neural network.  Sequential trainers : classes that implement the sequential training algorithm.  Concurrent trainers : classes that implement the concurrent training algorithm.  6

  7. NEURAL NETWORK REPRESENTATION 7

  8. NEURAL NETWORK REPRESENTATION Main class that represents a multi-layer  perceptron. Has attributes representing the components  of a neural network. Weights  Biases  Activation Functions  8

  9. NEURAL NETWORK REPRESENTATION Represents a weight matrix  Support forward/backward multiplications  9

  10. THE SEQUENTIAL TRAINER 10

  11. THE SEQUENTIAL TRAINER Divide training into 3 layers:  train() for the whole training process  trainEpoch() for the training of each epoch  trainBatch() for the training of each mini-batch  11

  12. THE CONCURRENT TRAINER 12

  13. THE CONCURRENT TRAINER Similar to the sequential trainer.  Keep references to the monitor object and  a thread pool. Concurrency occur within the trainBatch()  method. 13

  14. THE CONCURRENT TRAINER -- DIVIDING TASKS Implements the java.lang.Runnable  interface Represents a training task for worker thread.  Keep references to the monitor object and  the global shared variables for update statistics. 14

  15. THE CONCURRENT TRAINER -- COLLECTING STATISTICS The update statistics are accumulated locally within each task.  Then update in the shared global variables concurrently upon finish of the task.  Need synchronization: synchronized blocks, compare and set etc.  15

  16. THE CONCURRENT TRAINER -- USING MONITOR 16

  17. THE CONCURRENT TRAINER -- USING THREAD POOL Repeatedly creating and destroying threads can waste a lot of resource and time.  Can pre-define a fixed size thread pool to avoid this problem.  17

  18. TESTING The concurrent training algorithm only parallelizes the computations over data samples within  each mini-batch. The computed update statistics should be the same for both the sequential and concurrent  algorithms. Define the concurrent implementation as correct if the model trained by the concurrent trainer  is equivalent to the same model trained by the sequential trainer. Two models are considers equivalent if the differences between all their weights and biases  are within some small error 𝜁 . 18

  19. TESTING Have ran 100  comparison tests and all of them are considered equal. 19

  20. FUTURE WORK Run the sequential and the concurrent algorithm on a multicore machine to see how much  training time can be reduced by using the concurrent algorithm. 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend