目前,神经网络被用于解决许多商业问题,如销售预测、客户研究、数据验证和风险管理。更进一步讲,我们能够使用神经网络进行时间序列预测、数据中的异常检测和自然语言理解。
在这篇文章中,我们将对初学者解释神经网络是什么,神经网络的流行类型,以及他们的应用。我们还将介绍如何在不同的行业和部门中应用神经网络。
最近,在计算机科学领域,“神经网络”这个词引起了广泛的关注,引起了许多人的注意。但这到底是什么,它们是如何起作用的,而且它们真的是有益的吗?
从本质上说,神经网络是由一层叫做神经元的计算单元组成的,在不同的层之间有连接。这些网络转换数据,直到它们可以将其归类为输出。每一个神经元都通过一些权重来增加一个初始值,并将总数结果与其他的值传入同一个神经元,根据神经元的偏差调整产生的数量,然后用激活函数使输出恢复正常。
神经网络的一个关键特征是一个记录每次提供给网络的(行“hang”)的迭代学习过程,并且每次都调整与输入值相关的权重。在所有的情况出现之后,这个过程常常被重复。在这个学习阶段,网络通过调整权重来预测输入样本的正确的类标签。
神经网络的优势包括它们对噪声数据的高耐受性,以及它们对未经过训练的模式进行分类的能力。最受欢迎的神经网络算法是反向传播算法(backpropagation algorithm)。
一旦为某个特定的应用程序构建了一个网络,那么这个网络就准备好接受训练了。为了启动这个过程,初始权重(在下一节中描述)是随机选择的。然后训练(学习)就可以开始了。
网络使用隐藏层中的权重和函数在“训练集”中处理记录,然后将结果输出与所期望的输出进行比较。然后,错误会通过系统传播,导致系统将应用程序的权重调整到下一个记录中。当权重被调整时,这个过程会重复发生。在网络的训练过程中,当连接权重不断被细化(refine)时,相同的数据集会被多次处理。
对于初学者来说,学习神经网络的一个挑战就是了解每一层的具体情况。我们知道,在训练之后,每一层都提取数据集(输入)的更高级的特性,直到最后一层对输入特性所涉及的内容来作出决定。那么该怎样做呢?
我们可以让网络做出这个决定,而不是确切地规定我们希望网络来放大特征。假设我们只是给网络一个任意的图像或照片,让网络来分析图片。然后我们选择一个层,让网络加强它检测到的任何东西。网络的每一层都处理不同抽象级别的特征,因此我们所生成的特征的复杂性取决于我们选择哪一层来加强。
在这篇针对初学者学习神经网络的文章中,我们将研究自动编码器(autoencoder),卷积神经网络(convolutional neural network),以及递归神经网络(recurrent neural network)。
自动编码器
这种方法是基于这样的观察:随机初始化是一个坏的想法,并且预先训练每一层使用无监督学习算法可以获得更好的初始权重。这种无监督算法的例子是深度信念网络(Deep Belief Network)。最近有几项研究试图复活这一领域,例如,为基于概率的自动编码器使用变分的方法。
它们很少在实际应用中使用。最近,批量标准化开始允许更深层的网络,我们可以利用残差学习来从头开始任意训练深度网络。在适当的维度和稀疏约束的条件下,自动编码器可以学习比PCA或其它基本技术更有趣的数据投影。
让我们来看看自动编码器的两个有趣的实际应用:
一个崩溃过程随机地将一些输入设置为零,迫使降噪的自动编码器为随机选择的丢失模式的子集预测丢失的(损坏的)值。
卷积神经网络
卷积的主要目的是为了从输入图像中提取特征。卷积通过使用小的输入数据来学习图像特征,从而保持了像素之间的空间关系。在以下域,卷积神经网络已经取得了成功:
在面部识别的工作中,他们使用了卷积神经网络级联(cascade)来快速地进行人脸检测。该检测器以低分辨率对输入图像进行评估,以快速拒绝非人脸区域,并仔细处理具有较高分辨率的区域,以便进行准确的检测。
在级联中也引入了Calibration net,以加速检测和改善包围盒(bounding box)的质量。
在自动驾驶汽车项目中,深度图估计(depth estimation)是自动驾驶的一个重要考虑因素,因为它能对乘客和其他车辆的安全做出保障。卷积神经网络使用的这些方面已经被应用于英伟达的自动驾驶汽车项目中。
卷积神经网络的层通用性极强,因为它们可以通过多个参数处理输入。这些网络的子类型(subtype)还包括深度信念网络。卷积神经网络传统上用于图像分析和对象识别。
我们能学会将指定的文本变成手写的吗?为了完成这一挑战,窗口与文本字符串进行了卷积,并将其作为预测网络的额外输入。窗口的参数是由网络在进行预测时同时输出的,因此它动态地确定文本和笔的位置之间的对齐。简单地说,它学会了决定接下来要写哪个字符。
在给定一个特定的输入的情况下,一个神经网络可以被训练来产生预期的输出。如果我们的网络能够很好地模拟已知的值的序列,那么就可以使用它来预测未来的结果。一个很明显的例子就是股市预测。
零售&销售
神经网络有能力同时考虑多种因素,比如产品的市场需求、客户的收入、人口和产品价格。超市销售的预测在这里有很大的优势。
如果两种产品之间存在一段时间的关系,比如在购买打印机的3-4个月之内,客户会打算买一个新的墨盒,那么零售商就可以使用这些信息联系客户,从而降低客户从竞争对手那里购买产品的可能性。
银行与金融
神经网络已成功应用于衍生证券定价和对冲、期货价格预测、汇率预测和股票表现等问题。传统上来说,统计技术推动了软件的开发。然而,神经网络是推动决策的根本技术。
医学
神经网络在医学领域是一项趋势研究,并且在未来的几年里,它们将会广泛应用于生物医学系统。目前,这项研究主要集中在人体的建模部分,并从各种扫描中识别疾病。
总而言之,神经网络使计算机系统变得更有用,使它们更人性化。