We are back to our "Q 'n' A With Our Experts" blog-post series. You can check the previous blog post in this series on "Applied Statistics and Data Science in the FinTech Industry" with Jennifer Ebe by clicking here.
In this episode, our interviewee is one of the guest facilitators for the Practical Machine Learning course from the Port Harcourt School of AI. This interview will give you an insight into the mind of Sayak Paul who is a Deep Learning Associate at PyImageSearch where he applies deep learning to solve real-world problems in computer vision (CV). He is also a Google Developer Expert in Machine Learning and is super interested in community development.
Sayak has also co-authored a book on Deep Learning (soon to be released) and as well written a lot of articles, blogs, and tutorials that you would find useful here. He frequently interviews practitioners and researchers in the AI, Data Science, and Machine Learning field and these come out quite insightful, you can find them here.
These "Q 'n A" series help the participants of the course get inside the mind of their guest speaker/facilitator and the general community. Enjoy!
You can also follow Sayak's live session (or recording thereof) with the Port Harcourt School of AI by clicking here.
There are three categories of questions; you will find them below. Since the article is also a bit lengthy, we also provide break sessions so you can take your time to absorb the information or take the needed walk or squats that will aid your retaining of the information (not scroll through your Twitter feed! 😅).
If you want to jump through to a category quickly, you can click on any one of the categories below.
Stephen: Hello, Sayak! Thanks for doing this Q ’n’ A session with us — we are delighted to have you come on-board with this and contribute to the community. Please, can you introduce yourself?
Sayak: I am Sayak (সায়ক). I am currently with PyImageSearch where I apply deep learning to solve real-world problems in computer vision and bring some of the solutions to edge devices. I am also responsible for providing Q&A support to PyImageSearch readers.
Previously at DataCamp, I developed projects ( here and here), and practice pools (here) for DataCamp. Prior to DataCamp, I have worked at TCS Research and Innovation (TRDDC) on Data Privacy. There, I was a part of TCS’s critically acclaimed GDPR solution called Crystal Ball.
Off the work, I enjoy writing technical articles and talking at developer meetups and conferences. My subject of interest broadly lies in areas like Machine Learning Interpretability, Full-Stack Data Science.
Stephen: This is inspiring! That's a lot of experiences and expertise under your belt. This is perhaps one of those times I will say again thank you for all you do and who you are. I am curious, what did you want to be when you went to college? What did you end up studying? And how did what you studied impact how you currently work in your present field?
Sayak: I always wanted to study Computer Science and my Bachelor’s degree is in Information Technology. Fortunately, the curriculum allowed me to grow my interest in Computer Science further, and I am glad that I studied conforming to what I initially wanted to study.
The preface to Machine Learning happened when I took the course “Pattern Recognition” which was a part of the curriculum and I am hooked to the subject since then. Before getting into that field, I did some weekend projects on Web Development and those helped me to understand many fundamental Software Engineering related things that are highly relevant to this date.
Stephen: Interesting, perhaps in close relation to the course you took is Christopher Bishop's "Pattern Recognition" book that has introduced a lot of practitioners alike to the field of Machine Learning. Great!
We will now move over to the next section of questions where we get to dive deeper into your ML expertise. At this point, you can take an optional break away from your screen as a reader.
Take an optional break...
Machine Learning and Career-Related Questions
Stephen: Welcome to this section of questions where we get to explore Sayak's genius mind on (Machine Learning) ML and his career journey. Sayak, what prompted you to dive deeper into the Machine Learning and Deep Learning field after your Bachelor's degree?
Sayak: As mentioned before, my introduction to Machine Learning was via the course Pattern Recognition during my undergraduate days. During that time (late 2015) ResNets also came into existence and I remember catching the phrase “Surpassing Human-level Performance”. So, I was definitely interested to be able to do that. I am forever grateful to my University seniors Rajarshee and Nilabhra for organizing sessions on Machine Learning at our university. It was one of those sessions, where I was introduced to Supervised Learning in great depth and I fell in love with the topic. As I started studying the topics further my interest go piqued progressively and it is progressing to this date as we speak, in fact, :D
Stephen: Really awesome! Individuals and communities that pioneer technology growth on University campuses are such a blessing. Sayak, pretend I’m not a tech person or Data Scientist. Can you explain Data Science/Machine Learning in simple terms and how it aids problem-solving?
Sayak: For this, I am going to borrow the following figure from Laurence Moroney (AI Advocate at Google) -
So, if you were to make a computer detect the type of activity that an individual is performing how would you do it? Sure enough, you’d go with the speed as shown in the figure above but after a certain point you’d realize that is probably not the way to do it.
This is a class example of a problem (activity recognition) where Machine Learning can really shine. To make things a bit more generic, I am again going to borrow a figure from Laurence -
In traditional programming, you’d just supply a bunch [of] rules (in [the] form of if/else and other blocks) and some information and then you’d let the program figure out the answers. But in Machine Learning-based systems here’s what you’d do -
This paradigm of programming can help to solve many problems that aren’t actually solvable by traditional programming and you just saw an example above (activity recognition). Another popular example is automatic image tagging - when you upload a groupie on Facebook, you get tag suggestions. This is another classical example of a Machine Learning-based solution.
Stephen: This is perhaps turning into a beginner article already 😅! It is even more evidence that you are a great teacher if the tons of tutorials and blog posts you've written are not enough evidence 😁. For public clarity, what is one thing about Data Science and Machine Learning that is clear to you but is not so to other people (engineers and non-engineers alike)?
Sayak: I would respectfully decline to answer this question.
Stephen: Alright, we can move on to the next question. A lot of practitioners face various types of problems and challenges when they either started out in the field of ML or when they start out projects. Did you face any of these challenges? If yes, how did you overcome them?
Sayak: I am a slow learner and I don’t mind admitting it. When you start studying Machine Learning it’s almost impossible to not get overwhelmed and that can sometimes hamper the progress you’d want to make. It wasn’t an exception for me either (in fact, I still feel overwhelmed!). So, the fact of me being a slow-learner added with the complexity of the topics was challenging for me to tackle.
I kept on going and [an] important consideration here is to have the tenacity to take on challenges and being able to overcome them with sheer diligence. When just studying a particular concept won’t help me much I’d take a look at a few Python implementations and try them out to aid my understanding.
I still revise the fundamentals from time to time to give my chops a validation check. For me, being thorough about the fundamentals is very important.
Stephen: Thanks a lot, Sayak for this wonderful insight. I fully agree with what has become a cliché but often ignored a lot in learning the fundamentals well enough. Ian Goodfellow's point on learning the basics well in this article also supports your claim.
At this point, as a reader, you can take an optional quick pause to reflect on what you have learned from Sayak and maybe visit some external links (make sure to come back and finish this interesting interview if you do!).
Take a quick pause from the article (optional)...
Stephen: Welcome back if you took a quick pause. Sayak, I think this is an important question for the readers; what qualities do you think are most important for someone to become a world-class Machine Learning engineer?
Sayak: First of all, I am no expert neither am I a world-class Machine Learning Engineer. Here are some pointers that have helped me get better at what I do -
Reusing the available implementations rather than reinventing the wheel. I’d prefer using an existing implementation of something, study it, and build on top of that rather than doing it from scratch. That way I’d save myself time, retain sanity, and be more productive. There are sometimes though, where I would go for from-scratch implementations but those scenarios are rare.
Incorporating good Software Engineering practices while you are writing ML code. A very interesting insight is available here.
Know when to invest your time in researching about things.
During your formative span, don’t focus on too many things at one time. Instead, take the time to go through the fundamentals thoroughly and ask questions as needed.
Start writing about experiences, understanding, and stuff like that. When it comes to ML, the best way to learn it is probably by teaching it.
Stephen: I must say, I really needed those tips perhaps a lot more than the readers. Thanks a lot!
This is perhaps another vital question for our readers; how do you think ML can best help the developing world and how can the developing world leverage the technology?
Sayak: It’s hard to think about a problem where ML cannot be of help. So, a good way to approach it would be to first identifying problem statements that can be solved using ML and then start acting on them. One should never hesitate to reach out to the wonderful ML communities we have around today. I highly recommend being active in those communities, some of my absolute favorites are - FastAI Forums, Kaggle Discussion Forums, and Weights and Biases Forum.
Stephen: Thanks for the insights and recommendations, Sayak. Moving forward, what are you excited about in the future of Machine Learning and AI?
Sayak: I am currently exploring the field of Self-Supervised Learning and the promise it brings and it is definitely that thing I am most excited about.
Stephen: Oh awesome! This should definitely be worth the look. I remember watching Yann Lecun's presentation on self-supervised learning (which you can watch here).
Sayak, I noted earlier in the article to the readers that you have conducted a number of interviews with practitioners and researchers. What is ONE major thing you've learned from all of them?
I would keep it short and simple - Tenacity.
Stephen: Tenacity! Wow! It sure rings the "persist until it works" bell in my head. Sayak thank you so much for such knowledgable and engaging responses. The next section of questions is your advice to the readers.
Advice to the Readers
Stephen: There is a lot going on in the field right now, how do you manage to keep track of the latest relevant happenings?
Sayak: I follow folks on Twitter working in the fields of my interests. They share regularly on Twitter and it gets carried over. So far this approach hasn’t failed me.
Stephen: Absolutely! I must say, with most researchers and practitioners on Twitter these days, it's hard to not get up-to-date with the latest advancements especially if you follow the right people and the right feeds.
One last question, Sayak; what is one "golden" advice you will give beginners looking to become a world-class Machine Learning engineer and problem-solver?
“If you really love the field you’ll find your way into it, don’t worry.”
Stephen: Well that sums up the entire article perfectly. Thank you so much for these invaluable insights, Sayak. We are grateful you agreed to share your immense knowledge with us in such an unprecedented manner. We hope you have a great time during your live session with us.
Well, that wraps it all up, readers! Thank you for reading this wonderful interview with Sayak. We hope you learned a lot from it.
One major point I picked from this interview is that you'd need to develop sheer determination and passion to know more, to survive in the field of AI and Machine Learning. Another is to revisit your basics periodically no matter your level of expertise.
What did you learn? Tell us in the comments below, we'd love to learn from you.
Thank you once again for taking the time to enjoy this rather insightful Q and A with Sayak. We will hopefully keep releasing sessions like these before each of the (#pmlcourse) classes with a guest speaker/facilitator. If you would like to ask Sayak a question directly, feel free to reach him on Twitter or attend our live stream event with him.
DISCLAIMER: Some of the questions from this article were lifted and rephrased from the brilliant questions that Sayak frequently asks his interviewees.
If you enjoyed this Q and A with Sayak do leave a reaction to the story, hit the like button, and share it with your friends that may be interested. See you soon!