神经网络基本知识
深度学习基础知识

深度学习基础知识深度学习(Depth Learning)是机器学习的一个重要分支,旨在模仿人类大脑的工作方式,通过神经网络的构建和训练实现智能化的数据分析与决策。
在深度学习的背后,有一些基础知识需要我们掌握,才能更好地理解和应用深度学习技术。
一、神经网络的基本结构神经网络是深度学习的核心,它由多个神经元组成,每个神经元都有激活函数,能接收来自其他神经元的输入,并产生输出。
神经网络通常包括输入层、隐藏层和输出层,其中隐藏层可以有多个。
输入层接受外部数据输入,隐藏层负责对数据进行特征提取和转换,输出层产生最终的结果。
二、梯度下降算法梯度下降算法是深度学习中最基础且最常用的优化算法,用于调整神经网络中各个神经元之间的连接权重,以最小化损失函数。
在训练过程中,通过计算损失函数对权重的偏导数,不断地更新权重值,使得损失函数逐渐减小,模型的性能逐渐提升。
三、反向传播算法反向传播算法是神经网络中用于训练的关键算法,通过将误差从输出层倒推到隐藏层,逐层计算每个神经元的误差贡献,然后根据误差贡献来更新权重值。
反向传播算法的核心思想是链式法则,即将神经网络的输出误差按照权重逆向传播并进行计算。
四、卷积神经网络(CNN)卷积神经网络是一种主要用于图像处理和识别的深度学习模型。
它通过共享权重和局部感受野的方式,有效地提取图像中的特征。
卷积神经网络通常包括卷积层、池化层和全连接层。
其中卷积层用于提取图像中的局部特征,池化层用于降低特征的维度,全连接层用于输出最终的分类结果。
五、循环神经网络(RNN)循环神经网络是一种主要用于序列数据处理的深度学习模型。
它通过引入时间维度,并在每个时间步上传递隐藏状态,实现对序列数据的建模。
循环神经网络可以解决序列数据中的时序依赖问题,适用于音频识别、语言模型等任务。
六、生成对抗网络(GAN)生成对抗网络是一种通过让生成器和判别器相互博弈的方式,实现模型训练和生成样本的深度学习模型。
生成器负责生成与真实样本相似的假样本,判别器负责对真假样本进行分类。
神经网络基本知识

神经网络基本知识一、内容简述神经网络是机器学习的一个重要分支,是一种模拟生物神经网络结构和功能的计算模型。
它以其强大的学习能力和自适应能力广泛应用于多个领域,如图像识别、语音识别、自然语言处理等。
《神经网络基本知识》这篇文章将带领读者了解神经网络的基本概念、原理和应用。
1. 神经网络概述神经网络是一种模拟生物神经系统结构和功能的计算模型。
它由大量神经元相互连接构成,通过学习和调整神经元之间的连接权重来进行数据处理和模式识别。
神经网络的概念自上世纪五十年代提出以来,经历了漫长的发展历程,逐渐从简单的线性模型演变为复杂的多层非线性结构。
神经网络在人工智能领域发挥着核心作用,广泛应用于计算机视觉、语音识别、自然语言处理等领域。
神经网络的基本构成单元是神经元,每个神经元接收来自其他神经元的输入信号,通过特定的计算方式产生输出信号,并传递给其他神经元。
不同神经元之间的连接强度称为权重,通过训练过程不断调整和优化。
神经网络的训练过程主要是通过反向传播算法来实现的,通过计算输出层误差并反向传播到输入层,不断调整权重以减小误差。
神经网络具有强大的自适应能力和学习能力,能够处理复杂的模式识别和预测任务。
与传统的计算机程序相比,神经网络通过学习大量数据中的规律和特征,自动提取高级特征表示,避免了手动设计和选择特征的繁琐过程。
随着深度学习和大数据技术的不断发展,神经网络的应用前景将更加广阔。
神经网络是一种模拟生物神经系统功能的计算模型,通过学习和调整神经元之间的连接权重来进行数据处理和模式识别。
它在人工智能领域的应用已经取得了巨大的成功,并将在未来继续发挥重要作用。
2. 神经网络的历史背景与发展神经网络的历史可以追溯到上个世纪。
最初的神经网络概念起源于仿生学,模拟生物神经网络的结构和功能。
早期的神经网络研究主要集中在模式识别和机器学习的应用上。
随着计算机科学的快速发展,神经网络逐渐成为一个独立的研究领域。
在20世纪80年代和90年代,随着反向传播算法和卷积神经网络的提出,神经网络的性能得到了显著提升。
神经网络基础知识

神经网络基础知识神经网络是一种模拟大脑处理信息的计算机系统。
神经网络通过自动学习和适应来执行任务,例如图像和语音识别。
对于普通人来说,理解神经网络可能有些困难。
因此,我们准备了这篇文章,以帮助您了解神经网络的基本知识。
1.神经元神经元是神经网络最基本的组成部分。
神经元接收输入信号,将其加权处理,然后传递给下一个神经元。
每个神经元都有一个阈值,当加权输入信号超过该阈值时,它产生一个输出信号。
神经元的目的是对输入信号进行分类或数据处理。
可以通过调整神经元之间的连接权重来改变神经元的行为,从而调整神经网络的性能。
2.神经网络神经网络由许多相互连接的神经元组成,这些神经元可以分为层。
每个神经元接收其上一层的输出信号,加权后将其传递到下一层。
一般而言,神经网络通常有三层:输入层,隐藏层和输出层。
输入层接收外部输入,并将其传递到隐藏层。
隐藏层在接收输入信号后产生新特征,这些新特征可以用于进一步处理,最终生成输出。
输出层将处理后的结果展示给用户。
3.训练神经网络训练神经网络分为两个步骤:前向传递和反向传递。
·前向传递:给网络提供输入数据,网络经过处理后,输出一个结果。
·反向传递:通过改变神经元之间的连接权重(weight)来训练神经网络,在误差反向传播的过程中逐渐调整。
误差越小,神经网络的性能就越好。
4.损失函数损失函数的主要功能是对神经网络的性能进行评估。
损失函数可以描述神经网络的误差和数据之间的差异。
损失函数的大小越小,神经网络的性能就越好。
常用的损失函数有平方损失函数、交叉熵损失函数、绝对值损失函数等。
5.深度学习深度学习是一种基于神经网络的机器学习方法,这种方法通过将多层神经网络组合起来来模拟人类大脑的学习方式。
深度学习的一个优点是可以在没有人工干预的情况下自动学习。
由于网络和数据集的复杂性,深度学习的计算成本很高,但是随着技术的发展,越来越多的公司和研究机构正在将深度学习应用于实际场景中。
神经网络与深度学习知识点整理

神经网络与深度学习知识点整理●神经网络基础●MP神经元模型●可以完成任何数学和逻辑函数的计算●没有找到训练方法,必须提前设计出神经网络的参数以实现特定的功能●Hebb规则●两个神经元同时处于激发状态时,神经元之间的连接强度将得到加强●Hebb学习规则是一种无监督学习方法,算法根据神经元连接的激活水平改变权值,因此又称为相关学习或并联学习。
●●感知机模型●有监督的学习规则●神经元期望输出与实际输出的误差e作为学习信号,调整网络权值●●LMS学习规则是在激活函数为f(x)=x下的感知器学习规则●由于激活函数f的作用,感知器实际是一种二分类器●感知器调整权值步骤●单层感知器不能解决异或问题●BP网络●特点:●同层神经网络无连接●不允许跨层连接●无反馈连接●BP学习算法由正向传播和反向传播组成●BP网络的激活函数必须处处可导——BP权值的调整采用 Gradient Descent 公式ΔW=-η(偏E/偏w),这个公式要求网络期望输出和单次训练差值(误差E)求导。
所以要求输出值处处可导。
s函数正好满足处处可导。
●运算实例(ppt)●Delta( δ )学习规则●误差纠正式学习——神经元的有监督δ学习规则,用于解决输入输出已知情况下神经元权值学习问题●δ学习规则又称误差修正规则,根据E/w负梯度方向调整神经元间的连接权值,能够使误差函数E达到最小值。
●δ学习规则通过输出与期望值的平方误差最小化,实现权值调整●●1●自动微分●BP神经网络原理:看书●超参数的确定,并没有理论方法指导,根据经验来选择●BP算法已提出,已可实现多隐含层的神经网络,但实际只使用单隐层节点的浅层模型●计算能力的限制●梯度弥散问题●自编码器●●自编码器(Auto-Encoder)作为一种无监督学习方法网络●将输入“编码”为一个中间代码●然后从中间表示“译码”出输入●通过重构误差和误差反传算法训练网络参数●编码器不关心输出(只复现输入),只关心中间层的编码————ℎ=σ(WX+b)●编码ℎ已经承载原始数据信息,但以一种不同的形式表达!●1●正则编码器——损失函数中加入正则项,常用的正则化有L1正则和L2正则●稀疏自编码器——在能量函数中增加对隐含神经元激活的稀疏性约束,以使大部分隐含神经元处于非激活状态●去噪自编码器——训练数据加入噪声,自动编码器学习去除噪声获得无噪声污染的输入,迫使编码器学习输入信号更加鲁棒的表达●堆叠自编码器●自编码器训练结束后,输出层即可去掉,网络关心的是x到ℎ的变换●将ℎ作为原始信息,训练新的自编码器,得到新的特征表达.●逐层贪婪预训练●1●深度神经网络初始化●●卷积神经网络●全连接不适合图像任务●参数数量太多●没有利用像素之间的位置信息●全连接很难传递超过三层●卷积神经网络是一种前馈神经网络,其输出神经元可以响应部分区域内的输入信息,适宜处理图像类信息●1●1●Zero Padding:在原始图像周围补0数量●卷积尺寸缩小,边缘像素点在卷积中被计算的次数少,边缘信息容易丢失●●卷积神经网络架构发展●1●深度发展●LeNet●具备卷积、激活、池化和全连接等基本组件●但GPU未出现,CPU的性能又极其低下●LetNet只使用在手写识别等简单场景,未得到重视●LeNet主要有2个卷积层(5*5)、2个下抽样层(池化层)、3个全连接层●通过sigmoid激活●全连接层输出:共有10个节点分别代表数字0到9,采用径向基函数作为分类器●AlexNet●第一次采用了ReLU,dropout,GPU加速等技巧●AlexNet网络共有:卷积层 5个(1111,55,3*3),池化层 3个,全连接层3个●首次采用了双GPU并行计算加速模式●第一卷积模块:96通道的特征图被分配到2个GPU中,每个GPU上48个特征图;2组48通道的特征图分别在对应的GPU中进行ReLU激活●第一层全连接:同时采用了概率为0.5的Dropout策略●VGG●通过反复堆叠3x3卷积和2x2的池化,得到了最大19层的深度●卷积-ReLU-池化的基本结构●串联多个小卷积,相当于一个大卷积的思想●使用两个串联的3x3卷积,达到5x5的效果,但参数量却只有之前的18/25●串联多个小卷积,增加ReLU非线性激活使用概率,从而增加模型的非线性特征●VGG16网络包含了13个卷积层,5个池化层和3个全连接层。
BP神经网络PPT全文

输出层与隐含层的激活函数可以不同,并且输出层
各单元的激活函数可有所区别
2024/8/16
26
2 多层网络的表达能力
按照Kolmogorov定理,任何一个判决均可用 前式所示的三层神经网络实现。
即: 只要给定足够数量的隐含层单元、适 当的非线性函数、以及权值, 任何由输入向输 出的连续映射函数均可用一个三层前馈神经网络 实现。
神经网络的计算通过网络结构实现;
不同网络结构可以体现各种不同的功能;
网络结构的参数是通过学习逐渐修正的。
2024/8/16
7
(1)基本的人工神经元模型
McCulloch-Pitts神经元模型
输入信号;链接强度与权向量;
信号累积
2024/8/16
激活与抑制
8
人工神经元模型的三要素 :
一组连接 一个加法器 一个激励函数
➢ 树突(dendrites), 接收来自外接的信息 ➢ 细胞体(cell body), 神经细胞主体,信息加工 ➢ 轴突(axon), 细胞的输出装置,将信号向外传递,
与多个神经元连接 ➢突触 (synapsse), 神经元经突触向其它神经元(胞体 或树突)传递信号
2024/8/16
5
(2)生物神经元的基本特征
5 假定:第l层为当前处理层;
其前一层l 1、当前层l、后一层l 1的计算单元序号为i, j,k;
位于当前层第j个计算单元的输出为Olj,j 1,..., nl
前层第i个单元到本层第j个单元的连接权值为ilj , i 1,..., nl1
本层第j个单元到后层第k个单元的连接权值为
l 1 jk
,
连接权值,突触连接强度
第一讲 人工神经网络的基本知识

1.3.2 人工神经元模型
1.3.2 人工神经元模型
一组连接(对应于生物神经元的突触),连接 强度由各连接上的权值表示,权值为正表示激 活,为负表示抑制。 一个求和单元,用于求取各输入信号的加权和 (线性组合). 一个非线性激活函数(作用函数),起非线性映 射作用并将神经元拘出幅度限制在一定范围内.
课程目的和基本要求
了解人工神经网络的有关研究思想,从中 学习开拓者们的部分问题求解方法。 通过实验进一步体会有关模型的用法和性 能,获取一些初步的经验。 查阅适当的参考文献,将所学的知识与自 己未来研究课题(包括研究生论文阶段的 研究课题)相结合起来,达到既丰富学习 内容,又有一定的研究和应用的目的。
1、控制输入对输出的激活作用; 2、对输入、输出进行函数转换; 3、将可能无限域的输入变换成指定的有 限范围内的输出。
几种常用的作用函数
1、阈值函数.
M-P 模型
几种常用的作用函数
2,分段线性函数
它类似于一个放大系数为1 的非线性放大器,当工作 于线性区时它是一个线性 组合器,放大系数趋于无 穷大时变成一个阈值单元。
1、构成
2、工作过程:树突
轴突
突触 其他神经元
1.3.1 生物神经网
3、六个基本特征:
1)神经元及其联接; 2)神经元之间的联接强度决定信号传递的强弱; 3)神经元之间的联接强度是可以随训练改变的; 4 )信号可以是起 刺激 作用的,也可以是起 抑制 作用 的; 5 )一个神经元接受的信号的 累积效果 决定该神经元 的状态; 6)每个神经元可以有一个“阈值”。
第二高潮期(1983~1990) 1982年,J. Hopfield提出循环网络,并 将Lyapunov函数作为网络性能判定的 能量函数,阐明了人工神经网络与动力 学的关系,用非线性动力学的方法来研 究人工神经网络的特性,建立了人工神 经网络稳定性的判别依据,指出信息被 存放在网络中神经元的联接上。
人工神经网络基础知识

x0 x0
• MP模型
可知当神经元i的输入信号加权和超过阈值时,输出为
“1”,即“兴奋”状态;反之输出为“0”,是“抑制” 状态。
激发函数的基本作用
– 控制输入对输出的激活作用 – 对输入、输出进行函数转换 – 将可能无限域的输入变换成指定的有限范围内的输出
例、实现逻辑函数“与门”(AND gate)运 算。
2 人工神经网络基础知识
2.1人工神经网络的生物学基础
人的智能来自于大脑,大脑是由大量的神经细胞或神经元 组成的。每个神经元可以看作为一个小的处理单元,这些神经 元按照某种方式互相连接起来,构成了大脑内部的生物神经元 网络,他们中各神经元之间连接的强弱,按照外部的激励信号 作自适应变化,而每个神经元又随着接收到的多个激励信号的 综合大小呈现兴奋或抑制状态。据现在的了解,大脑的学习过 程就是神经元之间连接强度随外部激励信息做自适应变化的过 程,大脑处理信息的结果确由神经元的状态表现出来。显然, 神经元是信息处理系统的最小单元。虽然神经元的类型有很多 种,但其基本结构相似。
(1)每个神经元都是一个多输入单输出的信息处理单元; (2)突触分兴奋性和抑制性两种类型; (3)神经元具有空间整合特性和阈值特性; (4)神经元输入输出间有固定的时滞,主要取决于突触延搁; (5)忽略时间整合作用和不应期; (6)神经元本身是非时变的,即其突触时延和突触强度均为常 数。
MP模型:
1
x 1ex
f(x) (1t 2
h2)1ex
f(x) 1.0
o
x
-1.0
图
双极 性 S型函数
3、线性函数 (1)线性作用函数:输出等于输入,即 yf(x)x
(2)饱和线性作用函数 (3)对称饱和线性作用函数
神经网络基础知识介绍

神经网络基础知识介绍神经网络是一种模拟生物神经系统的计算模型,通过对复杂的非线性模式进行学习和分类,逐步发展成为目前人工智能领域中的重要算法之一。
本篇文章将重点介绍神经网络的基础知识,包括神经元、层、权重、偏置等概念及其在神经网络中的应用。
一、神经元神经元是神经网络的基本单元,也称为“节点”或“神经元”。
它们模拟了生物神经元的功能,根据输入信号产生输出信号。
一个神经元通常接受多个输入信号,对每个输入信号都有一个权重,通过加权和计算后,再通过一个激活函数进行处理,最终产生输出信号。
二、层神经元可以组合成层,层是神经网络的基本组成部分。
神经网络通常包括输入层、中间层和输出层。
输入层负责将数据输入网络,中间层则负责逐步分析并提取数据的特征,输出层则输出最终的结果。
层与层之间的神经元之间也有权重和偏置。
三、权重权重是神经元之间互相连接的强度,是神经网络的核心参数之一。
每个输入信号都有一个对应的权重,权重的大小决定了该输入信号对神经元输出的影响程度。
在神经网络的训练中,权重会不断地调整以达到最优的分类效果。
四、偏置偏置是每个神经元的一个常数项,用于控制神经元的激活状态。
偏置通常被设置为一个较小的值,以确保神经元能够在没有输入信号的情况下仍然处于激活状态。
五、前向传播前向传播是神经网络中最基本的计算过程之一,也称为“向前计算”或“前向推理”。
在前向传播过程中,输入数据从输入层顺序传递到隐藏层和输出层,直至产生最终的输出结果。
神经网络的预测和分类都是基于前向传播算法完成的。
六、反向传播反向传播是神经网络中最重要的学习算法之一,用于不断调整神经网络的权重和偏置以提高其分类能力。
在反向传播过程中,先计算输出层的误差,再按照一定的规则将误差反向传播到每一层的神经元中,从而计算每个神经元上的误差,并根据这些误差值来更新神经元之间的权重和偏置。
综上所述,神经网络作为一种模拟生物神经系统的计算模型,通过不断学习和调整,在图像识别、自然语言处理、语音识别等领域中都发挥了越来越重要的作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)三层神经网络1)该模型的参数通过两个步骤训练获得:在该网络的第一层,将输入映射至隐藏单元激活量的权值可以通过稀疏自编码器训练过程获得。
在第二层,将隐藏单元映射至输出的权值可以通过 logistic 回归或 softmax 回归训练获得。
2)在描述上述过程时,假设采用了“替代(Replacement)”表示而不是“级联(Concatenation)”表示。
在替代表示中,logistic 分类器所看到的训练样本格式为;而在级联表示中,分类器所看到的训练样本格式为。
在级联表示神经网络中,输入值也直接被输入至 logistic 分类器。
3)在训练获得模型最初参数(利用自动编码器训练第一层,利用logistic/softmax 回归训练第二层)之后,可以进一步修正模型参数,进而降低训练误差。
具体来说,可以对参数进行微调,在现有参数的基础上采用梯度下降或者 L-BFGS 来降低已标注样本集上的训练误差。
➢微调的作用在于,已标注数据集也可以用来修正权值,这样可以对隐藏单元所提取的特征做进一步调整。
➢对于微调来说,级联表示相对于替代表示几乎没有优势。
因此,如果需要开展微调,通常使用替代表示的网络。
但是如果不开展微调,级联表示的效果有时候会好得多。
➢通常仅在有大量已标注训练数据的情况下使用微调。
在这样的情况下,微调能显著提升分类器性能。
如果有大量未标注数据集(用于非监督特征学习/预训练),却只有相对较少的已标注训练集,微调的作用非常有限。
(二)深度网络深度神经网络,即含有多个隐藏层的神经网络。
通过引入深度网络,可以计算更多复杂的输入特征。
因为每一个隐藏层可以对上一层的输出进行非线性变换,因此深度神经网络拥有比“浅层”网络更加优异的表达能力。
1.深度神经网络的优势1)当训练深度网络的时候,每一层隐层应该使用非线性的激活函数。
这是因为多层的线性函数组合在一起本质上也只有线性函数的表达能力(例如,将多个线性方程组合在一起仅仅产生另一个线性方程)。
因此,在激活函数是线性的情况下,相比于单隐藏层神经网络,包含多隐藏层的深度网络并没有增加表达能力。
2)深度网络最主要的优势在于,它能以更加紧凑简洁的方式来表达比浅层网络大得多的函数集合。
即可以找到一些函数,这些函数可以用层网络简洁地表达出来(这里的简洁是指隐层单元的数目只需与输入单元数目呈多项式关系)。
但是对于一个只有层的网络而言,除非它使用与输入单元数目呈指数关系的隐层单元数目,否则不能简洁表达这些函数。
3)当处理对象是图像时,使用深度网络,能够学习到“部分-整体”的分解关系。
例如,第一层可以学习如何将图像中的像素组合在一起来检测边缘,第二层可以将边缘组合起来检测更长的轮廓或者简单的“目标的部件”,在更深的层次上,可以将这些轮廓进一步组合起来以检测更为复杂的特征。
这种分层计算很好地模仿了大脑皮层对输入信息的处理方式。
视觉图像在人脑中是分多个阶段进行处理的,首先是进入大脑皮层的“V1”区,然后紧跟着进入大脑皮层“V2”区,以此类推。
2.训练深度网络的困难目前主要使用的学习算法是:首先随机初始化深度网络的权重,然后使用有监督的目标函数在有标签的训练集上进行训练。
其中通过使用梯度下降法来降低训练误差,这种方法通常不是十分凑效。
1)数据获取问题使用上面提到的方法,需要依赖于有标签的数据才能进行训练。
然而有标签的数据通常是稀缺的,因此对于许多问题,我们很难获得足够多的样本来拟合一个复杂模型的参数。
例如,考虑到深度网络具有强大的表达能力,在不充足的数据上进行训练将会导致过拟合。
2)局部极值问题使用监督学习方法来对浅层网络(只有一个隐藏层)进行训练通常能够使参数收敛到合理的范围内。
但是当用这种方法来训练深度网络的时候,并不能取得很好的效果。
特别的,使用监督学习方法训练神经网络时,通常会涉及到求解一个高度非凸的优化问题。
对深度网络而言,这种非凸优化问题的搜索区域中充斥着大量“坏”的局部极值,因而使用梯度下降法(或者像共轭梯度下降法,L-BFGS 等方法)效果并不好。
3)梯度弥散问题梯度下降法(以及相关的L-BFGS算法等)在使用随机初始化权重的深度网络上效果不好的技术原因是:梯度会变得非常小。
具体而言,当使用反向传播方法计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小。
结果就造成了整体的损失函数相对于最初几层的权重的导数非常小。
这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从样本中进行有效的学习。
这种问题通常被称为“梯度的弥散”.与梯度弥散问题紧密相关的问题是:当神经网络中的最后几层含有足够数量神经元的时候,可能单独这几层就足以对有标签数据进行建模,而不用最初几层的帮助。
因此,对所有层都使用随机初始化的方法训练得到的整个网络的性能将会与训练得到的浅层网络(仅由深度网络的最后几层组成的浅层网络)的性能相似。
3.逐层贪婪训练方法逐层贪婪训练方法是训练深度网络取得一定成功的一种方法。
简单来说,逐层贪婪算法的主要思路是:➢每次只训练网络中的一层,即首先训练一个只含一个隐藏层的网络,仅当这层网络训练结束之后才开始训练一个有两个隐藏层的网络,以此类推。
➢在每一步中,把已经训练好的前层固定,然后增加第层(也就是将已经训练好的前的输出作为输入)。
➢每一层的训练可以是有监督的(例如,将每一步的分类误差作为目标函数),但更通常使用无监督方法(例如自动编码器)。
➢这些各层单独训练所得到的权重被用来初始化最终(或者说全部)的深度网络的权重,然后对整个网络进行“微调”(即把所有层放在一起来优化有标签训练集上的训练误差)。
逐层贪婪的训练方法取得成功要归功于以下两方面:✓数据获取虽然获取有标签数据的代价是昂贵的,但获取大量的无标签数据是容易的。
自学习方法的潜力在于它能通过使用大量的无标签数据来学习到更好的模型。
具体而言,该方法使用无标签数据来学习得到所有层(不包括用于预测标签的最终分类层)的最佳初始权重。
相比纯监督学习方法,这种自学习方法能够利用多得多的数据,并且能够学习和发现数据中存在的模式。
因此该方法通常能够提高分类器的性能。
✓更好的局部极值当用无标签数据训练完网络后,相比于随机初始化而言,各层初始权重会位于参数空间中较好的位置上。
然后我们可以从这些位置出发进一步微调权重。
从经验上来说,以这些位置为起点开始梯度下降更有可能收敛到比较好的局部极值点,这是因为无标签数据已经提供了大量输入数据中包含的模式的先验信息。
(三)卷积特征提取和池化1)全联通网络把输入层和隐含层进行“全连接”的设计,从整幅图像中计算特征,从计算的角度来讲,对相对较小的图像是可行的。
但是,如果是更大的图像,要通过全联通网络的这种方法来学习整幅图像上的特征,将是非常耗时。
2)部分联通网络解决以上问题的一种简单方法是对隐含单元和输入单元间的连接加以限制:每个隐含单元仅仅只能连接输入单元的一部分。
例如,每个隐含单元仅仅连接输入图像的一小片相邻区域。
网络部分连通的思想,也是受启发于生物学里面的视觉系统结构。
视觉皮层的神经元就是局部接受信息的(即这些神经元只响应某些特定区域的刺激)。
3)卷积自然图像有其固有特性,也就是说,图像的一部分的统计特性与其他部分是一样的。
这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,都能使用同样的学习特征。
当从一个大尺寸图像中随机选取一小块,比如说 8x8 作为样本,并且从这个小块样本中学习到了一些特征,这时可以把从这个 8x8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。
特别是,可以用从 8x8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。
实例:假设已经从一个 96x96 的图像中学习到了它的一个 8x8 的样本所具有的特征,假设这是由有 100 个隐含单元的自编码完成的。
为了得到卷积特征,需要对 96x96 的图像的每个 8x8 的小块图像区域都进行卷积运算。
也就是说,抽取 8x8 的小块区域,并且从起始坐标开始依次标记为(1,1),(1,2),...,一直到(89,89),然后对抽取的区域逐个运行训练过的稀疏自编码来得到特征的激活值。
在这个例子里,显然可以得到 100 个集合,每个集合含有 89x89 个卷积特征。
假设给定了的大尺寸图像,将其定义为xlarge。
首先通过从大尺寸图像中抽取的的小尺寸图像样本xsmall 训练稀疏自编码,计算 f = σ(W(1)xsmall+ b(1))(σ是一个sigmoid 型函数)得到了k 个特征,其中W(1) 和b(1) 是可视层单元和隐含单元之间的权重和偏差值。
对于每一个大小的小图像xs,计算出对应的值fs = σ(W(1)xs+ b(1)),对这些fconvolved 值做卷积,就可以得到个卷积后的特征的矩阵。
4)池化在通过卷积获得了特征之后,下一步是要利用这些特征去做分类。
理论上讲,可以用所有提取得到的特征去训练分类器,例如 softmax 分类器,但这样做面临计算量的挑战。
例如:对于一个 96X96 像素的图像,假设已经学习得到了400个定义在8X8输入上的特征,每一个特征和图像卷积都会得到一个(96 −8 + 1) * (96 − 8 + 1) = 7921 维的卷积特征,由于有 400 个特征,所以每个样例都会得到一个7921 * 400 = 3,168,400 维的卷积特征向量。
学习一个拥有超过3 百万特征输入的分类器十分不便,并且容易出现过拟合。
为了解决这个问题,即为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。
这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。
这种聚合的操作就叫做池化(pooling),有时也称为平均池化或者最大池化 (取决于计算池化的方法)。
池化的不变性如果选择图像中的连续范围作为池化区域,并且只是池化相同(重复)的隐藏单元产生的特征,那么,这些池化单元就具有平移不变性。
这就意味着即使图像经历了一个小的平移之后,依然会产生相同的 (池化的) 特征。
形式化描述形式上,在获取到卷积特征后,就要确定池化区域的大小(假定为),来池化卷积特征。
那么,把卷积特征划分到数个大小为的不相交区域上,然后用这些区域的平均(或最大)特征来获取池化后的卷积特征。
这些池化后的特征便可以用来做分类。
(四)白化为了使每个输入特征具有单位方差,可以直接使用作为缩放因子来缩放每个特征。
具体地,定义白化后的数据如下:是数据经过PCA白化后的版本: 中不同的特征之间不相关并且具有单位方差。