CS295: Modern Systems: Application Case Study Neural Network Accelerator Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech “Designing.

Slides:



Advertisements
Similar presentations
A brief review of non-neural-network approaches to deep learning
Advertisements

ImageNet Classification with Deep Convolutional Neural Networks
Artificial Neural Networks
Building high-level features using large-scale unsupervised learning Anh Nguyen, Bay-yuan Hsu CS290D – Data Mining (Spring 2014) University of California,
Deep Convolutional Nets
ImageNet Classification with Deep Convolutional Neural Networks Presenter: Weicong Chen.
Object Recognizing. Deep Learning Success in 2012 DeepNet and speech processing.
Convolutional Neural Network
Deep Learning Overview Sources: workshop-tutorial-final.pdf
Lecture 3a Analysis of training of NN
Xintao Wu University of Arkansas Introduction to Deep Learning 1.
Convolutional Neural Networks
Deep Learning and Its Application to Signal and Image Processing and Analysis Class III - Fall 2016 Tammy Riklin Raviv, Electrical and Computer Engineering.
Deep Residual Learning for Image Recognition
Analysis of Sparse Convolutional Neural Networks
Demo.
The Relationship between Deep Learning and Brain Function
CS 6501: 3D Reconstruction and Understanding Convolutional Neural Networks Connelly Barnes.
Machine Learning for Big Data
Compact Bilinear Pooling
Data Mining, Neural Network and Genetic Programming
Data Mining, Neural Network and Genetic Programming
Computer Science and Engineering, Seoul National University
DeepCount Mark Lenson.
Convolutional Neural Fabrics by Shreyas Saxena, Jakob Verbeek
The Problem: Classification
Principal Solutions AWS Deep Learning
Matt Gormley Lecture 16 October 24, 2016
Lecture 24: Convolutional neural networks
Deep Learning Hung-yi Lee 李宏毅.
Inception and Residual Architecture in Deep Convolutional Networks
ECE 6504 Deep Learning for Perception
Lecture 5 Smaller Network: CNN
Neural Networks 2 CS446 Machine Learning.
Training Techniques for Deep Neural Networks
CS6890 Deep Learning Weizhen Cai
Machine Learning: The Connectionist
Non-linear classifiers Neural networks
ECE 599/692 – Deep Learning Lecture 6 – CNN: The Variants
Layer-wise Performance Bottleneck Analysis of Deep Neural Networks
Machine Learning Today: Reading: Maria Florina Balcan
Introduction to Neural Networks
Image Classification.
Counting in Dense Crowds using Deep Learning
CS 4501: Introduction to Computer Vision Training Neural Networks II
Convolutional Neural Networks
Deep learning Introduction Classes of Deep Learning Networks
Very Deep Convolutional Networks for Large-Scale Image Recognition
Smart Robots, Drones, IoT
CSC 578 Neural Networks and Deep Learning
A Proposal Defense On Deep Residual Network For Face Recognition Presented By SAGAR MISHRA MECE
Neural Networks Geoff Hulten.
Neural Networks II Chen Gao Virginia Tech ECE-5424G / CS-5824
Deep Learning Some slides are from Prof. Andrew Ng of Stanford.
Image Classification & Training of Neural Networks
ImageNet Classification with Deep Convolutional Neural Networks
Inception-v4, Inception-ResNet and the Impact of
Heterogeneous convolutional neural networks for visual recognition
Course Recap and What’s Next?
Neural Networks II Chen Gao Virginia Tech ECE-5424G / CS-5824
CSC 578 Neural Networks and Deep Learning
CS295: Modern Systems: Application Case Study Neural Network Accelerator – 2 Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech.
Natalie Lang Tomer Malach
VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
Learning and Memorization
Deep learning: Recurrent Neural Networks CV192
CSC 578 Neural Networks and Deep Learning
Prabhas Chongstitvatana Chulalongkorn University
Principles of Back-Propagation
Overall Introduction for the Lecture
Presentation transcript:

CS295: Modern Systems: Application Case Study Neural Network Accelerator Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech “Designing CNN Accelerators”

Usefulness of Deep Neural Networks No need to further emphasize the obvious

Convolutional Neural Network for Image/Video Recognition

ImageNet Top-5 Classification Accuracy Over the Years 15 million images 1000 classes in the ImageNet challenge AlexNet, The Beginning “The first* fast** GPU-accelerated Deep Convolutional Neural Network to win an image recognition contest image-net.org “ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2017,” 2017

Convolutional Neural Networks Overview goldfish: 0.002% … … shark: 0.08% magpie: 0. 02% … Convolution Layer Convolution Layer Convolution Layer Fully Connected Layer Fully Connected Layer Fully Connected Layer Palace: 89% … Paper towel: 1.4% … Spatula: 0.001% … “Convolution” “Neural Network”

Training vs. Inference Training: Tuning parameters using training data Backpropagation using stochastic gradient descent is the most popular algorithm Training in data centers and distributing trained data is a common model* Because training algorithm changes rapidly, GPU cluster is the most popular hardware (Low demand for application-specific accelerators) Inference: Determining class of a new input data Using a trained model, determine class of a new input data Inference usually occurs close to clients Low-latency and power-efficiency is required (High demand for application specific accelerators)

Deep Neural Networks (“Fully Connected”*) Each layer may have a different number of neurons goldfish: 0.002% Palace: 89% Paper towel: 1.4% Spatula: 0.001% Chris Edwards, “Deep Learning Hunts for Signals Among the Noise,” Communications of the ACM, June 2018

An Artificial Neuron Effectively weight vector multiplied by input vector to obtain a scalar May apply activation function to output Adds non-linearity Sigmoid Rectified Linear Unit (ReLU) Jed Fox, “Neural Networks 101,” 2017

Convolution Layer Convolution layer Optional pooling layer 31 7 44 65 35 40 46 29 32 33 30 24 49 8 64 65 46 64

Convolution Example × = Convolution Input map Output map Filter 1 2 3 -2 -1 5 4 1 2 4 3 5 7 8 6 44 -1 44 × = Channel partial sum[0][0] = 1 x 0 + 2 x 1 + 3 x 0 + (-2) x 2 + 0 x 4 + (-1) x 3 + 5 x 5 + (-2) x 2 + 4 x 7 = 44 Channel partial sum[0][0] = 1 x 0 + 2 x 1 + 3 x 0 + (-2) x 2 + 0 x 4 + (-1) x 3 + 5 x 5 + (-2) x 2 + 4 x 7 = 44 Typically adds zero padding to source matrix to maintain dimensions

Multidimensional Convolution “Feature Map” usually has multiple layers An image has R, G, B layers, or “channels” One layer has many convolution filters, which create a multichannel output map Output feature map Input feature map 3x3x3 filter 1 2 3 -2 -1 5 4 × = Channels

Multiple Convolutions Filter 0 Output feature map 0 Input feature map Filter 1 Output feature map 1

Example Learned Convolution Filters Alex Krizhevsky et al., “ImageNet Classification with Deep Convolutional Neural Networks,” NIPS, 2012

Multidimensional Convolution Image found online. Original source unknown

Computation in the Convolution Layer for(n=0; n<N; n++) { // Input feature maps (IFMaps) for(m=0; m<M; m++) { // Weight Filters for(c=0; c<C; c++) { // IFMap/Weight Channels for(y=0; y<H; y++) { // Input feature map row for(x=0; x<H; x++) { // Input feature map column for(j=0; j<R; j++) { // Weight filter row for(i=0; i<R; i++) { // Weight filter column O[n][m][x][y] += W[m][c][i][j] * I[n][c][y+j][x+i]}}}}}}}

Pooling Layer Reduces size of the feature map Max pooling, Average pooling, … Max pooling example 31 7 44 65 35 40 46 29 32 33 30 24 49 8 64 65 46 64

Real Convolutional Neural Network -- AlexNet 96 11x11x3 kernels 256 5x5x48 384 3x3x128 … Simplified intuition: Higher order information at later layer Alex Krizhevsky et al., “ImageNet Classification with Deep Convolutional Neural Networks,” NIPS, 2012

Real Convolutional Neural Network -- VGG 16 Contains 138 million weights and 15.5G MACs to process one 224 × 224 input image Heuritech blog (https://blog.heuritech.com/2016/02/29/a-brief-report-of-the-heuritech-deep-learning-meetup-5/)

There are Many, Many Neural Networks GoogLeNet, ResNet, YOLO, … Share common building blocks, but look drastically different GoogLeNet (ImageNet 2014 winner) ResNet (ImageNet 2015 winner)