15
对于初学者来说,深度学习领域很难知道要使用什么类型的网络。而且每天都会发布和讨论新的网络可供选择。更糟糕的是,大多数神经网络足够灵活,即使在使用错误类型的数据或预测问题时也可以进行预测。在这篇文章中,您将发现三种主要类型的人工神经网络的建议用法。
阅读这篇文章后,你会知道:
在处理预测建模问题时要关注哪种类型的神经网络。
在项目中何时使用和不使用MLP,CNN或RNN。
在选择模型之前,要清楚地了解项目目标并考虑使用混合模型。
让我们开始吧。
概观
这篇文章分为五个部分:
什么神经网络要关注?
何时使用多层感知器?
何时使用卷积神经网络?
何时使用递归神经网络?
混合网络模型
什么神经网络要关注?
深度学习是使用现代硬件的人工神经网络的应用。它允许开发,训练和使用比以前更大(更多层)的神经网络。
研究人员在对现有模型的调整或修改的基础上提出了数千种类型的特定神经网络,
作为一名从业者,很难从每天或每周发布的大量模型中找到对自己项目效果适用的模型。所以我建议您一般关注三类人工神经网络:
多层感知器(MLP)
卷积神经网络(CNN)
递归神经网络(RNN)
这三类网络提供了很大的灵活性,并且经过数十年的证明,它们在各种各样的问题中都是有用和可靠的。他们还有许多子类型,以帮助他们专注于预测问题和不同数据集的不同框架的怪癖。
现在我们知道要关注哪些网络,让我们看看何时可以使用每一类神经网络。
何时使用多层感知器?
多层感知器(简称MLP)是经典类型的神经网络。它们由一层或多层神经元组成。数据被馈送到输入层,可能存在提供抽象级别的一个或多个隐藏层,并且在输出层(也称为可见层)上进行预测。
简单网络的模型
MLP适用于分类预测问题,其中输入被分配类或标签。它们也适用于回归预测问题,其中在给定一组输入的情况下预测实值数量。数据通常以表格格式提供,例如您可以在CSV文件或电子表格中看到。
使用MLP用于:
表格数据集
分类预测问题
回归预测问题
它们非常灵活,通常可用于学习从输入到输出的映射。这种灵活性允许它们应用于其他类型的数据。例如,图像的像素可以减少到一行长数据并馈送到MLP中。文档的单词也可以缩减为一行长数据并馈送到MLP。甚至对时间序列预测问题的滞后观察也可以减少到长行数据并馈送到MLP。
因此,如果您的数据采用表格数据集以外的形式,例如图像,文档或时间序列,我建议适用MLP先进行实验。其结果可用作比较的基线点,以确认其他可能看起来更适合增值的模型。
尝试MLP On:
图像数据
文字数据
时间序列数据
其他类型的数据
何时使用卷积神经网络?
卷积神经网络(CNN)被设计用于将图像数据映射到输出变量。事实证明它们非常有效,它们是涉及图像数据作为输入的任何类型的预测问题的首选方法。
使用CNN的好处是它们能够开发二维图像的内部表示。这允许模型在数据中的变体结构中学习位置和比例,这在处理图像时很重要。CNN可用于:
图像数据
分类预测问题
回归预测问题
更一般地,CNN与具有空间关系的数据一起工作良好。CNN输入传统上是二维的,场或矩阵,但也可以改变为一维,允许它开发一维序列的内部表示。
这允许CNN更普遍地用于具有空间关系的其他类型的数据。例如,文本文档中的单词之间存在顺序关系。在时间序列的时间步长中存在有序关系。
虽然不是专门针对非图像数据开发的,但CNN在诸如情绪分析中使用的文档分类和相关问题等问题上实现了最先进的结果。
尝试使用CNN:
文字数据
时间序列数据
序列输入数据
何时使用循环神经网络?
循环神经网络(RNN)被设计用于处理序列预测问题。序列预测问题有多种形式,一般用输入和输出类型来描述。序列预测问题的一些例子包括:
一对多:作为输入的观察映射到具有多个步骤作为输出的序列。
多对一:作为输入映射到类或数量预测的多个步骤的序列。
多对多:多个步骤的序列作为输入映射到具有多个步骤作为输出的序列。
多对多问题通常被称为序列到序列,或简称为seq2seq。理论上来说多对多问题很难在传统的神经网络上训练。LSTM网络可能是最成功的RNN,因为它克服了训练传统网络的问题,并且反过来又被广泛应用于各种应用。
一般而言,RNNs和LSTM在处理单词和段落序列时最为成功,通常称为自然语言处理。这包括以时间序列表示的文本序列和语音序列。它们还用作生成模型,需要序列输出,不仅需要文本,还需要生成手写等应用程序。使用RNN用于:
文字数据
语音数据
分类预测问题
回归预测问题
生成模型
正如您在CSV文件或电子表格中看到的那样,递归神经网络不适用于表格数据集。它们也不适合图像数据输入。所以不要使用RNN:
表格数据
图像数据
RNN和LSTM已经在时间序列预测问题上进行了测试,但结果却很差,至少可以说。自回归方法,甚至线性方法通常表现得更好。LSTM通常优于应用于相同数据的简单MLP。
也许尝试RNNs:
时间序列数据
混合网络模型
CNN或RNN模型很少单独使用。这些类型的网络在更广泛的模型中用作层,其也具有一个或多个MLP层。从技术上讲,这些是混合类型的神经网络架构。
例如,考虑一个模型,该模型使用一堆层,其中输入为CNN,中间为LSTM,输出为MLP。像这样的模型可以读取一系列图像输入,例如视频,并生成预测。这称为CNN LSTM架构。
网络类型也可以堆叠在特定的体系结构中以解锁新功能,例如可重复使用的图像识别模型,这些模型使用非常深的CNN和MLP网络,可以添加到新的LSTM模型并用于字幕照片。此外,编码器 - 解码器LSTM网络可用于具有不同长度的输入和输出序列。
重要的是要清楚地了解您和您的利益相关者对项目的要求,然后寻找满足您特定项目需求的网络架构(或开发一个)。
领取专属 10元无门槛券
私享最新 技术干货