Artificial Intelligence (AI) allows computer systems to think/act rationally/like a human. This includes planning future actions, optimizing results, reasoning, and learning from known or unknown data. This is the documentation of my first dip in the ever-expanding world of AI. I love food (I know, so original), so I decided to make a simple Image Classifier that works well on iOS devices to recognize and properly label different types of food.
Machine Learning is the field of AI that applies statistical tools to data, to find correlations. One of the most popular (and oldest) ML models is logistic regression. So I started with that one. I also delved into convolutional neural networks. If we think of logistic regression as a line (actually one or more hyperplanes) in an n-dimensional space, CNN curves and distorts this line further to separate the points in this space better (at the risk of overfitting). CNN models are more opaque than LR due to layer(s) of hidden neurons and are more at risk of overfitting.
To make this project possible, I had to find a way to train a model that's small enough to work on a mobile application. These are the three models I made. From the simplest to most complex (to train). Click on each one to see instructions and some of the key takeaways:
- Machine Learning with CreateML »
- Machine Learning in Python with Turi Create »
- Machine Learning in Python with Keras »
App Demo | App Demo | App Demo |
---|---|---|
- Google Classroom: AI Guild
- Google Classroom: SE_14 - AI Basics
- Apple's CoreML Documentation
- Keras Documentation
- CS50: Introduction to Artificial Intelligence with Python
- All the images used to train the models are from Google Open Images