Every day, I’m inspired by the efforts of you who take our courses, gain technical skills, find jobs, or build things that I never would have imagined. To each one of you who is learning about and building AI, thank you. The world needs more people like you!
The DeepLearning.AI blog highlights a few individuals who have made their way into the field. Each post describes one person’s path to building an AI career: their struggles, breakthroughs, and career tips. Perhaps someday we'll highlight your story as well!
Despite these successes and many others, the AI community still has a lot of room to grow. Even though we’ve collectively built amazing systems — web search engines, smart speakers, self-driving cars — every time I speak with any CEO, government leader, or academic official, I become aware of valuable AI projects that no one is working on because there are simply too few of us. For the world to reap the bounty of AI, the community of AI developers needs to grow much larger.
To that end, in this special issue of The Batch, we offer a set of articles designed to help people who are wondering how to take the next step forward. I hope you’ll find them useful whether you’re debating whether to take your first course, starting to look for a job, or aiming to advance an established career.
I still find building AI systems to be the most fun thing I can imagine doing professionally, and I hope you will, too! Wherever you are in your AI journey, let’s take the next step together.
Few fields offer greater opportunities than AI to improve people’s lives while building an exciting career. But how can you break in — even if you don’t have a strong educational background? How can you gain the knowledge to build machine learning systems and the skills to deploy them? How can you get a job? How can you stay up-to-date as technology evolves? We asked several experts in the field, and you'll find their answers below. We invite you to join the community of deep learners and look forward to celebrating your accomplishments.
How to Learn Machine Learning
By Kian Katanforoosh
Want to become an AI practitioner? Here’s a program that will take you from beginner to job-ready. You may already have a head start, depending on your background. For a motivated person who starts with a solid high-school education, it may take around two years. There are just three steps: Learn coding basics, study machine learning, and focus on a role.
Learn coding basics. Fundamental programming skill is a prerequisite for building machine learning systems. You’ll need to be able to implement a simple computer program (function calls, for loops, conditional statements, basic mathematical operations) before you can start implementing simple machine learning algorithms. Almost any basic introductory programming class can get you there.
Don’t worry about prerequisites such as linear algebra, probability, and statistics. While knowing more math is better than knowing less math, it’s often most efficient to start in on machine learning and work backward as necessary. You’ll deepen your knowledge of these important subjects as you learn (and sometimes, yes, struggle) to get machine learning algorithms to work.
Study machine learning. Stanford University’s Machine Learning course on Coursera remains the most popular introduction to the field. In this course, you can expect to learn:
- Machine learning models. These include important algorithms such as k-means, linear regression, logistic regression, neural networks, and recommender systems.
- Model implementation and training. This area encompasses a variety of methods to initialize, optimize, vectorize, regularize, and select machine learning models.
- Practical machine learning. This includes strategies for building high-accuracy systems such as how to split data into training and test sets, understanding bias and variance, carrying out error analysis, and systematic ways to improve a model’s performance.
For many learners, the next step is to dig deeper into the most exciting development in AI of the last decade, namely neural networks. The Deep Learning Specialization will give you the knowledge you need to build applications in areas like computer vision, natural language processing, and speech recognition. From there, you can deepen your knowledge in these and other areas through projects or additional coursework.
Focus on a role. Once you’ve learned the foundations of machine learning and deep learning, your next move depends on the role you have in mind:
- Data scientist. If you’re interested in becoming a data scientist, focus on business analytics to tie your analyses to business outcomes, data visualization to present your findings, applied statistics to analyze data, and databases and pipelines to access and prepare data.
- Machine learning engineer. If you aim to become a machine learning engineer, study data mining to develop your ability to build high-quality models and MLOps to deploy them in production. If you wish to extend your skills even further, develop your software engineering skills to help you implement scalable systems, train and/or deploy them in the cloud or at the edge, and ensure a reasonable level of security.
- AI +X. Are you already accomplished in a field like medicine, biology, or physics? Rather than abandoning your current career to become a data scientist or a machine learning engineer, consider developing AI skills to complement your existing expertise. This approach is a great way to apply AI to real-world problems. For instance, if your current job involves working with images, you might extend it by learning how to process them using AI.
A skills assessment can give you important information for charting this next step. Workera provides individualized assessments in foundational skills like computer science and mathematics; tools like Python; application areas like computer vision and natural language processing; and more.
Whatever path you choose, everyone who intends to pursue a career in AI should be familiar with the concept of responsible AI. AI is a powerful technology that’s still evolving. Its eventual impact isn’t always clear at the outset, so it’s critical to reach an understanding of how AI systems can be developed and deployed in ways that bring maximum benefit and minimal harm.
The path to mastery in AI isn't straight and narrow, but it is exciting and fulfilling, and there is truly room for everyone.
Kian Katanforoosh is the CEO and co-founder of Workera, an affiliate of DeepLearning.AI that provides skills assessments and personalized learning plans to close the AI skills gap in large organizations.
How to Gain Practical Experience
By Julien Despois
Academic courses can teach you the ins and outs of machine learning, but they can't fully prepare you for putting your work into production. To get the experience you need, you need to come up with your own projects from scratch.
Working on toy examples and entering competitions can break the ice, but these approaches often provide a clear path to a well-defined objective. When you’re delivering a machine learning model to real users, the task and metrics of success are often unclear. It’s up to you to find out what your client needs, translate it into a problem, and build a system that solves it. Here are the basic steps:
Identify a project. Find a small task to tackle and determine its inputs and outputs. Put yourself in the shoes of a client so you don’t fall back on toy examples. For instance, classify images of cats and dogs is simplistic and unoriginal, so try something like measure the difference in time onscreen between male and female actors in movies.
Get the data. Find a dataset that matches the task, or build it yourself using web-scraping tools. It’s essential to gather data that suits the problem. Don’t change the problem to fit an available dataset.
Preprocess the data. The data will be messy, and your job is to clean and preprocess it — no shortcuts allowed. Look for weaknesses (incorrect labels, unbalanced classes, low-quality images, etc.) and brainstorm ways to prune or augment the data to address them. Can you flip images? Stretch audio clips? How would that impact the labels?
Set a clear goal. How will you know you’ve solved the problem? No one will tell you what objective to optimize, so you’ll have to figure it out for yourself. Maybe it's accuracy or a simple mean squared error — but maybe your use case requires avoiding false positives at any cost or prioritizing accuracy for certain clusters of examples (such as rendering simulated makeup more accurately on female faces).
Review the literature. How have other teams solved similar problems? Search arxiv.org or paperswithcode.com for relevant publications. Can you fine-tune an existing pretrained model, or must you build one from scratch? (If you can, try both and see which one works best. This is the best way to avoid reinventing the wheel.)
Implement the solution. Once the model is trained, make sure your implementation meets the end-users’ requirements. If they want a mobile app, verify that your model is small enough to fit on a smartphone. If it needs to run in real time, determine the requirement for latency. Identify compromises you would have to make to reach the target and how they would impact the quality of your model’s output. Often building a proof of concept is enough, as long as you see a clear path to optimizing performance. In real life, the final step to production could require months of tuning.
Share your work. Put your code on GitHub to show colleagues, potential collaborators, and future employers the quality of your work. Write a blog post that describes your project from start to finish. Detail your thought process, the roadblocks you faced, and how you overcame them.
Take these steps, and by the end of your first project, you will have gained unique experience in putting your machine learning knowledge to use. By the end of your fifth, you will be well on your way to developing a professional level of expertise.
Julien Despois is a Machine Learning & Deep Learning Scientist at L’Oréal AI Research.
How to Overcome Societal Obstacles
By Benjamin Harvey
The top artificial intelligence companies include many people who earned degrees at elite educational institutions and started their employment with prior work experience. Yet the world is full of people from nontraditional backgrounds. They also have much to contribute to AI, but they face obstacles like minority status, low income, poor education, or social unrest.
I know this first-hand. I grew up poor and black in Jacksonville, the murder capital of the U.S. state of Florida. My neighborhood was a venue for street basketball and dope dealers. Many of my friends from that time are either dead or in jail.
If those challenges resonate with you, I offer a message of hope. I earned a doctorate in computer science, became chief of Operations Data Science at the National Security Agency, and founded an AI startup. You, too can join the community of machine learning engineers. It won’t be easy, but it can be done, and the rewards can be great in terms of both having a satisfying career and bringing good into the world.
The fact is, the AI industry needs a socially diverse workforce. Diversity among workers who curate datasets, design architectures, build models, and deploy systems can reduce bias and increase fairness.That makes for more robust systems and thriving businesses.
There are many ways that both students and companies can smooth the way from a disadvantaged background to a career in AI.
Students: You can benefit from many free services and educational materials available online, if you have access to a good internet connection. You may also be able to get help from your employer and nonprofits.
- Look for nonprofit programs and companies that offer on-the-job training and cover the costs of courses or computing. If you’re already employed, take advantage of benefits for continuing education and access to technology.
- Enroll in the nearest university that has a machine learning program. Study subjects that aren’t available locally through online courses. Pursue academic projects and research supported by nonprofits like the Common Mission Project.
- Gain knowledge and experience by participating in competitions such as those sponsored by Kaggle. Publish your work in a repository on GitHub so others can adopt and contribute to it.
- Ask people who are ahead of you in their careers to mentor you. Meet with them quarterly to share your experience and gather their insights.
Companies: If you don’t have a process for finding and hiring minority candidates, you’re missing a huge talent pool that is largely untapped by your competitors. Once you’ve hired them, be ready to nurture their talent and fill in gaps in their knowledge.
- Drive the policies that enable the company to cover the cost of continuing education. Identify people in the organization who would benefit from continuing education. Organize an outreach program to make sure they know of the opportunity, have access to counseling, and don’t drop out (especially due to the demands of their employment).
- Establish a machine learning center of excellence like Amazon’s. Such organizations can upskill talent and disseminate best practices to staff.
- Create a nonprofit organization that supports early access to technology and education, especially in low-income areas, to prepare the next generation of AI and technology professionals. Mission Fullfilled 2030 is a good model.
If you work for a company that can open its doors wider to disadvantaged candidates, I urge you to proceed with all due haste. But if you’re an individual trying to find your way, don’t rush the process. You have a long journey ahead. No matter what school you come from, what stage you are in your career, and what adverse conditions you have experienced, continue to seek ways to improve. Face adversity head-on. Don’t give up on your dreams.
Benjamin Harvey is founder and CEO of AI Squared, a startup that helps organizations integrate AI into applications.
A MESSAGE FROM DEEPLEARNING.AI
Is taking the Deep Learning Specialization the right next step for you? Attend a live Ask Me Anything session with course mentors and community leaders at 10:00 a.m. Pacific time on January 26, 2022, and get answers to your questions.
Watch The Replay
How to Get a Job in AI
By Luis Serrano
If you want to work in artificial intelligence, machine learning, or data science, I have great news: New jobs are opening in these areas at a great rate, and there’s no reason why you can’t get one of them.
The first question in many people’s minds is, “I’m not an expert in programming and mathematics. Do I have a chance?” The answer is, definitely! The most important skills are common sense, an intuition for data, and a passion to learn and apply what you learn to real-life projects. Here’s how to land a job in five steps: pick targets, make initial contact, prepare for interviews, apply, and follow up.
Pick targets. What kind of job are you looking for? The answer depends partly on how much you enjoy the following skills: coding, data analysis using math and statistics, machine learning, and working with people. All AI jobs require these four skills to some degree, but your area(s) of strength should influence which roles you’re after. Job titles differ from company to company, but typical roles include:
- Data analyst. This role requires little coding but it does require a good knowledge of statistics. It also requires a good understanding of the product you’re working on, which means you’ll interact with teammates.
- Data scientist. This requires more coding (but normally not at the production level) and a strong knowledge of machine learning algorithms.
- Machine learning engineer or data engineer. These roles require lots of coding, ability to deploy models in production, and an understanding of model architectures.
- Product manager. This requires leadership skills, an understanding of data, a strong understanding of the product, and interaction with clients and adjacent teams.
Make initial contact. The best way to make contact with potential employers is through a referral by a former manager, former colleague, or friend within a target company. Their stamp of approval attests to your technical skill as well as your reliability and amiable personality.
You may have more acquaintances on the inside than you think. Search LinkedIn for people in your own network. Search also for colleagues of people in your network, and ask your connections to introduce you. Don’t be shy! Meet new people by attending meetups and conferences. Introduce yourself and ask them to tell you about their work. They’re likely to enjoy helping someone they know, and they may get a bonus for it. And don’t forget to reach out to recruiters. You’ll be making their job easier, as they’re looking for people like you.
Whether or not you can find someone on the inside to refer you, apply for every position that appeals to you. The worst that can happen is that they don’t call back.
Prepare for interviews. It pays to start preparing even before a hiring manager responds to your application. Specifically, make sure you have a solid foundation in:
- Programming. Python is ideal. SQL is recommended and R is helpful. Production languages such as C++ and Java may be valuable in some positions.
- Computer science. Brush up on the basics, specifically algorithms and data structures.
- Mathematics. Focus on statistics, probability, linear algebra, and calculus.
- Machine learning. Strengthen your grip on the basics here.
My favorite way to learn these topics is online. Platforms such as Coursera offer great courses, and in some cases you don’t even need to pay for access to course materials. YouTube is another great source of online instruction. If you prefer an in-person experience, check out boot camps offered by schools such as FourthBrain (a company backed by AI Fund, where Andrew Ng is managing general partner).
Apply. Now that you’re ready for interviews, apply for any positions you’re qualified for, whether or not you think you would enjoy the job. That’s because doing interviews is the best way to get better at doing interviews.
Be aware that each interview will be different from all the others. Some will go well, some less well. Ask the recruiter ahead of time which topics you’ll be asked to address. You may still encounter a question you aren’t prepared to answer. In that case, take the surprise as a prompt for further preparation.
In any case, here’s the best interview advice I know of: Have fun. While you’re interviewing, the interviewers are picturing themselves working with you. If you enjoy yourself, they will, too. And if they enjoy themselves, they’re more likely to want to hire you. Furthermore, they want to see what you would contribute as a member of their team, so approach each interview as a team exercise rather than a solo flight. Clarify the questions to make sure you’re not solving the wrong problem. State your ideas clearly. Ask for advice along the way.
Follow up. Once an interview is over, send a message to the recruiter and, if possible, the interviewers. Thank them for their time and anything you learned during the interview. If this particular job is at the top of your list, let them know. If you’ve already made that clear, say it again.
If you get the job, congratulations! If you don’t, it may not be over yet. Tell the recruiter and anyone you met during the interview that you’re still interested. If you made a good impression, they may keep you in mind when other positions open up. I’ve been rejected only to get an offer a few months later. So stay in touch with everyone. Your effort may pay off down the line.
I wish you lots of success in your job search, and I’m excited for what you can add to this wonderful field!
How to Keep Up in a Changing Field
By Eugene Yan
Machine learning changes fast. Take natural language processing. Word2vec, introduced in 2013, quickly replaced one-hot encoding with word embeddings. Transformers revolutionized the field in 2017 by parallelizing the previously sequential training process. Subsequent transformer models grew from millions to trillions of parameters, bringing new challenges for training and deployment.
How can you keep your skills sharp amid the deluge of new developments? Here’s what has worked for me as I continue to learn about machine learning.
Try something different. Use each new project as an opportunity to extend your grasp. If you typically use pandas for data processing, try Spark or Dask. If you usually rely on decision trees for machine learning, experiment with neural networks. Your explorations may not pay off immediately, but they’ll pave the way to solving previously unapproachable problems, such as processing data that doesn’t fit into memory. Just be sure to timebox yourself so your projects don’t get derailed.
Take on personal projects. Stretch yourself periodically with personal projects. Say, try a new framework or build an app. Pick projects that align with your interests. That makes them more fun and thus more likely you’ll complete them. Try something scary. If you’re not worried about failing, the project may not be challenging enough to deliver much learning. Personally, I’m motivated to finish projects that give me opportunities to learn something new, help others, and have fun — all at the same time.
Schedule projects regularly. Set a sustainable pace. I tend to do one project a year and complete it in three to six months. This leaves room for vacations and hectic stretches at work. Track your progress via milestones and quantifiable output; for example, lines of code or mistakes made (which are tantamount to lessons learned).
Attend events. Meetups and conferences let you interact with people who push the boundaries of research and apply machine learning in industry. I usually learn about such events from peers or Twitter. You can also search meetup.com, and don’t miss DeepLearning.AI’s own Pie & AI. Specialized conferences on tools, such as Data+AI Summit, or domains, like RecSys, can be more directly useful. I try to attend two conferences a year and one meetup — often virtual these days — each month.
Read papers. Reviewing research is a great way to widen your perspective and stay up-to-date. When you start a new project, conduct a literature review so you don’t waste time reinventing the wheel. I find the classic three-pass approach helpful: First pass (5 to 10 minutes): Is the paper relevant to my current work? Second pass (1 hour): What is the main thrust? Third pass (4 to 5 hours): How can I implement this work? Andrew Ng presents his own advice in this video.
Share your experiences. Letting others know what you’ve learned helps cement the learning in your mind and helps them learn it, too. Summarize papers you’ve read and post your summaries. Offer your teammates a 10-minute demo of your latest exploration. Wrap up projects by publishing a blog post or presenting at a meetup. After a conference, consolidate the experience by writing about it. For example, here are some great recaps of RecSys 2021.
Recruit mentors. Where do you see yourself in a few years, and what do you need to learn to get there? I’ve found it helpful to ask people who are a few steps ahead of me. If you want to switch from, say, data engineering to machine learning engineering, someone who made the change recently can provide more relevant advice than a CTO or head of machine learning. Look for mentors within your company. Search LinkedIn to find friends of friends. Once you find them, touch base with them on a schedule; quarterly works well. For a taste of the kind of help mentors can provide, here are some questions and answers from machine learning practitioners.
Adopt a beginner’s mind. The Zen teacher Shunryu Suzuki said, “In the beginner's mind, there are many possibilities, but in the expert's there are few.” Regardless of our experience and expertise, we can maintain a beginner’s mind by staying curious and trying new things.
In the spirit of Suzuki’s advice, I challenge you to learn one new thing each week. Before long, problems that were previously out of reach will seem like child’s play.