ECE 5973-961/983: Artificial Neural Networks and Applications

Artificial neural networks was introduced in the 50’s of the last century. However, in the last decade, there has been strong resurgence of neural networks as processing techniques where they have been applied to many real-world problems. This leads to numerous breakthroughs on image, video, and natural language processing applications.

This course is aimed to be quite hands-on and should provide students with sufficient details for them to quickly apply to their own research. In particular, applications relating to computer vision and natural language processing will be discussed. There may be some math but we will not spend too much time going into proofs. Instead, we may try to go through (not exhaustively) some of the free libraries such as Caffe and Torch. And you are definitely encouraged to explore and leverage them for your course project.


  • Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press.

It is not required but is a very good reference.


  • Please sign up Piazza here


Some Deep Learning Toolboxes and Libraries

  • Tensorflow: From Google, probably most popular package. Not quite optimized for single PC

  • Caffe2: From Facebook

  • Caffe: From Berkeley

  • Torch 7: From NYU, and used by Facebook/Twitter

  • PyTorch: The Python version of Torch

  • Theano: From Bengio's group in Montreal

  • Keras: High-level layer on top of Theano/Tensorflow

  • Lasagne: High-level layer on top of Theano

  • matconvnet: From Oxford, kind of restricted

  • mxnet: From Amazon

  • Neon: From Intel

  • Deeplearning4j

Office Hours

There are no “regular” office hours. And you are welcome to come catch me anytime or contact me through emails.

Course Syllabus (Tentative)

  • Overview of machine learning

  • History of artificial neural networks

  • Perceptrons

  • Backpropagation algorithms

  • Regularization and dropout

  • Weight initialization

  • Optimization methods

  • Convolutional neural networks (CNN)

  • R-CNN, faster R-CNN

  • Weight visualization, Deep visualization, t-SNE, deepdream

  • Recurrent neural networks

  • LSTM networks

  • Attention networks

  • Restricted boltzmann machines

  • Autoencoders

  • Deep belief networks


Homework: 20%. Written and programming assignments

Presentation: 20%. Including presentation abstract and peer reviews.

Midterm: 20%.

Final Project: 40%. Including project proposal and progress report.

In-class participation and quizzes (extra credits): 20%.

Final grade:

  • A: above 90%

  • B: above 80% but not more than 90%

  • C: above 70% but not more than 80%

  • D: above 60% but not more than 70%

  • F: not more than 60%


Calculus (MATH 1914 or equivalent), linear algebra (MATH 3333 or equivalent), basic probability (MATH 4733 or equivalent), and intermediate programming skill (experience on Python/Numpy is preferred)

Note that we will “borrow” programming assignment from Stanford 231n. So ability to program in Python is expected. Python is not difficult if you are familiar with any other high level general programming languages such as C/C++/C#/Java/Javascript/Perl/Matlab etc. If you don't know anything about Python, I would recommend you to try out this app.

Late Policy

  • There will be 5% deduction per each late day for all submissions

  • The deduction will be saturated after 10 days. So you will get half of your marks even if you are super late

Reasonable Accommodation Policy

Any student in this course who has a disability that may prevent the full demonstration of his or her abilities should contact me personally as soon as possible so we can discuss accommodations necessary to ensure full participation and facilitate your educational opportunities.

Should you need modifications or adjustments to your course requirements because of documented pregnancy-related or childbirth-related issues, please contact me as soon as possible to discuss. Generally, modifications will be made where medically necessary and similar in scope to accommodations based on temporary disability. Please see this for commonly asked questions.

Title IX Resources

For any concerns regarding gender-based discrimination, sexual harassment, sexual misconduct, stalking, or intimate partner violence, the University offers a variety of resources, including advocates on-call 24.7, counseling services, mutual no contact orders, scheduling adjustments and disciplinary sanctions against the perpetrator. Please contact the Sexual Misconduct Office 405-325-2215 (8-5, M-F) or OU Advocates 405-615-0013 (24.7) to learn more or to report an incident.


Topics Materials Further reading/watching
1/26 Course overview, Introduction to AI and machine learning (video) overview Andrew Ng: Artificial Intelligence is the New Electricity, better and bitter lessons of AI
1/28 More on machine learning and introduction to ANN (video)
2/02 Linear regression (video) classification and regressionregression notebook
2/04 Ridge regression, Lasso, logistic regression, cross-entropy, softmax (video) neural networks Iterative soft thresholding
2/09 SVM, Lagrange multiplier (video) SVM explained
2/11 kernel SVM (video)
2/16 Cancelled due to weather condition
2/18 PCA (video)
2/23 Kernel PCA (video)
2/25 Back-propagation (video) More back-prop, activation functions (video)
3/02 Back-propagation on softmax + cross-entropy loss, activation functions (video) dropout, batch normalization, optimizer comparison notebook
3/04 Weight initialization, batch normalization, and dropout (video)
3/09 GeLU, Optimizers, BFGS, LBFGS (video)
3/11 Convolutional neural networks, CNN architectures, GoogleNet (video) cnn, CNN applications neocognition
3/16 Artificial neural networks in cancer research, ResNet, 1x1 bottleneck layer, transfer learning (video)
3/18 Symbolic regression with deep learning, introduction for transformers model for machine translation, ResNet demo with PyTorch and tensorboard (video)
3/23 Classification of virus genomic sequencesin metagenomic data, Deep-learned Super-Resolution - Introduction and Survey
3/25 A look into Convolutional Neural Networks and their Applications with Disabilities, Tensorflow Object Detection API
3/30 Computer vision applications with CNNs (video)
4/01 t-SNE, visualizing CNN layers, CNNs and arts (video) Visualizing CNN
4/06 Instructional Holiday
4/08 Self-supervised learning, Recurrent neural networks (RNNs), long short-term memory (LSTM) (video) RNN Pretext tasks, ClusterFit and PIRL
4/13 Midterm
4/15 RNN applications, image captioning, echo-state networks (video) Echo state networks in Python
4/20 Word2vec, GloVe, attention model (video)Attention and transformers attention is all you need
4/22 Transformers, GPT, BERT, capsule networks (video) capsule networks
4/27 EM routing for capsule networks, generative adversarial network (GAN) (video) Generative networks, NTM
4/29 Tricks on improve GANs, graph neural networks deep reinforcement learning AlphaGo Zero