精华内容
下载资源
问答
  • 1.基于反向学习的种群初始策略
    万次阅读 多人点赞
    2018-09-08 22:26:54

    零、前言的前言
    本人是刚开始学习进化算法的小白,仅仅完成过某项改进CCIDE(这个不必懂)的实验重现而已。我的博文都是通过阅读外文资料,然后整理知识点。博文中可能出现其他文献的阅读和还没懂的证明部分,可能在以后以番外的形式更新。最后,如果出现一些字母简称您不懂的话,如果没有特别标识,如上面的CCIDE,说明你还不适合看这篇文章,可以先查阅一下其他资料,或者私信我,可能会有解决方案。这个策略将一直沿用。

    一、介绍
    目前成熟和常用的进化算法有:DE和GA,都有自己独特的缺点和优点,但是都有一个共同的短处,计算时间的消耗。一直以来,计算机科学家们都在改良这俩算法中的每一个步骤:交叉和变异策略,选择策略(贪婪或平均等)或者参数的设置策略(固定值或自适应等)。关于种群初始化策略的改良少之又少。在常见的进化算法中,种群的初始化都会采用纯随机策略,就是已知某一项基因的上下限,在初始化的时候在上下限之间进行随机取值。但是根据某个计算机科学家发现,纯随机策略生成的种群,在最终结果的质量和种群的收敛速度上都可以说很差,然后他提出了准随机-种群初始化策略。这里就不提了,因为该算法仅仅能改良最终结果的质量,收敛速度几乎没有加快,毕竟该策略在12维变量的算法进行中,那一点优势也会消失殆尽。所以,来自滑铁卢大学的三位计算机科学家提出了基于反向学习的种群初始化策略,在收敛速度方面宣判传统的纯随机策略死刑。

    二、反向数字(opposite number)
    在介绍这个改良策略之前,首先得介绍反向数字这个概念。
    定义:P = a + b - p
    a,b分别是(a,b)区间中的上下限,p是源数,P就是是源数的反向数字。这里修改一下定义就很好懂。
    修改:P + p = a + b
    代入一些常见的数字,你就懂了。
    在文献中,这个反向数字在二维,三维甚至高维中也可以使用。
    定义:Pi = ai + bi - pi
    i代表所在维数。每一维单独计算即可。
    证明太难了,涉及其他数学知识,可能在以后用番外来解释。

    三、基于反向学习的种群初始化策略
    进化算法的计算时间其实和初始种群中个体与最优个体的距离有关,如果个体在最优值附近出生,那么这次计算中,种群的所有个体都会进行快速的收敛。纯随机生成的个体由于没有进行过估计,收敛速度是无法预知的。不过,如果同时考虑每一个个体的反向个体,那么,个体和反向个体俩更靠近最优个体的几率是50%,选中更靠近的个体作为种群的最初个体,那就是每个个体都离最优解更近了一步,美滋滋。反向个体是什么?是一个基于个体的新个体,新个体中每一个基因都是由个体基因的反向数字。好了,现在来归纳一下步骤。
    1.均匀随机地生成一个最初种群。
    2.根据最初种群生成一个反向种群。(反向种群都不知道是什么那就再见吧)
    3.依照次序,从最初种群中和反向种群取出个体,使用适应度函数计算其适应度。选择适应度更高的个体,放进最终的初始种群(只能这么说了)的对应位置中。
    4.将最终的初始种群用于进化算法中。

    四、总结
    基本上,就是在初始种群中在生成一个反向种群,挑好的组成最后的总群,在进行进化算法。

    五、番外计划
    1.1 反向数字在高维的证明
    1.2 反向学习概念阐明的三篇论文解读
    Opposition-based learining:A new scheme for machine intelliengence 备注:这里介绍了反向数字在高维的实现
    Reinforcement learning based on actions and oppsite actions
    Opposition-based reinforcement learning

    更多相关内容
  • 为准确获取永磁同步电机(PMSM)转子初始位置信息,实现电机的平稳起动,提出一种PMSM转子初始位置检测方法和基于增量式编码器的PMSM起动策略。从定子电流矢量的角度预定位PMSM转子,并导出定子电流矢量的产生方法,...
  • 针对遗传算法在函数寻优过程中收敛速度慢、易陷入局部最优解的问题,提出一种采用半初始化和概率扰 动策略改进的遗传算法 DIAGA。首先,通过引入概率扰动策略增加了算法迭代后期的种群多样性,采用半初始化 从根本上...
  • 有些其他优化算法本质上是迭代的,但是应用于这一类的优化问题时,能在可接受的时间内收敛到可接受的解,并且与初始值无关。深度学习训练算法通常没有这两种奢侈的性质。深度学习模型的训练算法通常是迭代的,因此...

    有些优化算法本质上是非迭代的,只是求解一个解点。有些其他优化算法本质上是迭代的,但是应用于这一类的优化问题时,能在可接受的时间内收敛到可接受的解,并且与初始值无关。深度学习训练算法通常没有这两种奢侈的性质。深度学习模型的训练算法通常是迭代的,因此要求使用者指定一些开始迭代的初始点。此外,训练深度模型是一个足够困难的问题,以至于大多数算法都很大程度地受到初始化选择的影响。初始点能够决定算法是否收敛,有些初始点十分不稳定,使得该算法会遭遇数值困难,并完全失败。当学习收敛时,初始点可以决定学习收敛得多块,以及是否收敛到一个代价高或低的点。此外,差不多代价的点可以具有区别极大的泛化误差,初始点也可以影响泛化。

    现代的初始化策略是简单的、启发式的。设定改进的初始化策略是一项困难的任务,因为神经网络优化至今还未被很好地理解。大多数初始化策略基于在神经网络初始化时实现一些很好的性质。然而,我们并没有很好地理解这些性质中的哪些会在学习开始进行后的哪些情况下得以保持。进一步的难点是,有些初始点从优化的观点看或许是有利的,但是从泛化的观点看是不利的。我们对于初始点如何影响泛化的理解是相当原始的,几乎没有提供如何选择初始点的任何指导。

    也许完全确知的唯一特性是初始参数需要在不同单元间“破坏对称性”。如果具有相同激活函数的两个隐藏单元连接到相同的输入,那么这些单元必须具有不同的初始参数。如果它们具有相同的初始参数,然后应用到确定性损失和模型的确定性学习算法将一直以相同的方式更新这两个单元。即使模型或训练算法能够使用随机性为不同的单元计算不同的更新(例如使用Dropout的训练),通常来说,最好还是初始化每个单元使其和其他单元计算不同的函数。这或许有助于确保没有输入模式丢失在前向传播的零空间中,没有梯度模式丢失在反向传播的零空间中。每个单元计算不同函数的目标促使了参数的随机初始化。我们可以明确地搜索一大组彼此互不相同的基函数,但这经常会导致明显的计算代价。例如,如果我们有和输出一样多的输入,可以使用Gram-Schmidt正交化于初始的权重矩阵,保证每个单元计算彼此非常不同的函数。在高维空间上使用高熵分布来随机初始化,计算代价小并且不太可能分配单元计算彼此相同的函数。

    通常情况下,我们可以为每个单元的偏置设置启发式挑选的常数,仅随机初始化权重。额外的参数(例如用于编码预测条件方差的参数)通常和偏差一样设置为启发式选择的常数。我们几乎总是初始化模型的权重为高斯或均匀分布中随机抽取的值。高斯或均匀分布的选择似乎不会有很大的差别,但也没有被详尽地研究。然而,初始分布的大小确实对优化过程的结果和网络泛化能力都有很大的影响。更大的初始权重具有更强的破坏对称性的作用,有助于避免冗余的单元。它们也有助于避免在每层线性成分的前向或反向传播中丢失信号——矩阵中更大的值在矩阵乘法中有更大的输出。如果初始权重太大,那么会在前向传播或反向传播中产生爆炸的值。在循环网络中,很大的权重也可能导致混沌(对于输入中很小的扰动非常敏感,导致确定性前向传播过程表现随机)。在一定程度上,梯度爆炸问题可以通过梯度截断来缓解(执行梯度下降步骤之前设置梯度的阈值)。较大的权重也会产生使得激活函数饱和的值,导致饱和单元的梯度完全丢失。这些竞争因素决定了权重的理想初始大小。

    关于如何初始化网络,正则化和优化有着非常不同的观点。优化观点建议权重应该足够大以成功传播信息,但是正则化希望其小一点。诸如随机梯度下降这类对权重较小的增量更新,趋于停止在更靠近初始参数的区域(不管是由于卡在低梯度的区域,还是由于触发了基于过拟合的提前终止准则)的优化算法倾向于最终参数应接近于初始参数。在某些模型上,提前终止的梯度下降等价于权重衰减。在一般情况下,提前终止的梯度下降和权重衰减不同,但是提供了一个宽松的类比去考虑初始化的影响。我们可以将初始化参数 θ \theta θ θ 0 \theta_0 θ0类比于强置均值为 θ 0 \theta_0 θ0的高斯先验 p ( θ ) p(\theta) p(θ)。从这个角度来看,选择 θ 0 \theta_0 θ0接近0是有道理的。这个先验表明,单元间彼此互不交互比交互更有可能。只有在目标函数的似然项表达出对交互很强的偏好时,单元才会交互。此外,如果我们初始化 θ 0 \theta_0 θ0为很大的值,那么我们的先验指定了哪些单元应互相交互,以及它们应如何交互。

    有些启发式方法可用于选择权重的初始大小。一种初始化 m m m个输入和 n n n输出的全连接层的权重的启发式方法是从分布 W i , j ∼ U ( − 1 m , 1 m ) W_{i, j}\sim U(-\frac{1}{\sqrt{m}}, \frac{1}{\sqrt{m}}) Wi,jU(m 1,m 1)中采样权重,而Glorot andBengio建议使用标准初始化(Normalized Initialization):
    W i , j ∼ U ( − 6 m + n , 6 m + n ) W_{i, j}\sim U(-\frac{6}{\sqrt{m+n}}, \frac{6}{\sqrt{m+n}}) Wi,jU(m+n 6,m+n 6)

    后一种启发式方法初始化所有的层,折衷于使其具有相同激活方差和使其具有相同梯度方差之间。这假设网络是不含非线性的链式矩阵乘法,据此推导得出。现实的神经网络显然会违反这个假设,但很多设计于线性模型的策略在其非线性对应中的效果也不错。

    Saxe等人推荐初始化为随机正交矩阵,仔细挑选负责每一层非线性缩放或增益因子 g g g。他们得到了用于不同类型的非线性激活函数的特定缩放因子。这种初始化方案也是启发于不含非线性的矩阵相乘序列的深度网络。在该模型下,这个初始化方案保证了达到收敛所需的训练迭代总数独立于深度。

    增加缩放因子 g g g将网络推向网络前向传播时激活范数增加,反向传播时梯度范数增加的区域。Sussillo表明,正确设置缩放因子足以训练深达1000层的网络,而不需要使用正交初始化。这种方法的一个重要观点是,在前馈网络中,激活和梯度会在每一步前向传播或反向传播中增加或缩小,遵循随机游走行为。这是因为前馈网络在每一层使用了不同的权重矩阵。如果该随机游走调整到保持范数,那么前馈网络能够很大程度地避免相同权重矩阵用于每层的梯度消失与爆炸问题。

    可惜,这些初始权重的最佳准则往往不会带来最佳效果。这可能有三种不同的原因。首先,我们可能使用了错误的标准——它实际上并不利于保持整个网络信号的范数。其次,初始化时强加的性质可能在学习开始进行后不能保持。最后,该标准可能成功提高了优化速度,但意外地增大了泛化误差。在实践中,我们通常需要将权重范围视为超参数,其最优值大致接近,但并不完全等于理论预测。

    数值范围准则的一个缺点是,设置所有的初始权重具有相同的标准差,例如 1 m \frac{1}{\sqrt{m}} m 1,会使得层很大时每个单一权重会变得极其小。Martens提出了一种被称为稀疏初始化(Sparse Initialization)的替代方案,每个单元初始化为恰好有 k k k个非零权重。这个想法保持该单元输入的总数量独立于输入数目 m m m,而不使单一权重元素的大小随 m m m缩小。稀疏初始化有助于实现单元之间在初始化时更具多样性。但是,获得较大取值的权重也同时被加了很强的先验。因为梯度下降需要很长时间缩小“不正确”的大值,这个初始化方案可能会导致某些单元出问题,例如Maxout单元有几个过滤器,互相之间必须仔细调整。

    如果计算资源允许,将每层权重的初始数值范围设为超参数通常是个好主意,如随机搜索,挑选这些数值范围。是否选择使用密集或稀疏初始化也可以设为一个超参数。作为替代,我们可以手动搜索最优初始范围。一个好的挑选初始数值范围的经验法则是观测单个小批量数据上的激活或梯度的幅度或标准差。如果权重太小,那么当激活值在小批量上前向传播于网络时,激活值的幅度会缩小。通过重复识别具有小得不可接受的激活值的第一层,并提高其权重,最终有可能得到一个初始激活全部合理的网络。如果学习在这点上仍然很慢,观测梯度的幅度或标准差可能也会有所帮助。这个过程原则上是自动的,且通常计算量低于基于验证集误差的超参数优化,因为它是基于初始模型在单批数据上的行为反馈,而不是在验证集上训练模型的反馈。由于这个协议很长时间都被启发式使用,最近Mishkin and Matas更正式地研究了该协议。

    目前为止,我们关注在权重的初始化上。幸运的是,其他参数的初始化通常更容易。设置偏置的方法必须和设置权重的方法协调。设置偏置为零通常在大多数权重初始化方案中是可行的。存在一些我们可能设置偏置为非零值的情况:

    • 如果偏置是作为输出单元,那么初始化偏置以获取正确的输出边缘统计通常是有利的。要做到这一点,我们假设初始权重足够小,该单元的输出仅由偏置决定。这说明设置偏置为应用于训练集上输出边缘统计的激活函数的逆。例如,如果输出是类上的分布,且该分布是高度偏态分布,第 i i i类的边缘概率由某个向量 c c c的第 i i i个元素给定,那么我们可以通过求解方程 softmax ( b ) = c \text{softmax}(b)=c softmax(b)=c来设置偏置向量 b b b。这不仅适用于分类器,也适用于其它的模型,例如自编码器和玻尔兹曼机。这些模型拥有输出类似于输入数据x的网络层,非常有助于初始化这些层的偏置以匹配 x x x上的边缘分布。
    • 有时,我们可能想要选择偏置以避免初始化引起太大饱和。例如,我们可能会将ReLU的隐藏单元设为0.1而非0,以避免ReLU在初始化时饱和。尽管这种方法违背不希望偏置具有很强输入的权重初始化准则。例如,不建议使用随机游走初始化。
    • 有时,一个单元会控制其他单元能否参与到等式中。在这种情况下,我们有一个单元输出 u u u,另一个单元 h ∈ [ 0 , 1 ] h\in[0,1] h[0,1],那么我们可以将 h h h视作门,以决定 u h ≈ 1 uh\approx1 uh1还是 u h ≈ 0 uh≈0 uh0。在这种情形下,我们希望设置偏置 h h h,使得在初始化的大多数情况下 h ≈ 1 h\approx 1 h1。否则, u u u没有机会学习。例如,Jozefowicz等人提议设置LSTM模型遗忘门的偏置为1。

    另一种常见类型的参数是方差或精确度参数。例如,我们用以下模型进行带条件方差估计的线性回归:
    p ( y ∣ x ) = N ( y ∣ x T x + b , 1 β ) p(y|x)=N(y|x^Tx+b, \frac{1}{\beta}) p(yx)=N(yxTx+b,β1)

    其中 β \beta β是精确度参数。通常我们能安全地初始化方差或精确度参数为1。另一种方法假设初始权重足够接近零,设置偏置可以忽略权重的影响,然后设定偏置以产生输出的正确边缘均值,并将方差参数设置为训练集输出的边缘方差。

    除了这些初始化模型参数的简单常数或随机方法,还有可能使用机器学习初始化模型参数。我们还可以用无监督模型训练出来的参数来初始化监督模型。我们也可以在相关问题上使用监督训练。即使是在一个不相关的任务上运行监督训练,有时也能得到一个比随机初始化具有更快收敛率的初始值。这些初始化策略有些能够得到更快的收敛率和更好的泛化误差,因为它们编码了模型初始参数的分布信息。其他策略显然效果不错的原因主要在于它们设置参数为正确的数值范围,或是设置不同单元计算互相不同的函数。

    展开全文
  • 一种基于推荐的信誉系统初始化定值策略.pdf
  • 浅谈初中政治教学策略_浅谈初中几何的初始教学策略.pdf
  • SSE:快照集成的新的选择性初始策略
  • 系统初始化设置及安全策略.pdf
  • 城市化进程中中国高血压患者的初始治疗策略.pptx
  • 策略初始化失败打不开怎么办.docx
  • 基于优化初始种子新策略的K-Means聚类算法.pdf
  • 基于优化初始种子新策略的K-Means聚类算法
  • 基于Hub的高维数据初始聚类中心的选择策略.pdf
  • 基于数据流聚类策略的GPU码书初始化算法.pdf
  • 随着我国电子商务的飞速发展,信任成为网上交易的基础.本文对B2C电子商务中的初始信任进行了分析探讨。提出了在B2C电子商务环境下建立信任及初始信任的相关策略和建议.
  • 星际开地图对战,等5秒钟进入地图后,每个玩家都会拥有一个基地,几个农民等,还会有初始的人口供给。但这些是根据种族的不同而不同。 待解决的问题:我们需要根据种族的不同,而对玩家进行不同的初始化,最好将这些...
  • 然后通过策略模式定义应用开发阶段和正式运行阶段的初始化算法;最后利用单例模式封装JDBC和Hibernate操作的通用步骤.以高等院校目标考核管理系统的数据初始化操作为背景,通过JXL读取存储在Excel文件中的初始化数据...
  • 深度学习参数初始化(weights initializer)策略大全

    万次阅读 多人点赞 2019-03-21 11:20:37
    前言:深度学习的初始化参数指的是在网络训练之前,对各个节点的权重和偏置进行初始化的过程,很多时候我们...本文就来讨论一下参数初始化到底有什么讲究以及常见的参数初始化的一些策略方法。阅读本文需要神经网络...

     

    前言:深度学习的初始化参数指的是在网络训练之前,对各个节点的权重和偏置进行初始化的过程,很多时候我们以为这个初始化是无关紧要的,不需要什么讲究,但是实际上,一个参数的初始化关系到网络能否训练出好的结果或者是以多快的速度收敛,这都是至关重要的,有时候因为参数初始化的缘故,甚至得不到好的训练结果。本文就来讨论一下参数初始化到底有什么讲究以及常见的参数初始化的一些策略方法。阅读本文需要神经网络相关背景,能够理解误差反向传播算法的实现过程。

    一、参数初始化的原则

    1.1 一些基本的储备知识

    在总结参数初始化的原则之前,先简单看一下网络运行的过程,参数初始化的目的是使网络能够更好的训练,现在大部分的网络训练依然是采用误差的反向传播算法,误差反向传播分为正反两个过程,这里就不再赘述了,先引入几个概念,看下面这幅图,这是一个神经网络的某一个层:

    我们引入几个概念:

    激活值h:因为它经过了激活函数,实质上就是每一个网络层的输出值;

    状态值z:每一个层内部的组成如上所示,z是作为激活函数的一个输入,它在网络层的内部,所以称之为状态值。

    数据在网络中流动的时候,会有下面的公式(这里默认没有偏置项):

    然后在反向传播的过程中,由于是复合函数的求导,根据链式法则,会有两组倒数,一个是损失函数Cost对Z的导数,一个是损失函数对W的导数,(详细过程这里不推到),这里再引入两个概念:

    (1)损失函数关于状态Z的梯度:即

    (2)损失函数关于参数W的梯度:即

    2、参数初始化的几个基本条件

    什么样的初始化参数才是最好的呢?这里直接引入几个参数初始化的要求:

    Glorot条件:优秀的初始化应该保证以下两个条件:

    (1)各个层的激活值h(输出值)的方差要保持一致,即

    (2)各个层对状态Z的梯度的方差要保持一致

    这就是Glorot条件条件,后面会介绍到Glorot初始化。

    3、关于方差的三个客观事实

    既然要保持上面的两个方差在各个网络层中不改变,那也就是它实际上是会改变的,关于为什么会改变的公式推导,这里不详细说明了,直接引入三个基本的客观事实(两有关一无关):

    (1)各个层激活值h(输出值)的方差与网络的层数有关

    (2)关于状态Z的梯度的方差与网络的层数有关

    (3)各个层参数W的梯度的方差与层数无关

    关于上面几个基本结论的详情以及公式推导,我们可以参考原论文:

    http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf

    借用论文中的几幅图,也可以看出这几个结论。

    (1)各层激活值h直方图如下: 

    可以看出,激活值的方差逐层递减。 

    (2)各层状态Z的梯度的直方图如下:

    状态的梯度在反向传播过程中越往下梯度越小(因为方差越来越小)。

    (3)各层参数W的梯度的直方图

    参数梯度的方差和层数基本无关。

    4、参数初始化的几点要求

    (1)参数不能全部初始化为0,也不能全部初始化同一个值,为什么,请参见“对称失效”;

    (2)最好保证参数初始化的均值为0,正负交错,正负参数大致上数量相等;

    (3)初始化参数不能太大或者是太小,参数太小会导致特征在每层间逐渐缩小而难以产生作用,参数太大会导致数据在逐层间传递时逐渐放大而导致梯度消失发散,不能训练

    (4)如果有可能满足Glorot条件也是不错的

    上面的几点要求中,(1)(2)(3)基本上是硬性要求,这也就衍生出了一系列的参数初始化方法,什么正态标准化等诸如此类的标准化方法,关于各种参数初始化方法,会在后面继续说明。

    二、常见的参数初始化方法

    我们常见的几种初始化方法是按照“正态分布随机初始化——对应为normal”和按照“均匀分布随机初始化——对应为uniform”,这里就不再多说了,这里介绍几种遇见较少的初始化方法。

    1、Glorot初始化方法

    (1)正态化的Glorot初始化——glorot_normal

    Glorot 正态分布初始化器,也称为 Xavier 正态分布初始化器。它从以 0 为中心,标准差为 stddev = sqrt(2 / (fan_in + fan_out)) 的截断正态分布中抽取样本, 其中 fan_in 是权值张量中的输入单位的数量, fan_out 是权值张量中的输出单位的数量。

    在keras和tensorflow均有实现,以keras为例:

    keras.initializers.glorot_normal(seed=None)
    

    (2)标准化的Glorot初始化——glorot_uniform

    Glorot 均匀分布初始化器,也称为 Xavier 均匀分布初始化器。

    它从 [-limit,limit] 中的均匀分布中抽取样本, 其中 limit 是 sqrt(6 / (fan_in + fan_out)), fan_in 是权值张量中的输入单位的数量, fan_out 是权值张量中的输出单位的数量。

    以keras为例:

    keras.initializers.glorot_uniform(seed=None)
    

    (3)Glorot初始化器的缺点

    因为Xavier的推导过程是基于几个假设的,

    其中一个是激活函数是线性的,这并不适用于ReLU,sigmoid等非线性激活函数;

    另一个是激活值关于0对称,这个不适用于sigmoid函数和ReLU函数它们不是关于0对称的。

    2、Kaiming初始化

    Kaiming初始化,也称之为he初始化,也称之为msra初始化,出自大神 何凯明只手。即

    Kaiming initializer=he initializer=msra initializer

    因为前面讲了Glorot初始化不适合relu激活函数,所以
    残差网络的作者何凯明在这篇论文中提出了ReLU网络的初始化方法:Kaming初始化。作者的推导过程针对的其实是卷积网络的前向和反向过程。而为了和Xavier初始化方法保持一致,这里我们还是讨论全连接网络结构。 
    关于期望、方差的性质,我们已经在Xavier初始化一节介绍过了,这里不再重复。

    在Xavier论文中,作者给出的Glorot条件是:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。

    这在本文中稍作变换:正向传播时,状态值的方差保持不变;反向传播时,关于激活值的梯度的方差保持不变。 

    (1)正态化的kaiming初始化——he_normal

    He 正态分布初始化器。

    它从以 0 为中心,标准差为 stddev = sqrt(2 / fan_in) 的截断正态分布中抽取样本, 其中 fan_in是权值张量中的输入单位的数量,在keras中的实现为

    keras.initializers.he_normal(seed=None)
    

    (2)标准化化的kaiming初始化——he_uniform

    He 均匀方差缩放初始化器。

    它从 [-limit,limit] 中的均匀分布中抽取样本, 其中 limit 是 sqrt(6 / fan_in), 其中 fan_in 是权值张量中的输入单位的数量。

    keras.initializers.he_uniform(seed=None)
    

    3、lecun初始化

    出自大神Lecun之手。

    (1)标准化化的kaiming初始化——lecun_uniform

    LeCun 均匀初始化器。

    它从 [-limit,limit] 中的均匀分布中抽取样本, 其中 limit 是 sqrt(3 / fan_in), fan_in 是权值张量中的输入单位的数量。

    keras.initializers.lecun_uniform(seed=None)
    

    (2)正态化的kaiming初始化——lecun_normal

    LeCun 正态分布初始化器。

    它从以 0 为中心,标准差为 stddev = sqrt(1 / fan_in) 的截断正态分布中抽取样本, 其中 fan_in是权值张量中的输入单位的数量。

    keras.initializers.lecun_normal(seed=None)
    

    4、Batch Normalization
    BN是将输入的数据分布变成高斯分布,这样可以保证每一层神经网络的输入保持相同分布。

    优点 
    随着网络层数的增加,分布逐渐发生偏移,之所以收敛慢,是因为整体分布往非线性函数取值区间的上下限靠近。这会导致反向传播时梯度消失。BN就是通过规范化的手段,把每层神经网络任意神经元这个输入值的分布强行拉回到均值0方差1的标准正态分布,使得激活输入值落入非线性函数中比较敏感的区域。可以让梯度变大,学习收敛速度快,能大大加快收敛速度。

    Scale and Shift作用 
    γ和βγ和β是学习到的参数,他们可以让标准正态分布变得更高/更胖和向左右偏移。 

    三、参数初始化方法的总结

    四、参考文献

    https://blog.csdn.net/mzpmzk/article/details/79839047

    https://blog.csdn.net/siyue0211/article/details/80384951

    http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf

    https://blog.csdn.net/victoriaw/article/details/73000632

    https://blog.csdn.net/VictoriaW/article/details/73166752

    https://blog.csdn.net/shuzfan/article/details/51347572

    https://keras.io/zh/initializers/

    展开全文
  • 入Tent 混沌初始化种群策略、不同蜂种的邻域搜索策略和锦标赛选择策略等, 提出了一种基于多策略人工蜂群.的多序列比对算法. 该算法应用Tent混沌初始化种群策略以使初始个体多样化和获取较好初始解; 其次针对不同....
  • 可是有些雨林木风win7用户再打开组策略的“管理模板”选项时弹出了“MMC无法初始化管理单元”的错误提示,这该怎么办呢?下面由小编给大家介绍win7组策略提示MMC无法初始化管理单元的解决方法。方法一:1、打开...

    ‍‍

    很多时候我们都要通过使用组策略来设置各种软件、计算机和用户的策略。可是有些雨林木风win7用户再打开组策略的“管理模板”选项时弹出了“MMC无法初始化管理单元”的错误提示,这该怎么办呢?下面由小编给大家介绍win7组策略提示MMC无法初始化管理单元的解决方法。

    289965198d87471c29b07497cfe799b7.png

    方法一:

    1、打开“开始”菜单,在搜索框中输入“cmd”,然后右键点击cmd.exe图标并选择“以管理员身份运行”;

    2、分别输入下面的指令,并按回车键执行。

    regsvr32 gpedit.dll

    regsvr32 wsecedit.dll

    3、如果无法注册,请将“c:\windows\system32\wbem”目录下的“Framedyn.dll”文件复制到“c:\windows\system32”目录下,再重复上面的步骤。

    方法二:

    在cmd命令提示符中使用“SFC /SCANNOW”指令修复一下系统。

    方法三:

    在开始菜单中打开“运行”,输入“regsvr32 C:/Windows/system32/msxml3.dll”,按下回车。

    方法四:

    1、进入“C:\windows\system32”目录,找到“dmdskmgr.dll,dmdskres.dll,dmdskres2.dll” 这三个文件;

    2、右键点击“dmdskmgr.dll”,选择“属性--安全”,将所有者修改为你正在使用的账号,对其他2个文件执行相同操作,;

    3、然后删除这三个文件,到别的Win7系统电脑上复制三个文件到自己电脑的“C:\windows\system32”;

    4、恢复上述三个文件的“系统保护权限”,右键其中一个文件,选择“属性--安全--高级”;

    5、更改权限,把最下面的复选框勾掉(不选),提示删除权限,确定删除;

    6、此时权限内为空,在“C:\windows\system32\”目录中随便找一个dll文件,参照其权限,添加“Administrators, Users, System”等权限参数;

    7、TrustedInstaller 权限添加时, 对象名称应该输入"NT Service\TrustedInstaller"。

    以上就是win7组策略提示MMC无法初始化管理单元怎么办的全部内容了,出现该提示很有可能就是系统文件损坏导致,只要按照上述方法就可以修复。‍‍

    展开全文
  • MySQL5.7版本初始密码及密码策略修改

    千次阅读 2018-07-17 20:38:24
    1、初始安装的mysql数据库默认设置了root用户密码,必须要修改密码之后才能够使用。 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 2、先通过...
  • **策略模式:**定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 传统的策略模式一般是创建公共接口、定义公共方法——》然后创建实体类实现公共接口、根据各自的...
  • 深度学习之参数初始策略

    万次阅读 多人点赞 2017-10-13 22:09:43
    本文介绍了深度学习中参数的初始化对训练的影响以及常用参数初始策略,标准初始化,Xavier初始化,He初始化。
  • 目的:降低梯度消失和梯度爆炸的可能性。...权重初始化与每一层的节点个数有关,节点个数越多,每一层的权重参数越小。 参考链接: https://blog.csdn.net/Harpoon_fly/article/details/85227677 ...
  • 针对标准WOA 算法初始种群分布不均、收敛速度较慢、全局搜索能力弱且易陷入局部最优等问题,提出一种混合策略改进的鲸鱼优化算法。首先,采用 Sobol 序列初始化种群以使初始解在解空间分布更均匀;然后,通过非线性...
  • 传统的遗传算法求解VRP时,初始种群多半采取随机生成法形成染色体方案,以致于迭代开始就可能形成许多不...论文提出的遗传编码策略,对初始种群给予基于知识型启发策略,使得初始种群一开始就表现为一种较优的状态。
  • 前言:深度学习的初始化参数指的是在网络训练之前,对各个节点的权重和偏置进行初始化的过程,很...本文就来讨论一下参数初始化到底有什么讲究以及常见的参数初始化的一些策略方法。阅读本文需要神经网络相关背景,...
  • k8s 重启策略、健康检查、环境变量、初始化容器Pod基本概念Pod特点Pod存在意义Pod资源共享实现机制重启策略健康检查环境变量init Container(初始化容器)haproxy Pod基本概念 Pod是Kubernetes创建和管理的最小单元,...
  • Xavier初始化和 MSRA初始化(He初始化) 1、Xavier初始化: 优点:这个初始化器是用来保持每一层的梯度大小都差不多相同。通过使用这种初始化方法,可以 避免梯度在最后一层网络中爆炸或者弥散 。 条件:正向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 485,343
精华内容 194,137
关键字:

初始策略23