机器学习必知的八大神经网络架构

简介: 机器学习八大神经网络架构的分类和历史发展。

为什么需要机器学习?

  有些任务直接编码较为复杂,我们不能处理所有的细微之处和简单编码,因此,机器学习很有必要。相反,我们向机器学习算法提供大量数据,让算法不断探索数据并构建模型来解决问题。比如:在新的杂乱照明场景内,从新的角度识别三维物体;编写一个计算信用卡交易诈骗概率的程序。

  机器学习方法如下:它没有为每个特定的任务编写相应的程序,而是收集大量事例,为给定输入指定正确输出。算法利用这些事例产生程序。该程序与手写程序不同,可能包含数百万的数据量,也适用于新事例以及训练过的数据。若数据改变,程序在新数据上训练且被更新。大量的计算比支付手写程序要便宜的多。

机器学习的应用如下:

1.模式识别:识别实际场景的面部或表情、语言识别。

2.识别异常:信用卡交易顺序异常,核电厂传感器读数模式异常。

3.预测:未来股价或货币汇率,个人观影喜好。

什么是神经网络?

神经网络是一种通用机器学习模型,是一套特定的算法集,在机器学习领域掀起了一场变革,本身就是普通函数的逼近,可以应用到任何机器学习输入到输出的复杂映射问题。一般来说,神经网络架构可分为3类:

1.前馈神经网络:是最常见的类型,第一层为输入,最后一层为输出。如果有多个隐藏层,则称为“深度”神经网络。它能够计算出一系列事件间相似转变的变化,每层神经元的活动是下一层的非线性函数。

2.循环神经网络:各节点之间构成循环图,可以按照箭头的方向回到初始点。循环神经网络具有复杂的动态,难以训练,它模拟连续数据,相当于每个时间片段具有一个隐藏层的深度网络,除了在每个时间片段上使用相同的权重,也有输入。网络可以记住隐藏状态的信息,但是很难用这点来训练网络。

3.对称连接网络:和循环神经网络一样,但单元间的连接是对称的(即在两个方向的连接权重相同),它比循环神经网络更容易分析,但是功能受限。没有隐藏单元的对称连接的网络被称为“Hopfiels网络”,有隐藏单元的对称连接的网络则被称为“波兹曼机器”。

一、感知机(Perceptron

        作为第一代神经网络,感知机是只有一个神经元的计算模型。首先将原始输入矢量转化为特征矢量,再用手写程序定义特征,然后学习如何对每个特征加权得到一个标量,如果标量值高于某一阈值,则认为输入矢量是目标类的一个积极样例。标准的感知机结构是前馈模型,即输入传送到节点,处理后产生输出结果:从底部输入,顶部输出,如下图所示。但也有其局限性:一旦确定了手写编码特征,在学习上就受到了较大限制。这对感知器来说是毁灭性的,尽管转换类似于翻译,但是模式识别的重点是识别模式。如果这些转换形成了一个组,学习的感知器部分不能学会识别,所以需要使用多个特征单元识别子模式的转换。

没有隐藏单元的网络在输入输出映射建模上也有很大局限性。增加线性单元层也解决不了,因为线性叠加依然是线性的,固定的非线性输出也不能建立这种映射。因此需要建立多层自适应的非线性隐藏单元。

二、卷积神经网络(Convolutional Neural Network

  一直以来,机器学习研究广泛集中在对象检测上,但仍有诸多因素使其难以

识别对象:1.对象分割、遮挡问题;2.照明影响像素强度;3.物体以各种不同的形式展现;4.相同功能的对象具有不同的物理形状;5.视觉不同带来的变化;6.维度跳跃问题。

        复制特征方法是当前CNN用于目标检测的主要方法,大规模的复制不同位置上相同的特征检测图,大大减少了要学习的自由参数数量。它使用不同的特征类型,每种类型都有自己的复制检测图,也允许以各种方式表示每个图像块。

  CNN可用于手写数字识别到3D对象识别等,但从彩色图像中识别对象比手写数字识别要复杂,它的类别、像素是数字的100倍(1000 vs 100,256*256彩色vs28*28灰度)。

2012年的ILSVRC-2012竞赛中的ImageNet提供一个包含120万张高分辨率训练图像的数据集。测试图像没有标注,参赛者需要识别图像中对象的类型。获胜者 Alex Krizhevsky开发了一个深度卷积神经网络,除了一些最大池化层,架构还有7个隐藏层,前面都是卷积层,最后2层是全局连接。激活函数在每个隐藏层都是线性单元,比逻辑单元速度更快,还使用竞争性规范标准抑制隐藏活动,有助于强度变化。硬件上,在两个Nvidia GTX 580 GPU(超过1000个快速内核)上使用一个高效卷积网络实现,非常适合矩阵乘法,具有很高的内存带宽。


三、循环神经网络 Recurrent Neural Network

循环神经网络(RNN)有两个强大的属性可以计算任何计算机计算出来的东西:(1)允许存储大量有效信息的分布式隐藏状态(2)用复杂的方式允许更新隐藏状态的非线性动态。RNN强大的计算能力和梯度消失(或爆炸)使其很难训练。通过多层反向传播时,若权重很小,则梯度呈指数缩小;若权重很大,则梯度呈指数增长。典型的前馈神经网络的一些隐藏层可以应对指数效应,另一方面,在长序列RNN中,梯度容易消失(或爆照),即使有好的初始权重,也很难检测出当前依赖于多个时间输入的目标输出因此很难处理远程依赖性。

学习RNN的方法如下:

1.长短期记忆:用具有长期记忆值的小模块制作RNN。

2.Hessian Free Optimization:使用优化器处理梯度消失问题。

3.回声状态网络:初始化输入→隐藏和隐藏→隐藏和输出→隐藏链接,使隐藏状态有一个巨大的弱耦合振荡器储备,可以选择性的由输入驱动。

4.用动量初始化:和回声状态网络一样,再用动量学习所有连接。

四、长短期记忆网络(Long/Short Term Memory Network


Hochreiter & Schmidhuber(1997年)构建了长短期记忆网络,解决了获取RNN长时间记忆问题,使用乘法逻辑线性单元设计存储单元,只要保持“写入”门打开,信息就会写入并保持在单元中,也可以打开“读取”门从中获取数据。

RNN可以阅读行书,笔尖的输入坐标为(x,y,p),p代表笔是向上还是向下,输出则为一个字符序列,使用一系列小图像作为输入而不是笔坐标。Graves & Schmidhuber(2009年)称带有LSTM的RNN是阅读行书的最佳系统。


 

五、霍普菲尔德网络(Hopfield Networks

  非线性循环网络有很多种表现方式,较难分析:能达到稳定、震荡或馄饨状态这三种表现形式。Hopfield网络是由有循环连接的二进制阈值单元组成。1982年,约翰·霍普菲尔德发现,如果连接对称,则存在一个全局能量函数,整个网络的每个二进制“结构”都有能量,而二进制阈值决策规则使网络为能量函数设置一个最小值。使用这种计算类型最简单的方法是将记忆作为神经网络的能量最小值。使用能量最小值表示记忆给出了一个内容可寻内存,可通过了解局部内容来访问整个项目。


 每记忆一次配置,都希望能产生一个能量最小值。但若有两个最小值就会限制Hopfield网络容量。伊丽莎白·加德纳发现有一个更好的存储规则,它使用了所有的权重。而不是试图一次存储多个矢量,她通过训练集进行多次循环,并用感知器收敛程序训练每个单元,使该矢量的所有其它单元具有正确的状态。

六、玻尔兹曼机(Boltzmann Machine Network

 玻尔兹曼机是一种随机循环神经网络,可以被看作是Hopfield网络的随机生成产物,是最先学习内部representations的神经网络之一。该算法旨在最大限度地提高机器在训练集中分配给二进制矢量的概率的乘积,相当于最大化其分配给训练矢量的对数概率之和,方法如下:(1)网络没有外部输入时,使网络在不同时间分布稳定;(2)每次对可见矢量采样。

2012年,Salakhutdinov和Hinton为玻尔兹曼机写了有效的小批量学习程序。2014年将模型更新,称之为受限玻尔兹曼机,详情请查看原文。

七、深度信念网络(Deep Belief Network


        反向传播,是人工神经网络计算处理一批数据后每个神经元的误差分布的标准方法,但是也存在一些问题。首先要标注训练数据,但几乎所有数据都没有标注;其次,学习时间不足,这意味着隐藏层数较多的网络较慢;第三,可能会使局部陷入最不利局面。因此,对于深度网络来说这远远不够。


        无监督学习方法克服了反向传播的限制,使用梯度方法调整权重有助于保持架构的效率和简单性,还可以将它用于对感官输入结构建模。特别的是,它调整权重,将产生感官输入的生成模型概率最大化。信念网络是由随机变量组成的有向非循环图,可推断未观测变量的状态,还可以调整变量间的交互,使网络更可能产生训练数据。

        早期图形模型是专家定义图像结构和条件概率,这些图形是稀疏连接的,他们专注于做正确的推论,而不是学习。但对于神经网络来说,学习是重点,其目的不在于可解释性或稀疏连接性使推断变得更容易。

八、深度自动编码器(Deep Auto-encoders

        该架构提供了两种映射方式,好像是一个做非线性降维非常好的方法,它在训练事例的数量上是线性的(或更好的),而最终编码模型相当紧凑和快速。然而,使用反向传播优化深度自动编码器很困难,若初始权重较小,反向传播梯度会消失。我们使用无监督逐层预训练或像回声状态网络一样认真的初始化权重。

        对于预训练任务有三种不同类型的浅自动编码器:(1)RBM作为自动编码器;(2)去噪自动编码器;(3)压缩自动编码器。对于没有大量标注的数据集,预训练有助于后续的判别式学习。即便是深度神经网络,对于大量的标注数据集,无监督训练对权重初始化并不是必要的,预训练是初始化深度网络权重的第一个好方法,现在也有其它方法。但如果扩大网络,需要再次做预训练。

总结

传统的编程方法是我们告诉计算机做什么,将大问题分解成很多小而精确的且计算机可以轻松执行的任务。神经网络则不需要告诉计算机如何解决问题,而是从观测到的数据中学习,找到解决问题的办法。


以上为译文。

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《top-10-ted-talks-data-scientists-machine-learning,译者:Mags,审校:袁虎。

文章为简译,更为详细的内容,请查看查看附件!

相关文章
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
14天前
|
机器学习/深度学习 安全 网络安全
利用机器学习优化网络安全威胁检测
【9月更文挑战第20天】在数字时代,网络安全成为企业和个人面临的重大挑战。传统的安全措施往往无法有效应对日益复杂的网络攻击手段。本文将探讨如何通过机器学习技术来提升威胁检测的效率和准确性,旨在为读者提供一种创新的视角,以理解和实施机器学习在网络安全中的应用,从而更好地保护数据和系统免受侵害。
|
10天前
|
边缘计算 人工智能 安全
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
33 6
|
20天前
|
存储 监控 物联网
蜂窝网络基础架构详解:从基站到核心网
蜂窝网络基础架构详解:从基站到核心网
51 9
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习模型之深度神经网络的特点
深度神经网络(Deep Neural Networks, DNNs)是一类机器学习模型,通过多个层级(层)的神经元来模拟人脑的工作方式,从而实现复杂的数据处理和模式识别任务。
34 1
|
26天前
|
编解码 人工智能 文件存储
卷积神经网络架构:EfficientNet结构的特点
EfficientNet是一种高效的卷积神经网络架构,它通过系统化的方法来提升模型的性能和效率。
26 1
|
11天前
|
传感器 监控 物联网
无线传感器网络的基本架构及其广泛应用
无线传感器网络的基本架构及其广泛应用
42 0
|
25天前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【9月更文挑战第10天】神经网络是开启人工智能大门的钥匙,不仅是一种技术,更是模仿人脑思考的奇迹。本文从基础概念入手,通过Python和TensorFlow搭建手写数字识别的神经网络,逐步解析数据加载、模型定义、训练及评估的全过程。随着学习深入,我们将探索深度神经网络、卷积神经网络等高级话题,并掌握优化模型性能的方法。通过不断实践,你将能构建自己的AI系统,解锁机器学习的无限潜能。
21 0
|
2月前
|
网络协议 安全 网络性能优化
OSI 模型详解:网络通信的七层架构
【8月更文挑战第31天】
186 0
|
2月前
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
31 0
下一篇
无影云桌面