Instructor

Dr. Edgar Lobaton

Dr. Edgar J. Lobaton

Electrical and Computer Engineering

Phone: 919-515-5151
Fax: 919-515-5523
Email: ejlobato@ncsu.edu
Instructor Website
Research Website

ECE 542 Neural Networks

3 Credit Hours

(also offered as CSC 591-601)

Recent development on computer hardware as well the existence of large datasets have fueled the development of new neural network and deep learning techniques which have demonstrated some of the best performance in machine learning tasks. This course provides an introduction to artificial neural networks, recurring neural networks, deep learning, and convolutional neural networks.

Prerequisite

Linear Algebra (MA 405 or equivalent), Probability and Statistics (ST371, MA421 or equivalent). The course will use elementary matrix algebra, includes matrix/vector multiplication, matrix inverses, matrix description of the solution to linear equations, eigenvalues and eigenvectors. The course will use elementary probability theory: means, variance, covariance, expected values/moments of linear functions, stationarity. Programming experience in object-oriented languages is needed (e.g., C++ or Python). We will make use of various libraries in Python.

Course Objectives

Upon completion of the course, the student will be able to:

  1. Explain the basic concepts behind Neural Networks including training methodologies using backpropagation, and the universal approximation theorem
  2. Explain the basic concepts associated with the various network structures / models including Convolutional Neural Networks (CNNs), Recurring Neural Networks (RNNs), Restricted Boltzmann Machines (RBMs), Generative Adversarial Networks (GANs), and others.
  3. Implement Neural Networks using state-of-the-art software libraries
  4. Tune Neural Networks

Course Requirements

AssignmentWeight
Homework
30%
Quizzes
30%
Projects40%

Homework will be submitted via Moodle or uploaded to a shared drive..

Textbook

Deep Learning, I. Goodfellow, Y. Bengio and A. Courville, MIT Press, 2016, ISBN 9780262035613

 

Computer and Internet Requirements

Most assignments will need require the use of Open-Source libraries in Python. The student is responsible for getting access to computer resources powerful enough to complete the assignments. One option is to access remote resources at NCSU via the Virtual Computing Lab (VCL) at: http://vcl.ncsu.edu/. Additionally, free trial periods exist for students using cloud resources such as IBM Cloud, Amazon Web Services (AWS) and Google Cloud.

 

Approved: 10/17/2019