Artificial Intelligence: How to Upskill and Prepare Future Engineers
Overview
Artificial Intelligence (AI) is driving a massive change in the way engineers, scientists, and programmers develop and improve products and services. All engineering fields today use AI in one form or another, and many of today's industrial challenges call for engineers prepared to incorporate AI into their workflows. Find out how MathWorks tools empower engineers, including those with minimal AI experience, to develop better systems that use AI workflows. Additionally, we will discuss how to accelerate the incorporation of AI in engineering courses.
You will walk away from this session to understand better how a constant dialogue between industry and academia can prepare engineers for the AI megatrend.
Highlights
In this webinar you will learn how to:
- Use interactive documents to improve student engagement
- Use apps to empower your students to solve complex problems
- Leverage existing content created by experts
- Find project ideas for your students
About the Presenters
Gaby Arellano Bello is a senior customer success engineer at MathWorks. In this role, she partners with universities and colleges to understand their technical and business challenges, identify how MathWorks products can help address their challenges in education and research, and demonstrate the value of MATLAB and Simulink to grow their adoption in innovative curriculum and research projects. She obtained her undergraduate degree in mechanical engineering from the Experimental University of Táchira (Venezuela). She earned her master's degree in biological systems engineering from the University of Nebraska, where she worked as a research assistant.
María Elena Gavilán is a technical marketing manager for education and research at MathWorks. Maria uses her technical expertise to support projects that seek to increase the use and adoption of MATLAB and Simulink in academic and research institutions worldwide. María has extensive experience in numerical simulation projects in the automotive and aerospace industries, particularly in aerodynamics, aeroacoustics, and control systems. Maria also has previous industrial experience in computer vision. Her areas of interest currently focus on autonomous vehicles and flight dynamics and control. María received her undergraduate degree in physics from the National University of Colombia, her master’s degree in aerospace engineering from Purdue University, and her MBA from the University of Illinois.
Recorded: 22 Sep 2022
Hello, and welcome. Please let us know in the chat what brought you here today. We would love to hear from you. My name is Gaby Arellano-Bello, and I'm part of a large group of engineers and scientists that supports the academic community worldwide, and we do this by collaborating on innovative teaching and research projects. So Maria, would you like to introduce yourself?
Absolutely. Thanks, Gaby. Maria Gavilan. I'm a technical program manager here at MathWorks, supporting higher education and research, and I'm very happy to be here. Our presentation today is meant to be a conversation between industry and academia.
We will be playing two roles. I will focus on current practices and needs from industry, while Gaby will be representing the response and current practices in academia. We will be talking about the impact that AI is having in our lives, why our engineers need to be fluent in this technology trend, and how you as an educator can introduce this topic into your courses, leveraging existing resources.
All the topics we'll cover will be relevant for everyone, those who are new to AI or MATLAB and for those who already have experience on AI topics and tools. And remember that the Q&A tab is always open for your comments and questions about the topics we'll cover today.
I'd like to start this conversation with that situation that we may have experienced in our lives. Imagine we're watching a movie and suddenly there is a power outage. For us as consumers, it's rather disappointing and a bit frustrating. It's an inconvenience. But let's now think about the engineers from the electric utility company trying to ensure the power grid's stable. Some power outages occur due to the insufficient power resources, which is why it is important to plan in advance. Wouldn't it be great if engineering teams could forecast electricity?
Well, this was exactly the case of one of our customers in Guatemala. Engineers had to forecast demand across the entire country to increase grid stability and maximize power generated. What is key to this story is that they use artificial intelligence or AI to develop predictions hour by hour of the demand. Not only they were able to develop a solution using MATLAB, but they became proficient about the workflows and techniques even though they had no prior experience with AI.
To achieve this, engineers had to learn about regression techniques in a short period of time. They created a tool in MATLAB that uses deep learning and machine learning models to predict short-term electricity demand. Despite having no prior experience with AI, this small team of engineers completed the development in just six months. Now, this story is just one of many where we see the adoption of AI.
Energy production happens to be one of many key industries where we see the development of technologies or solutions closely related to AI. We see it on industries are very advanced and complex in nature, like aerospace and defense, all the way to industries that impact patients' quality of life, like developing medical devices. And integrating AI is a priority for companies today.
Consulting firms forecast how AI will create billions of in value in the next decade. Now, we would think that AI is reserved to these key industries. But in fact, we see artificial intelligence applied in many different places in our lives today. For example, there's more assistance, face recognition that tags our friends with our cameras on social media, automatic machine translation, and automated driving.
Across all these technologies, we see the AI make a trend, which dates back in the '50s with this concept of enabling machines to mimic human intelligence. Then in the late '80s, a subset we know today as machine learning started to blossom with this practice of using statistical methods and algorithms so machines can learn tasks from data. And in the last decade, we saw the emergence and another subset we know as deep learning, where we use neural networks inspired by our understanding of the biology of our brains and enable machines to learn tasks directly from data.
MathWorks has partnered with thousands of companies to take advantage of disruptive technologies like AI. Our platform that includes MATLAB, Simulink, and more than 100 add-on products enable companies to develop AI-enabled system. But also, our expertise from onboarding to implementation help our industry partners solve advanced engineering challenges. Also, we help prepare tomorrow's engineers.
In that sense, as we help build an agile workforce, I have a question for Gaby. What are some of the gaps between the skills of new engineers and what the industry requires when we talk about AI?
This is a very important question since these gaps informs us about what changes we need to make in the curriculum to make sure that our students are prepared for their careers. So let's take a look at some data. The ASEE, or American Society of Engineering Education, performed a survey in 2020 amongst new engineers, and the goal here was to identify the gaps between the skills that are acquired in an academic program and the workplace. And said report has different sections, which of course, includes technical skills.
And if we take a close look at AI, we see that over 3/4 of the engineers replied that they had very little preparation or no preparation at all in this area. And as Maria noted, nowadays AI is everywhere. So we want to train our students to be bilingual, learning both the domain knowledge and AI. And as educators, we need to find ways to quickly engage our students with AI without having to scrap the current curriculum and start from scratch. Chances are that you're going to be revamping the entire curriculum, and adding an additional course to the curriculum may not be possible.
So an approach that we have seen is a model of AI plus X, and the idea is to plug AI into existing domain specific courses in areas or applications like robotics, biomedicine, and image processing. And we don't need to make big changes here. We could do this by incorporating a few lectures on AI where we cover domain-specific applications.
We could assign pre-work in the form of existing tutorials, videos, and readings. And finally, we could have them work on specific problems or projects where the students could implement their learnings. So let's see how this looks in a few examples.
Dr. Marques used his image processing course to introduce his students to deep learning techniques, and he did this by covering these techniques in a few lectures using interactive documents or life scripts. He also assigns self-paced courses, like the Deep Learning Onramp, so students can learn at their own pace, receiving feedback as they advance in the course.
And at the end of the semester, the students work on a term project in topics like object detection, improving image resolution, or building a classification model. And the course materials were developed with MathWorks supports and are available for everyone to use.
And we can start incorporating these concepts using real world data as early as in the first year of engineering. In this introductory course, Dr. Muller challenges the students to produce an engineering quality correlation for the boiling point of organic substances using an unabridged data set of over 6,000 compounds. The exercise guides the students to perform the correlation with different variables, and they start with linear regression. Then they use multivariate fitting and finally artificial neural networks.
And they do this in about one hour of work with a quality fit that is comparable to available engineering correlations in the literature, which as you can imagine, is very satisfying for the students. And they come back asking for more material to expand their understanding of the topic. And Dr. Marques and Dr. Muller are some of the many structures that we collaborate with.
In fact, in the education team, meaning my colleagues and I, we work closely with academic institutions around the world, supporting quite diverse initiatives at different levels. These collaborations include the development of courseware in emerging areas like AI. And just like for our users in the industry, there is a dedicated team to support the academic community in the process of bridging the gap between academia and industry trends.
So Maria, speaking of trends in the industry, can you give us some examples about the types of engineers that are using AI in the workforce?
Sure. And here it is important to mention that AI is not meant to be just for those engineers who are experts doing programming or those who do only simulation work. Currently, in industry, everyone in an engineering team should be acquainted with how and when AI techniques can streamline development and deployment.
For instance, rather than designing just one robotic arm, we would need to think about a complete assembly line with hundreds of robotic arms. If one of them fails, the entire assembly line must be stopped. Here is where machine learning and specifically predictive maintenance can be powerful.
Or let's imagine how doctors and biomedical engineers can have more certainty when they try to find tumor tissue when doing medical imaging. Deep learning will be a great way to classify complex images. Even in fields like civil engineering, where trying to dig a tunnel in a more efficient way can heavily rely on analysis and classification of pictures taken through the rocks while doing perforation. We can say with high level of confidence that across all engineering fields, we now see AI applications.
Let's get into the specifics of this. When I talk about AI within a system design workflow, a simplified view results in four main stages. First, data preparation, then algorithms and modeling. We will move to simulation and test and finally deployment into the field.
To successfully apply AI, it's important to think about where it is going to be used in an overall system. In other words, a successful AI implementation goes beyond just the development of the model. It requires looking at how an AI model fits in the end to end workflow of an entire system. And MATLAB and Simulink enable engineers to work on this entire workflow, not just the modeling section.
Drilling down on each of these sections reveals many workflows that will need to be performed. In the case of our initial example to forecast electricity demand, we will need to access and clean the load and weather data, then develop machine learning and deep learning models that would then test with new data before deployment. And finally, in our example, the deployment to the enterprise will happen with an app. Each of these stages have their own challenges, so next, I'll go through this in some detail.
But now let's consider a system that has additional complexities. Designing and implementing the systems that will enable a car or a truck to drive autonomously. Here, the bakery driver lets autonomous driving take over. So how engineers will tackle the design process incorporating artificial intelligence.
First, we'll tackle data preparation. And this step really turns out to be one of the most critical ingredients to success. And it's really, really hard. This is because today, data comes from multiple sensors, multiple databases and file formats, and they can be noisy and have different time intervals.
This data need to be prepared for the next stage, and it's time consuming. And preprocessing includes other tasks like labeling data, which can be not only time consuming, but also error prone. This is a key step to ensure our data is ready for AI modeling.
So let's move on to that second step in the workflow, the one that perhaps gets the most attention, AI based algorithms and models. Of course, it is important to have direct access to the many algorithms used for classification and prediction from regression to deep networks to clustering. And there are a variety of prebuilt models developed by the broader community that you want to use, often as a starting point or for comparison purposes.
While algorithms and prebuilt models are a good start, it's not enough. Examples are the way engineers learn how to use algorithms and find the best approach for their specific problem, particularly reference examples, which are built for very specific engineering applications.
Also, often engineers are looking for interactive workflows, where some of the tasks can be streamlined. This is where apps can be used. And we have apps for data preparation. We also provide apps for modeling. For deep learning in particular, we ship the prebuilt app that help automate the training step and provide visualizations for understanding and editing deep networks, apps like Classification Learner and Regression Learner automate those steps as well.
And you have other apps like the Experiment Manager that enables you to create a deep learning experiment to train networks under various initial conditions and compare the results.
Now with all this, we have to remind ourselves that often engineers might be working in teams where multiple tools and languages are used. And oftentimes, that language is Python. Here, we can make use of interoperability.
For example, the deep learning community is incredibly active, and new models are coming out all the time. This interoperability allows engineering teams to share and access models developed by other teams and engage with the broader AI community. So if you have models with TensorFlow or PyTorch, you can work with these models within the MATLAB environment.
Now, looking at the third stage, keep in mind that AI models have to be incorporated into a larger system to be useful. Consider automated driving in our example. There is a lot of work around designing perception algorithms that can collect data from multiple sensors and fuse those data into an understanding of what's around the vehicle.
Engineers can combine sensor fusion, control logic, vehicle dynamics, and visualization components, along with their AI models for simulating scenarios in which they will operate. And the integration of all these algorithms for localization, path planning, agent and environment management, and controls can be tested in a simulation before deployment. By the end of this workflow we need to deploy models somewhere, either if it's an embedded system or an enterprise system.
We want to ensure the AI models develop are in production. This is where automatic code generation can help engineers get products to market faster by eliminating coding errors. And this is an enormous value driver for any organization adopting it.
Unique code generation framework allows models develop in MATLAB or Simulink to be deployed anywhere without having to rewrite the original model. In our example from industry, we finally deploy and take the autonomous truck to the road.
Now that we have covered this process, I have a question for Gaby. How can we familiarize our students and engineers with all these concepts?
There are different ways in which we can do this. As we all know, the landscape of education has been changing for a while and the pandemic just accelerated that change. We now see that more and more universities are adopting online, hybrid, and flipped courses. And this changing landscape requires us to be adaptable and robust with our teaching approaches.
In this session, we'll cover various resources that can help you achieve your learning outcomes. Today, we will divide some of the resources into three buckets. First, materials on instructors and students can use before class. Then we'll talk about resources for activities during the class. And finally, we can assign activities for after class to make sure that the students learn the concepts, and we give them the opportunity to expand on more complex topics and projects.
To illustrate this, let's say that we are an instructor, maybe in environmental or electrical engineering. And we want to show our students how to solve the challenge that Maria shared at the beginning of the presentation. So do you remember those engineers that are using AI for electric load forecasting?
So we want our students to solve a similar challenge. Let's face it. There's very limited time during a course, and it's challenging to include new topics. One thing we can do is to leverage existing resources, like online self-paced courses. And this way, our students can learn the concepts before class, allowing us to use a valuable class time to answer questions and have deeper discussions or maybe work on hands-on problems.
And of course, there is so much information online, and it might be difficult to know where to start. So here we can see a list of some free interactive self-paced courses that can be run on your browser, and you can assign these on ramps, which have an approximate duration of one to three hours, and your students can share with you their certificates once they finish. And you can find a full list of these available courses in AI and other topics on our website.
For our example, let's say that we assign them MATLAB and machine learning on ramps to your students. So they get familiar with the tools, the concepts, and the workflows before the class. And as professors, we may want to prepare for our class before it happens, too, right? So we can start searching for ideas and inspiration from other professors teaching the topics that we want to cover.
So of course, books are a great resource here. And as you can see, there are many books that have been published about AI in different areas such as robotics, civil engineering, optimization, control systems, and you see that these are available in different languages as well. And another place where we can find inspiration is in materials that are shared online by other educators.
And that's what we find in courseware. These are teaching kits that can include content like lecture notes, ideas for projects, and accompanying code. And these materials are readily available for you to download, and you can incorporate them directly into your classes.
You can find this in the MathWorks GitHub repository for teaching resources. You'll find the link at the bottom of the slide. And we will take a closer look to the machine learning for regression example, and we will use this to guide our students in the development of a predictive model for load forecasting in the state of New York. They will use real electric load and weather data to create their models.
So for this, we will use an interactive document. So let's say that we are using these documents during class. So these are called live scripts, and they allow us to create a narrative around the course material and code. So the students can use it to interact with certain material and gain an intuition about the concepts that they're learning. We can execute these in our browsers using MATLAB Online, that way our students don't need to worry about installation or hardware requirements.
So let's see how these look in MATLAB Online. We see the document's organized with the table of contents and start setting up the stage for the challenge that we want to solve. It's also divided into sections that coincide with the workflow that Maria covered earlier, which will help our students get familiar with the industry workflows that they will see once they graduate.
When working with code, it can be challenging to follow along. So with these live scripts, we can guide our students using rich formatted text and images and also with interactive elements, like buttons and text boxes, which can help them comprehend and retain better the concepts. And when I was in school, my favorite sections in the books were the places where I could try different things and reflect about the concepts I was learning. And we can definitely include these pedagogical elements into these live scripts as well.
We typically want to create visualizations while working with data. And we can provide a space for students to easily explore set visualizations with live controls, like dropdown menus. We're sharing the links to these materials. So you'll get to explore them in more detail.
In the interest of time, I am going to jump to an obviously relevant step, which is training the machine learning models. And here, we will leverage apps, which are user interfaces where we can follow advanced workflows by pointing and clicking. And we're working on a regression problem since we are predicting a value of electrical load, which has continuous values. Hence, we will use a regression learner app.
We have to select our data first, which it will be a data set that our students would have prepared and separated for training the model. We can easily choose a response, which in this case is a load. And there are different options to set aside tests and validation data sets, but let's leave this as a default today.
Now we see that we have some options. Our students may not be familiar with any of these models. So they could choose to train them all and see which one does best and then maybe take a deeper dive into what that model does. To save time, let's train the ones that MATLAB has identified as quick to train. You could even leverage cloud or computing using this parallel button.
Let's see how the models did. We can prioritize those highlighted with the lowest RMSE or root mean square error and explore details like the hyperparameters and measures of fit. But this may not be enough. We may want to see how the model does across different observations or values, so visualizations are a great tool for that. And it's very easy to choose between different options without having to worry about writing any code.
Now, let's say that I chose this model. And I want to see how well it does with new data. For this, I can use a test data set that I have separated previously. So let's say that we're happy with the results, and we want to save it and share what we did interactively so that way we don't have to repeat the steps. And for this, we can ask MATLAB to generate the code for us, which then can be used by our students to take a deeper dive into what happens behind the scenes, or they could even modify the code.
So we just use one of the many apps that are available in MATLAB to empower our users to solve challenges intuitively, focusing on the concepts and solving the challenges without having to be expert programmers. And in a world that is becoming increasingly more complex, our students will soon be working on solving these complicated problems. And since these are the same apps that Maria mentioned that are used in the industry, our students will be getting exposed to these workflows. And of course, we're talking about AI today, but you can explore apps in many other domains.
So as the students work on these materials. It is important that they get feedback about their progress. And timely feedback helps them retain better the information, and it makes it less likely that they mistakes or misconceptions when they get into more complex topics. But as courses grow larger and larger, this can be quite challenging to provide feedback to all of these students.
So we can leverage technology to grade assignments automatically and to provide that feedback. This means that we can use it extra time to maybe analyze the analytics of our course to improve it or to spend more time with our students. So we will be using MATLAB Grader today to create an interactive assignment that will automatically grade our student work and provide feedback.
So since there are different measures of fit like mean square error and R square, we want to evaluate if our students are understanding these concepts that we use to choose a model. Now, let's say there are students are working on an assignment where they have to calculate R squared. So they would find the description of the problem in which we have specified how we want them to name the variables so that way MATLAB Grader knows what to look for in the code.
In this particular example, the students will see a script with locked lines of code. These are lines that we don't want them to be able to modify. And here we also provided some comments to guide them throughout. Now they could submit the script and-- oh, oops, there's something wrong.
So as you read through the feedback, they might realize that there is an issue with their solution and try again until they obtain the right answer. And we have seen that lots of students get motivated this way. So you might be wondering, how can I set this up as an instructor.
So let's take a look at how we created it. First, I need to define the title and the problem description. And here we could also incorporate images and questions as needed to illustrate our problem. And since we're working with data, we have a place to upload the files that we want them to use.
Also, depending on our objectives, we can define the problem type as a script or a function. And now of course, we'll need to tell MATLAB what is the correct answer. And we would provide this in the reference solution.
And when we looked at the student experience before, we saw that there was historic code. So this is what we provided as a learner template. And we can add here as much or as little guidance as we want. Finally, we saw that there were different assessments that checked if our variables were correct.
So you can leverage existing ready to use test types to do so, or you can even write your own code for more advanced assessments. And we also mentioned that it is important to provide timely feedback in case that the student fails a test. So here's where we could provide some guidance.
University students may also want to expand their knowledge even more and leverage other common training platforms that are used by professionals like Coursera or edX. So they could also explore this specialization in practical data science, and my favorite part of this specialization is that it has multiple mini projects, and learners can apply their skills in real data science problems.
If we remember the last step of the workflow that Maria mentioned, we need to deploy our model somewhere. Whether we're working on an embedded or an enterprise system, we want to get our AI models into production, and our students can indeed cover the whole workflow and build their own AI systems. And of course, this makes them stay more engaged improving their learning.
And there are many ways in which we can make this process smoother for them that range from using block diagrams to leveraging code generation capabilities. And now you may be thinking, OK, I'm interested, but I'm not sure where to find ideas for projects.
So here's one place with a list of real industry relevant projects that have been proposed by experts in different trends. These include relevant resources and even their own dedicated forums. And of course, one of these trends that we're covering is AI. So let's take a look at a proposed project.
So earlier, we used an example in which our students would forecast the electric load, but the infrastructure inspection is a vital and safety critical task, and it can be dangerous and requires a lot of manual work. So the use of unmanned aerial vehicles, or UAVs, gives us an opportunity to automate this process, to detect infrastructure faults early, and to reduce the risk to human inspectors.
So in this project, we are challenging the students to add intelligence to the UAVs to recognize faults using advanced computer vision and deep learning techniques. And this has the potential to enhance the safety and speed of the inspection across a wide range of industries.
Now that we have talked about how to incorporate the skills into the curriculum, Maria, could you tell us how this all fit together in this education, research, and industry ecosystem?
Sure, Gaby. Let me share a recent example that shows the dynamics between academia, research, and industry. Bosch Engineering in India realized that new graduate engineers coming into their company required up to a year of training before they had the skills needed to be effective at work. To help them address this shortage of skilled engineers, they decided to create a new university course to teach the skills needed, partnering with NIT Calicut in India and MathWorks to develop a suitable curriculum.
This gave students the opportunity to build their practical experience. What is very interesting is that one of the students on the course now works at Bosch. The course was a personal turning point for him in his understanding of the world of engineering.
This is one example representing this ecosystem. This is the innovation cycle where we see that interdependency between academia and research and industry. Not only we are training the future workforce in undergraduate education but also preparing the future researchers. In turn, academic research enables deeper understanding and discovery and prepares researchers who can move into commercialization of IP in industry.
This industry collaboration moves the technologies further through applied research until they make their way into production through goods and services. As the new products and services grow, there is an increasing demand from industry for skilled labor capable of working with the new technology. Undergraduate education fills this need through knowledge transfer and skill development.
This is exactly the connection we have been presenting today. Industry has a demand for skilled engineers in new technologies, like AI and tools like MATLAB. And in turn, academia is responding to that need through skill development.
Well, we have covered a lot of ground in this presentation today. Let's briefly summarize the resources mentioned to support the different stages when helping future engineers upskill. We saw how books, courseware, and self-paced trainings are great ways to get you started. You can get acquainted with the basis of the technology as well as applications in your expertise main.
Don't forget we talk about the Live Editor to help you organize and document your work and how MATLAB apps can help you solve challenges intuitively, focusing on the concepts. MATLAB Grader will enable your automated assessments to support students in their learning. And any learner can get further practice by using advanced projects as well as MOOCs. All these resources will be very helpful, regardless if you're new to MATLAB or AI or if you're ready to go deeper and take it to the next level.
So this is your call to action. If you're new to AI or MATLAB, don't forget to check the self-paced trainings. They are free, interactive, and can be run on your browser. Also, there are several tutorials and examples in machine learning and deep learning that you can explore.
If you're already acquainted with AI topics and tools, there are plenty of options for courseware and books available for you. Also, advanced projects will give you and your students the opportunity to apply concepts in more depth and prep for challenges you will find in industry.
Finally, please remember that you can connect with us via our social media, our web page, YouTube, webinars like this. In any form, we welcome your input, and we are here to support your current and upcoming projects.