business circles

Selected from Nvidia Author: MICHAEL COPELAND Machine Heart Compilation Participation: Wu Pan
This article is the second in a series of articles on Michael Copeland’s deep learning basics on Nvidia blog. At the end of last month, Machine Heart compiled its first article: "The Concentric Relationship among Artificial Intelligence, Machine Learning and Deep Learning".
Learning in school-we can think of it as a kind of analogy of deep neural network going through the "learning" stage. Neural networks are like most people-in order to complete a job, you need to receive education.
More specifically, training neural networks can apply what they have learned to tasks in the digital world-recognizing images, spoken words, blood diseases, or recommending shoes that someone may buy later. This faster and more efficient version of the neural network can "deduce" the new data it has obtained based on the content it has trained, which is "inference" in the terminology of artificial intelligence.
Reasoning can happen without training. This certainly makes sense, because this is how we humans acquire and use knowledge most of the time. Just as we can read Shakespeare’s sonnets without always walking around teachers, full bookshelves or red brick schoolhouses, reasoning can be done well without all the infrastructure of its training program.
So let’s break down the process from training to reasoning in the context of artificial intelligence and see how they work.
Training depth neural network
Just as we can read Shakespeare’s sonnets without always walking around teachers, full bookshelves or red brick schoolhouses, reasoning can be done well without all the infrastructure of its training program.
Although the goal of the education process (that is, training) is the same-knowledge, there is a considerable difference between the training of neural network and the process of our human education. Neural networks have only a little imitation of the biology of our brains-all the interconnections between neurons. The neurons in our brain can be connected to any other neurons within a specific physical distance, but the artificial neural network is not-it is divided into many different layer, connection and data propagation directions.
When training a neural network, the training data is input into the first layer of the network, and at the same time, a neuron will assign a weight to the input based on the task performed, that is, the degree to which the input is correct.
In a network for image recognition, the first layer may be used to find the edge of the image. The second layer may be to find the shape formed by these edges-rectangle or circle. The third layer may be looking for specific features-such as shiny eyes or a button nose. Each layer will pass the image to the next layer until the last layer; The final output is determined by all these weights generated by the network.
But this is the difference between training and our education process. Suppose we have a task to identify the cat in the image: the neural network will get all the training data and calculate the weights before it can conclude whether there is a cat. We can only get such a response from this training algorithm: "correct" or "wrong".
Training requires intensive calculation.
If the algorithm tells the neural network that it is wrong, it doesn’t know what the correct answer is. This error will propagate back through the layers of the network, and the network must also make other guesses. In each attempt, it must consider other attributes-in our example, the attribute of "cat"-and give higher or lower weight to the attributes examined by each layer. Then it guesses again, again and again … until it gets the right weight configuration, so that it can get the right answer in almost all attempts.
Training can teach the deep learning network to correctly label the images of cats in a limited set, and then the network can be used to detect cats in the wider world.
Now you have a data structure in which all the weights are balanced on the basis of what you have learned from the training data set. This is a beautiful thing that has been carefully adjusted. The problem is that this process is also a monster that consumes computing power. Andrew Ng, the current chief scientist of Baidu Silicon Valley Laboratory, who has done research at Google and Stanford University, said that training a Baidu Chinese speech recognition model requires not only 4 TB of training data, but also 20 exaflops (billions of floating-point operations) in the whole training cycle. You can try to do it on your smartphone.
This is where reasoning comes in.
Congratulations! Your neural network is trained and ready for reasoning.
The correctly weighted neural network is essentially a bulky giant database. Everything you have to prepare for this guy’s learning process (in our educational analogy, all pencils, books, teachers’ instructions, etc.) is now far more than what you need to complete any specific task. We can get rid of all these things when we graduate?
If someone wants to use these trainings in the real world, that’s enough; What you need is a fast application that can keep learning and apply it to data that you have never seen before. This is reasoning: much less real-world data is needed to quickly get the same correct answer (in fact, what is the correct prediction).
Although this is a brand-new field of computer science, there are still two main ways to modify the slow neural network to make it faster and improve the delay caused by its application across multiple networks.
How reasoning works.
How is reasoning used? Just turn on your smartphone. Inference can be used to apply deep learning to various tasks such as speech recognition and photo classification.
The first method focuses on the components in the neural network that are no longer activated after training. These parts are no longer needed and can be "trimmed".
The second method is to find a way to fuse multiple layers of neural network into a single calculation step.
This is similar to the compression of digital images. Designers may have designed these huge and beautiful images, which are millions of pixels wide and high, but if they want to put them on the Internet, they need to be converted into jpeg format. To the human eye, they look basically the same, but the resolution is different. Reasoning is similar, you can get almost the same accuracy of prediction, but simplification, compression and optimization can improve runtime performance.
This means that we can always use reasoning. The voice assistant of your smartphone uses reasoning, and so do Google’s voice recognition, image search and spam filtering applications. Baidu also uses reasoning in speech recognition, malicious program detection and spam filtering. Facebook’s image recognition and Amazon and Netflix’s recommendation engines all rely on reasoning.
GPU with parallel computing (multiple computations at the same time) is good at both training and reasoning. The system trained by GPU can make the computer realize pattern recognition and object detection beyond human level in some cases.
After the training, the network can be deployed in the field that needs "reasoning" (classifying data to "reason" out a result). The GPU with parallel computing capability can run billions of calculations based on the trained network, thus quickly identifying known patterns or objects.
You can see that these models and applications will become smarter, faster and more accurate. Training will become simpler and simpler, and reasoning will bring new applications to all aspects of our lives. This warning that applies to artificial intelligence can also apply to our young people-don’t be a fool and stay in school. Don’t worry, we’ll reason later.
This article was compiled by Heart of Machine, please contact Ben WeChat official account for authorization.
————————————————
Join the heart of the machine (full-time reporter/intern): hr@almosthuman.cn
Contribute or seek reports: editor@almosthuman.cn.
Advertising & Business Cooperation: bd@almosthuman.cn
View the original > >

Please contact: shoujibaidu@baidu.com for product suggestions and complaints.

Reporting/feedback