Fundamentals of Deep Learning

Course Number: SC20

Tuesday 28 January • 8:30 – 12:45
Length: 4 hours
Level: Intermediate
Instructor:  Raymond Ptucha, Rochester Institute of Technology

Learning Outcomes
This course enables the attendee to:

  • Become familiar with deep learning concepts and applications.
  • Understand how deep learning methods work, specifically convolutional neural networks and recurrent neural networks.
  • Gain hands-on experience in building, testing, and improving the performance of deep networks using popular open-source utilities.

Deep learning has been revolutionizing the machine learning community winning numerous competitions in computer vision and pattern recognition. Success in this space spans many domains including object detection, classification, speech recognition, natural language processing, action recognition, and scene understanding. In many cases, results surpass the abilities of humans. Activity in this space is pervasive, ranging from academic institutions to small startups to large corporations. This short course encompasses the two hottest deep learning fields: convolutional neural networks (CNNs) and recurrent neural networks (RNNs), and then gives attendees hands-on training on how to build custom models using popular open-source deep learning frameworks. CNNs are end-to-end, learning low-level visual features and classifiers simultaneously in a supervised fashion, giving a substantial advantage over methods using independently solved features and classifiers. RNNs inject temporal feedback into neural networks. The best performing RNN framework, Long Short Term Memory modules, is able to both remember long term sequences and forget more recent events. This short course describes what deep networks are, how they evolved over the years, and how they differ from competing technologies. Examples are given demonstrating their widespread usage in imaging, and as this technology is described, indicating their effectiveness in many applications such as autonomous driving.

There is an abundance of approaches to getting started with deep learning, ranging from writing C++ code to editing text with the use of popular frameworks. After understanding how these networks are able to learn complex systems, a hands-on portion provided by NVIDIA’s Deep Learning Institute, we demonstrate usage with popular open-source utilities to build state-of-the-art models. An overview of popular network configurations and how to use them with frameworks are discussed. The session concludes with tips and techniques for creating and training deep neural networks to perform classification on imagery, assessing the performance of a trained network, and modifications for improved performance.

Intended Audience
Engineers, scientists, students, and managers interested in acquiring a broad understanding of deep learning. Prior familiarity with the basics of machine learning and a scripting language is helpful.

Raymond Ptucha is an associate professor in computer engineering and director of the Machine Intelligence Laboratory at Rochester Institute of Technology.  His research includes machine learning, computer vision, and robotics, with a specialization in deep learning.  Ptucha was a research scientist with Eastman Kodak Company where he worked on computational imaging algorithms and was awarded 32 U.S. patents. He graduated from SUNY/Buffalo with a B.S. in computer science and a B.S. in electrical engineering. He earned a M.S. in image science from RIT. He earned a Ph.D. in computer science from RIT (2013). Ray was awarded an NSF Graduate Research Fellowship (2010) and his Ph.D. research earned the 2014 Best RIT Doctoral Dissertation Award.  Ptucha is a passionate supporter of STEM education, an NVIDIA certified Deep Learning Institute instructor, Chair of the Rochester area IEEE Signal Processing Society, and an active member of his local IEEE chapter and FIRST robotics organizations.

1/28/2020 8:30 AM - 1/28/2020 12:45 PM