Teaching Machine Learning in ECE
The data revolution has added a new dimension to virtually all fields of scientific endeavor. Fueled by tiny and smart computing devices that continuously monitor and record physical phenomena, inexpensive memory, powerful computers, and the digitization of all kinds of data – we’re still in the early years of this new reality, called by some the fourth industrial revolution.
ECE faculty and students are using machine learning techniques in their research to improve large-scale testing of cancer drugs, or to enable energy-efficient, ubiquitous connectivity for the Internet of Things.
“As engineering has more and more impact on human lives, it has become essential to bring the humanities and social sciences into engineering,” said Alfred O. Hero, the John H. Holland Distinguished University Professor of EECS and first co-director of the Michigan Institute for Data Science (MIDAS), created in 2015 to help bring data to life.
Machine learning has been embraced by a multitude of disciplines which are adapting it to their unique purposes. Simply put, machine learning uses algorithms that can automatically learn how to detect meaningful patterns in data. Constructing the correct algorithm for the application and, perhaps even more important, ensuring its robustness, has led to machine learning evolving from a method to an entire field of study.
Students are clamoring to be trained in this hot new area that has been fully embraced by industry. In response, ECE faculty at Michigan have expanded the curriculum in machine learning while devoting their own expertise in both physical and computational systems to provide a more mathematical foundation for machine learning.
“Faculty in ECE have special tools that researchers in other foundational fields contributing to artificial intelligence don’t have,” said Hero.
Along with the expansion of machine learning in the curriculum at Michigan, students are getting a healthy dose of how issues of equity must be considered in their approach to machine learning and data science.
When you’re training students today in machine learning, you need to train them to be aware of social impact.
Prof. Al Hero
“Machine learning and data science are permeating literally every aspect of science, industry, and government,” said Prof. Laura Balzano, director of the Signal Processing Algorithm Design and Analysis (SPADA) group. “Our hope is that electrical and computer engineers can be a part of this revolution to both continually improve the technologies, as well as make sure they are being used fairly and justly for the benefit of everyone. That means designing new methods that are fair to women and men, people of all races, etc., as well as tackling challenging problems that affect the lives of many, like predicting immediate and long-term effects of climate change. Electrical and computer engineers have the mathematical tools to make progress on these important problems, and the courses we are developing will train them to use those skills for improving machine learning.”
Following is a review of several ECE courses that have been recently introduced into the curriculum, both at the undergraduate and graduate levels. Collectively, Michigan now offers more than ten regular courses in machine learning, and several others that have been taught as special topics courses.
I. Core courses in ML for UG and graduate ECE students
EECS 453: Principles of Machine Learning
The Department of Electrical Engineering and Computer Science (EECS) has offered an undergraduate course in machine learning (EECS 445: Introduction to Machine Learning) for nearly a decade, and it’s been taught almost exclusively by faculty in computer science (the EECS Department is essentially a coalition between two independent divisions led by their own Chairs: Electrical & Computer Engineering, and Computer Science & Engineering).
In 2021, an upper-level undergraduate course in machine learning designed specifically for ECE students was developed by a team of three faculty members: Laura Balzano, Qing Qu (lead), and Lei Ying. This new course, Principles of Machine Learning, will be giving the permanent number of 453 beginning in 2023. While 445 and 453 are similar in content, there are important differences.
Data-driven and learning-based methods are transforming every discipline of engineering and science. It’s a good time to develop some machine learning courses especially for ECE students.
Prof. Qing Qu
“Our course has a greater emphasis on mathematical principles and solid foundations, while EECS 445 is heavier in programming,” said Qu, who will teach the course for the second time this fall. “That’s because our students, especially those in the signal processing track, have a greater interest and foundation in the mathematics of machine learning, specifically linear algebra and probability.”
Another benefit of the new ECE-centric course is it will be easily accessible to ECE students.
Similar to the situation at Michigan prior to 2021, Qu had a hard time enrolling in a machine learning course as an undergraduate student because of having to compete with the extremely high number of computer science students. He finally resorted to auditing a course. And later, when he was finally able to take a ML course as a graduate student, he felt the course was too heavy in programming.
“Data-driven and learning-based methods are transforming every discipline of engineering and science,” said Qu. “Almost everyone needs to learn machine learning. It’s a good time to develop some machine learning courses especially for ECE students.”
Alex Ritchie, who served as a graduate student instructor (GSI) in the ECE course, says a formal education in machine learning is essential to make sure it doesn’t get misused.
“There have been a lot of situations where people have tried to apply machine learning and maybe it wasn’t appropriate or maybe the person applying it didn’t know exactly what they were doing or how to think critically about the results that they were getting – and so it ended up hurting people,” said Ritchie.
EECS 553: Machine learning (ECE)
Mirroring what’s happening with the introductory undergraduate course in ML, a new graduate level course, EECS 553: Machine Learning (ECE) will be offered for the first time this Fall 2022. EECS 553 is the ECE version of an existing course that goes back to at least 2002; both ECE and CSE faculty have taken turns teaching the course since 2007.
According to Hero, who co-taught the course last term with Prof. Clay Scott, the major difference between the ECE and CSE versions of the course is that the ECE version will have a greater emphasis on the mathematical foundations for machine learning, whereas the CSE version will continue to be more oriented towards implementation and programming.
“The difference in emphasis takes into account the preferences of the students who are going to flock to those courses,” said Hero.
For example, Jack Weitze (currently an ECE graduate student) opted to take the course in 2020 while still an undergraduate student in electrical engineering. In addition to the logistical problem of enrolling in a course popular with computer science students, he preferred a more math-centric approach to better prepare himself for research in the area.
He also greatly appreciated the literature reviews that had been recently incorporated into the ECE version of the course.
“Other classes might have you read one paper, but the literature review was unique,” said Weitze. “You’re reading 5-6 papers about a specific area of research. To be able to read and then communicate the results, that’s an important skill, especially in machine learning, where a lot of the work happens close to the research. In industry, you still have to keep up with the research.”
As GSI for the course in 2021, Weitze assisted more than 250 students from numerous different departments who were taking the course.
Faculty teaching EECS 553 will place even more emphasis on the impact of machine learning on society. With most major tech companies launching AI research centers, Hero says we’re in a new era of machine learning.
“When you’re training students today in machine learning, you need to train them to be aware of social impact,” said Hero. “Our course topics include ethical machine learning that covers fairness, transparency, and bias, and the literature review is intended to push students to think critically about this issue as well.”
II. Teaching computational skills to everyone
EECS 298, 505, and 605
Prof. Raj Nadakuditi took the road less traveled when he created EECS 505: Computational Data Science and Machine Learning back in 2018. He created the class with a vision to it being open to all majors within the University, and he succeeded immediately. The course typically attracts more than 200 students, and has represented more than 45 departments and majors in a single term.
“We have seen success stories in data science every hour, every minute,” said Nadakuditi. “We want to give students in the class the mathematics and methods behind these successes. Anyone who is interested in developing algorithms or finding patterns in data is welcome.”
It helps for students to have some programming experience, but it’s not required.
Our hope is that the students will take what they’ve learned, port it into their own application domain, and be the first person to do what no one else in their area has done before.
Prof. Raj Nadakuditi
Allegra Hawkins, a former graduate student in Cancer Biology and Bioinformatics, took the class because she was interested in using machine learning to predict drug responses and find more individualized therapeutic options for patients.
“Our hope is that the students will take what they’ve learned, port it into their own application domain, and be the first person to do what no one else in their area has done before,” said Nadakuditi.
Nadakuditi uses his patented digital textbook, called Pathbird, for this and all of his computational courses, including an online course he developed shortly after EECS 505.
Called Computational Machine Learning for Scientists and Engineers, this course was developed with the practicing professional in mind who may not have had the opportunity to take a machine learning course during their student days. However, after a young high school student successfully completed the course, Nadakuditi was inspired to bring machine learning to even younger students at Michigan.
The result was the sophomore-level course EECS 298: Introduction to Applied Computational Machine Learning, first taught Fall 2021.
Julia Stowe took EECS 298 as a sophomore majoring in Industrial and Operations Engineering, knowing she’d be taking the course alongside friends majoring in EECS or Data Science who probably had more experience in programming. She was pleasantly surprised to find it was easy to understand, had lots of interesting practical applications, and later, to discover that it was relevant to her own coursework.
“Industrial engineering is a lot of optimization and efficiency and that’s basically the whole purpose of machine learning,” said Stowe. “We’re learning about databases in one of my classes,” she added, “and my Professor was like – ‘Oh, this is really relevant once you get to machine learning, because the way that you’re going to connect these data tables you’ll want to use artificial intelligence or machine learning.’”
Nadakuditi next created a course targeted at the master’s students in the department’s newly launched Master of Engineering program focused on Data Science and Machine Learning. This is a degree for students who know they want to go directly into industry, and know which area they want to study. The course is EECS 605: Data Science and Machine Learning Design Laboratory.
“The goal of this course is to have a portfolio of machine learning projects that they can showcase to their recruiters on their website,” said Nadakuditi.
Students will leave the course with a minimum of two showcase projects. The first project will be posted to the web, where they can showcase to recruiters that they know how to do the entire machine learning pipeline. The second project will be implemented on a device, such as Amazon’s deep lens devices.
Nadakuditi is constantly adapting EECS 298, 505, and 605 in light of the changing educational landscape throughout the university to ensure they offer unique value to the students.
III. Specialty Graduate Courses and more
ECE also offers a number of more specialized courses related to machine learning. Included in these is the newly-developed course EECS 602: Reinforcement Learning Theory, taught by Prof. Lei Ying.
“Reinforcement learning is a very hot area in terms of machine learning,” said Ying. “It’s different from some of the traditional machine learning topics and looks at sequential decision making in engineering systems.”
The course complements the existing curriculum in machine learning, stochastic control, and communication networks.
Like several of the other machine learning courses in ECE, EECS 602 is attracting attention throughout the College of Engineering and University. The first year it was offered, in 2020, students from 19 different disciplines took the course, and it is expected to attract an even greater variety in the future.
Teams for the final project must include students from at least two different departments, and that makes for some interesting projects, said Ying. In one project, the students tried to design a strategy for how to avoid being smashed by other trucks in an arena. In another project, students wanted to control low earth orbit satellites.
“Almost every company is looking for machine learning and data mining professionals, not just software companies like Google or Facebook,” said Ying.
In addition to new courses being developed, ECE faculty are weaving machine learning into existing courses. For example, about 25% of the lectures in the undergraduate course, EECS 452: Digital Signal Processing Design Laboratory, have been devoted to machine learning this term.
“We did this in response to the number of students that are interested in doing projects involving data driven decision making,” said Hero, who is teaching the course.
And here’s a summary of additional graduate-level courses either directly related to machine learning, or with strong machine learning components:
- EECS 542: Advanced Topics in Computer Vision
- EECS 551: Matrix Methods for Signal Processing, Data Analysis and Machine Learning
- EECS 544: Analysis of Societal Networks
- EECS 559: Optimization Methods in Signal Processing and Machine Learning
- EECS 564: Estimation, Filtering, and Detection
Too new to have a unique number and/or not taught frequently
- EECS 598: Random Graphs
- EECS 598: Randomized Numerical Linear Algebra in Machine Learning
- EECS 598: VLSI for Communications and Machine Learning
IV. Forever changed
Machine learning has changed how the world approaches data, and the educational landscape along with it. At Michigan, young undergraduate students from a wide range of disciplines can get an introduction to the field that will help them solve problems in their own coursework, while more senior students can get more formal training with a mathematical bent.
Graduate students throughout the university can acquire an ECE-centric introduction to machine learning, and/or also delve more deeply into many facets of machine learning through a wide variety of specialized courses.
“I think that the future lies in expanding our vision in all our courses, so that we are teaching students the value of data,” said Hero.