100 likes | 114 Views
Dynamic Neural Networks. Joseph E. Gonzalez Co-director of the RISE Lab jegonzal@cs.berkeley.edu. What is the Problem Being Solved?. Neural network computation increasing rapidly Larger networks are needed for peak accuracy Big Ideas: Adaptively scale computation for a given task
E N D
Dynamic Neural Networks Joseph E. Gonzalez Co-director of the RISE Labjegonzal@cs.berkeley.edu
What is the Problem Being Solved? • Neural network computation increasing rapidly • Larger networks are needed for peak accuracy • Big Ideas: • Adaptively scale computation for a given task • Select only the parts of the network needed for a given input
Early Work: Prediction Cascades • Viola-Jones Object Detection Framework (2001): • “Rapid Object Detection using a Boosted Cascade of Simple Features” CVPR’01 • Face detection on 384x288 at 15 fps (700MHz Pentium III) Most parts of the image don’t contain a face. Reject those regions quickly.
for fast and accurate inference Dynamic Networks • IDK Cascades: Using the fastest model possible [UAI’18] SkipNet: dynamic execution within a model [ECCV’18] Skipped Blocks Query Prediction Conv Conv Conv Conv Gate Conv Conv Gate Conv FC
Task Aware Feature Embeddings[CVPR’19] FF Net FF Net FF Net Baby Feature Network Emb. Network Task Aware Meta-Learner Params x Params x Params x More accurate and efficient than existing dynamic pruning networks FC Layer FC Layer FC Layer
Dynamic Networks Task Aware Feature Embeddings[CVPR’19] FF Net FF Net FF Net Yes Feature Network Emb. Network Task Aware Meta-Learner Params x Params x Params x Task Description: 4 - 15% improvement on attribute-object tasks “Smiling Baby” FC Layer FC Layer FC Layer
Neural Modular Networks Jacob Andreas et al., “Deep Compositional Question Answering with Neural Module Networks”
Trends Today • Multi-task Learning to solve many problems • Zero-shot learning • Adjust network architecture for a given query • Neural Modular Networks • Capsule Networks • Language models … more on this in future lectures • Why are these dynamic? How does computation change with input?
Dynamic Networks Systems Issues • Reduce computation but do they reduce runtime? • Limitations in existing evaluations? • Implications on hardware executions? • Challenges in expressing dynamic computation graphs… • Likely to be the future of network design? • Modularity …