网络架构定义了深度学习模型的结构方式,更重要的是定义了它的设计目的。架构将决定:
在选择网络架构之前,重要的是要理解您拥有哪种用例以及您可以使用的常见网络。
在开始深度学习时,您可能会遇到以下常见的架构:
•卷积神经网络(CNN): CNN通常与图像关联,作为输入数据,但它们也可以用于其他输入数据,我将在问题1中讨论这些细节。
•递归神经网络(RNN):递归神经网络连接着以前的信息,可以对未来进行预测。与假定每个输入都是独立事件的CNNs不同,RNNs可以处理可能相互影响的数据序列。一个例子是在自然语言处理中,前面的单词会影响下一个单词的可能性。
•LSTM (Long-short term memory): LSTM网络是一种常用的处理序列和信号数据的RNN。我会在第三个问题中详细说明。
非常好的问题。简单的回答就是你可能想要一个CNN来分类图像。
这是为什么。
让我们从CNN和LSTM网络开始,以及它们的常用用法。
当谈到卷积神经网络时,有些人会说“ConvNet”,但每当我尝试在对话中使用这个词时,我总是觉得自己在努力扮酷,而实际上我并不是这样。
cnn由许多层组成,但遵循某种类似于卷积| ReLU |池的模式,这种模式反复重复(一遍又一遍)。由于它们在局部空间模式匹配方面非常出色,因此通常用于图像分类,在图像特征提取方面也通常优于其他方法。请记住,cnn的核心是卷积。将输入图像与一系列的过滤器进行卷积,在不失去相邻像素之间空间相互作用的情况下,突出图像中的特征。
这一主题有许多变体,但cnn的一些常见配置是:
长短时记忆网络主要与时间序列和序列数据有关。现在,LSTM网络在做出决定之前会记住一部分数据——它们在上下文中看到数据,这有助于更好地进行关联。
这个图说明了一个简单的LSTM网络分类:
时间序列回归场景#2:我有来自多个传感器的数据,希望预测剩余的使用寿命(机器在需要修理或更换之前的时间)。
我和我的同事在工业自动化领域的客户身上看到了这个问题,他们需要在问题变得危险或昂贵之前发现问题。这一次,您可能想在机器学习回归上使用LSTM网络。这种方法减少了手动识别特征的需要,对于多个传感器来说,这将是一个重要的任务。
时间序列回归场景#3我有想去噪的音频数据。
这里你可以用CNN。这种方法的重要之处在于,在将信号传送到网络之前,先将信号转换成图像。这意味着信号通过傅里叶变换或其他时频操作变成图像表示。使用图像提供了一种方法来查看在原始信号中可能无法可视化的特征。由于傅里叶变换本质上就是一幅图像,所使用的网络可以是为图像设计的预先训练的网络。
现在,再一次,你可以做你想做的。您很有可能在场景1中使用LSTM网络,或在场景2中使用CNN。这些场景只是为了给你一个起点。
网络架构和预先训练的网络是密不可分的。一个预先训练的模型是一个已经训练过的神经网络。网络的权值和偏差会根据输入数据进行调整,并且网络可以更快地为新任务重新训练。这个过程称为迁移学习,有时需要更少的图像,使用更小的数据集。探索的另一个途径是通过模拟或增强“创建”更多数据。
目前,我认为您应该使用任何您想使用的网络,而不考虑数据集大小,但是可以考虑使用预先训练的网络来减少输入数据,或者考虑增强数据集的方法。我的下一篇专栏文章将介绍预先训练过的网络和模型,所以请关注这个主题的更多内容。