 Thank you for the clicker. I would like to start my timer. I want to take 45 minutes for talking about the second topic, which is about machine learning. And this session, I'd like to talk more about how you can use the machine learning by showing real world examples and demonstrations. And at the last session, you can be talking about a little bit more about what is the detail about how to use the machine learning. So I'm a developer advocate. So it's like a half evangelist. It's like an advocate for developers. So I usually attend the meetup or events like this, speaking and talking about the technologies. And especially for focusing on data and analytics products such as BigQuery or TensorFlow machine learning products. I have been working at Google, Tokyo office for over 70 years. And I'd like to start discussing about what are the meanings of those buzzwords such as AI or machine learning, ML or neural network. There's no scientific definition of AI or artificial intelligence, but you can think that AI is in science or technology to make things smart like building an autonomous driving car or drawing a computer drawing a beautiful picture. And there has been so many different approaches for realizing the vision of AI. And one of them is machine learning. What is ML? ML is a new way to program your computer. Usually, if you want to build a new IT system, you have to hire programmers, human programmers to instruct computers how to solve each problem, how to process your data. But instead, with ML, you don't have to hire programmers. You can just use your machine learning algorithms to use data to program your computer. So that computer tries to find a certain way, certain patterns to process your data and solve your data. And one of the machine learning algorithms is the neural network. And the neural network is seeing a booming or breakthrough at around 2012. So that's the reason why Google has been spending so much the resource and cost for developing neural network technology. So let me show some very simple example how machine learning can solve your problem. Pretend you are an IT programmer and your customer asks you to solve this problem, how to classify these fruits as an apple and orange. Maybe the easiest way is to look at the color of the pixels. If it's red, it must be apple. If it's an orange, it must be orange. But your customer comes to you and says that in production system, the performance of camera is not great, so what you would get is monochrome image. What kind of code, Java code or Python code or C code to classify these fruits as an apple or orange? In this case, you have to take a look at the shapes or textures or patterns. That could be a pretty difficult problem for the IT programmers. And then your customer comes to you again and asks you more difficult things like classifying these images. What are these? Looks like mops, but if you carefully look at some of the images like this, it's a dog. It's called sheep dog. Not mop. So how do you classify? What kind of program code you would write to classify these images as a dog or mop? At this point, maybe the usual programmer would not take any requests from your customers. But if you know that neural network or machine learning can solve your problem, you can get fairly decent accuracy on classifying these images. Specifically, by using cloud vision API from Google, it does a pretty decent job on classifying these. With any machine learning algorithms, it's almost impossible to get 100% accuracy. Usually, you would get accuracy such as 70%, 80%, 90%, 95%, or 98%, but not 100%. But still, for certain requirements for certain use cases, it does a pretty much better job than the human programmers. So how neural network can do this? Actually, you can think neural network as just a function in programming language or mathematics. You can put any kind of data as an input and you can get the output data. So one most popular use case for the neural network or deep learning is the image classification. So putting many images such as dogs and cats and trained neural network, trained function to give you an expected answer such as cat and dog labels. But you can try using neural networks to solve any kind of problem. For example, if you have, for example, one of my customers is a large mega bank in Japan. They were trying to capture fraud use cases in credit card. You want to capture the fraud use cases in credit card. So they converted all the user activities, credit card user activities, into a bunch of numbers. It's called a vector. And you put that vector into a neural network so that they were able to get pretty high accuracy on classifying what user activities could be fraud activity or normal activities. So that could be just one example of the neural network use cases. Or maybe other use cases could be finding a premium user or spam user in your e-commerce server or gaming server. So the neural network is just a function. That's the key point here. So let's see how neural network can solve your problem by looking at the data, by using this double spiral button. This pattern has the two data, X1 and X2. And if you plot those data as a data point, then you will see there's two different groups. One is the blue spiral and another is orange spiral. And for humans, it's not so hard for classifying these data points. So for example, if you have a new data point here, that must be blue. If you have a new data point here, that must be orange. It's not so hard for humans. But what kind of program code you would write to classify these data points as an orange or blue? So let's take a look at how neural networks solve this problem. So here I have a demonstration called TensorFlow Playground where anybody can play with the live neural network working inside your browser where you can train the neural network model with the double spiral pattern. So I have just started training the model. So you see that the neural network doesn't make sense on the data when you started the training. But if you patiently keep providing the training data and providing the computation resource, then it gradually tries to capture the complex pattern, double spiral pattern as you're seeing right now. And the point here is that I haven't done any programming on this. Only I had to do is providing the training data and define the design of neural network like how many neurons in each layer or how many layers in neural network. That's it. So computer tries to find what's the best way to look at the data to solve this particular problem. And for certain use cases, it works as good as human programmers or human operators. And you can extend the same techniques to recognize, for example, the images, the handwritten digits in monochrome images just by using the single-layer neural network. This is not a deep learning. This is just a simplest single-layer neural networks. So you can just flatten the already pixel data, 28 by 28, into 784 pixels, numbers in a single vector, so that you can train the neural networks to what pixel you have to look at to find out the images of digit 8 or not. So it's a very simple algorithm or method we are using. But still, this model can provide you like 90% accuracy on recognizing handwritten text. And if you have more and more higher accuracy, much higher accuracy, then you can have the multiple layer between input data and output data. That is so-called deep neural network. And at Google, we are using a deep neural network model which has about 40 or 80 layers between input and output data, deep neural network model. And by training that kind of deep learning model, you can have the neurons inside deep learning models to be able to recognize things like the edges of objects. It's like edges of objects. Or the textures or patterns in an image or part of objects like a nose or dog or wheel in an automobile. Or finally, you would have neurons that can recognize the whole objects. It's a vehicle or flower, cat or wedding party. So that's how neural network works. And Google has been using this technology to implement many different production services at Google. Over 100 production projects, including Google Search or Android or Maps Gmail. If you are using Google Search every day, that means you are using deep learning technologies from Google every day. We have introduced Rank Brain, which is a deep learning model for defining the ranking of the search result in 2015. And also, the Google photo is one of the most successful use cases of deep learning at Google. So now you don't have to put any labels or tags on the photos you have taken with the smartphones. Instead, you can just put a keyword for searching an image, it's like a dog or a wedding party. Inbox mobile application or Gmail mobile application now has smart reply feature that uses the natural language processing technology to understand the context inside each email thread and try to show the options to reply to email. So you will be seeing the some buttons or it's not showing well, but you can have the buttons to reply to each email thread. So it's generated by the machine learning or AI algorithms. And now over 12% of the old responses from those mobile applications is now generated by the smart reply feature. Google Translate recently introduced a new machine translation model that has improved the fluency and accuracy of the translated text significantly. This is a huge result we got from the deep learning model last year inside Google. We are using the deep learning model to automate the control of the cooling resources, cooling systems inside Google data center. In every data center at Google we have tens of thousands of machines and now it is automatically controlled for the cooling systems by using the deep learning model. And we are able to reduce the power consumption for cooling systems for up to 40%. That is a significant result we got. So now at Google, deep learning is not on hype or buzzword anymore. It's stable and production-ready technologies actually used in Google over 100 production projects. And now we are focusing on externalizing the technology to the developers and customers. And we have two different products. One is the Cloud ML APIs and the other is the customizable machine learning model that I will be talking about later. But let me first talk to you about the machine learning API. That is a pre-trained machine learning model. That means you don't have to train your neural network model by yourself. Instead, Google has trained the models for the image recognition or voice recognition or natural language processing. So all you have to do is send your images or audio or text to the API and that's it. So let me show you some demonstration of those APIs. So Cloud Vision API. So all the demonstration of the ML APIs I will be showing is available for anyone. So if you are interested, please go to cloud.google.com where you can find all the product pages for vision or speech or natural language API. And each product page has the right API box like this where you can upload any kind of images you want to try out the API. And it doesn't cost anything. You don't have to sign up or you don't have to pay anything to try out. So let's upload the ship dock example here. So you will be getting the result label within like a few seconds like this. So labels is like a dog or dog like mama or mama. And there's another API called Video Intelligence API which is a video version of the Vision API. So if you choose one of these sample videos and play the videos, then you can see those labels will be showing. It's only showing properties. It's not so interesting. Okay, let me... So I have chosen a wrong sample. It only shows properties. But in other use cases it should be showing any objects you found in a video. So now if you have or your customer has any video material stored on storage, you don't have to have human operators, human workers watch out all the objects in the videos. You only have to upload the video to the API. So I have the Speech API as well. So let me try that. So even though my English has an accent, the API can try to understand what I'm saying. So I should be maybe in the United States. Let me try. Hello, this is a demonstration of the voice recognition by Google Steep Learning Technology. Not estate planning. Sorry about that. This is for my presentation. But still, you know, it provides the high accuracy on recognizing the voice. And then you can put those results into not estate planning. Anyway, you can put the result into the natural language process API to understand what's the meaning of those sentences you recognized. So the API gives you back the entities like a company name or the location name in the sentence. Or what's the sentiment of each sentence? Is it saying something positive or something negative by score? And also you can easily get the syntactic analysis result like this. This is one of the hardest part of natural language processing, where you have to hire some natural language processing scientist. But with that, you can just send the natural language to the API so you'll be getting already part of the speech for each sentence. And what are the dependency between those part of speech? Okay. So those are the ML APIs. So to get this kind of result, you don't have to have any expertise on using machine learning by yourself. But not all of the problems could be solved by these machine learning APIs. For example, I'm getting many inquiries from medical institute or hospitals. How can we find a cancer from the CT images or MRI images? For that kind of the customer specific or business specific use cases, you cannot use the vision API or speech API. Because those APIs are pre-trained with the generic images or the generic data. So that's where you may want to take a look at the TensorFlow which is an open source tool for building your own machine learning model from scratch. TensorFlow is the standard tool we are using inside Google for building any new machine learning or AI services. And we have open source reach in November 2015. And the benefit you could get with TensorFlow is the scalability and portability. So you can just start trying out TensorFlow by downloading the source code TensorFlow code on your laptop or Mac or Windows. It works on your laptop. But you will find that your laptop doesn't have much CPU power to train the more heavy weighted tasks. For example, if you want to train a neural network model to classify an image of dog or cat, then you may want to use a GPU. Not only one GPU, maybe 10 GPU or 100 GPU. That's where TensorFlow provides the benefit of distributed training. So any serious production level deep learning users are using multiple GPUs or tens of hundreds of GPUs. And TensorFlow is designed as a scalable distributed training framework. So you don't have to change the code of TensorFlow significantly so that you can still use the existing TensorFlow code to train the model on the tens of GPUs inside cloud or any on premise devices. And once you have finished your training of your neural network model with TensorFlow, then you can copy that TensorFlow model into mobile phones or Raspberry Pi or MBG systems. Because we provide the framework for running the TensorFlow models in those smaller devices. We recently called a new runtime called TensorFlow Lite, which runs on the smaller devices such as the iOS, Android, or Raspberry Pi. So you can have the tens of megabytes of the neural network models compressed into a few megabytes to run the other models inside smartphones or Raspberry Pi. So with those benefits the TensorFlow is getting so much popularity in deep learning industry. It's the most popular deep learning framework in the world compared with the other frameworks and tools. And the many enterprises and companies are actually using TensorFlow for POCs or production use cases, including Airbus, Dropbox, Intel, Qualcomm, everybody. Even the Kukenbaum pharma in Japan. How many people have heard about the Kukenbaum pharma use cases? Oh, thank you so much. Maybe 10 people. Actually I wrote the blog post about this and it got so many page views. And the thing is that the Kukenbaum pharma in Japan they got a son, Makoto-san, he created his company as an engineer and started helping his parents Kukenbaum pharma about three years ago. And then he found out the most time consuming task or tedious task for the Kukenbaum pharma is classifying those Kukenbaum into many classes. His mother spent eight hours a day just for classifying those Kukenbaum into nine different classes. And that is not easy task. You cannot hire part-time workers to do that. You have to be a professional Kukenbaum classifier, looking at the shape, lengths, and colors, textures of Kukenbaum. And Makoto-san, he really didn't want to help that. Instead, because he was an engineer, he downloaded TensorFlow and took 9,000 photographs of the Kukenbaum label with his mother's classified label. And he built his own Kukenbaum solder. And he only spent like 1500 dollars to build this thing. But still it got pretty high accuracy. And now in this fall he's about to bring this technology into production. He's actually really trying to use this in production. So the point here is that to build this kind of high accuracy image recognition system for agricultural use cases, you don't have to hire the data scientist to spend millions of dollars having a contract with the system with its integrators. Instead, you can just have a one warmer downloading TensorFlow to build a PLC. This is another use case I made by myself with my son last summer. This is a log paper scissors machine. This is just a toy. You know, you can see here a globe and it has a sensor to detect the pose of your log paper or scissors. Yeah, you cannot win computer. This is just a toy. It's not AI or deep learning anything. But still I have used TensorFlow to build this with my son. What I did was capture all the globe sensor data and visualize it. And then I made a very simple linear transformation model. It's just like the most simple linear algebra you have learned at high school. And then used TensorFlow to calculate the probability of the log paper scissors. So even for this kind of toy programming, you can use TensorFlow to solve your everyday life, everyday problem. So that's the power of TensorFlow. It's a tool for democratizing the power of machine learning. And when you want to bring technology into production or enterprises, you will see the challenges of machine learning. Such as you need large data sets or you need to have good models and you need lots of computation. So you have to have tens of GPUs from NVIDIA. That's the challenge. But the solution is our data center. Google's data center is not just a bunch of buildings with thousands of machines. It's designed as a massively powered computer. You have like tens of thousands of machines. And at Google data center, you can learn it as a single massively powered computer because we have specialized container technology and networks to use that as a massively powered supercomputer. So if you run TensorFlow model on Google's cloud with those MPP infrastructure, you can get much, much faster training speed. Like 40 times faster or 300 times faster. So for any current researchers or developers for deep learning, people are still spending a few days, a few weeks to finish their training on deep learning. But for Google engineers, you only spend like tens of minutes, like a lunchtime hour, to finish their training. Because we have the cloud infrastructure with the massively powered processing infrastructure. So that's the largest reason why Google has been so successful on deploying deep learning into production. That's not not only about the mathematic model or data scientist, but also it's about the distributed training infrastructure with the Google cloud environment. And we even developed our own customer chip or LSI or ASIC just for running the TensorFlow or neural network calculations. That is called TensorFlow processing unit or TPU. This is not CPU or GPU. This is a specialized LSI designed by Google. And it provides the almost same equivalent performance to the latest supercomputer. So you can say that Google is building something like a supercomputer just for solving the TensorFlow or neural network problem. And now we are externalizing this power of Google cloud as a product called ML engine or machine learning engine. So you don't have to care about all the difficult stuff like building a GPU cluster at Google cloud or using the TPU or things like that. Only you have to do is get started with TensorFlow with your laptop. And if you confirm your TensorFlow code works well, then you can upload that TensorFlow code to ML engine with your training data. And that's it. So all the hardest part like maintaining the GPU nodes or the recovering from the failures are taking care by the Google engineers. So let me show some demonstration that combines everything that I have talked. Define your candy is a robot arm demonstration that works with speech API, NL API, natural language API, and TensorFlow running on ML engine. But it works as a total solution for picking up a candy. So maybe I can or I don't know here sound. Okay. So here he said, may I have some gum to the microphone? Then speech API can recognize the words and then natural language API can understand what meaning of the sentence he has spoken. And then it is running the TensorFlow model with a word to try to find the best candy to satisfy his request. And then uses the image recognition model running on TensorFlow to find the best candy or gum. In this case it's a gum. To pick up the gum by using the robot arm. Okay. So let me stop it. And I have designed this system and ordered our vendor in Japan to build this. And they have built this system within 20 days. And I only spent like $30,000. So it's not so expensive. So you already got the real world solution by using the planning model. Okay. How do I... So lastly I'd like to show some real world example, the customers who are actually using TensorFlow and ML Engine in production or PUC cases like Airbus, AXA, SMFG, Okne. This is a project called Global Fishing Watch. This is a project for preventing overfishing in oceans. It is tracking the all GPS position of 200,000 vessels or ships in each ocean at real time. So they are collecting all the GPS position and storing on the Google cloud straight and using cloud data flow to do batch processing and preprocessing. And then they are using TensorFlow or machine learning engine to extract the patterns or features of movement to know what they are doing with those vessels or ships in each ocean. So result is that you can actually get pretty high accuracy on counting how many fishing boats on each ocean. Like by looking at the movement you can tell the ship is doing a trowel fishing or long line fishing or pass same fishing. So this is one use case of deep learning and machine learning model running on Google cloud. This is the second use case that is by QP. QP is one of the largest food manufacturers in Japan. They were trying to find a bad potato cube on belt conveyor for manufacturing baby food. Because they are so sensitive about the ingredients of the food or baby foods. So they are using very high quality ingredients. That means it's really hard for them to prepare for the sample for the bad potato cubes. But if you have any experience on using your own deep learning model, it's very important to have the samples for the bad potato cubes. So in this case they didn't use the supervised learning. In this case they have used unsupervised learning with autoencoder. That means you don't have to collect any bad use cases. Instead they have built an outlier detector that requires only the good potato cubes to train the model. So this is the real POC running inside their factory. So in this video actually it has sound and rings a bell whenever it finds the bad potato cubes. So by hearing the sound of the bell you can see you can find where on the belt conveyor the bad potato cube will be coming. So until now they have been hiring so many human operators to watching out on the belt conveyor waiting for the bad potato cube coming for all day long. So heavy weighted task. But now it's super lightweight task. People are just waiting for the sound of bell. Coca-Cola is now using the TensorFlow for the loyalty program. They provide the smartphone applications that uses the camera to capture the image of the bottle cap to read the serial numbers, unique numbers inside the bottle cap. And they use the TensorFlow model running inside it to do the OCEA on it. And as I said any machine learning model cannot achieve 100% accuracy so that makes a mistake. But unique case, unique idea in this case is that they are letting consumers use this fixing those models. So every time they make small mistakes on reading the characters they collect all the real images from consumers and they collect all the correct labels from consumers. So they were able to continuously increasing the accuracy of the model by collecting the correct data ground truth from the consumers. This is the last use case I'd like to show which is the Orgnet. Orgnet is the largest real-time core auction service provider in Japan. They are handling 5 million cars for auction each year. But the problem is that they have to take 20 different images for each car they want to enter into auction and put the labels on each images. For example, if you have the images for the car from front side or left side, right side or image of the wheel or tire, everything the human operator have to spend 15 minutes to do the labeling tagging on those images. So they are based on used image classifier with TensorFlow running on machine learning engine. And by using the technique called transfer learning they were able to reduce the number of images per car to 200 images. So instead of preparing thousands of images, you only have to have hundreds of images for each car model to get high accuracy on classifying those cars. And by using ML engine, they were able to get 86 times faster training time. So end result is much, much faster operational time. So now they have reduced the number for entering each car into auction from 15 minutes to 3 minutes. So let's take a look at the demonstration. So once you have taken the 20 different images for a single car, you can upload those images to the system. So then system start classifying those images with labels. And most important point of this use case, this project, is that the Orgnet, this company didn't have any expertise or knowledge about machine learning or deep learning when they have started this project. But because they were using TensorFlow, they were able to find the best partner expert in the community and the system. So that they were able to hire one expert company and spent three weeks with those expert company and learn everything they had to learn to build a production quality deep learning system. So as you can see, they can get pretty high accuracy or score on classifying those images. And now this system is in production since last December. So that was the use cases I wanted to show. As summary, there are two products we are providing. One is MLAPI. That doesn't require any expertise. So anybody can try out MLAPI from now just by going to the product pages for vision, speech, network language, APIs. Another solution we provide is the TensorFlow, which is an open source too. So actually you don't have to use the Google Cloud to run TensorFlow. You can start using your own laptop or your own on-premise GPU server to get started with TensorFlow. And maybe you would find that Google Cloud could be the best places for running TensorFlow by using ML Engine or any other products such as Google BigQuery or Dataflow or Google Cloud storage. So we provide the real-world solution for machine learning or deep learning. So that's it. Thank you so much.