字幕表 動画を再生する 英語字幕をプリント [MUSIC PLAYING] LAURENCE MORONEY: Today I'm in the Big Apple meeting with Josh Gordon from Google to talk about machine learning, where we will dig into how it works, why it's important, and where you can learn all about it. Welcome to Coffee with a Googler in New York City. I'm Laurence Moroney, and I'm here today speaking with Joshua Gordon. Now, it's something that a lot of people don't really understand what machine learning is in a concrete manner. JOSHUA GORDON: So machine learning is all about learning from examples rather than writing manual rules. LAURENCE MORONEY: Got it. JOSHUA GORDON: So the short way of saying that is regular programming is you write a lot of manual rules to solve a problem. In machine learning, you let the algorithm find those rules for you. LAURENCE MORONEY: Got it. JOSHUA GORDON: From examples. LAURENCE MORONEY: So pattern matching. It might be visual, or it might be other patterns that are hidden in data. JOSHUA GORDON: Absolutely. And so the input to machine-- so the beauty of machine learning, and the real secret sauce, is that an algorithm that learns patterns from data can solve thousands of different problems. And the reason is if I write a Python program to recognize digits, my program is hard coded to work with digits. LAURENCE MORONEY: Got it. JOSHUA GORDON: But if I write an algorithm to learn patterns from data, I can use that for speech recognition, image recognition, medicine. Basically, anything that you can start with examples, just tell apart A and B, my same algorithm that I wrote just once can tackle all these problems. And that's a really special and actually fairly profound thing. LAURENCE MORONEY: Absolutely. Now, one of the things in your classes that you're talking about that you're starting with language. You're starting with Java and Python, I think it was, that you said? JOSHUA GORDON: Yes, absolutely. LAURENCE MORONEY: So how's the class going to be structured for people who want to be these data scientists of the future? JOSHUA GORDON: Absolutely. So first of all, there are zero prerequisites. Well, that's not true. There's one prerequisite. LAURENCE MORONEY: My favorite. Oh, OK. Well, what's the one prereq? JOSHUA GORDON: Basic programming ability in Java or Python. And by basic, I mean you can run scripts and you can tweak them. That's it. A little bit of high school math. And that means like basic algebra, basic geometry. When I say basic geometry, to be totally honest, if you asked me, like, what sine and cosine, I would have to Google it. I don't remember, honestly. So just basic familiarity, and that's it. And we're going to teach the class in three ways. We're going to teach it totally from the ground up. So one problem I had with some of the academic classes I took is that they'll talk about a fancy algorithm, like neural networks, but they'll talk about it in terms of math. And so at the end of the class, I don't know how to build that. I can't really do it. We're doing it in a reverse way. We're building it step by step, and we're explaining only the math that's really necessary as we go. And instead of equations, we're going use visual examples. LAURENCE MORONEY: Perfect. JOSHUA GORDON: So an equation could be like if you talk about gradient descent, gradient descent basically means finding the minimum of a function. So if I just say that, like as a developer, I'm like, all right, what does that mean? So you can think of any equation, like x cubed plus y squared plus whatever equals 7. There's some value of x and y. LAURENCE MORONEY: That's going to be the bottom of that curve, right? JOSHUA GORDON: Or not equals 7. Equals some value. Right. Anyway, you can find the bottom of that curve literally by thinking as a bowl. You can drop a piece of fruit in a bowl and it will roll to the bottom. And gradient descent just means finding where this function is 0. And you can actually describe that really simply in only like 10 or 12 lines of Python, actually, instead of five slides of equations. LAURENCE MORONEY: And I think it's also important to understand why you need to find the bottom of the curve. JOSHUA GORDON: Absolutely. LAURENCE MORONEY: And just focus on that example. JOSHUA GORDON: Absolutely. So that's difficult to describe concisely. LAURENCE MORONEY: Right. JOSHUA GORDON: So in machine learning, let's say you're writing an algorithm. Let's say it's to distinguish apples from oranges. You always want to know, how accurate is my algorithm? Like, I can solve that problem in one line. I can just say, return math.random. So one line, math.random. LAURENCE MORONEY: That would be the perfect one. JOSHUA GORDON: My accuracy is crap. LAURENCE MORONEY: 50%. JOSHUA GORDON: Right. Yeah, it's 50%. LAURENCE MORONEY: Between an apple and an orange. JOSHUA GORDON: It's a one liner. But really, we want to get-- another way of describing accuracy is you can think about it n terms of error. High accuracy means low error. And you can have an equation that describes your error. And the minimum of that equation is going to give you the highest accuracy. So you can write your machine learning algorithm to try and minimize the equation that describes the error. LAURENCE MORONEY: Got it. JOSHUA GORDON: And we'll make that super concrete in the class, but that's where minimization comes in and that's where gradient descent comes in. LAURENCE MORONEY: So one of the things you're saying in the class, you're teaching just a pure Java, Python version. But there's also a version where you're bringing in preexisting libraries that have come from academia. JOSHUA GORDON: Absolutely. LAURENCE MORONEY: That will solve a lot of this for you, right? JOSHUA GORDON: Absolutely. So I want to do a couple things. One is I want to provide the TLDR. So honestly, as a developer, I like to get up and running really fast. So we're also going to use open source libraries from just different universities. There's one in New Zealand that I really love. We're going to you how to build, basically first, everything from the ground up step by step from scratch. And the reason we do that is because it keeps us honest. If you build every single piece, you have some understanding of every single piece. LAURENCE MORONEY: And if you're relying on somebody else having done the work, you don't fully get to understand it yourself. JOSHUA GORDON: Exactly. Now, another thing is using the open source libraries, honestly, you can solve probably 80% or 90% of the machine learning problems you would as a data scientist. LAURENCE MORONEY: Nice. JOSHUA GORDON: Now, when you get to the really gigantic problems, then really it makes sense to use the cloud. So we're also going to teach how to solve problems using Google APIs. But that's at the very end of the class, and it's totally optional. LAURENCE MORONEY: This is all on YouTube, right? JOSHUA GORDON: All on YouTube. There might be some ads on it, but that's literally it. We think it's going to be awesome. LAURENCE MORONEY: Like source code and stuff that you've done? JOSHUA GORDON: The source code will be on GitHub. LAURENCE MORONEY: It's all on GitHub. Perfect. JOSHUA GORDON: It will all be on GitHub. And the reason I was hesitating is I'm writing all this as we're speaking, so I'm totally exhausted. But yes, it's totally, 100% out there. LAURENCE MORONEY: Well, you're still looking energetic to me. JOSHUA GORDON: I've had a lot of coffee with a Googler. Good for you. LAURENCE MORONEY: Well, I for one am really looking forward to this course. I'm looking forward to learning what you have to teach. I've had the same kind of struggles as you in trying to understand the math behind this and why I'm doing the math, which is why I had those pointed questions earlier. JOSHUA GORDON: Absolutely. LAURENCE MORONEY: So thanks, Josh. That was a whole lot of fun. And I've learned so much about machine learning just from these few minutes with you, so I'm really looking forward to your class. JOSHUA GORDON: Thanks so much. LAURENCE MORONEY: If you've enjoyed this episode of Coffee with a Googler and if you want to learn machine learning for yourself, if you have any questions for Joshua, or if you've any questions for me, please leave them in the comments below. And tune into the Google Developers channel for more great videos, including episodes of Coffee with a Googler. Thank you. [MUSIC PLAYING] JOSHUA GORDON: You really can learn machine learning, and it's faster and easier than you think. We've gone through a ton of classes, textbooks, and blog posts to bring you the clearest and most concise explanations of the hard concepts. We really think you're going to be able to learn it and have some fun on the way. Click here to get started.
B1 中級 米 ジョシュ・ゴードンとのコーヒーで機械学習 - グーグラーとのコーヒー (Machine Learning over Coffee with Josh Gordon - Coffee with a Googler) 318 19 frank に公開 2021 年 01 月 14 日 シェア シェア 保存 報告 動画の中の単語