5 Artificial Intelligence Project Ideas to Build Your Knowledge
If you’re here you already know that “Big Data” is a major buzzword in tech. These days there are tons of data being gathered about basically everything with an electronic signature. Thanks to this increase in available data, alongside advanced computing power, the subject of using Artificial Intelligence (AI) to effectively manage data has resurfaced with fervor.
Even as early as the late 1900s, people were already delving into neural networks, machine learning, and deep learning. Nowadays, however, the advent of more powerful machines and the terabytes of data being collected every second on a myriad of subjects make these AI topics even more exciting.
Why is Building Projects for AI Important?
AI is still a growing field. The best approach is working on projects related to AI (machine learning, deep learning, etc) so that you can learn how to solve real-world problems and have experience with the technologies needed to accomplish that. You should make a plan early regarding the specific AI sector you want to start out with. This document by John A. Bullinaria describes some of the subfields of AI (machine learning, neural networks, deep learning, speech processing, etc) to help you choose what to focus on.
Knowing what you want to focus on will help you decide what you need to learn about. Once you dive into your project, you can further familiarize yourself with the technologies used for the specific subfield you chose. For example, deep learning is required if you want to go into the computer vision learning track as it is used to build image processing models.
Reading about techniques and models such as ensemble methods (e.g. random forest, bagging), LempelZiv (LZ) algorithm, Markov Model (MM), K-nearest neighbors, FDR corrections, and so on, is good but applying what you learned in projects will help solidify these concepts. Also, frameworks such as PyTorch, Keras, and TensorFlow can be useful in your machine learning and deep learning projects.
Depending on the specific field you want to go into, companies will want to know that you are able to harness data and use it to train models and extrapolate meaningful insights. Look for projects that interest you or that are in the industry you want to break into; this way prospective employers can find it easier to picture you doing the same thing for them!
Five Project Ideas for AI
A good place to start is to build a simple project with a single AI algorithm from the bottom up to get familiar with how AI systems function. Following project prompts from the resources below will help you come up with ideas for projects of your own and how to structure them.
You can also check out some courses such as this one by DeepLearning.AI and follow along with the projects they provide to get ideas for how to structure yours. For any of these projects, it’s up to you to choose what models to use. There are also several boosting algorithms you can apply, such as LightGBM or XGBoost.
Idea #1: Predicting Iris Species
Although experts can classify flowers, the amount of data available means doing so would require hundreds of hours of human work. This is where AI-aided classification can be useful. This iris flower dataset on Kaggle can be used for this.
If you are a beginner, you can use a random forest to predict the species for your classifications. Sci-kit learn can be used for the random forest. There will be different classifiers trained on different sets of data. Each of these classifiers will make a decision. You can pick the most common decision from those. As a more advanced option, you can make the species classifications using a convolutional neural network (CNN).
Idea #2: Chatbot
Creating a chatbot that is trained for a basic, simplified functionality can be really fun. It does not have to pass the Turing test; it just needs to be convincing and functional. This project uses a deep learning library and a Natural Language Processing (NLP) toolkit. In the project you will:
- acquire a dataset that’ll be used to train the model
- train the deep learning model to identify what’s being asked of it
- build a GUI for the user to interact with your bot
Creating chatbots will help you familiarize yourself with natural language understanding (NLU) and natural language generation (NLG) as well as deep learning. Check out this list of chatbot examples.
Idea #3: Sports Video Summarization
If you’re a sports fan but can’t watch every game, you probably watch or read the highlights to know the latest developments. In this project, the model would be trained to do something akin to extracting game highlights and churning out a game summary.
If you find one for the sport you like, you can use the pre-trained AlexNet Convolutional Neural Network (CNN) for the classification of “exciting” events. Such events are selected based, for example, on how far a ball was hit, or if the camera pans over a standing, cheering crowd of onlookers.
Idea #4: Interpret Data From Space Images
This Kaggle dataset from the Kepler Space Telescope logs stars with and without exoplanets and categorizes light intensities for each star at different points in time. Regular dips in brightness are signals that a planet could be orbiting the star. You can use Python alongside Sklearn to train and test your dataset. Then use a random forest classifier for this model as well. You can train it and see how accurate it is in predicting the existence of exoplanets.
Check out this story of a group of undergrads who found two exoplanets that experts missed. They applied deep learning to filter out all repeating star light variances greater than 3%, focusing their efforts on the latter part of the Kepler mission.
Idea #5: Face Recognition Project
This is an intermediate computer vision project. It uses automatic vision object tracking (in this case, a human face shape). For your project, you can use OpenCV, a popular open source computer vision library, alongside Python. In this project you will practice:
- Face detection and tracking: What’s a face and where is it?
- Data gathering: Gather images of faces to train the recognizer.
- Model training: Compare features and check that unique faces are recognized even when facial expressions or lighting change.
- Face recognition: In the final phase, your project will be able to recognize individuals.
Although OpenCV facial-recognition code makes everything simpler, you can use other methods such as Histogram of Oriented GradientsHOGs and neural networks once you gain more experience.
AI is a complex topic to learn, but it can be very rewarding. Think of all the insights you can make and of all the things yet to be built such as properly-functioning autonomous cars, and improved cybersecurity and climate management systems.
Training an AI system that acts smoothly can be hard even for tech giants, so don’t give up! You may have heard about the debacle surrounding Tay, an AI bot released by Microsoft on Twitter, which ended up not working out very smoothly. The important thing is to keep learning and improving. Good luck!