Ask a Machine Learning Engineer Anything (live) | April 2019

Machine learning engineer Daniel Bourke answers live questions about getting started in ML, learning strategies, and career paths. He advocates a project-first approach, recommends fast.ai and Coursera, and walks through his typical day building NLP classifiers with Flair.
Chapters
5, 4, 3, 2, 1. All right, how we doing? All right, we're live. What's happening, team? Happy Sunday. It is Sunday, the 28th of April, 2019. I'm excited. I'm doing this live stream to answer some of the questions that I get most often. So, if you want to leave a question in the chat, go ahead. I'll get to it as soon as I can. Otherwise, I've got a little question bank saved in some notes here. I'll probably tackle a few of those in between answering questions from the chat. Yo, what's happening all? How are we? Leon, Prabhu, how are we? Prashant. Yes, Leon, I read your telegrams earlier today, but I haven't checked it probably in the last 3 or 4 hours. Did you send me any more messages? We'll get back to those messages and set up a proper setup another time. I've got a few questions I'm going to answer on this stream. but we'll get a chat organized. Robert, how are you, my friend? Hello from Brisbane. Brisbane's an awesome place. It's my favorite city in the world. I'm pretty biased though, because I've grown up and lived here all my life. But April's been a fun month. At the start of the month, I was in New Zealand. I had a jiu-jitsu tournament. I lost both my fights. That was a great experiment, a great experience. I went bungee jumping. —don't tell my mom—that was amazing too. And then I got back and I've been hard into study. I'm planning out— I've been looking at some maths courses on Coursera. Otherwise, just trying to improve my Python skills or data science skills. That's where I'm at at the moment is just same as always, health, studying every day if I can, writing every day, moving every day in terms of working out and just trying to trying to make things, right? I like, I like building things. All right, everyone's jumping in. Welcome to the channel. If you're new, my name is Daniel Bourke. I live in Brisbane. I'm a machine learning engineer. I work at Max Kelsen, which is a tech company in, in the Fortitude Valley, which is close to the Brisbane city. It's an amazing area. We work on problems from all different kinds of industries. So if you have any questions about machine learning and about health, that's what I'm also really interested in, about making content online, about getting a job, about life. I'll do my best to answer it. It's 9:00 PM here, so I'll probably hang around until about 10:00 PM, maybe do half an hour, 45-minute session. I've got to drop my brother to the airport early tomorrow morning, so we'll get started. All right, let's jump straight into questions from Prabhu asks, I am a complete beginner in ML. How should I start learning data science and ML? How should I start learning and build projects? Prabhu, what worked really well for me was just picking something and— okay, I think— is the audio working? My headphones just told me that they died. Audio still working? What just happened to my headphones? Oh, this is great. This is the perils of doing live streams. Can you all still hear me? I'm going to get to questions as soon as I can. I'm just, just having some some issues with my headphones. Audio still working? All right, I'm gonna, I'm gonna keep going. Okay, beautiful. Thank you all, thank you all, thank you all. I am a complete beginner in ML. How should I start? Okay, how would I start? Going back, you've done the Andrew Ng course on machine learning. You're right, it is mostly theoretical. What I would start as soon as possible is jumping into working on some sort of code, right? That way, instead of learning learning all the theory. My approach to— here's my approach to learning, right? Overall, I like to do things as soon as possible. AKA, there's a saying that my friend says, or my friend said once, and I've kind of replayed it in my head over and over again. Boil the ocean. So, if you tried to boil the ocean, right, how would you go? It would take a lot of energy and you probably wouldn't get very far. So, here's my take to learning. Take that analogy of boiling the ocean and apply it to learning. If you try to learn everything about one particular thing before you actually try to do something with that knowledge, it's not really going to work out, right? It's going to be like trying to boil the ocean. Instead, what do people do? They boil kettles of water, so small amounts at a time for what they need to use it for, a.k.a. making a cup of coffee, making a cup of tea. Now, how does this relate back to learning? How does this relate back to machine learning? Machine learning? Well, this is, this is my advice, and I try to do it my best myself, is that when you're starting to learn something new, do it like a phase, like an athlete, right? An athlete trains for something and then tests their skills. Train, test, rest. Train, test, rest. That's what you can do with any type of learning, any type of skill, and the same goes for machine learning. Now, how can you do that? Well, what you can do is— I'm a big fan of fast.ai. So fast.ai is a free resource. You can just go to fast.ai. If you also Google fast.ai machine learning course, they have a great series of videos by Jeremy Howard, who's one of the world leaders in machine learning and AI, which is a very practical approach to getting started in machine learning. It's what I recommend anyone start. And I've done the course, I regularly revisit anything that Jeremy teaches, anything that he says because of his approach to teaching, because of his approach to learning. It's very hands-on, practical. So Prabhu, that's a bit of a long-winded answer to your question. I would start jumping in, coding things, building things as soon as you can and revisiting those skills by making things with with what you've learned, right? And now, here's the thing. I had a question from— let me see what their name is. This is the thing with projects, right? A lot of people sort of stray away from projects. Well, and I get a lot of questions recently, how do I start my own project? This is from Aditya, right? Aditya sent me an email, and you can send me an email whenever you want to. So, this is How do you work on your own projects? Aditya says, I have also completed the deep learning specialization on Coursera, but I'm not able to start a project even though I can understand what is happening in many other projects. I want to ask you, is this normal? How do you start ML projects from scratch and how to be confident about them? Did you have any of these problems, and if so, can you help me? Okay, so this is on topic, the topic of projects, which is very important in my opinion. Now, what happens with projects and why people don't start them is because the way education has been set up, at least in my country, at least from what I know, is to— they give you a guideline of what to follow, right? So this is all of education to start with. It's like, here's Here's what you should do. If you follow this list, you will get good marks, right? That's how projects work to begin with. However, what holds a lot of people back, including myself, is not even using one of these, right? Starting a project that doesn't really have a guideline. It can be anything, and that's what's hard about it, is that it can really be anything. So, the way I talk about it is use the crossroad analogy. What does that mean? So, maybe you're learning machine learning, right? And maybe you're interested in something else. For me, it's health. How can I apply machine learning to health and create my own project? And now here's the biggest thing. It's— projects don't really have a criteria, especially if they're your own. What the main goal is is for you to use the skills you've been learning in some environment, in another environment that isn't necessarily— someone hasn't laid out for you, right? In a, in a course, someone has gone ahead and gone, here's what you should do for this project, right? But in your own project, you don't have that, right? You're creating the next rule. If, if, if you need to do something, you might need to learn it. You might not know what to do next, and that's important, right? Because that's what happens. I face that almost every day on the job. I don't know what to do next, so I have to research what, what's going on. And now here's the big thing: a project doesn't necessarily have to come with an outcome that is completely world-changing. Don't hold yourself back from starting your own thing just because it won't be amazingly, incredibly world-changing. Awesome if it is, But you have to start somewhere. You never know where it's going to lead. So maybe take a brainstorm, sit down for 10 minutes, 30 minutes, an hour, write down things that you're interested in, see how machine learning can be applied to that. Go to Google, search for datasets related to that problem. Can you apply machine learning to that? And then what do you do after that? Well, it's totally up to you, but in my opinion, you should document your findings and then communicate it to someone else. So that's what I try to do with my projects. I did that for the bioinformatics one. Wasn't biologically sound, wasn't scientifically sound, but I learned a whole lot about genes, I learned a whole lot about DNA, I learned a whole lot about Python programming, and I have a great story to share. So that's my advice for you to work on your own projects. Thank you for the great question, Aditya. We'll jump back to the chat now. It's a bit of a long-winded one. I'm going to try to answer as many questions as I can, right? So bear with me. I'll get to it. And thank you all for joining in. I really appreciate it, guys. I really, really appreciate the questions. I really appreciate the comments and whatnot. Okay, everyone's saying hey. Prasanna, hey. AJ, what's up, man? Hey, Daniel, can you give me some ideas on some projects people starting out in ML could attempt to further their career? AJ, I think I, um, I answered that one a little bit there, but essentially, if you want to work on your own projects, create almost whatever you want. I'm being honest, but document what you do, right? That way you can share with someone. And big point here, it doesn't necessarily have to work out, right? And a future employer— here's a scenario, imagine this— you're like, I worked on this project, it didn't completely work out, but I know where I went wrong and here's what I would do on the next one and here's what I'm doing on the next one. That's even better, right? It's like, here's what I've actually— here's the thing I've done. This didn't work out, scrap that. Brought up another one, knew what didn't work, did this one better, still working on it. Going to keep going on this. That's, that's my advice for projects. And that's what I try to do myself. Sam, best ML courses? I've written about this before. Anything in my AI master's degree, if you Google Daniel Bourke AI master's degree, they're all my favorite machine learning courses. There's a lot out there, but I can only really speak about the ones that I've done. Sam, you do so many courses. Yeah, you're right, because I'm hungry for knowledge, man. I'm hungry to learn. Plus, there's so much in this field that you kind of have to to just keep learning, right? Because it's just, just so much. Um, Prasanna is saying, I am planning to do Udacity career path for AI. Is it worth taking? It's expensive, but people have positive feedback as it covers most aspects. What is your opinion? So essentially, is Udacity's AI course worth it? And what are my opinions? Uh, I found it incredibly worth it if you put it this way. Here's how I put any type of investment. Do I have a piece of paper? No, I'll just explain it, right? I'll use words. So any type of learning investment, say Udacity, $1,000, easy number, right? And it's about that anyway. $1,000, yes, it is a big upfront expense. When I first paid for Udacity, I was driving Uber on weekends, earning like $400 cash. So that's almost a month worth of salary to pay for this course, right? So, $1,000 expense, however, what you learn with that skills, right, what you learn with that $1,000 expense has the potential to earn you far more. You can't even explain it. Maybe if you get a job that's $50,000 a year, that's a low estimate after doing a Udacity course, right? Then you've spent $1,000 to earn $50,000 a year. Maybe that $1,000 you took you a month to earn and now $50,000 you're earning whatever that is over a 12-month period, $5,000 a month, something like that, maybe $4,000 a month, $1,000 a week now. So that's what I think about in terms of investment. And now, do you have to spend $1,000 on Udacity? Could you get the materials for free sourced elsewhere? Yes, potentially. However, the benefit of doing a course is that someone has structured the information for you, right? So that's the value-add. Plus, you have world-class instructors, plus you have the potential for career services, plus you have the potential to meet other people who are studying what you're studying. So, there's a lot more benefits of a course rather than just the certificate at the end, right? You got to think about what am I actually paying for here? It's not just to have that shiny certificate. Where is it? This one. Like, this is what I got the other day, and I got this hoodie as well. It's not just to have that, right? There's a few more things to it. And that goes for any other education investment. Like, if you could spend— I don't have a book with— oh, here we go. Here's one of the books I'm reading now. Absolutely loving it. I'm going to have a review on my channel when it's done. It's about how artificial intelligence can be used in healthcare, right? That's something I really want to work on. So, that book, I think, I don't know, on Amazon, it's like $30 or something. But that has given me ideas, inspiration, and information that I will hold on to a lifetime, right? For $30. Investing in your education, guys, like, if you can afford it, it is always worth it as long as you use the knowledge and the skills that you obtain, right? I'm a big fan of investing in education and health. So, long— tie back to Udacity. I've definitely found it worth it. It helped me towards getting a career. Was it the only thing that helped me getting a career? No, it was a multitude of courses and also the sharing of my work online. Alright, so Udacity, worth it. Will it definitely get you a career? No, not— no one single course will definitely get you a career. You have to use the knowledge you get from the courses apply that, share it online, or share it somewhere, show people your work. That's the sort of the trifecta effect. Superfox, is there a difference between data scientist and big data? Superfox, data scientist is someone who gets information out of data. That's how I see a data scientist. If you take a pile of data here, I'm a data scientist, I'll look at that and I'll be able to go, "Hey, there's some information here I should tell these people about, about this stuff." So, big data you can imagine as a, let's say, a box, and a data scientist looks into that box and goes, "Is there anything useful in this that I can show to other people that can bring value to them?" Monaha asks, "Hey Daniel, can you share a machine learning schedule, a math learning schedule for machine learning?" Manaha, I don't have a great one at the moment. I'm trying to improve my math and machine learning. My schedule for studying, I try to do a little bit every day, right? And what does a little bit mean? Sometimes it's half an hour of reading, sometimes it's right up to a full day of 6 to 8 hours of just studying whatever it is I'm learning. So, why a little bit every day? It's because it keeps the brain flowing, right? It's like the body, a simple analogy. If you don't move your body well enough, it's going to become stagnant, you're going to become unfit. So, it's the same with the brain. I find if I take too long off, a break in between things, my brain sort of goes to mush, right? And I like I like thinking about things a lot anyway, so studying a little bit every day is fun for me. But math learning, I've been looking into the math machine learning course by Coursera and also the computational linear algebra by Rachel Thomas. There's some great resources there. Anubrata asks, "Can you give comprehensive interview idea for a data scientist?" A comprehensive interview idea. Anubrata, I can't really. I'm not the best person for that. And here's another thing, guys. I'll be straight up with you about things I don't know and I can't answer. I'll do my best to answer the stuff that I can, and I'll do the best— I'll just say, I'll tell you straight up if I can't. I'm still in the first machine learning role I've ever had, and my interview process wasn't the traditional one where you sort of go in and have a coding session on the whiteboard or have to solve some algorithm challenge or something that you've heard of. It was more of a, hey, do you want to come in and start working on some data problems? And I did. I was— I worked on pandas. I worked on a DataFrame with pandas for a day. And they said, do you want to come back next week? And I said yes, did the similar thing. And then they said, do you want to come back again the next week? Yes, said yes. And then on that day they said, do you want to, do you want a role? And then I said yes. So it wasn't— I was more sort of doing an internship that went to a role. Mert asks, hey Daniel, what did you do to take care of the math and statistics foundations for machine learning? So, the math foundations, I used Khan Academy, and statistics, a book, I'm actually rereading it at the moment, it's called Think Stats for Python. Think Stats and Khan Academy are both free. So, Mert, if you Google Think Stats by Alan Downey, if someone wants to write that in the comment section, that'd be great. I can't really type at the moment, I'm just going to keep talking. So, yeah. Khan Academy for math, linear algebra, matrix multiplication, matrix manipulation, calculus, all that sort of stuff. And statistics, Think Stats, it's a beautiful book and it's got Python code examples. Leon shared an article, make sure you check that out. For some reason 1Password keeps opening up. Holy gosh, it just jumped, jumped straight to the bottom of the chat. I'm so lost. All right, we're back to it. Mert says, did I complete Imperial College London mathematics for machine learning specialization? Mert, I haven't done that, but I believe that is the one I've been looking at doing. As I said, I've got a— well, I haven't said that actually. I've got a few things going on that are preventing me from signing up and pulling the trigger, namely just projects, other things that I want to work on. But yeah, that is definitely the one I've been looking at. Superfox, yes, what is, what is the easiest way to learn math for machine learning that actually makes sense, not like school where you learn math? To be honest, I don't know. I don't know the most easy way to learn math for machine learning. Math, what changed the idea of math for me was viewing it as a language. So, math is like the language of nature. So, much like you would talk English to someone else or talk something, or Japanese or Chinese or something like that, mathematics is a language of everything around us, right? So, I was actually emailing back and forth someone with a 20-year-old from Sydney in my home country. Asking what are my thoughts on learning online versus learning at university. And I said to him, I was actually kind of thinking of going to university to learn math, right? To do— well, here's my boil the ocean type thing, right? I'm like, this is just a thought that went through my head, I'm going to think it out loud. Potentially going to university to learn mathematics. Now why? Why? Because mathematics can be applied to almost anything. Same with code, same with media. I like learning skills that are applicable to any field. So, math you can use almost anywhere. If you know about math, you can converse with mathematicians, you can implement code, you can back it up with math, etc., etc. Now, why learn it at university? Because in 2016, I was learning Chinese and Japanese. I did it for a year. But now, "watashi no nihongo jyousujinai desu." My Japanese is not that good anymore. And "zhongwen bu ha." Chinese no good. No good anymore. Why? Because I stopped using it. Now, the quickest way I was learning languages was talking to other people who spoke the languages, namely people in my class. And so, when I view— because I view mathematics as a language now, The quickest way to learn it, like I was talking with one of my colleagues about Monte Carlo dropout, right? And he was showing me some of the math behind it. Alright, if you're not sure what Monte Carlo dropout is, don't worry, you can— I'll do an article or something on that in the future, but in the meantime, you can Google it. Long story short, I was understanding it a lot better because I was conversing with someone else about math, right? About another language. Again, my headphones too. Is my audio working? Um, it should be working. Long story short, I was thinking about going to university to learn mathematics because you'd be in an environment with other people who are also speaking that language, right? It's the same with code. It's like if you're learning code with someone else, you're partnering up with them. It's, it's if you're speaking the same language to them right? Then it's a lot easier to practice. Whereas when I was learning Japanese and Chinese, as soon as I stopped speaking the language, I lost all the skills, right? So that's why I can't really speak it that much, that very well anymore. Okay, that's a bit of a long-winded story to my thoughts on mathematics. Now, we're going to get back into the chat. Get some new headphones. You're right, Superfox. I don't know why my headphones keep dying. They say that I'm full battery. Forte, a bit of a personal question. Do you see yourself being with someone and maybe raising a family in 5 years? Forte, great question. Do I see myself being with someone in 5 years? Who knows? My last girlfriend was— we broke up in 2016. Yeah, so 3 years ago, 3 years ago now or so. So, a lot can happen. A lot can happen in 5 years. A lot can happen in 1 year. To be honest, I'll be 30 years old. I potentially see myself with someone, but not necessarily raising a family by that stage. Who knows though, right? Things can change. A lot can happen in 5 years. But at the moment, I'm not not dating or not looking to go on dates or anything. Oh yeah, I go on dates, whatever, but at the moment I've got too many things that I'm focusing on and working on to sort of invest time in that aspect of life, but it is definitely something I'll be interested in pursuing in the future. Rusty. Rusty says, what do I think about downloading good courses from torrent if they're too expensive? Are video lectures enough? "And where can I exercise?" Rusty, I don't condone stealing anyone's content. I would say rather than sort of downloading stuff from Torrent, do the best you can. There's a lot of great free resources on there. I'm not an advocate for stealing other people's work. If you can't afford it, I would potentially reach out and tell them your scenario. Maybe they'll be able to help you out. Where can you exercise? You can take the knowledge you've been learning from, from those lectures that you've watched and try and apply it through, through your own project that I've talked about at some point at the start of this video. Surabh Medeo, how are you, man? Good to see you guys here. For getting ML job, do we need to understand derivations of equations, or is it okay just to know how those equations work in background? Uh, Surab, I'll be honest, I don't know full derivations of the equations. I know how to take code and apply it to problems and research different ways of doing things and apply it to different things. That, that is essentially what I do in a nutshell. Um, but I am looking into ways of upskilling myself on the math behind it, right? So it's not just I'm applying code. That is my particular role. I'm a machine learning engineer in a consulting role. So I partner with businesses and take their existing data and then build machine learning pipelines with that data. Now, if you want to be a machine learning researcher or someone at university who's studying machine learning, potentially the math may be something that you really want to dig into. My main— the main demand of my role is being able to use Python code especially, and knowing, knowing the ins and outs of data science, not necessarily the pure math behind the code. xballer23: Do you think you could earn $200k a year as a machine learning engineer? Yes, I plan on earning a lot more than that in the future, but $200K a year will likely for me be within the next year if I, if I play my cards right. Superfox, what diet is best for fat loss? That will depend completely on the individual. Nutrition is a funny science, right? It's, it's very different per individual. I want to try to put some data behind it. I haven't quite got that yet, but that's going to be a future project of mine, is trying to work out that. Otherwise, fat loss, one of the easiest ways is to be in a calorie deficit. So what does that mean? Eat less calories than you burn. It's kind of hard to measure. What you can do is track the amount of calories you eat every single day, right, using an app like MyFitnessPal. Track your weight every morning at the same time. Now, even though the metrics may be slightly wrong, if you do this enough, you'll get the consistency. So what that means is maybe for a week straight you're weighing 75 kilos and you're eating 3,000 calories, and then you drop it to 2,800 calories and your, your weight starts to go down. Maybe you're 69 kilos the next week. If you keep following that trend then you continually lose weight. But otherwise, send me an email if you want to know more about that. And I just read your intermittent fasting one, and yeah, that's a good setup. Intermittent fasting, skip breakfast, small snack for lunch, and eat a healthy dinner. That's also a good setup. But otherwise, send me an email if you want to talk more about health, and we can go into more depth there. I'm just trying to get through, get through a bulk of these questions as fast as I can. Um, let me know if you're— if, if I'm doing a good job answering them. Like, do you want me to go deeper? Um, leave a thumb up in the chat, like, if everything's going great, or are you happy with how it's going? If you could— if you have any advice or improvements for future questions, like, let me know. Um, that doesn't mean I'm stopping, I'm just, just seeing how we're going at the moment. Um, Muhammad Ali Habib, I like your videos, Daniel Bourke. Keep it up. Thanks, Mohammed. Really appreciate that, man. I've done several online ML courses, projects, and ranked first in an ML competition. That is amazing. Have you seen people getting remote ML position with no prior job experience? To be honest, Mohammed, I haven't, just because I haven't looked into it. But I know there would definitely be people out there who are doing remote machine learning positions. With no prior job experience would probably be a little bit hard. Well, yeah, a little bit harder than if you did have experience. The same way applies, I think, for remote than an in-person job as well, is if you have skills and you can communicate to someone well enough that you have those skills, particularly like a client or an employer, then then you give yourself the best chance of getting a job. So, that's the two things, right? Or three things is have the skills to begin with, communicate those skills in a way people can understand and especially the right people, right? So, maybe a client, maybe a future employer, and three, find the right people, right? To show those skills. So, that's the three parts to getting a job. Pravul, have you read any of the theoretical books like Introduction to Statistical Learning or Deep Learning book by Ian Goodfellow? I haven't read either of those books, but I would be interested in reading Deep Learning book by Ian Goodfellow. A colleague of mine has the hard copy. It looks, it looks great, and I've read a few pages here and there, but I, I've certainly not read much of it. Now, here's the thing. I'm trying to take a different approach to learning. What I found is that if I like digest a book cover to cover, I can know something pretty well. So, what I'm thinking is in the future, well, going forward, I'll try this out, right? I'm just a perpetual experiment. Is I'll read something cover to cover, right? Like this. Just digest it as quickly as I can. And then take that knowledge and spread it out somewhere using it as quickly as possible and then iterating over that knowledge. So that's the approach I'm sort of trying at the moment is read a book cover to cover and then take that knowledge straight away and apply it somewhere. Anirudh Jawala asks, "How to stay focused during offline boot camps?" During offline boot camps, I'm not entirely sure what you mean by offline boot camps. But stay focused. It's similar, it's similar to any kind of learning, right? This is— focus is a very valuable skill. One of the things I do is remove— it's a simple one, right? Remove all distractions, right? I put my phone in— my phone's— I can't even— my phone is not within reach, put it that way. I think it's in the other room in a drawer, right? Phone distraction gone. I have permanent do not disturb on all of my devices, as in on my Mac, on my iPad, on my phone, do not disturb is always on so I can focus on the one thing that I'm doing. I'm very deep into single tasking, right? So, right now I'm present here, I'm working on live streaming and answer these questions as best I can. Now, that's the definition of focus, right? It's just one thing at a time. And what's another way that I do that, I work on that? Every morning, this is what follows me around every day. I don't have my today one on. Actually, I do. Here we go. There's a list, right? Put the date up the top. Wait, you can see that maybe. Date up the top and then a bunch of things here. And then as I go through the day, I take notes and I scribble it out. Right? That's how I stay focused. I write down every morning a list of 5 to 6 things. I don't try to make it too big, right? Because really there's only a certain number of things that you can do during the day that are productive. So, I keep it nice and concise and I work through those things and I set— I've got this little app called Stay Focused and it's essentially a Pomodoro timer on on your computer and it goes for 25 minutes at a time. And if my day's sort of broken up into multiple parts, often it is because it just— that's the work nature that I'm doing at the moment. I prefer to have long, like, 4-hour blocks of non-interrupted time, but just with a few things that I've got going on, I can really only get maybe an hour, hour or two. So, so I, I set a timer. And I do nothing but what I've written down for that timer. And then I write about it, like, hey, I'm up— like, for example, a project that I'm working on, I write down, okay, first step, I ran this model, these are the results I got. Next step, I need to fix something up, right? So I need to do this, and I'll literally have a conversation with myself on the paper. And so I know the next time I come back, even if I take a break, I've got the next steps of what to do. So that's, that's a, that's a few things that I do to stay focused. And then of course, good sleep, good food, moving every day. Those three things should be default. And here we go, Muhammad. Muhammad, thank you for the question. If you're interested, check out health and psychology data. Oh, every year there's a Kaggle challenge for psych Physiologic data. Oh, sweet. I'll save that link. Thank you, my friend. Come back to the chat. Skittobrain, SKTT Skittobrain, says, can you please check your mail? I sent you a mail regarding DL. I will get to my email as best I can. I try to get back to everyone as soon as possible. If I haven't got back to you fast enough, send me another email. Rafael, hello, good morning from Brazil. Good evening, my friend. It's nice to see you. I hope it's a beautiful sunny day in Brazil, and if it's not, I hope you have a great day, Rafael. Cheers for tuning in. Pravul, which approach would you suggest for learning Python data science stack— NumPy, Scikit-Pandas, PyTorch, TF— course or documentation? For me, it was courses. Documentation is helpful to read, But courses, I like— here's how I learn. I like to see how things have been done, and then I go, can I do that myself? That's generally my approach to every kind of learning. I see a little example, I try to copy it, and then I try to inject my own flavor into that and then build something off that. So yeah, courses and then inject your own flavor. That's a trademark, inject your own flavor. Rusty Kick, do I have to have deep understanding of all mathematical concepts or do I just need to learn that this method doing that without understanding why and how? Oh wow, am I back? Oh, did we just copy and paste that question? I think I've already answered something along the lines of that. We'll jump into the next one. Layla, What the difference between deep learning, machine learning, and which is better for AI? Okay, so Layla, the way I understand it is this is a very simple, simple analogy. You got some data here, right? This is your input. So we're going to start over here and it's going to go this way, right? So machine learning, maybe you have an algorithm that's like only a couple of steps, right? And this is very high-level analogy, right? A couple of steps and you've got this input goes through those couple of steps and then you've got the output and it's like a shiny little object here. Deep learning, now you've got those little steps of machine learning, now back in the day that used— that's really computationally expensive. Now it can be done in, in seconds. Deep learning adds what if we just added lots of these little steps, right, to try and find out more pattern. So instead of just finding out this one step where the patterns— let's find out 100. Okay, so back in the day to do one step took long enough, but 100 steps, that would take forever. Now we have a lot of compute power, right? We can do 100 steps. It still takes a little while, but you can go, okay, all the way over here, shoot this input, and out comes all this magic from deep learning. Right, so deep learning, machine learning are quite related, except that deep learning, you could think of it if you imagine these are steps in terms of finding information out from an input, finding, finding different patterns within a dataset, right? Deep learning, multiple steps. Machine learning, one step. And now that's again very, very high-level overview, but that's That's a basic understanding, as much as you'll almost need, because now we're sort of getting to a point where if you can deep learning and machine learning, you can apply them very similarly, right? Similarly, similarly, thanks to the beautiful frameworks that we have available. Hey dude, can't you give us a heads up when you're going to do next chat instead of lastminute.com? You're right, I need to get better at this. I'm sitting on an inner city train. P.S. Started Brazilian jiu-jitsu. Super Fox, that is amazing. Brazilian jiu-jitsu is very fun and it's probably the best thing I've ever done in terms of physical activity. I love it so much. Apart from like bodyweight and animal movements, they're also amazing. But keep getting after it and I'll do better. I'll try to do better. I always say this, I try to do better. In terms of scheduling live streams, but just, they kind of just pop up, right? I like to make it spontaneous. Haha, I don't know what that was. You can ignore that. Shree Navas V, so what curriculum do I need to follow to become an expert in machine learning engineer? There is no real way to define that, right? Everyone will be different. This is sort of a cop-out answer. But if you Google Daniel Bourke AI master's degree, that's what I followed to get started. And I am by no means an expert yet. I see myself as a perpetual student, right? Eventually you could consider it. I consider experts as someone who knows more about the topic of what they're talking about than someone else. And I'm sure a lot more of you know more than I do about machine learning, right? But that's, that's my definition of an expert. As long as you know more about the person you're talking to, you could potentially be called an expert. But I do not consider myself an expert machine learning engineer. I'm a machine learning engineer in training constantly because there's still so much to learn. But yeah, all the stuff that I followed in Daniel Bourke's AI master's degree That's what I got started with. How do you stay focused while watching offline courses and stay motivated? Sam, that's what I mentioned before. I use a couple of techniques to stay focused and just embrace the suck, right? Learning is hard, being focused is hard, but that's why you're doing it. You're not doing it to do easy things. You're doing it because it's hard. Hari, what's up my brother? Good to see you, my friend. Clinic Clinics says, how long journey is it to go experience from frontend Node.js dev to be hired as a data scientist? Already started second degree as ML specialization and Andrew NG course at the same time. Okay, I, I can't answer this question. Anytime that it's like how long 'til I get hired, or how long till I, uh, become experienced, right? All these— and this goes for almost anything, right, guys? It's like everyone's pathway is going to be different. But with a lot of— I'll just share what I did. I, from— I had never written a line of Python code. I started with a deep learning course, studied every day for 9 months, and then was sharing my work online relentlessly and then got messaged on LinkedIn, and a couple of weeks later was hired as a machine learning engineer. So, did I get lucky? Am I an abnormality? Maybe, I don't know. But all I know is that I was working very hard to upskill myself, and I still do. So in terms of exact timeline, I can never give that answer, but all I know is that it's possible if you dedicate yourself to learning, to trying new things, to improving yourself, sharing your work, communicating with others, you can definitely transition from being a Node.js dev to a data scientist. Shree Navas asked, "Sir, how to read a book in a smart way to get the maximum out of it?" My favorite way is to read the book and then write an article about it or something like that. Or apply what you've learned straight away to a problem, right? Work on a project or something like that. So, read, write, apply. That's my way of reading books. Forte, hey, you also mentioned about investing on education, which got me curious. What made you choose to study computer science rather than going to a university to study it? Forte, my first, I went to university and did biomedical science. I failed the first 2 years, right? Because I was 17 and didn't really know. I was just a lazy teenager and didn't really have a— I was just more concentrated on girls at university than actual study. And yeah, just a lazy teenager. And then I switched to nutrition and food science after 2 years of failure. And I got great marks. Why? Because I was interested in nutrition and food science outside of university. Right, because I was an athlete, I was competing in different sports. And I'm like, hey, I'm going to study this because I'm interested in it. And then 2 years after graduating from university, I started machine learning, computer science, and whatnot. And I followed the same path. I'm like, you know what, I don't feel like going back to university this decade, so I'm going to just see what I can learn online. And it turned out to be— turned out to be great. So That was literally it. Otherwise, I looked at computer science at my local university, the one I went to for, for science degree, and it was $42,000 a year. I have spent probably under $8,000, or maybe I would say under $6,000, under $6,000 online total in terms of studying everything. And the computer science degree was 2 years. Am I saying which one's better? No, I'm just saying what I prefer to choose. Cost, commute time, accessibility to exactly what I wanted to learn and following my interest, combination of those led to my decision to study online. Sam, what's your goal job or startup and if job, which position? I don't have a goal job. I have a goal to build a health tech company and stay tuned with that. I'll make content in the future when that happens. Goal job, I've already got it. Machine learning engineer, I don't really have a job in mind, but no, I'd rather build my own company and see where that goes. But of course, I haven't yet, but when I do, I will share what I'm doing and share what I've learned. If it fails, well, that's not an option, put it that way. Yami Yagami says, Yami Yagami. Whoa, I'm so behind in all of these, but we will keep going, right? We'll keep going for another 10 minutes or so. If I haven't answered your questions, don't worry. We'll get to them in a future stream. Otherwise, send me an email. You can find my email pretty easily online or message me on Telegram, t.me/toddchristiansen. This is— I'm just putting— I'm not stopping. I'm just putting this here in case you want to send me a message. te.me/mrdburke. That will get you direct contact to me and I'll answer you as best I can. Um, Kunal— oh no, Yami Yagami. Can you describe your typical workday in specifics with a project and example? This might variable by— vary by workplace, but how much flexibility do you have? Well, That's a great question. I literally shared a LinkedIn post about this the other day. Okay, here's my typical workday. 9 AM, roll into work, check Slack, uh, let's say 15 minutes or so, find a bunch of links because everyone has shared the most amazing research that everyone else is publishing in the field. From 9:15 till 10 AM, I will read, as in read articles, read papers, read, read email if I, if I have an email I get to. Usually not because the luxury of being a machine learning engineer where I work, we sort of, most of our time is dedicated towards just working on a project rather than dealing back and forth with email. Of course, still get email. That's life. We communicate mostly with Slack, but so let's say 9:00 to 9:30 maybe taking care of communications. 9:30 to 10:00 will be reading and upskilling. So maybe I'll read a paper, maybe I'll read an article or two that I've bookmarked. And then 10:00 to 3:00, 4:00, if there's no meetings in between, of course I'll have lunch, usually from, let's say, let's say 1:00 to 2:00, or 1:00 to 1:30, 1:00 to 2:00. Um, but yeah, 10 till 4 with lunch in between is usually working just entirely on a project, trying to figure out like to build it, to, to research about it, to ask colleagues what can we do here, to, to contact the right people, to look for data, to look for algorithms. Um, but the most recent one I've been working on is a natural language processing problem with. It's, it's, it's quite good because another company has worked on this before, so the data is already clean. However, the client that we're working with left that previous company and has chosen to work with us. So now my goal is just improving the results the previous company got, and I've already done that using Flair, the natural language processing library. If you Google Flair, natural language processing. It's amazing. And so what we're looking to do is, because we've already improved the results on there, it's binary classification of text, right? So imagine you're a big business and someone sends you a message, right? You're a support message, right? To help me. What binary classification problem is, what does that message go into? Needs help or doesn't need help, right? You can just imagine it like that. We've got 200,000 records. How do we create a binary text classifier for that at 95%+ accuracy? Built that with Flair natural language processing library. And now what I'm going to look into next is a little bit of, a little bit of cherry on top, is trying to work out, uh, model uncertainty or data uncertainty. Now, this is, this is something that's been around a while, right? But it's, um, it's trying to, rather than just using confidence interval to measure how well your results are, it's trying to, to figure out how can we make these results better. Is the model potentially the fault, right? Model uncertainty, um, or is the data at fault? And so how do we do that? This is— we're using a Monte Carlo dropout technique, and this is what I said before, but I'm not going to go into in-depth here. I'm probably going to write an article about it once I find out more. So yeah, in the meantime, if you want to look up Monte Carlo dropout, it's a way to figure out the uncertainty, the uncertainty behind your model's predictions. That's how I understand it at the moment. Oh, and then after we've done that, 10 to 4, 4 till 5 is kind of like wrapping up communications with the team. So it's like, hey, I worked on this today, my code's in GitHub, here's a little bit of a report. Might be like 3 or 4 bullet points just so everyone else is across it. Then loop back to some of the other messages, emails, communications I have missed through the day, and then set a plan for tomorrow, right? That's what I usually do right at the end of the day is go, okay, here's what I worked on today, right? And this is what I'm going to do tomorrow. That's how I structure my day. 9:00 to 9:30, communications. 9:30 to 10:00, reading. 10:00 to 4:00, coding, working on projects with lunch in between. And then 4:00 to 5:00, committing code and updating communications. So that's— and flexibility is like in terms of flexibility is kind of like, here's a problem, figure out any way you want to solve it within reason, of course, as long as it doesn't cost hundreds of thousands of dollars. That's, that's within reason. But otherwise, if I can find a way, I can use it. Kunal, so, so pretty flexible there. Kunal says, have you looked fast.ai International Fellowship for Deep Learning course? Kunal, I haven't done that, but if you want to send me a message about that, I'd love to hear more about it. Superfox has got the Deep Medicine book. That is amazing. I love the book. Alexis Lachac, to get a career started— oh, my Alexa just went off. It's alright, I don't need you. To get a career started after courses, portfolio steps as usual, to go to hackathons, conferences, workshops, Yes, all of those are great. My personal favourite is meetups, but those all work as well. Essentially what you're trying to do is build relationships in the field and go to this person, "Hey, here's what I've been working on." Be upfront. "I'm looking for work, like specifically in this field. I've got these 3 projects." Maybe it's in finance. "I've got these 3 projects in finance. I've done predictive analytics on here." I'm trying to get involved in the field. Is there anyone you think I should talk to? You never know who's going to be able to give you a hand. But it's just putting yourself out there. It's going to feel awkward, it's going to feel weird at events, but hey, I get that too. It is what it is. Samit, how did you get your first internship? I've talked about that, that before in this stream, so I'm not going to jump back into that again. But there's an article that I've written as well. It's called Daniel Bourke: I want to get started in machine learning and artificial intelligence. How do I do that? So if you Google that, you'll find it. Or if you go Daniel Bourke start AI/ML, Google that and you'll find the story of how I got it. Vikram, how crucial are online courses to getting a job as a data scientist? No course is as crucial as skills. Do not, just do not, never, never mix up courses for skills. This is what I did when I first began, right? I would just keep completing more things rather than just building skills and sharing skills. It's a very, very sort of tough lesson that I had to learn, right? Because it's like, I just want to keep doing more courses because they tell me what to do and I can follow the guideline. That doesn't necessarily build the right skills, right? So courses are great for setting a foundation, right? But what you need to do to really advance yourself is take that foundation and build upon it. So courses are great for a foundation, not 100% necessary. You could almost learn all this stuff for free online if you're a dedicated courses just go to the trouble of structuring that information for you. All right, we'll probably do about 5 more minutes because I'm going to wrap this up. It's 10 PM and, uh, I need some sleep. I got to get up early to drop my brother to the airport. Things you do for love. Um, Line of Lies, anyone UK that is looking to go to uni for machine learning, there is a course for computing. Yep, that's a great course. Uh, Dude, get some AirPods. AirPods? I got them. Maybe I should, maybe I should have used them. How did you— okay, so I, I, uh, Sonas, hello. I'm not sure if, if you have answered this question. I wanted to ask, um, how about the fast— how did you do the Fast AI course? Did you do it in your homework every lesson, or did you go through it the first time? Okay, for the fast.ai course, I went through every lecture, just, just watching the lecture, and then went back and reviewed each, each lecture by doing the project. So I just watched them and then went back through and did the projects. So that was the fast.ai. I've been meaning to do the 2019 version, but as I said, again, there's just an endless list of things to do. Superfox, arriving at your destination, answer your questions. I hope I did a good job to answer your question, Superfox, otherwise you can message me anytime you want. Anyone can do that, actually. Toby says, hey, do you know any good website or courses to get started machine learning from a young age? Toby, one of my favorites is DataCamp. They do a great, great way to start learning machine learning and coding straight away. Otherwise, YouTube is also phenomenal if you do some searching. Brett says, "I know a few things about machine learning now and I'd like to do a summer camp for 2 months. I would like to have enough knowledge to participate in competitions this 2 months. What do you suggest?" Brett, I'm not entirely sure what your question is getting at. But if you're concentrating on learning something for 2 months, that's great, but don't sort of expect to know everything after 2 months. Any good skill takes a long time to learn, not just 2 months. But yeah, a summer camp for 2 months would definitely— I can imagine helping to improve your skill set, but don't don't expect it to be the only time you— oh, sorry, the only time you have to put into learning something. Harini says, please give an outline and a basic curriculum for being a machine learning engineer. Harini, if you Google Daniel Bourke AI master's degree, that is the entire curriculum that I took to become a machine learning engineer. Poldi says, is your Trello board still updated? Yes, it is. I haven't been doing as much learning as I had in the past just because of time, like literally time. Like when I first made that Trello board, I was learning every single day. I still learn every single day, but just not tracked in that Trello board. I will, I will get back to updating that though. Thank you, Pauldy. Daniel, you rock. I really appreciate that. Also, which is— Toby says, which is important for machine learning? The maths knowledge of computer science. They all are important, right? It really depends on what, what problem you are working on. Every, every skill is important. Don't, don't underestimate anything in terms of skill sets you hear for machine learning. It really just depends on what you are working on. Path, hey, how you doing? Good to see you guys. Poldi, I really appreciate it. How much experience do you need as a machine learning engineer before you can start earning $200K+ yearly? Um, Toby, that's a tough question to answer, right? You could walk— you could start a machine learning engineer job for, uh, $200K a year if, if you're good enough. Um, I'm not, I'm not at that yet, but I, I plan on increasing that. And I'll, when I, when I do, I'll share you, I'll share, I'll share how I did it. Do you have an accountability partner to keep you on track? No, my accountability partner is all of you. I have, I don't have one, I have thousands, which is, which is kind of why I started this channel, right? To build this community, to share what I'm working on, to hear what you're working on, because that actually inspires me to keep going. So it's a loop, right? Like, I work on things and share them with you guys, you work on things, share them with me, and I am loving it. My best accountability partner is my diary, right? When I write down, like, what I'm thinking, what I want to work on, where I want to be, and stuff like that. So I think everyone can be their best accountability partner. You could use a mirror, right? Simple. Look yourself in the eyes. Are you doing what you want to be doing? Tough question to answer, but you can, you can man up, girl up, whatever up, answer that question, right? Something we all have to work on. All right, whoa, cloud services knowledge for ML engineers, which one's the best? Uh, they are all amazing. I, I'm using Google Cloud mostly at the moment. Again, it's like one of those things, it's like you could choose to try and learn them all, or you could just become really good at one. I'm becoming really good at Google Cloud. AWS I know a bit about as well, but Google is where I'm at at the moment. Yuvraj, hey, good to see you, my friend. Otherwise, plans on leaving Australia? I had plans to go to the US, but no, I'm staying in Australia for now. I really love it here. So guys, we're going to wrap this up. I'll probably answer one more question. And thank you so much for joining in. As I said, email me if your question hasn't been answered, daniel@mrdbourke.com or Telegram, t.me/mrdbourke, or just Google my name. You can contact me wherever you want. I I try to get to messages as quickly as I can. Alright, one more question. I'll scroll right to the bottom to get a fresh one. Kavish, Kavish says, how do I manage exercise hours during working days? Kavish, it is just something that goes on the list for me every day, right? It's non-negotiable. Exercise is is something that I have to do every day, and not necessarily exercise, movement. Like today I did yoga, I went for a bike ride, did a little walk. So movement in general, that is something I have to do every single day. Otherwise, I just, I don't feel great, right? I feel better when I do do movement. Sometimes it's really intense workout, sometimes it's, it's as I said, yeah, yoga or just going for a long walk with, with my brothers or just by myself. But it's, yeah, just goes into the schedule, usually when I get home from work or sometimes in the morning if I do training. And again, headphones are dying, but otherwise, thank you all so much for joining in. This has been Ask a Machine Learning Engineer Anything for April 2019. As I said, if your question hasn't been answered, please hit me up wherever you want. Otherwise, yeah, have a great Sunday and have a great week. We'll see you next month. Peace out. Oh, and P.S., thank you all so much for joining in. I really appreciate it. I really appreciate the questions. I really appreciate the comments. As always, I might need to put my hoodie on for this one. Need to get it right down in deep so it looks real fresh. Keep learning. See you later. Wow, this is great. I'm pressing end stream and it's not ending. I swear I know how to work technology.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


