Introduction to Deep Learning with Keras
February 22nd, 2021
One of my New Year’s resolutions was to get deeper into Deep Learning (pun intended). I’m very comfortable with different Machine Learning methodologies, but when it comes to Deep Learning I feel as I’m more of a beginner. What do I mean by that?
Of course, I could look up what type of neural network I would need to use to solve a problem. I know there is an equivalent of “Python vs R” discussion happening except that it’s “PyTorch vs Tensorflow”. It sounds like both are good, but one is better for research (PyTorch) and another is better for production (Tensorflow). I can even go and copy someone’s code to build a model and mostly understand it.
The problem is, if the outcome of my model isn’t good, I wouldn’t know how to fix it or if there was something that I did wrong, I might not be able to recognize it. I also don't know enough about productionalizing a neural network model.
This was the scope of my problem, and to solve it I decided to take some online courses and see if they make me a better Deep Learning practitioner. I’ll devote some of my future posts to reviewing online classes that I end up taking.
Today’s post is about Introduction to Deep Learning with Keras by IBM offered at Coursera. This is the third course in their IBM AI Engineering Professional specialization and it has a decent rating. You can either get an audited version which would include all videos but no quizzes, labs or practice projects or you can get a certificate version. I’ve stated before that I don’t see much value in having a certificate (that isn’t something I would put on my resume, perhaps, LinkedIn profile). In this case, I wanted to see quizzes and labs, so I opted to pay a one-month subscription.
My original plan was to get a 7-day free trial and finish the course in 7 days, but unfortunately I had a few work deadlines and a snowboarding weekend which didn’t make it possible.
Things that I liked
First, I thought the instructor did a really good job at explaining various Deep Learning concepts.
I also thought first two weeks were really good. They provided a decent overview of the theory behind neural networks and covered concepts such as back and forward propagation, different types of activation functions and where you’d use them, gradient descent and showed how to calculate the outcome of a very simple neural network by hand.
I'm pretty sure I completed two weeks worth of videos, quizzes and labs in one evening. The entire course doesn't take much time to complete
There is a final project which is a part of week 5 that requires you building a neural network to solve a regression problem.
Things that I didn’t like as much
I didn’t think the course provided much information about Keras. While it did show some sample code, it didn’t go into very much details on the rational behind selecting number of hidden layers/nodes and tuning parameters.
Week 3 lab didn’t require you adding any code; simply run the code that they created. Also, not much was said about the installation part, but if you are taking a deep learning course, you are probably familiar with installing different libraries in python.
While having a final project enables you to do more research, I'm not a big fan of peer-graded work.
Overall rating
Overall, I had a neutral reaction to the course. It was good to get a decent introduction to the theory, but I felt like it didn’t quite deliver on Keras. That said, this goes back to what I think about online classes. It is not enough just to take the class; you have to do additional research on your own!
If you still want to take the course, the free version is sufficient, as the labs or quizzes don’t add very much value. You should still try to build a netural network, and perhaps ask someone who is familiar with neural networks to provide their feedback. If you really want the certificate, you can do the free 7-day trial, as you can probably finish the entire course over one weekend.
I’ve signed up for a few more online classes, and will post my reviews over upcoming weeks. Let me know if there are any Deep Learning courses that you recommend or would like for me to take and review.
Keep Learning!