Deep learning is a machine learning technique that teaches computers to do what comes naturally to humans: learn by example. Deep learning is a key technology behind driverless cars, enabling them to recognize a stop sign, or to distinguish a pedestrian from a lamppost. It is the key to voice control in consumer devices like phones, tablets, TVs, and hands-free speakers. Deep learning is getting lots of attention lately and for good reason. It’s achieving results that were not possible before.
深度学习是一种机器学习技术,可以教计算机去做人类自然想到的事情:通过示例学习。 深度学习是无人驾驶汽车背后的一项关键技术,可让他们识别停车标志,或区分行人与路灯柱。 这是电话,平板电脑,电视和免提扬声器等消费类设备中语音控制的关键。 深度学习最近获得了很多关注,这是有充分理由的。 它正在取得前所未有的结果。
In deep learning, a computer model learns to perform classification tasks directly from images, text, or sound. Deep learning models can achieve state-of-the-art accuracy, sometimes exceeding human-level performance. Models are trained by using a large set of labeled data and neural network architectures that contain many layers.
在深度学习中,计算机模型学习直接从图像,文本或声音中执行分类任务。 深度学习模型可以达到最先进的准确性,有时甚至超过了人类水平的性能。 通过使用大量标记数据和包含许多层的神经网络体系结构来训练模型。
为什么深度学习很重要 (Why Deep Learning Matters)
深度学习如何取得如此骄人的成绩?(How does deep learning attain such impressive results?)
In a word, accuracy. Deep learning achieves recognition accuracy at higher levels than ever before. This helps consumer electronics meet user expectations, and it is crucial for safety-critical applications like driverless cars. Recent advances in deep learning have improved to the point where deep learning outperforms humans in some tasks like classifying objects in images.
总之,准确性。 深度学习以前所未有的更高水平实现识别准确性。 这可以帮助消费类电子产品满足用户的期望,并且对于无人驾驶汽车等安全性至关重要的应用至关重要。 深度学习的最新进展已经改进到了这样的程度:在某些任务中,例如对图像中的对象进行分类,深度学习的性能优于人类。
While deep learning was first theorized in the 1980s, there are two main reasons it has only recently become useful:
虽然深度学习在1980年代首次被理论化,但是有两个主要原因导致它直到最近才变得有用:
Deep learning requires large amounts of labeled data. For example, driverless car development requires millions of images and thousands of hours of video.
深度学习需要大量的标记数据。 例如,无人驾驶汽车开发需要数百万张图像和数千小时的视频。
Deep learning requires substantial computing power. High-performance GPUs have a parallel architecture that is efficient for deep learning. When combined with clusters or cloud computing, this enables development teams to reduce training time for a deep learning network from weeks to hours or less.
深度学习需要强大的计算能力。 高性能GPU具有对深度学习有效的并行架构。 与群集或云计算结合使用时,这可使开发团队将深度学习网络的培训时间从数周缩短至数小时或更短。
工作中深度学习的例子 (Examples of Deep Learning at Work)
Deep learning applications are used in industries from automated driving to medical devices.
深度学习应用程序用于从自动驾驶到医疗设备的行业。
Automated Driving: Automotive researchers are using deep learning to automatically detect objects such as stop signs and traffic lights. In addition, deep learning is used to detect pedestrians, which helps decrease accidents.
自动驾驶:汽车研究人员正在使用深度学习来自动检测停车标志和交通信号灯等物体。 此外,深度学习用于检测行人,这有助于减少事故发生。
Aerospace and Defense: Deep learning is used to identify objects from satellites that locate areas of interest, and identify safe or unsafe zones for troops.
航空航天与国防:深度学习用于从卫星上识别物体,以找到感兴趣的区域,并识别部队的安全区域或不安全区域。
Medical Research: Cancer researchers are using deep learning to automatically detect cancer cells. Teams at UCLA built an advanced microscope that yields a high-dimensional data set used to train a deep learning application to accurately identify cancer cells.
医学研究:癌症研究人员正在使用深度学习来自动检测癌细胞。 加州大学洛杉矶分校的团队构建了一个高级显微镜,该显微镜可产生用于训练深度学习应用程序的高维数据集,以准确识别癌细胞。
Industrial Automation: Deep learning is helping to improve worker safety around heavy machinery by automatically detecting when people or objects are within an unsafe distance of machines.
工业自动化:深度学习通过自动检测人或物体何时处于不安全的机器距离之内,从而帮助提高重型机械周围的工人安全性。
Electronics: Deep learning is being used in automated hearing and speech translation. For example, home assistance devices that respond to your voice and know your preferences are powered by deep learning applications.
电子:深度学习已用于自动听力和语音翻译中。 例如,响应您的声音并知道您的偏好的家庭辅助设备由深度学习应用程序提供支持。
深度学习如何工作 (How Deep Learning Works)
Most deep learning methods use neural network architectures, which is why deep learning models are often referred to as deep neural networks.
大多数深度学习方法使用神经网络架构,这就是为什么深度学习模型通常被称为深度神经网络的原因。
The term “deep” usually refers to the number of hidden layers in the neural network. Traditional neural networks only contain 2–3 hidden layers, while deep networks can have as many as 150.
术语“深层”通常是指神经网络中隐藏层的数量。 传统的神经网络仅包含2-3个隐藏层,而深层网络最多可以包含150个。
Deep learning models are trained by using large sets of labeled data and neural network architectures that learn features directly from the data without the need for manual feature extraction.
深度学习模型通过使用大量标记数据和神经网络体系结构进行训练,而神经网络体系结构可直接从数据中学习特征,而无需手动提取特征。
![Image for post](https://i-blog.csdnimg.cn/blog_migrate/79863ccaaa50c451210f1ab58ebea2d4.png)
One of the most popular types of deep neural networks is known as convolutional neural networks (CNN or ConvNet). A CNN convolves learned features with input data, and uses 2D convolutional layers, making this architecture well suited to processing 2D data, such as images.
深度神经网络的最流行类型之一是卷积神经网络(CNN或ConvNet) 。 CNN将学习到的特征与输入数据进行卷积,并使用2D卷积层,使此体系结构非常适合处理2D数据(例如图像)。
CNNs eliminate the need for manual feature extraction, so you do not need to identify features used to classify images. The CNN works by extracting features directly from images. The relevant features are not pretrained; they are learned while the network trains on a collection of images. This automated feature extraction makes deep learning models highly accurate for computer vision tasks such as object classification.
CNN消除了手动提取特征的需要,因此您无需识别用于分类图像的特征。 CNN的工作原理是直接从图像中提取特征。 相关功能未预先训练; 他们是在网络训练图像集合时学习到的。 这种自动特征提取功能使深度学习模型对于诸如对象分类之类的计算机视觉任务具有很高的准确性。
![Image for post](https://i-blog.csdnimg.cn/blog_migrate/a8325cf8ec4ea324fb575c5acc0a5697.png)
CNNs learn to detect different features of an image using tens or hundreds of hidden layers. Every hidden layer increases the complexity of the learned image features. For example, the first hidden layer could learn how to detect edges, and the last learns how to detect more complex shapes specifically catered to the shape of the object we are trying to recognize.
CNN学会使用数十或数百个隐藏层来检测图像的不同特征。 每个隐藏层都会增加学习到的图像特征的复杂性。 例如,第一个隐藏层可以学习如何检测边缘,最后一个隐藏层可以学习如何检测更复杂的形状,这些形状特别适合我们要识别的对象的形状。
机器学习和深度学习之间有什么区别? (What’s the Difference Between Machine Learning and Deep Learning?)
Deep learning is a specialized form of machine learning. A machine learning workflow starts with relevant features being manually extracted from images. The features are then used to create a model that categorizes the objects in the image. With a deep learning workflow, relevant features are automatically extracted from images. In addition, deep learning performs “end-to-end learning” — where a network is given raw data and a task to perform, such as classification, and it learns how to do this automatically.
深度学习是机器学习的一种特殊形式。 机器学习工作流程首先从图像中手动提取相关功能。 然后使用这些特征创建一个模型,对图像中的对象进行分类。 通过深度学习工作流程,可以从图像中自动提取相关功能。 此外,深度学习还执行“端到端学习”,即为网络提供原始数据和要执行的任务(例如分类),并学习如何自动执行此操作。
Another key difference is deep learning algorithms scale with data, whereas shallow learning converges. Shallow learning refers to machine learning methods that plateau at a certain level of performance when you add more examples and training data to the network.
另一个关键区别是深度学习算法可随数据扩展,而浅层学习则收敛。 浅层学习是指在向网络添加更多示例和训练数据时达到一定性能水平的机器学习方法。
A key advantage of deep learning networks is that they often continue to improve as the size of your data increases.
深度学习网络的一个关键优势是,随着数据规模的增加,它们通常会继续改善。
![Image for post](https://i-blog.csdnimg.cn/blog_migrate/b967e2a3f266dd314b7077f97cc0bba3.png)
In machine learning, you manually choose features and a classifier to sort images. With deep learning, feature extraction and modeling steps are automatic.
在机器学习中,您可以手动选择功能和分类器以对图像进行排序。 通过深度学习,特征提取和建模步骤是自动的。
Object Recognition: Deep Learning and Machine Learning for Computer Vision (26:57)
Introduction to Deep Learning: What Are Convolutional Neural Networks? (4:44)
在机器学习和深度学习之间进行选择 (Choosing Between Machine Learning and Deep Learning)
Machine learning offers a variety of techniques and models you can choose based on your application, the size of data you’re processing, and the type of problem you want to solve. A successful deep learning application requires a very large amount of data (thousands of images) to train the model, as well as GPUs, or graphics processing units, to rapidly process your data.
机器学习提供了多种技术和模型,您可以根据应用程序,正在处理的数据大小以及要解决的问题类型来选择。 成功的深度学习应用程序需要大量数据(成千上万张图像)来训练模型,以及GPU或图形处理单元来快速处理数据。
When choosing between machine learning and deep learning, consider whether you have a high-performance GPU and lots of labeled data. If you don’t have either of those things, it may make more sense to use machine learning instead of deep learning. Deep learning is generally more complex, so you’ll need at least a few thousand images to get reliable results. Having a high-performance GPU means the model will take less time to analyze all those images.
在机器学习和深度学习之间进行选择时,请考虑您是否具有高性能GPU和大量标记数据。 如果您没有这两种东西,那么使用机器学习而不是深度学习可能更有意义。 深度学习通常更为复杂,因此您至少需要数千张图像才能获得可靠的结果。 拥有高性能GPU意味着该模型将花费更少的时间来分析所有这些图像。
如何创建和训练深度学习模型 (How to Create and Train Deep Learning Models)
The three most common ways people use deep learning to perform object classification are:
人们使用深度学习执行对象分类的三种最常见方式是:
Training from Scratch
从头开始培训
To train a deep network from scratch, you gather a very large labeled data set and design a network architecture that will learn the features and model. This is good for new applications, or applications that will have a large number of output categories. This is a less common approach because with the large amount of data and rate of learning, these networks typically take days or weeks to train.
为了从头开始训练深层网络,您需要收集一个非常大的标记数据集并设计一个可以学习功能和模型的网络体系结构。 这对于新应用程序或具有大量输出类别的应用程序很有用。 这是一种不太常见的方法,因为在拥有大量数据和学习率的情况下,这些网络通常需要几天或几周的时间进行培训。
Deep Learning with MATLAB: Deep Learning in 11 Lines of MATLAB Code (2:38)
使用MATLAB进行深度学习:11行MATLAB代码中的深度学习(2:38)
Transfer Learning
转移学习
Most deep learning applications use the transfer learning approach, a process that involves fine-tuning a pretrained model. You start with an existing network, such as AlexNet or GoogLeNet, and feed in new data containing previously unknown classes. After making some tweaks to the network, you can now perform a new task, such as categorizing only dogs or cats instead of 1000 different objects. This also has the advantage of needing much less data (processing thousands of images, rather than millions), so computation time drops to minutes or hours.
大多数深度学习应用程序都使用转移学习方法,该过程涉及对预训练模型的微调。 您从现有网络(例如AlexNet或GoogLeNet)开始,并输入包含先前未知类的新数据。 对网络进行一些调整之后,您现在可以执行一项新任务,例如仅对狗或猫进行分类,而不对1000个不同的对象进行分类。 这还具有需要更少的数据(处理数千个图像,而不是数百万个)的优点,因此计算时间减少到几分钟或几小时。
Transfer learning requires an interface to the internals of the pre-existing network, so it can be surgically modified and enhanced for the new task. MATLAB® has tools and functions designed to help you do transfer learning.
转移学习需要与现有网络内部的接口,因此可以通过外科手术对其进行修改和增强以适应新任务。 MATLAB®具有旨在帮助您进行转学的工具和功能。
Deep Learning with MATLAB: Transfer Learning in 10 Lines of MATLAB Code (3:59)
使用MATLAB进行深度学习:10行MATLAB代码中的转移学习(3:59)
Feature Extraction
特征提取
A slightly less common, more specialized approach to deep learning is to use the network as a feature extractor. Since all the layers are tasked with learning certain features from images, we can pull these features out of the network at any time during the training process. These features can then be used as input to a machine learning model such as support vector machines (SVM).
深度学习的一种不太常见,更专门的方法是将网络用作特征提取器。 由于所有层的任务都是从图像中学习某些特征,因此我们可以在训练过程中随时将这些特征拉出网络。 这些特征然后可以用作诸如支持向量机(SVM)之类的机器学习模型的输入。
使用GPU加速深度学习模型 (Accelerating Deep Learning Models with GPUs)
Training a deep learning model can take a long time, from days to weeks. Using GPU acceleration can speed up the process significantly. Using MATLAB with a GPU reduces the time required to train a network and can cut the training time for an image classification problem from days down to hours. In training deep learning models, MATLAB uses GPUs (when available) without requiring you to understand how to program GPUs explicitly.
训练深度学习模型可能需要很长时间,从几天到几周不等。 使用GPU加速可以大大加快该过程。 将MATLAB与GPU一起使用可以减少训练网络所需的时间,并且可以将图像分类问题的训练时间从几天缩短到几小时。 在训练深度学习模型时,MATLAB使用GPU(如果可用),而无需您了解如何显式编程GPU。
![Image for post](https://i-blog.csdnimg.cn/blog_migrate/5ea387e801280e20748819e7536c2c36.png)
使用MATLAB进行深度学习 (Deep Learning with MATLAB)
MATLAB makes deep learning easy. With tools and functions for managing large data sets, MATLAB also offers specialized toolboxes for working with machine learning, neural networks, computer vision, and automated driving.
MATLAB使深度学习变得容易。 借助用于管理大型数据集的工具和功能,MATLAB还提供了专门的工具箱,可用于机器学习,神经网络,计算机视觉和自动驾驶。
With just a few lines of code, MATLAB lets you do deep learning without being an expert. Get started quickly, create and visualize models, and deploy models to servers and embedded devices.
只需几行代码,MATLAB即可让您成为专家而无需进行深度学习。 快速入门,创建和可视化模型,并将模型部署到服务器和嵌入式设备。
Teams are successful using MATLAB for deep learning because it lets you:
团队成功使用MATLAB进行深度学习,因为它使您能够:
Create and Visualize Models with Just a Few Lines of Code.
只需几行代码即可创建和可视化模型。
Perform Deep Learning Without Being an Expert.
在没有专家的情况下进行深度学习。
Automate Ground Truth Labeling of Images and Video.
自动化图像和视频的地面真相标签。
Integrate Deep Learning in a Single Workflow.
将深度学习集成到单个工作流中。
With MATLAB, you can integrate results into your existing applications. MATLAB automates deploying your deep learning models on enterprise systems, clusters, clouds, and embedded devices.
使用MATLAB,您可以将结果集成到现有应用程序中。 MATLAB会自动将您的深度学习模型部署在企业系统,集群,云和嵌入式设备上。
See more deep learning features and get example code.
查看更多深度学习功能并获取示例代码。
Related products: MATLAB, Computer Vision Toolbox™, Statistics and Machine Learning Toolbox™, Deep Learning Toolbox™, and Automated Driving Toolbox™.
相关产品: MATLAB ,计算机视觉工具箱™ ,统计和机器学习工具箱™ ,深度学习工具箱™和自动驾驶工具箱™ 。
翻译自: https://medium.com/mathworks/3-things-you-need-to-know-about-deep-learning-342b71ba118