机器学习是人工智能领域的一个分支,它结合了神经网络来创建一些人们日常使用的优秀软件。
如果你使用百度查找的相关资料,则使用了百度的神经网络,该神经网络会根据给出的关键词对相关度最高的网页进行排名。如果你最近要买东西访问过淘宝官网,那么该网站推荐的所有产品都是由神经网络管理的。
即便是现在,当使用手机时,也可能会遇到一种便利生活的神经网络。神经网络无所不在,它们以不同的工作方式完成各式各样的任务。
所以……“神经网络”是什么呢?
“神经”只是大脑的另一种表达。
“所以这是一个大脑网络?”
本质上,完全如此!神经网络是人类最强大的工具——大脑的简化。它使用的神经元都是通过权重(下图中的线条)相互连接的。神经元被赋予一些数值输入,然后乘以权重。权重是神经网络的核心,通过将权重转换为特定的数值,就可以处理任何输入并获得期望的输出。
神经网络只是一种处理数据的方式。而数据本身在此处很关键。通过使用各种神经网络处理数据……就可以构建功能强大的工具来完成一些神奇的事情!
这其中,有很多神经网络具有神奇的特性,下面小芯将介绍几种最著名的:
感知器是最古老的神经网络,其发明最早可追溯到年。它同时也是最简单的神经网络。弗兰克·罗森布拉特(Frank Rosenblatt)发明的感知机为神经网络的基本原理奠定了基础。
这种神经网络只有一个神经元,因此非常简单。它可接收n个输入量并将其乘以相应的权重。感知器仅计算一个输出,因其只能处理单个复杂性级别的数据,复杂性程度低,因而发展受限。
用例:
· 了解人脑
· 扩展用于更高级别的神经网络
多层感知器(MLP)本质上仍是感知器,但复杂性通过层的设计而得到增强。在MLP中,有三种类型的层:
输入层:
顾名思义,输入层指输入到神经网络的数据。输入数据必须是数值。也就是说非数值的内容需要转化为数值。在将数据输入到神经网络之前对其进行操作的过程称为数据处理,通常情况下,数据处理过程是制作机器学习模型最耗时的部分。
隐藏层:
隐藏层由神经网络中的大多数神经元组成,是处理数据以获得所需输出的核心部分。数据将穿过隐藏层,并由许多权重和偏差调节。之所以称其为“隐藏”层,是因为它与输入和输出层不同,神经网络的开发人员并不会直接使用这些层。
输出层:
输出层是在神经网络中处理数据的最终产物,可以表示不同的事物。通常情况下,输出层由神经元组成,每个神经元代表一个对象,而附加的数值则表示该对象是某特定对象的概率。其他情况下,输出层可能是一个神经元的输出,当给定某些输入时,它就是特定值。
核心思想是:输出层是神经网络传递数据的结果,也是人们试图达到的目标。
前馈神经网络
此原理是,将数值数据传送到神经网络中,然后继续进行大量运算。让数据不断往下传递,没有反馈。为了操作正确,使任何给定输入始终产生所需输出,就需要进行训练。训练本质上是寻找产生最佳结果的方法,并将其应用于神经网络。
用例:
计算机视觉
自然语言处理
其他神经网络的基础
卷积神经网络仍使用与多层感知器(MLP)相同的原理,但值得注意的是,它运用了卷积层,卷积神经网络通常应用于图像和视频。
重要的是要认识到图像只是一个数字网格,每个数字都表示着某个像素的强度。知道了图像是一个数字网格,就可以通过操作这些数字来找到图像的模式和特征。卷积层通过使用滤波器来实现这一点。
滤波器
滤波器是定义为N x M(N和/M表示网格大小)的数字矩阵,它与原始图像相乘多次。要了解实际情况,请参阅动画。
滤波器在网格上移动并产生新值。这些值可以代表图像中的边缘或线条。例如,使用以下滤波器:
水平滤波器会试图消除垂直中心以外的值。它通过使用负值去除边缘,使用消除中心以使像素变为中性。如果过滤成功,将可以从新值中看到一条水平线。对于正好反过来的垂直滤波器也是如此。
在将滤波器应用于整个图像之后,就可以使用池化层轻松地提取滤波器识别的主要特征。在训练模型时,确定滤波器应包含的数字。找到最佳数值以使任务达到最佳结果。
池化层
如闻其名,池化层的作用就是将滤波器识别到的最重要特征“汇集”在一起,这是通过使用多种方法完成的。
一种流行的方式是“最大池化”(Max Pooling),在这个方法中,对于图像的每个被滤部分,取最大的数目并存储到一个新的矩阵中。它的基本功能是识别最重要特征并将其压缩为一个图像,以便将其处理为多层感知器模型(MLP)。此过程也称为数据采样,使用此过程会产生令人满意的结果。
用例
· 图像分类
· 计算机视觉
· 查找图像特征/模式
神经网络分析的数据并不完全局限于静态数据。诸如图像、数字和帧等都是可以分析的数据。然而,依赖于数据本身的过去实例来预测未来,这是时态数据的示例。股市数据、时间序列数据、脑电波数据等数据总是通过使用因变量的过去实例进行分析。
目前为止,已提及的神经网络种类无法处理其他状态的数据,接下来要讲的递归神经网络(RNN)才是解决方案。
状态矩阵
递归神经网络(RNN)通过将最后的输出存储于自身内存中来记忆数据的先前状态。这些称为状态矩阵。循环神经网络的工作原理与多层感知器(MLP)中的普通层类似,但它使用状态矩阵来计算新的输出。使用以前输出和数据状态本质上考虑了最终的输出数据,这对于股市预测和时间序列预测等应用至关重要。
长短期记忆网络
长短期记忆网络(LSTM)进一步扩展了将状态矩阵保存为两种状态的想法——长期状态和短期状态。如果状态持续存在于模型输出中,它将被保存为长期状态矩阵,并将在考虑新数据时占据更大权重。
对于连续数据查找模式的应用,LSTM系统非常高效且处于股市指标预测方法的最前沿。
用例
自然语言处理
股市预测
基于时间序列的数据预测
大多数神经网络接收数据并做出某些类型的决策。自动编码器则有着不同的任务,即找出一种能压缩数据但不损质量的方法。
在传统的机器学习中,贴在数据上的标签与神经网络的输出目标并不一样。而在自动编码器中,标签相当于输入。
因此,在自动编码器的体系结构中,输入和输出层是相同的。隐藏层小于输入和输出层(就节点而言),被称为“瓶颈”。由于瓶颈较小,因此它被迫寻找一种压缩原始数据并将其放回输出层的方法。这种压缩方式一般比常规方法更好,因为它仍然可以保持数据的高质量。
用例:
· 主要用于以较小的压缩方式呈现大量数据。
现在,你是不是了解到了很多神经网络的知识了?
纸上得来终觉浅,绝知此事要躬行。
立刻行动起来,现在就去将这些神经网络落实到自己的课题实践中去吧~