Teaching ML and AI to Coders

Rate this content

Often it's thought that to be able to succeed with Machine Learning and Deep Learning, as an onramp to Artificial Intelligence, that you need a deep background in mathematics and calculus, as well as some form of PhD. But you don't. With modern APIs like TensorFlow, much of the complexity is abstracted away in pre-built libraries, so you can focus on learning. In this session, Laurence Moroney, from Google, will explain how he has used this to create courses with hundreds of thousands of students, and from there, how a certificate program was created.

34 min
02 Jul, 2021

AI Generated Video Summary

The Talk discusses the current state of AI and the challenges faced in educating developers. Google's mission is to train 10 percent of the world's developers in machine learning and AI. They have developed specializations and training initiatives to make AI easy and accessible. The impact of AI education includes rigorous certification exams and partnerships with universities. The Talk also highlights the growth trends in the tech industry and the importance of AI skills. TensorFlow is recommended for its deployment capabilities, and practice is emphasized for building a career in machine learning.

1. Introduction to AI and its Current State

Short description:

I'm excited to talk about my job educating the world about AI and making it a better place through AI. I'm also the author of the book AI and Machine Learning for Coders, a recent bestseller. AI is currently in the inflated expectations phase, and my role is to help people understand its true capabilities. The number of AI practitioners is 300,000, compared to 30 million.

Thank you. So I'm really excited to be here today to talk about my job to educate the world around AI and to try and make the world a better place through AI. A little bit about me is I'm also the author of this book AI and Machine Learning for Coders. It was just released so it's quite a new release and it was actually the number one bestseller in a number of AI categories.

So first of all I want to talk a little bit about AI and where AI is at. And this curve I like to use and this is the Gartner's life cycle curve. And the life cycle curve of any technology usually begins with the technology being introduced and then it reaches this peak of inflated expectations. And the peak of inflated expectations is the kind of thing that when you see massive hype around the technology, but that hype isn't really based around anything real on the technology. It's based around speculation and the technology itself. And then often the lifecycle curve drops us into the trough of disillusionment. And despite the negative sounding name it's actually a very positive thing because that's when we blow through the inflated expectations. We blow through the hype and we understand what the product and what the technology is really all about. And then once we reach that point from there on we can reach productivity. Unfortunately AI right now is probably somewhere about here on the curve. There's still many inflated expectations. And just to call this out sometimes so inflated expectations can be positive where everybody's thinking about like the amazing things that can be done with the technology. And sometimes they can be negative where people are terrified and they're afraid of the technology. But their expectations about its capabilities or what are inflated because of this hype cycle curve. But my job is generally I'm trying to get people down here into the trough of disillusionment. And I sometimes joke that I'm a professional disillusioner but really with the idea of having the world understand what AI really is all about what you can do with AI how you can build with AI and from there then you can grow up into the productivity. So like I said we're here right now.

And my question then becomes why do you think we're here right now. What is the number of reasons behind this. The first one I will show is this number. And this number is 300.000 and 300.000 is the number of AI practitioners in the world according to a survey done by a company in China. And so they wanted to just take a look at why is there such a global skill shortage around AI. This was about two and a half years ago. Why was there such a global skill shortage around them. And they wanted to say well how many qualified people are out there. And it was 300.000 AI practitioners. Now I like to compare this with this number which is 30 million.

2. Challenges and Mission at Google

Short description:

And they vary wildly. I've seen some around 22 million. I've seen some around 35 million. So for example at WWDC this year Tim Cook mentioned that there are 28 million developers in the Apple ecosystem alone. We made it our vision at Google to train 10 percent of the world's developers to be effective in machine learning and in artificial intelligence. We started this journey about 18 months ago, and today I just want to share the strategies we use and the results we've gotten. When working with software developers, I received feedback on the difficulties they face, including unfamiliar terminology and complex concepts. This presented a challenge, but it became our mission at Google to overcome these obstacles.

And they vary wildly. I've seen some around 22 million. I've seen some around 35 million. I'm going to like just picking a number roughly in the middle of that and it was 30 million. And I could argue actually that the number is far greater than this.

So for example at WWDC this year Tim Cook mentioned that there are 28 million developers in the Apple ecosystem alone. So if I did a rule of thumb that half of the developers in the world are in the Apple ecosystem we could be actually closer to 60 million developers globally. Well let's let's work with this number of 30 million.

Now remember there were 300.000 AI practitioners according to the survey. There are 30 million software developers according to my estimate. So I made it our vision at Google is that what if we could train 10 percent of the world's developers to be effective in machine learning and in artificial intelligence. And if we did that would have three million A.I. and M.L. developers which is 10 times this number. So we made that our goal. Can we increase the number of practitioners globally by 10 by a factor of 10. Not by a number of 10. So you know we said we'd set that would make this our goal. We started this journey about 18 months ago a little over 18 months ago. And today I just want to share like the strategies that we use and the results that we've gotten.

But first of all when working with software developers and when I talk with them and when I would look at how they were being trained. I got a lot of feedback around why they thought I was difficult and why I was something that was while it was something that was of interest to them. It was something that it was going to be too difficult for them to kind of give up a lot of their time and a lot of their study time to be able to pick it up. And I started seeing like a lot of terminology like I've put in this chart here people saying it was difficult. There was a lot of math. There were a lot of terms that they weren't familiar with like unsupervised learning or supervised learning. They really like me they hadn't done things like calculus and probability in 25 years. And as a result the number of concepts that were being thrown at them just to get started made it like there was a massive roadbump that you'd have to get across to be able to get started to be able to transform your career and transform your skill set to be a machine learning or an AI developer.

So I saw that as a challenge. And one of the things that we do with Google is that we give ourselves a mission and our mission is defined by three words.

3. Mission: Making AI Easy

Short description:

My mission at Google is to make AI easy. By training millions of developers, we can reach billions of people with AI solutions and burst through the hype bubble to see what's real in AI.

And so the three words that I used were make AI easy. And so I've made that my mission at Google is really it's all about making AI easy. And I skipped one slide here for a moment. And then that led me to this overall mission that I wanted to be able to train millions of developers to reach billions of people and going back to the lifecycle curve and the hype cycle curve that I spoke about earlier on. If we can train millions of developers and I think millions of developers are the key to be able to reach billions of people with AI solutions and with AI applications that will burst us through the bubble that will burst us through the hype bubble so that we can see what's real in AI. So we'll make A.I. easy.

4. AI Education Strategy and Specializations

Short description:

The strategy was to come up with a syllabus and content aimed at developers, without the need for a P.H.D. or advanced math skills. The professional strategy includes MOOCs, direct training, and managed training. We partnered with deeplearning.ai to produce three specializations: TensorFlow in practice, TensorFlow data and deployment, and TensorFlow from basics to mastery. These specializations cover topics like natural language processing, computer vision, and sequence modeling. We also launched the TensorFlow YouTube channel and created hands-on code labs to provide quick lessons and practical experience in line with what employers are looking for.

So some of the strategy around this was that the first goal was to come up with a syllabus of material and a set of content that was aimed at developers. So it was by a developer me and it was aimed at developers who are coders. You don't need a P.H.D. didn't need math any of these kind of things. I don't have a P.H.D. and like I mentioned before I haven't done calculus and probability and statistics in 25 years. So I wanted to come up with a syllabus that was by a coder and it was for coders and then to build a strategy around this syllabus.

And the strategy is twofold. First of all is the professional strategy. So this is the strategy aimed at educating people who are already developers people already in careers as coders and the folks in that domain tend to be reached in three different ways. There's massively online open courses or MOOCs. There's being able to do it direct and at scale. And then there's managed to training. So let me talk a little bit about each of these.

Some MOOCs we partnered with deeplearning.ai and Andrew Ang and the great folks at deeplearning.ai to produce three specializations. We released two of them TensorFlow in practice and TensorFlow data and deployment. And I'm currently hard at work on the third one which is going to be released in November and December and we're calling that TensorFlow from basics to mastery. And the idea behind this one was to produce 12 courses in three specializations that would take somebody from no knowledge at all except maybe a little bit of Python programming to be able to in TensorFlow in practice to be able to meet the common scenarios that are needed in machine learning careers. And that's natural language processing computer vision and sequence modeling. The second specialization data and deployment is then taking the work that you've done in building machine learning models and making them real by putting them into mobile apps by putting them into websites by using them in JavaScript and things like that. And then the final one TensorFlow from basics to mastery is kind of going back a little bit to the model creation from TensorFlow in practice but going deeper learning how to extend your models learning how to create custom. We have things in models called layers learning how to create custom ones and then looking at some of the advanced algorithms and being able to break them down so that you can understand them a little bit better. In that one I'm afraid I broke my promise of not doing math because we had to do math a little bit in that. But we tried to make it as approachable as possible. Directed scale is then we launch the TensorFlow YouTube channel and we wanted to make that the go to place where people could have short quick lessons either about how to do something in TensorFlow or what is happening in TensorFlow new releases all of those kind of things. We also put together a number of hands on code labs again aimed at people. You don't need a PhD on math. You sit down you start coding and you start building out concepts. And it's in line with the three pillars that I spoke about earlier on that we saw as what employers were looking for. And that's computer vision natural language processing sequence modeling.

5. Google Training Initiatives and Success Stories

Short description:

And then we've been working on various Google training initiatives, including ML foundations. We did a talk at Google I called machine learning zero to hero, which was very successful with developers. We have resonance with developers with this type of message. We also have high touch managed efforts to train developers, such as the Bank It academy in Indonesia and the Google Developers Machine Learning Boot Camp in Korea.

And then we've also been working through a number of different Google training initiatives and I created a series for Google training. And I created another series as free training when people were at home in lockdown and those kind of things called ML foundations. And all of that was being done direct at scale via YouTube and by other Google channels.

And then finally sorry I just before I go on to the next one and just as an example of how the model of being developer focused has been successful. Carmel Allison and I did a talk called machine learning zero to hero at Google I 2019 to test it out with the developer audience. So I'm trying to break the machine learning audience into two. There are the people who are expert at machine learning and I. And then there are the software developers who want to use machine learning and I. And my focus has been on this second group. So Google I always the audience for them. And we did a talk at Google I. All that we call machine learning zero to hero to take somebody in about 40 minutes to go from basic Python knowledge to be able to do some pretty complex computer vision in this case in the screenshots. I was teaching them how to do a computer vision exercise that recognizes rock paper scissors. But again when it was done very developer focused one of the nice things we've learned about this one is the viewership of this video. We're approaching 1 million views on it. And when it comes to talks at Google I. Oh this was far and away the most successful from the YouTube perspective. So we realize that we have resonance with developers with this type of message.

And then the third one I mentioned is managed. And so this is where we have high touch managed efforts to train developers and two of them that I show on the slide here one of them is an academy in Indonesia called Bank It. And Bank It was an exclusive machine learning learning academy led by Google working with the government and working with various startups that we brought in 300 people. It was application based. We train them in machine learning and the Indonesian government really wanted to be a part of this so that they could start seeding their startup ecosystem with people who are qualified and

And then the one at the bottom as the Google Developers Machine Learning Boot Camp is running in Korea. It actually started right at the end of October. And the idea behind this one is that Google and a number of companies and many of whom are startups got together to sponsor this boot camp but to make it a very different boot camp. And that is the cohort of people coming into this boot camp. If they pass the content in the boot camp they have a guaranteed job. I'm particularly excited about this one given the economic situation at the moment because of the pandemic that to be able to work together with industry to create a pipeline of people who are qualified to do a job but to have the motivation for those folks to go through this boot camp to have a guaranteed job or internship at the end of it. I find wonderful.

6. AI Education and Impact

Short description:

We've created a rigorous certificate exam to prove developers' skills in computer vision, natural language processing, and sequence modeling. We also work with universities to help them develop courses, providing them with our curriculum and support. The MOOCs we launched have over 600,000 learners and are recognized as necessary skills by the World Economic Forum. We've seen great success with universities globally, with dozens of them teaching the TensorFlow syllabus.

I find wonderful. And all of this leads to what we call the employment oriented developer's certificate. So we've created a rigorous certificate exam and this certificate exam is that once you pass that you're proving that you can be a developer with computer vision natural language processing and sequence modeling. And this is also part of what we had with the Bankhead Academy and with the the academy that I mentioned in Korea at the boot camp I mentioned in Korea.

The second half of this is to work with academia. So to work with universities. And so the number one thing that I when I speak with professors at universities that I hear is that they would love to teach new courses. But every time you need to add a new undergraduate course you have to get rid of an old undergraduate course because there's only so many that they can teach. And there's a great risk involved in teaching new courses. There's a lot of time involved in developing the curriculum in training teaching assistance and all of those kind of things. And as a result there tends to be a lot of friction about adding new courses. Those of us who have graduated with computer science I have half of a computer science degree and I did half physics half computer science. But I recall when I graduated the skills that I learned to graduate were the skills of maybe four or five years prior to my graduation day. And the languages and frameworks that I needed to get a job on the date I graduated just weren't taught in academia.

So we wanted to help try and solve that problem with machine learning. So we created a program where we help universities in developing courses. We provide them with the same curriculum that's used by the MOOCs the same curriculum code first oriented curriculum that like we use in our own trainings and all of that kind of stuff with support and in some cases some financial assistance to for example hire TEAs and that kind of thing. And so we've launched that with a number of different universities. And again the idea was to drive this towards an employment oriented developer certificate and the same one as the professional folks had. So some of the results I'd like to share about this and the global impact of this. So first of all the MOOCs Coursera and Deep Learning AI and the two speciality that the two specializations that we launched as of now when I'm recording this where over 600000 learners and it's it's growing exponentially and this new specializations launching next month. We think we're going to be getting you know hopefully above a million learners by sometime next year. And one thing that the World Economic Forum did a jobs report about the jobs of the future and the jobs of the fourth industrial revolution that AI is being called and they actually cited these MOOCs as a necessary skill. They listed a number of them in the top two where Andrew and deep learning specialization which I learned from with terrific specialization and my specialization a tense phone practice one the ones that we created with each other so that it shows that it's landing well from an employability perspective even recognized by the World Economic Forum jobs report. You'd ask that you also look. They launched an introduction to TensorFlow and some TensorFlow Lite courses and like coming close to 200000 learners. In China the syllabus was used to create a course with company called Nettie's and this launch just last week or middle of October by the time I'm filming this they have around 3000 learners already. So it's we see that it's really beginning to pick up and Udemy are launching some courses quite soon. So again the syllabus it's being used by multiple folks by multiple providers and we're seeing really nice numbers with the universities. We've had dozens of universities globally that we've assisted in teaching the TensorFlow syllabus as I described earlier on but I want to call out a couple of highlights.

7. AI Education Impact and Initiatives

Short description:

Imperial College in London used this to create their teaching syllabus and an online course on Coursera. We aim to widen access to underrepresented groups, such as women and historically black colleges and universities in the USA. The Certificate program, launched in 2020, provides employment-oriented certification in NLP, computer vision, and sequence modeling. It helps bridge the gap between employers and qualified AI professionals. Our goal is to train developers for success in the new economy.

Imperial College in London used this to create their teaching syllabus but they also use this to create an online massively online open course of their own that they teach on Coursera which I found really exciting.

One of the things we're really committed to with this is widening access as much as possible. So I've been talking about you don't just need a PhD and things like that. We also want to widen access to people who are traditionally not represented in A.I. and Keio University in Japan have launched a course for women. And we know that you know there is a there is a representation problem in tech a diversity problem in tech with having women in tech. And in Japan it's particularly sharp because of some historic issues there. So Keio University really wanted to see if they could bring in more women into A.I. and they are just launching a right around now. They are launching this course for women being taught by women. And again they became part of our university funding of the program that we set up. And this is one of the results that came out of it.

And then given the issues globally and what we've been learning globally about racial issues and the fact that black lives really do matter. One of the things that we've been trying to work very hard on is to work with historically black colleges and universities in the USA to help them gain the benefits of the gifts that we can have with A.I. and to be able to take advantage of what the World Economic Forum was showing about the growth of jobs in A.I. and to be able to train their students for that. Earlier I mentioned the Certificate program. We launched that in the middle of 2020 and sorry early 2020 spring at 2020. And it's an employment oriented certificate a rigorous exam covering NLP computer vision and sequence modeling. And as of now we have about twelve hundred holders globally and it is increasing nicely. And the vision here is that to really help people show their skills but to help employers know that these skills have been shown. One massive part of the jobs gap was we discovered that a lot of employers didn't know how to find qualified AI people and didn't know the right questions to ask them. So we created the certificate program with that in mind.

And then just to wrap up I alluded to a little bit earlier on but part of the impact on this one is you know we really want to help seed the economy. We really want to help train developers to be successful in the new economy. I want to share some statistics about the state of employment globally. First of all this chart. This is a general nice upwards trend chart but there's a big dip at the bottom. And this is the chart of GDP of. I averaged that across several countries UK USA and others.

8. Growth Trends and Future Outlook

Short description:

The trend over the past 35 years shows mostly upward growth, with two significant peaks in the chart. The first peak occurred from about 1993 to 2007, driven by the growth of the web and the tech economy. This period gave rise to giant companies like Microsoft, Apple, and Google. The second peak is the app economy, which emerged with the introduction of smartphones, particularly with the launch of the iPhone in 2007. Despite the dip caused by the pandemic, the app ecosystem has still seen significant job growth. The next peak is expected to be the fourth industrial revolution, with a focus on data, AI, engineering, and cloud computing. Reports indicate a high potential for job growth in these areas, with a compound annual growth rate of around 44 percent for the global ML market and a Cagger of 43 percent for AI software revenue.

And you can see the general trend over about the past 35 years is that it's been mostly upwards. There's been a couple of little dips. But the problem when you chart something like this is you see a general upward trend and you think everything is fine and you might miss some of the important nuances in this.

So I recharted it as a derivative chart where instead of just showing the overall growth I wanted to show the growth in any given year relative to the previous two years. And as a result the same 35 year chart showed this. This to me is really interesting because there are a couple of big peaks in this chart.

One of them is here. And this one I don't have the years on this one but this one was from about 1993 through about 2007. And this was the how the growth of the web and how the emergence of the web and the tech economy really changed the world economically in this massive period of sustained growth. And it's no surprise what are now the biggest companies in the world by market cap are all companies that came as a result of this growth the Microsoft the apples that Google's all of those tech companies that are now giants came from this period of growth.

The second one here is the app economy. This is really the growth that came about as a result of the emergence of the smartphone. First introduced I would say you could argue by Apple with the launch of the iPhone in 2007. I know there were other smartphones before that but this economy really picked up. Then then the emergence and growth of Android and other platforms. And we've seen this is a really really huge growth area. And while there's a big dip on the right because of Covid and because of the pandemic we just want to realize that even like Apple. This this year released a statistic that said in 2020 the app ecosystem has grown by 300000 jobs in the US alone so we can see that jobs and employment are still very very hot because of these two peaks.

And the next peak maybe in 10 years time if you look at a graph like this there'll be a new peak. And that's the fourth industrial revolution and the economy that comes as a result of the world economic forum for example did a report where they wanted to look at the jobs of tomorrow starting in 2020 and ending in 2022 and they had five categories data and then data and AI engineering and cloud people and culture product development sales and marketing and far and away the biggest. As you can see here was about a 37 percent growth in jobs between 2020 and 2022 in data and AI and engineering cloud computing you see was plus 34 percent. A lot of that was around ML stuff in clouds. Also so we can see it's a huge potential growth thing for jobs and employment. There's also a Forbes report and I put the link to it here that show the global ML market will have a compound annual growth rate of about 44 percent between 2017 and 2024 from one point five billion to twenty point eight billion. So it is a huge growth area and AI software revenue. They also reported between 2018 and 2025 from 10 to one hundred and twenty six billion which is a Cagger of 43 percent. So we can see here that there's definitely massive massive growth in this area coming. You know they're all all the reports that I see tend to put it as a compound annual growth rate in the 40s. Both of these 43 and 44 percent support that and even they they mined LinkedIn to take a look at jobs and 44000 jobs in the USA required some kind of ML and almost a hundred thousand globally required some kind of ML. So we can see ML AI.


AI Skills Importance and TensorFlow vs PyTorch

Short description:

These skills are massively important as we go forward. We want to train millions of developers to reach billions of people. Thank you for your questions. I want to deploy my models everywhere. The correct option is everything models everywhere. Let's start with a question about TensorFlow or PyTorch. I'm biased towards TensorFlow, but it's good to learn as much as possible about everything.

These kind of skills are massively massively important as we go forward. And we wanted to be the people to help train millions of developers to reach billions of people.

And with that I just want to say thank you and I'll be able to answer any questions. Yeah. Thank you so much. Thank you. Yeah.

Can I answer that question with all of the above. Please. You do you have an answer right now. Let's do it. Yeah. So like I really want to deploy my models. Absolutely everywhere. Everywhere. You know what. Yeah. Everywhere. It's like all the options. What's the correct option. Everything models everywhere. That's awesome.

Well right now let's actually start with some amazing questions because we kind of have some amazing questions right here. So actually this is a buy saying I hope I'm pronouncing your name right. But which do you think is a better option for the industry. TensorFlow or PyTorch.

Well first of all I'll start by saying I'm completely biased given that I work on the TensorFlow team. I'm wearing a TensorFlow jacket and I'm drinking coffee from a TensorFlow mug. So I think my answer there is going to be TensorFlow. And but so if I take off my jacket and take off my mug I think it's always good for everybody to learn as much as possible about everything.

TensorFlow vs PyTorch and Building a Career

Short description:

Despite the competition with PyTorch, TensorFlow is recommended due to its versatility in deploying models across various platforms. While PyTorch offers an easier interface, TensorFlow's strength lies in its extensive deployment capabilities. Practice is crucial for building a career in machine learning, and finding a passion project with available data is a great way to gain experience.

You know we welcome the great competition that we're getting with PyTorch. I think it's brilliant for the industry to have competition amongst the vendors. But I will answer that you know despite that I still think TensorFlow just because of the number of different places that you can deploy TensorFlow models. Right. From the massive cloud scale infrastructure with multi node TPUs all the way down to the tiny like microcontrollers and embedded systems that your TensorFlow skills regardless of what type of model you want to produce there's a place for you to put it. And so like from the industry perspective I think you know I would strongly recommend despite my jacket I would still strongly recommend TensorFlow.

Yeah definitely. I do know like that you know PyTorch does abstract a lot of well hidden mechanisms that TensorFlow does provide. And like while on one it's kind of a tradeoff because on one side TensorFlow is definitely more adaptable and controllable and flexible. Whereas with PyTorch some people are just finding an easier interface to just use in general. Yep I won't claim any kind of expertise in PyTorch. It's it's something that I need to learn more of to be perfectly frank. But yeah my focus has always been on enabling people to succeed with the technology. And you know it's one level is being able to build models. But the other level and more important level is having somewhere to deploy them. And I think you know that deployment surface is a massive massive strength of TensorFlow and it's you know where I think we distinguish ourselves across in ML and that's why I'm particularly passionate about it.

Yeah that's a great answer. And also here's another question from Arjun Kumar. Do you recommend it. How do you recommend continuing to build your career after completing courses like yours or ending for example. Yeah. Good question. I think practice practice practice is very important. I think like with any kind of coding the more that you do it the better you get at it. You begin to realize the pitfalls. You begin to realize like those tips those tricks those things that make you better at doing it. So ML is no exception in that regard. It's really practice practice practice. It doesn't have to be public with competitions on Kaggle or anything like that. And one thing that I always recommend is you find something that you're passionate about and then there's got to be some data out there around something that you're passionate about and start building models in that regard.

Symbiotic Relationship Between Theory and Practice

Short description:

And just continue to practice and become a better model creator. The key with anything is constantly practice to improve yourself. How do you balance the completely different notions of approaching machine learning and deep learning? It's a symbiotic relationship between theory and practical applications. Starting with practical coding makes it easier to understand models and how they learn. Building models without knowing any math is possible, but understanding the math under the hood is necessary for building better models.

And just continue to practice and become a better model creator. And then once you have those models that practice practice practice then deploying those models be it like a large scale global scalable infrastructures or maybe just the single cell phone for yourself to use. But you know the key with anything is constantly practice to improve yourself.

Yeah that's that's true. You know I've also like about like practicing too and everything that that is associated with this too. Like there are also like a number of people. I'm also looking at a bunch of questions where there is that like mathematical aspect that is deep learning and machine learning whereas you know TensorFlow is more of like OK let's kind of break things apart from a more practical aspect and then you know dig deep into that way. So a question would be like you know how do you kind of balance these two you know these two completely different notions of approaching machine learning and deep learning. Would you prefer one or the other or somehow like a symbiotic relationship between like theory and practical applications when going on your like machine learning journey.

I like the term that you just use symbiotic because I think that's exactly right. But symbiotic like how do you start. And so they should be meshed together. But how do you get started. And I mean I can say just for me personally I hadn't done calculus in 30 years when I started looking into modern machine learning. And when the initial material that I was looking at was kind of teaching you how an optimizer works through gradient descent and tons of calculus or you know teaching you how a convolution works using mathematical and Greek notation. I'll admit I was lost. It was harder for me to follow it. But when it was like I started looking into this like using code and primarily code it's much easier for me to read and understand code. So then my symbiotic relationship began definitely on the practical coding side of it. So that now I can understand what a model is. Now I can understand how a model learns from parameters. Now I can see how back propagation works and things like that. And then with all of that context around it then to start going into the math and then seeing ah now I see where I'm using calculus for gradient descent and all of those kind of things. So to really build that context around it so that I could understand it better and that's why now it's very much that symbiotic relationship. You know I could start building models without knowing any math. But once I was started building models if I wanted to build better models than to start understanding what's going under the hood was was necessary.

Yeah that's completely true because like I know there's a lot of people who are in school especially like based on our polls and you know maybe like in school you'll be like learning some very complex mathematics like calculus for example that you mentioned and you're like well if you're just if it's just thrust at you it's like OK but where do I use this. What am I going to do with it. I don't care as long as I just pass this course. I'm good.

Calculus and TensorFlow

Short description:

Don't let calculus be the gatekeeper that prevents you from getting started in machine learning. Once you're productive, it becomes easier to understand the math. Regarding TensorFlow, early versions were graph-oriented, making it difficult for coders. TensorFlow 2, with eager execution, became more Pythonic and easier to use.

Then when you're like but I am interested in machine learning and deep learning. Hmm. What do I need to do for that incoming calculus. Just surreptitiously is like hi again. And then you're like oh so this is how you can use calculus to do to create like all of these machine learning you know projects that you know you see everywhere just being deployed. It's like oh my God there's self-driving cars. There's like this system that can detect your fraud whether your activity is fraudulent. Yeah just like the applications are endless and all with calculus.

So yeah that's definitely very interesting to hear. It's like don't let that be there. Don't let that be the gatekeeper that prevents you from getting in that if you're like me that once you start reading calculus and your mind your brain goes to sleep you know that kind of stuff you can really get started and start doing all of this stuff and be productive before you start getting into the math. But it's like once you're at that productive level then it becomes easier to get into the math because you've built that context around it and it makes it much easier for you to do so. Sorry you said you had another question.

Now that we always have so many questions for you they just keep pouring in. So you know my scene. You see like TensorFlow just like you know build just become this huge thing right in front of you. But do you have any reservations about TensorFlow. Like maybe somewhere along the way TensorFlow could have done something better. And it's probably still something that's a big problem. Is there anything like that. I don't think there's anything that I would consider to be a big problem now. I think one thing that would have been really nice to have earlier. But we then eventually had with TensorFlow 2 was to think about it in a more Pythonic way because like early versions of TensorFlow were very much graph oriented. So you'd load all your stuff into a graph and then you execute like a session within a graph. And for me as a coder as opposed to an A.I. person that was a little bit alien to begin with. It was very hard to like because you can't do step by step debugging and things like that. When we release TensorFlow 2 became like with eager by default became more Pythonic. So it made it much easier for the people who are coders to get up and running. And if there was any one thing that I had the time machine that I would change to do sooner it would be that.

Choosing a Language for Machine Learning

Short description:

The best language to start your machine learning journey is the one you're most passionate about. If you don't have a preference, Python is recommended due to the extensive support libraries available. However, there's nothing wrong with using JavaScript, especially with TensorFlow.js. Jason will be discussing this further at the conference.

That's very fascinating. And I think we have like a final question over here. So I. So there are people with some experience in JavaScript and Python and they they're always like asking like so which is the best language to start my machine learning journey. Do you have any any specific thoughts on that. Yeah I think the best language to start your machine learning journey of those two is the one that you're most passionate about using. I know a lot of people who love JavaScript and a lot of people who hate JavaScript and a lot of people who love Python and a lot of people who hate it. If you don't have any particular affinity to either of them my recommendation would be to start with Python just because of the number of support libraries that are out there for the beyond machine learning part of it the data science part of it. They're drawing graphs and all of that kind of thing. So like I said if you were going to pick one from scratch I would say definitely Python. But there's certainly nothing wrong with JavaScript. The things you can do with TensorFlow.js are fabulous. And yeah I think Jason is going to be talking about that at this conference later today and he always shows amazing things. Exactly. I'm completely looking forward to that too.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

JSNation 2023JSNation 2023
24 min
AI and Web Development: Hype or Reality
In this talk, we'll take a look at the growing intersection of AI and web development. There's a lot of buzz around the potential uses of AI in writing, understanding, and debugging code, and integrating it into our applications is becoming easier and more affordable. But there are also questions about the future of AI in app development, and whether it will make us more productive or take our jobs.
There's a lot of excitement, skepticism, and concern about the rise of AI in web development. We'll explore the real potential for AI in creating new web development frameworks, and separate fact from fiction.
So if you're interested in the future of web development and the role of AI in it, this talk is for you. Oh, and this talk abstract was written by AI after I gave it several of my unstructured thoughts.
6 min
Charlie Gerard's Career Advice: Be intentional about how you spend your time and effort
Featured Article
When it comes to career, Charlie has one trick: to focus. But that doesn’t mean that you shouldn’t try different things — currently a senior front-end developer at Netlify, she is also a sought-after speaker, mentor, and a machine learning trailblazer of the JavaScript universe. "Experiment with things, but build expertise in a specific area," she advises.

What led you to software engineering?My background is in digital marketing, so I started my career as a project manager in advertising agencies. After a couple of years of doing that, I realized that I wasn't learning and growing as much as I wanted to. I was interested in learning more about building websites, so I quit my job and signed up for an intensive coding boot camp called General Assembly. I absolutely loved it and started my career in tech from there.
 What is the most impactful thing you ever did to boost your career?I think it might be public speaking. Going on stage to share knowledge about things I learned while building my side projects gave me the opportunity to meet a lot of people in the industry, learn a ton from watching other people's talks and, for lack of better words, build a personal brand.
 What would be your three tips for engineers to level up their career?Practice your communication skills. I can't stress enough how important it is to be able to explain things in a way anyone can understand, but also communicate in a way that's inclusive and creates an environment where team members feel safe and welcome to contribute ideas, ask questions, and give feedback. In addition, build some expertise in a specific area. I'm a huge fan of learning and experimenting with lots of technologies but as you grow in your career, there comes a time where you need to pick an area to focus on to build more profound knowledge. This could be in a specific language like JavaScript or Python or in a practice like accessibility or web performance. It doesn't mean you shouldn't keep in touch with anything else that's going on in the industry, but it means that you focus on an area you want to have more expertise in. If you could be the "go-to" person for something, what would you want it to be? 
 And lastly, be intentional about how you spend your time and effort. Saying yes to everything isn't always helpful if it doesn't serve your goals. No matter the job, there are always projects and tasks that will help you reach your goals and some that won't. If you can, try to focus on the tasks that will grow the skills you want to grow or help you get the next job you'd like to have.
 What are you working on right now?Recently I've taken a pretty big break from side projects, but the next one I'd like to work on is a prototype of a tool that would allow hands-free coding using gaze detection. 
 Do you have some rituals that keep you focused and goal-oriented?Usually, when I come up with a side project idea I'm really excited about, that excitement is enough to keep me motivated. That's why I tend to avoid spending time on things I'm not genuinely interested in. Otherwise, breaking down projects into smaller chunks allows me to fit them better in my schedule. I make sure to take enough breaks, so I maintain a certain level of energy and motivation to finish what I have in mind.
 You wrote a book called Practical Machine Learning in JavaScript. What got you so excited about the connection between JavaScript and ML?The release of TensorFlow.js opened up the world of ML to frontend devs, and this is what really got me excited. I had machine learning on my list of things I wanted to learn for a few years, but I didn't start looking into it before because I knew I'd have to learn another language as well, like Python, for example. As soon as I realized it was now available in JS, that removed a big barrier and made it a lot more approachable. Considering that you can use JavaScript to build lots of different applications, including augmented reality, virtual reality, and IoT, and combine them with machine learning as well as some fun web APIs felt super exciting to me.

Where do you see the fields going together in the future, near or far? I'd love to see more AI-powered web applications in the future, especially as machine learning models get smaller and more performant. However, it seems like the adoption of ML in JS is still rather low. Considering the amount of content we post online, there could be great opportunities to build tools that assist you in writing blog posts or that can automatically edit podcasts and videos. There are lots of tasks we do that feel cumbersome that could be made a bit easier with the help of machine learning.
 You are a frequent conference speaker. You have your own blog and even a newsletter. What made you start with content creation?I realized that I love learning new things because I love teaching. I think that if I kept what I know to myself, it would be pretty boring. If I'm excited about something, I want to share the knowledge I gained, and I'd like other people to feel the same excitement I feel. That's definitely what motivated me to start creating content.
 How has content affected your career?I don't track any metrics on my blog or likes and follows on Twitter, so I don't know what created different opportunities. Creating content to share something you built improves the chances of people stumbling upon it and learning more about you and what you like to do, but this is not something that's guaranteed. I think over time, I accumulated enough projects, blog posts, and conference talks that some conferences now invite me, so I don't always apply anymore. I sometimes get invited on podcasts and asked if I want to create video content and things like that. Having a backlog of content helps people better understand who you are and quickly decide if you're the right person for an opportunity.What pieces of your work are you most proud of?It is probably that I've managed to develop a mindset where I set myself hard challenges on my side project, and I'm not scared to fail and push the boundaries of what I think is possible. I don't prefer a particular project, it's more around the creative thinking I've developed over the years that I believe has become a big strength of mine.***Follow Charlie on Twitter
ML conf EU 2020ML conf EU 2020
41 min
TensorFlow.js 101: ML in the Browser and Beyond
Discover how to embrace machine learning in JavaScript using TensorFlow.js in the browser and beyond in this speedy talk. Get inspired through a whole bunch of creative prototypes that push the boundaries of what is possible in the modern web browser (things have come a long way) and then take your own first steps with machine learning in minutes. By the end of the talk everyone will understand how to recognize an object of their choice which could then be used in any creative way you can imagine. Familiarity with JavaScript is assumed, but no background in machine learning is required. Come take your first steps with TensorFlow.js!
React Summit US 2023React Summit US 2023
30 min
The Rise of the AI Engineer
We are observing a once in a generation “shift right” of applied AI, fueled by the emergent capabilities and open source/API availability of Foundation Models. A wide range of AI tasks that used to take 5 years and a research team to accomplish in 2013, now just require API docs and a spare afternoon in 2023. Emergent capabilities are creating an emerging title: to wield them, we'll have to go beyond the Prompt Engineer and write *software*. Let's explore the wide array of new opportunities in the age of Software 3.0!
JS GameDev Summit 2023JS GameDev Summit 2023
37 min
Building the AI for Athena Crisis
This talk will dive into how to build an AI for a turn based strategy game from scratch. When I started building Athena Crisis, I had no idea how to build an AI. All the available resources were too complex or confusing, so I just started building it based on how I would play the game. If you would like to learn how to build an AI, check out this talk!

Workshops on related topic

DevOps.js Conf 2024DevOps.js Conf 2024
163 min
AI on Demand: Serverless AI
Featured WorkshopFree
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
React Advanced Conference 2023React Advanced Conference 2023
98 min
Working With OpenAI and Prompt Engineering for React Developers
In this workshop we'll take a tour of applied AI from the perspective of front end developers, zooming in on the emerging best practices when it comes to working with LLMs to build great products. This workshop is based on learnings from working with the OpenAI API from its debut last November to build out a working MVP which became PowerModeAI (A customer facing ideation and slide creation tool).
In the workshop they'll be a mix of presentation and hands on exercises to cover topics including:
- GPT fundamentals- Pitfalls of LLMs- Prompt engineering best practices and techniques- Using the playground effectively- Installing and configuring the OpenAI SDK- Approaches to working with the API and prompt management- Implementing the API to build an AI powered customer facing application- Fine tuning and embeddings- Emerging best practice on LLMOps
JSNation Live 2021JSNation Live 2021
81 min
Intro to AI for JavaScript Developers with Tensorflow.js
Have you wanted to explore AI, but didn't want to learn Python to do it? Tensorflow.js lets you use AI and deep learning in javascript – no python required!
We'll take a look at the different tasks AI can help solve, and how to use Tensorflow.js to solve them. You don't need to know any AI to get started - we'll start with the basics, but we'll still be able to see some neat demos, because Tensorflow.js has a bunch of functionality and pre-built models that you can use on the server or in the browser.
After this workshop, you should be able to set up and run pre-built Tensorflow.js models, or begin to write and train your own models on your own data.
ML conf EU 2020ML conf EU 2020
160 min
Hands on with TensorFlow.js
Come check out our workshop which will walk you through 3 common journeys when using TensorFlow.js. We will start with demonstrating how to use one of our pre-made models - super easy to use JS classes to get you working with ML fast. We will then look into how to retrain one of these models in minutes using in browser transfer learning via Teachable Machine and how that can be then used on your own custom website, and finally end with a hello world of writing your own model code from scratch to make a simple linear regression to predict fictional house prices based on their square footage.
ML conf EU 2020ML conf EU 2020
112 min
The Hitchhiker's Guide to the Machine Learning Engineering Galaxy
Are you a Software Engineer who got tasked to deploy a machine learning or deep learning model for the first time in your life? Are you wondering what steps to take and how AI-powered software is different from traditional software? Then it is the right workshop to attend.
The internet offers thousands of articles and free of charge courses, showing how it is easy to train and deploy a simple AI model. At the same time in reality it is difficult to integrate a real model into the current infrastructure, debug, test, deploy, and monitor it properly. In this workshop, I will guide you through this process sharing tips, tricks, and favorite open source tools that will make your life much easier. So, at the end of the workshop, you will know where to start your deployment journey, what tools to use, and what questions to ask.
ML conf EU 2020ML conf EU 2020
146 min
Introduction to Machine Learning on the Cloud
This workshop will be both a gentle introduction to Machine Learning, and a practical exercise of using the cloud to train simple and not-so-simple machine learning models. We will start with using Automatic ML to train the model to predict survival on Titanic, and then move to more complex machine learning tasks such as hyperparameter optimization and scheduling series of experiments on the compute cluster. Finally, I will show how Azure Machine Learning can be used to generate artificial paintings using Generative Adversarial Networks, and how to train language question-answering model on COVID papers to answer COVID-related questions.