4 May 2020 · 50 min
Practical AI podcast episode ("Ask us anything (about AI)", May 4, 2020) in which hosts Daniel Whitenack and Chris Benson answer community questions about AI. They discuss practical tooling (Google Colab Pro, Streamlit, TensorFlow, PyTorch, FastAI), deployment and model-saving approaches (ONNX, containers, Kubernetes, TFX), technical concepts (CNNs, backpropagation), ethical/abuse concerns, AutoML, and advice for starting AI-enabled products and self-study resources.
Chapters
This is a quick one. Okay, what laptop do I buy for deep learning? My answer is doesn't matter.
Yeah, mine too.
I mean, you could buy one with a nifty GPU or something, but if you're using something like Colab Pro or something to do your initial testing and then you're deploying on some giant cluster or something that your company has, really doesn't matter.
Buy a Chromebook I'm the same.
Bandwidth for Changelog is provided by Fastly. Learn more@faster.com we move fast and fix things here at Change Law because of Rollbar. Check them out@rollbar.com and we're hosted on Linode Cloud Servers. Head to lino.com changelog this episode is brought to you by DigitalOcean. Digital Ocean's developer Cloud makes it simple to launch in the cloud and scale up as you grow. They have an intuitive control panel, predictable pricing, team accounts, worldwide availability. With a 99.99 uptime SLA and 247360 support to back that up, Digital Ocean makes it easy to deploy, scale, store, secure and monitor your cloud environments. Head to Do Co Changelog to get started with a $100 credit. Again, Do Co Changelog.
Welcome to Practical AI, a weekly podcast that makes artificial intelligence practical, productive and accessible to everyone. This is where convers around AI, machine learning and data science happen. Join the community and slack with us around various topics of the show@changelog.com community and follow us on Twitter. We're @practicalaifm. Okay, take it away guys.
Welcome to another fully connected episode of Practical AI. This is where my co host Chris and I keep you fully connected with everything that's happening in the AI community. We're going to take some time to talk about the latest AI news and dig into some resources to help you level up your machine learning game. My name is Daniel Whitenack, I'm a data scientist with SIL International and I'm joined as always by my co host Chris Benson, who is a principal AI strategist at Lockheed Martin. How are you doing Chris?
I am doing very well, Daniel. How's it going today?
It's going well. I feel like I'm a bit tired of not work necessarily, but I feel like there's been extra work recently because there's been like normal job work and then there's been like Covid related work and then there's been various like things to keep up with around the house. And then there's also iclear is this week which is really cool because I can, you know, be at home. And they're doing all sorts of stuff virtually. So for listeners out there that don't know, iclear is a AI research conference. So that's been a lot of fun. But then I kind of tried to be fitting that into the cracks because I don't want to miss anything. So, yeah, I'm living on coffee right now. What about you?
You know, about the same. It's interesting. The world has changed and, you know, you mentioned that particular conference, but really, a lot of conferences are now going virtual only, and many, many of them have announced that even after we get through at least this wave of COVID 19, and, you know, barring any future concerns, that they're still going to stay virtual. And so, you know, virtual conferences, the new thing. So I guess we all need to get used to that.
I've seen people go back and forth. I've also seen people call for, you know, hey, let's not do this virtual conference thing after the crisis ends. Because, yeah, I mean, some people like, you know, in person interaction, I think that, like you say, it's definitely not going to be the same afterwards. There are a variety of, you know, people trying to make it, you know, a new type of experience. At iclear, there were a few guys from California. They built this little app, not just for iclear, I don't think, but someone created a space for iclear participants. It's called Online Town.
Yep.
And it's basically like you join into Online Town, iClear, Online Town, and you've got like a little pixel art guy kind of like on Zelda Game Boy, if you ever played that, and you can kind of walk around Online Town. And so there's like a beach and there's like this conference room area place, and there's like a grassy lawn and like, you kind of walk around and then everybody else in Online Town is also walking around. As you get close to them, then their video chat opens. Right. So it's kind of like you're bumping into someone in Online Town and you can talk to them and introduce yourself, and then you can go down to the beach and Online Town and, you know, talk about things and, you know, AI or not related. So that was actually incredibly fun. So I.
That sounds like a lot of fun. A great virtual world there.
Yeah, it was like bumping into, like, random people and that sort of thing.
So, yeah, you know, I host a local meetup here in Atlanta called the Atlanta Deep Learning Meetup. And like, all the other Meetups. We stopped meeting when Covid broke, but it is definitely making me think what, what should our meetup be going forward? And as we are temporarily shut down, I'm trying to re envision what the meetup should be and how much is in person or virtual and how the activities might change. If conferences are very much online, maybe meetups, even if they're online are a little bit more interactive and less about presentation. So yeah, it'll be interesting to see how meetups come back out of this as kind of the, the bread and butter monthly way of people interacting in the space.
Yeah. Well, you should try to create a deep learning Atlanta online town.
There you go.
I recommend it. It was a really good time. So try that. I know a lot of people are, you know, innovating during this time and I think, you know, Lockheed's doing some, even some Covid related stuff. Is that right?
We are indeed. I probably can't really address much to that. That has to channels that's in progress.
And that sort of thing.
But like any, like any company, I mean, I think every company out there is having to address a number of different challenges with how they operate going forward and how they react to a world that may change, you know, if we have a wave coming back in the fall or whatever. So there's, there's all sorts of stuff to. We live in an interesting time.
It is an interesting time.
No, I'm not saying it's a good time in that way, but it's an interesting time.
Well, there's a lot of innovation going. I know we've really ramped up translation efforts at SIL to get Covid related information into, into local languages. Some people did some research at SIL and found that 30% of people like on the planet.
Yeah.
Don't have health information in their language to protect against Covid. So we actually kicked off a fundraiser this week. So if you're interested in that sil.org Covid fund if you're interested in helping that information get translated.
But yeah, I hope people will do that. You guys do awesome work. And I know we had a previous episode which we'll put in the show notes where you talked a bit about that. And so I hope people will check out because Daniel does some pretty amazing work. And I'm saying that out loud since I know you're not going to talk about your own stuff too much right now.
Yeah, well, definitely check that out. There's a lot of people all across the world really trying hard to get that info out but speaking of info, we've had a couple of recent episodes about COVID We'll link those. But today, since everyone is interacting online and still trying to work, and still trying to figure out work, it's been a while since we've done one of these fully connected episodes. We thought it might be kind of fun to just have an episode where we address some of the questions that we've run across in forums online related to AI. I think we did this. I don't know when this was. It was quite a few episodes ago, but we kind of searched around Quora and Kaggle and Stack Exchange and Reddit and tried to answer some of the questions or at least discuss some of the questions if they were ridiculous happening online. So, yeah, hopefully you enjoy this episode. We've done the same here. We've basically gone around, around to various places online and saw what are those questions that are popping up on the top of the list related to artificial intelligence. And we're just going to kind of rapid fire, go back and forth and discuss some of these. Chris, you reached out online and got some questions from listeners as well that we can maybe discuss.
I didn't give folks a lot of time. I announced a few hours ago that we were going to do this on social media channels, but got some good questions.
Good.
And interestingly, some of them are from people that are not in the AI community. And you know, there are folks in other industries and they're just wondering how AI will change the world and affect their lives. So there's going to be a couple of those that are not. And then we can obviously handle some technical questions too, from practitioners.
Sounds great. Well, you want to kick it off with one of those questions from the community online?
Sure. So a friend of mine named Jeff pike that I used to work with at Honeywell was on LinkedIn and he pointed out that neural networks have opened up a really big surge in AI ML. And what do we think is the next big thing? Or alternatively, what problem needs a neural network like breakthrough to make it big going forward? And I know that there's a lot of talk, especially the last few months in that area. What do you think, Daniel?
Yeah, this is a hard question. What's the next big thing? I think I forget which guest it was on here. No pressure there, said like, you know, if you ask me to predict something, I'm, you know, 100% going to be wrong. So whatever I'm going to say is definitely going to be wrong.
Yeah, no one's allowed to hold us to anything we say in the show. Okay.
Yeah. So I don't know. It's a. It's a good question. I mean, I think that there's no shortage of unsolved problems related to deep neural networks. So I don't think this is a situation where like deep neural networks have solved a host of problems and we're going to kind of jump to something new and totally leave those behind because there's like so many open problems and interesting areas to explore with deep neural networks. But certainly they're not the only thing. You know, I'm trying to think through the things I was seeing at ICLEAR this week. There's definitely some really interesting stuff happening. A couple of things that I noticed, which again, these may or may not be trends. I'm not trying to necessarily make a prediction, but I did see a good number of things related to like graph neural networks and graph structured data. More so than when I searched for that sort of stuff. Like last year at research conferences, there didn't seem to be as much as I'm seeing now, and maybe that's because of the particular makeup of the conference or something, But I think there is a sort of increased interest in that sort of stuff. I also saw some really interesting things around, you know, using ideas from physics and science, like energy based methods and Hamiltonian, Lagrangian based methods. So these are like methods where you can kind of like in physics where you would model like the motion of complex objects or something and use differential equations. And a lot of people are thinking, well, what can we like bring in from that world and how does that combine with, with AI? So I don't know. Those are a couple of things that came to my mind. What about you?
Well, I've definitely seen both of your examples. I know I've seen the same. There's been more and more physics stuff coming into it in terms of solving complex physics. And you mentioned graph neural networks and we actually talked about that last week in reinforcement learning for chip design. Our most recent episode with Anna and Azalea, where they're both in the Google Brain team and they were talking about their use of it. So that's a very immediate thing. I think the thing that I've really noticed, especially since New Year's, is a real focus beyond deep learning. We had several years where everything was deep learning in all capacities. And a lot of the big names, the legends in this space, are really turning towards what does it take to get past that and you know, in terms of intelligence and what Are the core constituents that make up, you know, the idea of consciousness and the focus on attention and, you know, what do we need to add to these architectures that take them beyond kind of the constraints or the limitations of deep learning? So there's the research perspective and there's the industry perspective. I think in industry we're going to see deep learning models continuing to be very prolific and very productive for a long time to come because you can use them in so many different applications. But I think the research world is starting to say, okay, we've done that, how do we move past that? And so I'm really excited to see over the next year or two what kind of research directions and potentially breakthroughs might occur to lead us beyond the world of deep learning?
Yeah, definitely. So I'm going to bring in another question here. I'm going to bring us from the future prediction to something extremely practical because this is practical AI.
I knew you would.
Question. I forget where I pulled this one from. What tools do you personally use in your daily work as a data scientist, Chris? What tools are you using every day? Or maybe not every day, but often?
Well, I've kind of selected my own Tools or TensorFlow, you know, Python, most of the typical. I really focus on staying pretty mainstream in terms of tool sets frankly because I'm too lazy and don't have enough time to try lots of new tools out. So I'm pretty mundane in that way. A lot of, you know, Pandas, the normal Python libraries that we all use on a day to day basis and then I really look to the folks but I'm also not doing hands on data science every day. My job is fairly eclectic in terms of what I'm focusing on. So how about yourself, Daniel? What are you doing?
Yeah, I think some things have changed in recent times for me. I know one thing that I've really started using pretty much every day is Google Colab Pro. So people might be familiar with Google Colab, which is sort of a hosted Google Docs like Jupyter Notebook. On top of Google Cloud instances they have a pro version of that where you get sort of prioritized access to GPUs and you get I think longer run times and some other kind of niceties and it's only $10 a month, which is I think a really great deal.
You know, I'm a Colab user as well and I wasn't thinking about that.
Yeah, no, I would definitely recommend upgrading for sure. So I pretty much, I have two tabs open right now, so I think that's one thing like I've been using also because Silver uses like Google Drive a lot and so I'm able to kind of organize some of my own experiment stuff in with other things that people are using. But yeah, similar to you, I mean I'm not too picky about frameworks and different tool sets and that sort of thing. It's pretty much whatever gets the work done or is state of the art in a certain area. Also I found recently I've really enjoyed working with Streamlit. We did an episode with them and I've played around with it since then and Streamlit is like this really cool thing where you like a non UI front end person like myself can build like pretty nice looking little user interfaces or demos for your models or like data labeling tools and stuff really easy. So I would definitely recommend taking a look at that as well.
Sounds good. I'm just curious. I know that when you teach your classes you do both the TensorFlow curriculum and you also do Pytorch. I'm just curious with the religious world.
So in past trainings I've done both. I've done ones where I've just used one or the other. In the one I'm doing upcoming in May, I'm going to be using both. And my thought on that, we'll see how it goes, I guess. But my thought on it is me as a data scientist I have to use both because it's like you solve one problem and there's this great TensorFlow implementation and it just makes sense for you to grab that and maybe tweak it a little bit and use it in another case. Like there's this great Pytorch implementation and maybe it's because I'm lazy, but I'm never really starting from scratch, right? I'm starting from something someone has done.
So most of us are.
From my perspective, you know, it's to be sort of functioning in this space now. You have to be willing to sort of jump around a bit. Unless maybe you work for Google or something and then like you always use TensorFlow or you work for Facebook or whoever has a standard of. I have a lot of autonomy so maybe that's a blessing in my case.
No, but I just want to point out you make a great point there in that most of us start from benefiting from the work of others and that transfer learning effect is a powerful, powerful thing and we were able to get a lot more done than we would otherwise do. So yeah, no, that's a very practical pragmatic way of looking at that.
We deserve a better Internet and the Brave team has the recipe for bringing it to us. Start with Google Chrome. Keep the extensions, the dev tools and the rendering engine that make Chrome great. Rip out the Google bits, we don't need them. Mix in ad and tracker blocking by default, quick access to the Tor network for true private browsing and an opt in reward system so you can get paid to view privacy respecting ads. Then turn around and use those rewards to support your favorite web creators like us. Download Brave today using the link in the show notes and give tipping a try on changelog.com.
So I am going to return back to the non technical questions that we got asked and on one of my social media channels a friend named Susan Feingold asked. She said what concerns me is what can be done to prevent a hostile country or just a criminal person or a criminal enterprise from developing AI for malicious reasons. For instance, it seems like it would be easy to use AI for terrorism or to greatly influence or change election results or to modify digital media for nefarious purposes. You know, the things go on and on. How do you see that? Daniel, I know we both come from these two different sides. We'll start with you.
I guess the short answer is there's nothing preventing it because, you know, those sorts of entities are using AI already.
Sure, yeah.
I mean, of course that's sort of demoralizing. But I think if you also put it into a perspective of, you know, people have been using tech for malicious purposes since there was tech, just like they use anything they can get their hands on for malicious purposes if they have those purposes. So of course there's certain things where AI gives you a specific advantage that might be even greater than that of other tech or something like that. I know you've been thinking about ethics questions a lot and all those things and been leading in discussions in those areas in a lot of ways. So I know that there's really smart people working on this problem and of course there's probably regulations that will be put in place to help with that. There'll be other things, but in the end I think it's going to be one of those technologies that's always used for that purpose. My hope is that there's enough AI practitioners out there using AI for good. That that's, you know, that's the kind of side that has the most attention.
Yeah, and that's largely where I'm at too, in that I like to believe that the vast majority of us are using AI either for just normal business purposes, you know, with some sense of benevolence in that process, or explicitly, as we like to talk about all the time, AI for good. There are certainly bad actors out there in the world, just as you pointed out, with technology that will use any technology, including AI, for nefarious purposes. I can say in a, in kind of a broad brush stroke, non specific way that certainly the different aspects of Western governments in general and Certainly the, the U.S. government, you know, as we're here in the United States, have their eye on that. I think the US Military, the defense industry, the intelligence community and the law enforcement community are becoming very, very savvy at how to detect and understand what those threats are and trying to respond effectively to those. And I have, you know, some insight into that world. And so I think there are really, as you said, there are really, really smart people that are working very hard against that. So I think, think what I would say to Susan or anyone else is as you learn about AI in the world and some of the capabilities that we have, just like you would with email, spam and other things, be practical in how you respond to different types of interactions that you have. But on the larger scale there are good folks working on that and so kind of leave it to them and be supportive of that work. And that's where I'll stop.
Yeah, I appreciate it. Give us your thoughts on that's a definitely a question open for discussion. So let us know in our Slack channel or on Facebook or LinkedIn what your thoughts are there. You can join our slack channel@changelog.com community. We'd love to hear your thoughts on things like that. So I'll bring us back to more practical questions.
Absolutely.
One of the questions I found kind of in the top areas on these sites was as a data scientist, do you use AutoML in your job? If yes, how so this might be a quick answer for both of us. Do you use Auto ML in your job?
So not in my job. I've played with it at home. So I kind of have my AI activities at home, like where I use colab and such and then I have things that I do at work and playing around at home. Nothing too serious yet I have personally. Not in my job.
Yep. So this one is a quick one for me. I'll go with the no. The no. And if you're interested in what is automl, we won't necessarily cover it here. There is a great episode though on it, which there is indeed it is amazing stuff. See that episode From Cheryl Chen. That was a great episode about AutoML.
Go for another technical one since that was a quick one there.
Yeah, let's go. Rapid fire. What is a CNN in machine learning? I think hopefully we know the answer to this.
You go ahead and start. I want to hear yours.
Okay. I think if I'm correct, CNN is a convolutional neural network. So people have probably heard of this or sometimes called a convnet. So these episodes we do, which is Chris and I, are called Fully Connected. That's purposeful because it's actually maybe a. Or a term of art in artificial intelligence where fully connected means that sort of the outputs of one node in a neural network are distributed across all the other nodes. And so the nodes are all fully connected in this sort of way. And so a number, you know, output coming out of one kind of goes into the next, the inputs of the next layer. In a convolutional neural network, which is. Is often used for, like, image processing or things like object detection or those sorts of things where maybe people think of them mostly are where, you know, maybe an image is represented by a matrix of numbers or maybe, you know, multiple layers of a matrix of numbers representing various properties of the image. And in a convolutional neural network, it doesn't have this sort of fully connected structure. There's actually a filter that's. That's applied over the image, and it kind of slides over the image where a portion of that image is actually input to a function in the neural network which outputs a number. And so there's actually a dimensional change from one layer to another because it's only these inputs aren't fully connected in this way. I probably didn't describe that in an extremely logical way, but maybe I wouldn't pass the data Science interview. But.
No, I think you just did pass the data Science interview. That was pretty good. I'll tackle it a slightly different way, though quickly, is that if you think of a neural network in general as being many layers of these nodes, as Daniel described, then if you think of an image and how you break down that image and that some layers start with the most basic aspects of an image, such as a color gradient between two distinct colors, where you might get. And from that you might derive a line. And if you put some of those together, you might get a curve on that line, and then small basic objects are formed, and different layers in that network handle different aspects of that. But eventually, just as you might build something up with Legos, you build up an Image from these very basic constituents that each build upon each other all the way to the complexity of maybe a very rich photograph. And so that kind of breakdown or build up is how a convolutional neural network kind of codes or decodes an image that it's trying to look at. So hopefully between the two of us, there's two different ways of looking at the same thing.
Thing.
Yeah, yeah, for sure. And there's of course, a lot of great info on those sorts of things online.
So I have one more that I want to throw out that is, it's still pretty pragmatic. It's not a technical one, but I think it's one a lot of people ask, and that is, how does one start developing an AI enabled business solution? Because, you know, companies all over the world right now are trying to adopt and get more savvy about how they use these technologies. And so why don't we talk about that? You want to go or you want me to first?
So does this mean like an AI product or does this mean just like I'm in a company and I think I have an AI solution to this problem and I'm going to develop it within the company.
I'm interpreting it as the former of the two, but you can take it any way you want, like an AI product. There you go. I'm going to take it that way. So, and what I tell people is don't start with an idea. And it has to be AI enabled. And I've seen that mistake made multiple times in my career where people are obsessed with having something that's AI. Maybe that's the marketing imperative, you know, and sales imperative of putting an AI label on something. But it's just a tool. It's another tool in the toolbox. And different AI architectures, which you could think of as the thing that makes up a model, are good for different types of problems. And so what I tell people is don't start with I have a product and I want it to be AI. Say I have something in mind that I want to build a solution, a product, whatever. And part of that creation process I think would benefit from this type of problem solving, which. Oh, by the way, it turns out there is an AI type of architecture that lends itself very, very well to that particular thing. And so if you do that, you end up with kind of the Steve Jobs approach. You end up with a fantastic product because you had the end in mind. And you use AI like you would use any other technology tool that you might choose from. Is each one of those bits are good for something that it should focus on. I think that people go wrong when they start with the end has to be an AI thing and they'll do anything they can to fit AI into that and they end up with a bad product or service. So start with the end in mind, like Jobs told us, and then figure out if and when AI might apply into that product development lifecycle cycle.
Yeah, yeah, definitely. I think, you know, just in case my boss is listening, he would say that, you know, how do you develop any sort of business solution? You just think about how you're going to satisfy your customers.
That's great advice.
And that's basically drives everything. So just satisfy your customers. If AI is needed to do that, then that's great. But there's certainly many products that don't have AI involved in them and they satisfy their customers. So, you know, it's like you say, maybe not starting with the I'm going to build an AI product, but I'm going to solve a problem is probably the better, better path.
Sounds good.
Yeah. Well, let's see. Let's maybe take another couple of technical ones.
Sounds good.
This one I pulled, it says how to save a trained CNN model. And I think maybe this would just be like after I train my model, let's say I have it in a notebook or something, you know, I don't want to lose it. So what do I do with it? I think that's the direction of the question. It's not necessarily specific to CNN models, even though we just talked about CNN models. It's basically, hey, I did the tutorial thing or I did the problem, or I trained a model now, like, how do I not lose that model? Where does it go? How does it live? I think is the question.
And maybe even how do you deploy it to some degree in terms of how does that move into the real world? What's your workflow for that?
Yeah, so I guess one thing to clarify here, a lot of people think like an AI model is some sort of magical thing floating around in space that kind of materializes in some way. So an AI model is really just a function in software. Right. So if you think of a function in software, it takes input and it gives output. Right. So how do you save a function in software? You just write it in a file. Right. The difference with an AI model versus a normal software function is a normal software function maybe takes up whatever, let's say 100 lines of code or whatever, and it might have some inputs. It Might have some parameters, maybe it reads some environmental variables, maybe it parses a query string. Whatever it does, there's some parameters associated with it. Well, an AI model is no different. It's just a function in code. It's just that the parameter set, it might be kind of big, like a billion parameters or something, but it's really no different in practice. It's just all of that stuff is saved in a file and then you run it in code. And so often what happens if you train a model, you just have to output it to a file that saves all of those parameters. And there's a whole bunch of different formats for that, like TensorFlow, you can output like Protobuf and other things. Pytorch and others have their own structure. There's also like standardized, semi standardized ways of doing this. So there's a format called Onyx, which is kind of takes a bunch of different things from different frameworks. So really it's just that saving of the file, then once you have it saved in terms of deployment, then you just need to load it back into code. Most of the times like a framework like Pytorch or tensorflow has like a load model function of some type and then you just load the file and then you can use it. Of course, in terms of deployment, again, it's similar to any other software code. At least that's how I think about it. If you're deploying your code or you're deploying your model and you want it to drive an API or some web app, likely you're going to deploy it as a web service so that whatever code you have written for your web service, you need that code to execute that function that loads the model and then takes input and gives the output. So there's a whole bunch of different ways to do that. But that's the basics from my perspective.
Yeah, I think it's funny we're at a moment where the major platforms, and I'll kind of tackle it a little bit more from the deployment standpoint, kind of have their own systems, you know, since I've already acknowledged that I tend to be in the TensorFlow ecosystem, or they have TFX, which is TensorFlow Extended, which is, you know, what they refer to as an end to end platform for deploying production ML pipelines is how they say it. But in general, I think there's still a great deal of variability in the industry in terms of how different organizations do it and their end targets in terms of where they want to get models deployed to for Use often, you know, maybe it's in a data center, maybe it's out on the edge somewhere. Tends to be pretty customized. There's a lot of, we've taken a system, but now we're going to add our own special, you know, need to it. And I know certainly in our own organization with some fairly unusual deployment targets by most people's standards, you know, we definitely have to, to come up with, with an approach that works for us. And, and so I think that's pretty typical. I don't think the world has settled in a, in a standard way to do that. But I think the one thing, it's still a little bit of a, I think a lot of people perceive it as a bit of a dark art to do deployment at this point. And I think the thing I always remind people is it's really just software development at that point, which is kind of what you were alluding to. At the end of the day, you have a function, you know, it may be different from other functions in the number of parameters. And so you may have to accommodate in your architecture that you're deploying to. How are you going to get all the data in if you have many, many inputs into your model, you know, how do you get the data on time to that through the model at the correct thing? So that can affect your software and system architecture a bit. But other than that, I know I have a strong preference for deploying in containers, you know, whereas we may use Python as a language in training, I often use go, the GO programming language for deployment since you can access TensorFlow models for inference there. I like to wrap them up in a Docker container and usually if I have the option, deploy them into a Kubernetes cluster. And that can be, like I said, in a lot of different locations since it's pretty much. But for the most part it is. As soon as you get done with training, you're really moving into a software deployment world again. And so which is a little bit foreign to people who are just data scientists. But anyway, it's good because there's a lot of good if the data science world can kind of figure out what it wants to do and that there's a lot of good options there that are fairly mature.
What's up? This is Daniel Whitenack, one of your practical AI co hosts, and I hope you're enjoying this episode and staying healthy during these crazy times. I'm working on some pretty cool AI stuff here from my home office, but I've also found that I'M having to get a bit creative and be intentional when it comes to honing my AI skills and virtually connecting with the AI community. If you're in a similar situation or you've been inspired by the practical AI we talk about on this show, I want to invite you to a live online AI training event I'm hosting this maybe called AI Classroom. In AI Classroom, I'm going to teach you the practical skills I've learned over the years using the latest open source AI technology. You'll learn AI theory along with practical hands on implementations in both PyTorch and TensorFlow. And after the training you'll be able to understand the latest AI models, implement your own models in code, train computer vision and NLP models, create model inference servers, and experiment with state of the art methods like reinforcement learning. AI Classroom is taking place this May. It'll be taking place live and completely online in a high quality virtual classroom.
So no travel is required.
There'll also be two cohorts with convenient time zones for Eastern and Western hemispheres. Don't miss out. Tickets and more information are available at Datadan IO. That's Datadan IO and Practical AI listeners can use the code PracticalAI10 for 10% off. See you online in AI classroom.
All right, so let's do another one. Maybe this is a quick one. Okay, this seemed to be at the top. What laptop do I buy for deep learning? My answer is, doesn't matter.
Yeah, mine too.
I mean, you could buy one with a nifty GPU or something, but if you're using something like Colab Pro or something to do your initial testing and then you're deploying on some giant cluster or something that your company has, it really doesn't matter. Buy a Chromebook.
I'm the same.
I think the biggest computing I do on my laptop is running a bunch of, of tabs of Chrome plus Slack, you know, simultaneously kind of maxes out my memory usage. So. Yeah, I don't know. That's my quick answer to that one. Don't know if you disagree.
No, I would agree with you. I think a few years ago when we, you know, we were talking, you know, a lot of people, they might have a desktop just for training that they'd stick under their desk and you know, they'd buy a GPU to do that, but I don't see people doing that.
Personal heater.
Yeah, personal heater under your desk. That's right. Just what we need here in Georgia. I don't see that very much anymore. I think everyone goes to some form of cloud, whether it be one of the public cloud providers. I know, as we've talked about in past episodes, I'm super lucky at work and that we have a lot of supercomputing capability on the HPC side in terms of DGX clusters. So those are available. But when I'm coming home and when I'm working on my charitable work where I'm applying some, some deep learning models for that, I'm hopping into Colab and I'm using Google's cloud for that kind of work. And I think most people do the same, you know, in AWS or Google or Microsoft or whatever.
All right, next question. Let's see, let's do another maybe theory related one. What is back propagation usually used for in neural networks?
What is it used for?
What is it used for in neural networks? That's the question, I think really the question is what is back propagation? Yeah, probably the question because they've probably seen the, this, this term passed around and normally when you write, or at least in tutorials that I've seen, when you write like a code to train a neural network, most of the time there's not like the run back propagation function or something, maybe it's not like specifically called out. So maybe that's a confusion. Like what is back propagation usually used for in, in neural networks? So backpropagation is, is basically just a method that's used fairly widely and ubiquitously. Is ubiquitously a word.
That's a word. It is a word.
It's a good word in training neural networks. So it's used specifically at the training time. So if you think of what happens in training a neural network, we already mentioned that a neural network is basically just a function with all of these parameters. But the parameters are learned or set in this training process based on a bunch of example data. And so what happens is you kind of initialize these parameters to some value. So let's say we just randomize them. Then we make predictions based on that initial guess and then we calculate a loss based on those predictions. And what we know is the right.
Answer, which is an error rate, essentially.
Yeah.
Which is.
Yeah. So we calculate a bunch of errors together and then we use however we calculated those errors or the loss function to then update our choice of parameters, what might be called weights and biases, based on that loss. And the way in which we update that is often used as a derivative of this loss function. And so we update those weights and biases and then we loop back to the beginning and try our predictions again. And then we iterate over that a whole bunch of times. And that process of sort of iteratively updating the weights and the biases and propagating those changes back into the network is what's called back propagation. So it's just this methodology. Did I miss anything there, Chris?
No, I think you got it. I think you mentioned about randomizing in the beginning. And so that first time through you're definitely not optimized to solve for the thing that your network is trying to learn. And so it's usually substantially off. And you could think of each back prop, when it goes back to those weights as tweaking all the weights and all the little connections in the network. And then it tries again and each time it tweaks, you know, it tests and through the loss function it works its way closer and closer to a low amount of error. And there's some point where you decide it's good enough as the person training the network and you say when it gets to that low of an error rate, we're good to go. And that's what back propagation tries to do in a feed forward network.
Yeah. Well, Chris, what other questions seem, seem interesting to you?
Okay, let's see. How about. This is something that I get a lot at conferences actually, and that is how will AI replace or change things in our lives? You know, what does AI replace and how does it take the place of, or modernize other aspects of business, government, education, human communication and other aspects of daily life? So it's a really broad, a broad, wide open question with a thousand possible answers. But you know, take a shot at it, Daniel.
I mean, for me I think that it's more of augmentation than a replacement. And I mean, I don't mean to minimize. There's certainly areas where people have been greatly affected through automation and that sort of thing. So not to minimize that, but I think on the whole it's really not so much of a replacement as an augmentation. Like for me, I can now have a really super awesome autocomplete and Gmail that really works fast and great. It didn't replace even that system for me. Right, Like Gmail or email. It didn't replace that part of my life. It just kind of augmented it in a certain way. And I think it's similar if you look at like healthcare and the way AI is helping doctors and, and that sort of thing. That's my general take on it.
No, I agree with you. I think augmentation is the right word for it. And I think folks need to keep in mind that, that where AI is today, as we've talked about a little while ago on this same episode, it's primarily deep learning. And as we are thinking about it, deep learning can be very, very good at addressing very, very specific things. And so the way that is realized in real life is that it will help us recognize images better than other algorithms we were using before. You know, with that convolutional neural network that we talked about. It enables us to do other mundane things faster and more efficiently and opt. But each one is tackling a very specific efficiency, if you will. And so what we're seeing is we're becoming more productive by using these models in all sorts of different ways in our life. And whether that's government, education, human communication education, whatever, all these things are just about how can I add this in and make it just a little bit better? I think you're more in danger if you're in a very specialized or mundane job in terms of a model coming to replace. But there's a big difference between what a human brain can do today and what any of these deep learning models can do in terms of comprehensiveness. The world may change, and maybe we'll have to revise that at some point, but right now, you know, it's an apple versus an orange. It's not, it's, it's not a direct competition yet.
Yep. Okay, here's a quick one.
Okay.
Is it possible for a paper to report wrong accuracy or am I doing something terribly wrong?
All of my papers probably report.
So obviously this is someone trying to reproduce some results from an academic paper or something where they reported like state of the art results on this or that. Yeah, it happens. And it's, you know, don't feel bad.
I don't have anything to add to that. That's. That's it.
That's it.
That's the final word right there.
So unfortunately, not everything published is correct. So just keep that in mind. Let's see, maybe we can move on to another fun one here. What sucks about AI? That's a question on the Internet. Internet. What sucks about AI? Chris, I don't know if we want to add this one into our podcast because our podcast is about AI. Just to note, if AI sucks, that doesn't mean our podcast sucks. Just to clarify.
So I have one, and we've talked about this before, and you have this, pardon me, creepy, like for what I'm about to say. And you know what it is now, don't you?
I do, yeah.
Yeah. It's preparing data for training and trying to pull all the bits together and put them into a shared context and clean it up and do all the things you have to do to have a great training set so that you have very efficient training. And I know for me, for every hour of delight I have at training a model that does just what I want. I have many hours of this drudgery and I know that you have this strange likeness to do that.
I do. I enjoy data. That's crazy wrangling. Yeah. I think it's fairly fun. I don't know. Not much sucks about AI, so maybe that's a cop out answer. And maybe it sucks that, I don't know, I think things are changing with this. Maybe it sucks that, you know, a lot of people that are benefiting from AI are those in, you know, developed countries.
That's a great point.
And people in, you know, the US or Europe or wherever it is and you know, it's probably not benefiting the rest of the world in the same way. So maybe that sucks about AI, but hopefully that's changing.
So there's a challenge to everybody out there listening is that we need to find a way to democratize this amazing technology that so many of us have kind of devoted our professional lives to and like Daniel's doing at sil, find ways to bring AI to other people. I know in my case animals, being the animal lover, bring it to use cases and people and communities that need it and that are not yet receiving it it. I know you're spending all of your time doing that and I spend all of my spare time trying to do that and I'm hoping others will do the same.
Yeah, for sure. All right, well maybe as we wrap up there's one one of these questions which is practical but also, you know, I know we get asked a lot which is recommendations for self studying machine learning or self studying AI. So if any of this stuff that we've randomly talked about has been interesting for you, we hope it has. Maybe you want to dive into a few of these topics. What are some of your go to sources for good self study information, Chris?
Yeah, well I'll speak specifically of what my current interest is and we've talked about things and this shows my bias that I'm in the TensorFlow ecosystem. Google has now a certificate program out there where you can go and actually get certified in your TensorFlow expertise and it is not an easy certificate to get. I will warn you, this is not an intro level thing. But if you've been in this space for a while and you think that you're pretty good in your usage of TensorFlow and you want to be able to establish it. I know there have been third parties with certificates, but they're not taken very seriously. But now with the TensorFlow team itself sponsoring this certification process and you actually don't have to go into a testing center. It's. It's good for a COVID 19. Reality that we're all in is that you can do it from home on your laptop and they have a mechanism you're allowed up to five hours to get your test done and they test you in everything from use of CNNs to natural language processing. There's a whole curriculum that you have to prove yourself on in those five hours. So if you really want to see how good you are, I would encourage you to go give that one a shot. I think it's $100, which isn't too bad to go get the certification and that's a good way to go from kind of a beginner or intermediate level to prove that maybe you're at an intermediate to advanced level.
Yeah. And there's been a bunch of things we've mentioned on the podcast just to list a few of those as reminders. People really love the Fast AI yes content. If you just search for Fast AI, you'll find that that seems to be pretty unanimously liked.
It is.
It's great content by people that are in this space. So that's a good recommendation. It's definitely not the only one. There's another kind of crash course that's free from, From Google with TensorFlow. There's great tutorials on, on Pytorch. There's. I've been kind of exploring this dive into deep learning site recently, D2L AI and they have a bunch of notebooks to explore and there's other great books out there. One that has been always a great use to me for actually many, many years and has been recently updated is Joel Grus book Data Science from Scratch, which now includes a bunch more things related to deep learning and RNNs and CNNs. And he'll give you a lot better explanation of a CNN and his book book than. Than I gave.
And he came on the show a while back as well.
He. He did, yeah. And I love that. That's a, it's a great reference for me as I do my work. So there's some, some recommendations. Hopefully you've enjoyed the back and forth question answering of the show. It's been a bit random, but some good discussion, Chris. I enjoyed it.
I had a fun time. It was good. And you know what? Next time I. I'll promise listeners will ask for questions out there on social media with a bit more warning than we did today so that we can. We can have a lot of people participate in. In feeding it to us.
Sounds great. See you soon, Chris.
All right, Thanks a lot. Take care.
Thank you for listening to Practical AI. We appreciate your time and your attention. Next up, let your voice be heard. Please leave us a comment on the episode page. There's a link in your show notes for easy click inside. We'd love to hear from you. Word of mouth is the number one way people find new podcasts. If Practical AI has helped you on your AI journey, please do tell a friend. Hey. They'll thank you later. Special thanks to Breakmaster Cylinder for the Beats and to our awesome partners for their support. Shout out to Fastly Linode and Rollbar. That's all for now. We'll talk to you again next. Sam.
More from LARRUZ


Ep 882: Rogue AI Agents: Why Breakouts are Happening More and How Companies Should Prepare (Replay)


Ep 881: Faster AI Agents, Fewer Human Coworkers: The Overly Productive Future of Managing Agents? (Replay)


Ep 879: New: OpenAI Presence. Has The AI Customer Service Takeover Finally Arrived? (Replay)




