深度科普:神经网络的类型及其作用
2020-01-26 13:32:04
全文共3046字,预计学习时长9分钟
图源:百家号
机器学习是人工智能领域的一个分支,它结合了神经网络来创建一些人们日常使用的优秀软件。
如果你使用百度查找的相关资料,则使用了百度的神经网络,该神经网络会根据给出的关键词对相关度最高的网页进行排名。如果你最近要买东西访问过淘宝官网,那么该网站推荐的所有产品都是由神经网络管理的。
即便是现在,当使用手机时,也可能会遇到一种便利生活的神经网络。神经网络无所不在,它们以不同的工作方式完成各式各样的任务。
所以……“神经网络”是什么呢?
图源:wemedia.ifeng.com
“神经”只是大脑的另一种表达。
“所以这是一个大脑网络?”
本质上,完全如此!神经网络是人类最强大的工具——大脑的简化。它使用的神经元都是通过权重(下图中的线条)相互连接的。神经元被赋予一些数值输入,然后乘以权重。权重是神经网络的核心,通过将权重转换为特定的数值,就可以处理任何输入并获得期望的输出。
神经网络只是一种处理数据的方式。而数据本身在此处很关键。通过使用各种神经网络处理数据……就可以构建功能强大的工具来完成一些神奇的事情!
这其中,有很多神经网络具有神奇的特性,下面小芯将介绍几种最著名的:
1. 感知器——最古老最简单的神经网络
感知器是最古老的神经网络,其发明最早可追溯到1958年。它同时也是最简单的神经网络。弗兰克·罗森布拉特(Frank Rosenblatt)发明的感知机为神经网络的基本原理奠定了基础。
这种神经网络只有一个神经元,因此非常简单。它可接收n个输入量并将其乘以相应的权重。感知器仅计算一个输出,因其只能处理单个复杂性级别的数据,复杂性程度低,因而发展受限。
用例:
· 了解人脑
· 扩展用于更高级别的神经网络
2. 多层感知器——什么是层?
多层感知器(MLP)本质上仍是感知器,但复杂性通过层的设计而得到增强。在MLP中,有三种类型的层:
输入层:
顾名思义,输入层指输入到神经网络的数据。输入数据必须是数值。也就是说非数值的内容需要转化为数值。在将数据输入到神经网络之前对其进行操作的过程称为数据处理,通常情况下,数据处理过程是制作机器学习模型最耗时的部分。
隐藏层:
隐藏层由神经网络中的大多数神经元组成,是处理数据以获得所需输出的核心部分。数据将穿过隐藏层,并由许多权重和偏差调节。之所以称其为“隐藏”层,是因为它与输入和输出层不同,神经网络的开发人员并不会直接使用这些层。
输出层:
输出层是在神经网络中处理数据的最终产物,可以表示不同的事物。通常情况下,输出层由神经元组成,每个神经元代表一个对象,而附加的数值则表示该对象是某特定对象的概率。其他情况下,输出层可能是一个神经元的输出,当给定某些输入时,它就是特定值。
核心思想是:输出层是神经网络传递数据的结果,也是人们试图达到的目标。
前馈神经网络
此原理是,将数值数据传送到神经网络中,然后继续进行大量运算。让数据不断往下传递,没有反馈。为了操作正确,使任何给定输入始终产生所需输出,就需要进行训练。训练本质上是寻找产生最佳结果的方法,并将其应用于神经网络。
用例:
- 计算机视觉
- 自然语言处理
- 其他神经网络的基础
3. 卷积神经网络——卷积层?
卷积神经网络仍使用与多层感知器(MLP)相同的原理,但值得注意的是,它运用了卷积层,卷积神经网络通常应用于图像和视频。
重要的是要认识到图像只是一个数字网格,每个数字都表示着某个像素的强度。知道了图像是一个数字网格,就可以通过操作这些数字来找到图像的模式和特征。卷积层通过使用滤波器来实现这一点。
滤波器
滤波器是定义为N x M(N和/M表示网格大小)的数字矩阵,它与原始图像相乘多次。要了解实际情况,请参阅动画。
滤波器在网格上移动并产生新值。这些值可以代表图像中的边缘或线条。例如,使用以下滤波器:
水平滤波器会试图消除垂直中心以外的值。它通过使用负值去除边缘,使用0消除中心以使像素变为中性。如果过滤成功,将可以从新值中看到一条水平线。对于正好反过来的垂直滤波器也是如此。
在将滤波器应用于整个图像之后,就可以使用池化层轻松地提取滤波器识别的主要特征。在训练模型时,确定滤波器应包含的数字。找到最佳数值以使任务达到最佳结果。
池化层
如闻其名,池化层的作用就是将滤波器识别到的最重要特征“汇集”在一起,这是通过使用多种方法完成的。
一种流行的方式是“最大池化”(Max Pooling),在这个方法中,对于图像的每个被滤部分,取最大的数目并存储到一个新的矩阵中。它的基本功能是识别最重要特征并将其压缩为一个图像,以便将其处理为多层感知器模型(MLP)。此过程也称为数据采样,使用此过程会产生令人满意的结果。
用例
· 图像分类
· 计算机视觉
· 查找图像特征/模式
图源:www.crazyiter.com
4. 递归神经网络——时态数据?
神经网络分析的数据并不完全局限于静态数据。诸如图像、数字和帧等都是可以分析的数据。然而,依赖于数据本身的过去实例来预测未来,这是时态数据的示例。股市数据、时间序列数据、脑电波数据等数据总是通过使用因变量的过去实例进行分析。
目前为止,已提及的神经网络种类无法处理其他状态的数据,接下来要讲的递归神经网络(RNN)才是解决方案。
状态矩阵
递归神经网络(RNN)通过将最后的输出存储于自身内存中来记忆数据的先前状态。这些称为状态矩阵。循环神经网络的工作原理与多层感知器(MLP)中的普通层类似,但它使用状态矩阵来计算新的输出。使用以前输出和数据状态本质上考虑了最终的输出数据,这对于股市预测和时间序列预测等应用至关重要。
长短期记忆网络
长短期记忆网络(LSTM)进一步扩展了将状态矩阵保存为两种状态的想法——长期状态和短期状态。如果状态持续存在于模型输出中,它将被保存为长期状态矩阵,并将在考虑新数据时占据更大权重。
对于连续数据查找模式的应用,LSTM系统非常高效且处于股市指标预测方法的最前沿。
用例
- 自然语言处理
- 股市预测
- 基于时间序列的数据预测
5. 自动编码器——以压缩方式呈现数据
大多数神经网络接收数据并做出某些类型的决策。自动编码器则有着不同的任务,即找出一种能压缩数据但不损质量的方法。
在传统的机器学习中,贴在数据上的标签与神经网络的输出目标并不一样。而在自动编码器中,标签相当于输入。
因此,在自动编码器的体系结构中,输入和输出层是相同的。隐藏层小于输入和输出层(就节点而言),被称为“瓶颈”。由于瓶颈较小,因此它被迫寻找一种压缩原始数据并将其放回输出层的方法。这种压缩方式一般比常规方法更好,因为它仍然可以保持数据的高质量。
用例:
· 主要用于以较小的压缩方式呈现大量数据。
图源:Unsplash
现在,你是不是了解到了很多神经网络的知识了?
纸上得来终觉浅,绝知此事要躬行。
立刻行动起来,现在就去将这些神经网络落实到自己的课题实践中去吧~
深度科普:神经网络的类型及其作用相关推荐
- 介绍深度卷积神经网络中各种类型的模型
深度卷积神经网络(DCNN)是一种深度学习技术,它可以帮助计算机从复杂的图像或音频数据中识别出特征.DCNN可以用来解决许多计算机视觉和语音识别任务,其中包括图像分类.目标检测.语音识别和自然语言处理 ...
- 基于深度卷积神经网络的目标检测研究综述
基于深度卷积神经网络的目标检测研究综述 人工智能技术与咨询 来自<光学精密工程> ,作者范丽丽等 摘要:作为计算机视觉中的基本视觉识别问题,目标检测在过去的几十年中得到了广泛地研究.目标检 ...
- 67页综述深度卷积神经网络架构:从基本组件到结构创新
点击我爱计算机视觉标星,更快获取CVML新技术 本文为52CV群友王广胜对上个月更新的CNN综述文章A Survey of the Recent Architectures of Deep Convo ...
- 全民 Transformer (一): Attention 在深度学习中是如何发挥作用的
<Attention 在深度学习中是如何发挥作用的:理解序列模型中的 Attention> Transformer 的出现让 Deep Learning 出现了大一统的局面.Tran ...
- 神经网络的类型分类和结构理解
一.序言 神经网络是模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型. 在深度学习领域,神经网络就是我们深度学习的灵魂,如果我们想依靠算法实现一些功能,就必须依托不同的神经网络结构,所以 ...
- 神经网络主要类型及其应用指南
神经网络主要类型及其应用指南 https://medium.com/towards-artificial-intelligence/main-types-of-neural-networks-and- ...
- 学习笔记 | 深度卷积神经网络在计算机视觉中的应用
图像识别是一种利用计算机对图像进行处理.分析和理解,以识别各种不同模式的目标和对象的技术,是计算机视觉领域的一个主要研究方向,在以图像为主体的智能化数据采集与处理中具有十分重要 的作用和影响.目前图像 ...
- 深度卷积神经网络演化历史及结构改进脉络总结
Table of Contents CNN基本部件介绍 1. 局部感受野 2. 池化 3. 激活函数 4. 全连接层 深度学习模型火的原因? 网络模型命名规则 最古老的的CNN LeNet5 ILSV ...
- 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读
导言 从1989年LeCun提出第一个真正意义上的卷积神经网络到今天为止,它已经走过了29个年头.自2012年AlexNet网络出现之后,最近6年以来,卷积神经网络得到了急速发展,在很多问题上取得了当 ...
最新文章
- arcxml 中 outputmode=xml 和 outputmode=newxml 的区别
- 服务器监控软件ZABBIX
- ElementUI中的el-table怎样实现绑定对象数组时每一列不同控件的动态数据绑定
- 查看journalnode节点状态信息_OpenStack Cinder服务状态排错
- JavaScript pop()函数弹出数组最后数据
- JDK8之新特性扩展篇
- oracle数据泵导入很慢,impdp导入效率的问题
- 利用numpy生成各种波
- NYOJ-zb的生日(dfs)
- Delphi TBitmap Scanline
- 时间复杂度为O(n)的排序(JAVA)
- 运动会加油稿计算机学院150字,学生150字运动会加油稿
- RabbitMQ:Plugin configuration unchanged;解决RabbitMQ启动问题,Win10用户中文问题解决
- 将小写字母转换成大写字母C/C++(指针)
- 在sae上面运行微信第三方平台微擎,带视频录像
- 使用Asponse.cells生成图片如何去掉水印
- [Trans 系列之一]TransE算法(Translating Embedding)
- 那些曾让你哭过的事,总有一天会笑着说出来
- ap计算机科学a 巴郎 翻译,AP计算机科学a词汇整理 不知道怎么用暑假预习的你快看过来...
- win10兼容模式怎么设置_系统不兼容怎么办 Bios设置ide兼容模式