精华内容
下载资源
问答
  • 1.前言 我的毕设做的是基于opencv和卷积神经网络的人脸识别项目。...2.卷积神经网络模型概览 ** 从一开始的LeNet到后来的VGGNet,再到google的Inception系列,再到ResNet系列,每一种神经网络模型都有其创新...

    1.前言

    我的毕设做的是基于opencv和卷积神经网络的人脸识别项目。在做完这个项目之后,我一直想好好总结一下所学到的关于卷积神经网络的知识。现在趁着有点空闲,随手记录一点以前学过的,或者正在学习的知识点,相当于一个备忘录。

    **

    2.卷积神经网络模型概览

    **
    常见的卷积神经网络结构
    从一开始的LeNet到后来的VGGNet,再到google的Inception系列,再到ResNet系列,每一种神经网络模型都有其创新的点,下面我们就来按照历史脉络好好讲解一下各种模型的特点。(里面涉及到的各种卷积神经网络的基础知识要点可以参见我的另一篇基础博客)

    2.1LeNet模型结构

    LeNet网络结构是再1998年由lecun提出的。它被创造出来的目的是解决手写数字识别的问题。即它是一个10分类任务的解决办法。下图是它的一个基本的网络结构。
    LeNet网络结构
    网络结构图中显示的很清楚。它包括了两个卷积层,两个下采样层,两个全连接层和一个激活层,最后有一个sotfmax分类层。可以说,LeNet麻雀虽小,五脏俱全。包括了基本的卷积神经网络的所有单元。

    2.2 AlexNet

    话不多说,我们直接上来看AlexNet的网络结构:
    在这里插入图片描述
    我们可以看到,它的网络结构被分成了两支,这是因为当时的GPU计算能力不够,显存容量不够大。为了完成模型的训练,作者使用了两块显卡来进行分布式的训练。我们现在想要训练这样一个模型,只需要实现其中一条就好了。
    emmmm我其实个人是想知道怎么进行分布式训练的,但是我没有两块显卡(贫穷限制了我的发展) 找不到相关技术资料,这里就不赘述了。
    对比刚刚的LeNet,我们可以发现从结构上来看,它并没有很大的改变。我们看它的网络结构:输入层是224* 224的数据,然后进行了多轮卷积(提取特征),其中包括11* 11的卷积核,5* 5的卷积核,3* 3的卷积核。虽然在图片上我们只画了卷积层,但我们应该知道,每一个卷积层之后都会跟上一个激活层(用来增加模型的非线性表达能力),一个降采样pooling层(减小数据量,提取主要特征),以及一个局部归一化处理(对数据进行一定的约束,使我们的数据约束在一定的范围内,使网络更好的收敛)。经过多个卷积层之后,就会有三个fc层(全连接层)。同样的,在每一个fc层之后,也会有有一个relu激活层,以及一个dropout层(减小参数量,防止过拟合,增加i网络结构变化)。最后呢,通过一个fc层+softmax层来将我们的数据映射到一个一千维的向量上去(因为实现的是一千种物品的分类网络),这个向量就是我们输入的图像在这一千个类别上的概率分布。其中概率值最高的那个类别就是网络判断出来图像所属的类别。相较与LeNet网络,它的网络深度更深,并且成功运用了gpu进行运算,为后面的人们打开了新世界大门。整个网络的参数量在60兆以上,最中训练出来的模型文件在200兆以上。它最大的意义在于,通过这次实验,证明了更深层次的卷积神经网络,可以提取出更加鲁棒的特征信息,并且这些特征信息能更好的区分物品类别。

    我个人的意见是,这个更深层网络提取更高维度的特征,它是这么个意思:前面的卷积层提取一些浅层的特征,比如纹理,形状(我们输入的是颜色特征),然后中间的卷积层呢,提取的是一些更复杂的特征,这些特征难以描述,就类似于我们中国说看山不是山,看水不是水的境界,只可意会,不可言传。而最后的分类信息,就是最后的看山还是山,看水还是水的境界。

    在AlexNet网络中,有以下特点:

    • 增加了relu非线性激活函数,增强了模型的非线性表达能力。成为以后卷积层的标配。
    • dropout层防止过拟合。成为以后fc层的标配。
    • 通过数据增强,来减少过拟合。
    • 引入标准化层(Local Response Normalization):通过放大那些对分类贡献较大的神经元,抑制那些对分类贡献较小的神经元,通过局部归一的手段,来达到作用。

    当然后来人们通过研究发现,这个LRN层并没有啥太好的作用,所以在后来的网络结构中,它被BN层(批归一化层)取代了。

    2.3 ZFNet

    在这里插入图片描述
    ZFNet在AlexNet的基础上做了小小的改进:

    • 调整第一层卷积核大小为7*7
    • 设置卷积参数stride=2

    通过更小的卷积核和更小的步长,来提取更多的信息,确保网络提取出来的信息更加有效。其次,它增加了卷积核数量,导致网络更加庞大。
    最重要的是:它从可视化的角度出发,解释了CNN有非常好的性能的原因。
    在这里插入图片描述

    如图所示,右半边是我们一个正常的神经网络的数据流向:对于一副输入图像,我们通过pooling层来进行下采样,再通过卷积层进行特征提取,通过relu层来提升非线性表达能力。对于最后的输出结果,我们怎么把它还原成原始的图片呢?
    实际上,如果我们想进行100%的还原是不可能的,因为每一次的pooling层都会丢失一些信息。因此我们在可视化的时候,更主要的是对它的特征的语义进行更高层次的分析。通过对输出层进行上采样,可以得到与我们原始图像大小一致的特征图。通过观察这些特征图,作者得出了这样的一些结论:

    • 特征分层次体系结构(就是我前面说的三层)
    • 深层特征更鲁棒(区分度高,不受图片微小的影响)
    • 深层特征收敛更慢

    2.4 VGGNet

    它由牛津大学计算机视觉组和Google Deepmind共同设计。主要是为了研究网络深度对模型准确度的影响,并采用小卷积堆叠的方式,来搭建整个网络。它的参数量达到了138M,整个模型的大小>500M.网络结构如下:
    在这里插入图片描述
    从上面的结构中我们可以看到,VGGNet的网络结构被分为11,13,16,19层。每层都包含了不同数量的卷积层(需要注意的是,每层卷积层之后都有激活层和池化层,只是由于长度限制没有在表中列出来),最后通过三个fc层来将我们的特征进行最后的向量化,最终得到一个1000维的向量,这个向量经过softmax之后,就会得到最终我们类别上的概率分布。而概率值最高的那个,就是我们所要分类的那个类别。
    VGGNet的特点:

    • 网络深,卷积层多。结构哦更加规整,简单。
    • 卷积核都是3* 3的或者1* 1的,且同一层中channel的数量都是相同的。最大池化层全是2*
      2。
    • 每经过一个pooling层后,channel的数量会乘上2.
      也就是说,每次池化之后,Feature Map宽高降低一半,通道数量增加一倍。VGGNet网络层数更多,结构更深,模型参数量更大。

    VGGNet的意义:

    • 证明了更深的网络,能更好的提取特征。
    • 成为了后续很多网络的backbone。

    2.5 GoogleNet/Inception v1

    在设计网络结构时,不仅仅考虑网络的深度,也会考虑网络的宽度,并将这种结构定义为Inception结构(一种网中网(Network in Network)的结构,即原来的节点也是一个网络)。
    值得一提的是,GoogleNet网络的参数量只有6.9兆,模型大小大约50M.
    为什么GoogleNet网络的参数这么少呢?我们先来看一下它的基本单元的结构:
    在这里插入图片描述
    主要原因就是它有效的利用了1* 1 的卷积核。不同于VGGNet从上到下的类似于一个串的结构,Inception的结构表现为一个网中网的结构。也就是说,对于我们中间的一个隐藏层层,它的每个节点也都是一个卷积网络。对于前一层传入进来的特征图,这层的每一个节点对它进行了1* 1 ,3* 3,5* 5的卷积和3* 3的pooling操作。其中值得一提的是,在3* 3和5* 5 的卷积操作之前,该网络用1* 1 的卷积核降低了输入层的channel的数量。例如:我们的输入是一个56* 56 * 128维的这么一个特征(这时候128就是我们channel的数量)。我们通过一个1* 1 的卷积核,可以将通道数降为32,然后我们将它再输入到3* 3的卷积核中。大大减少了计算量。最后,我们将所有的Feature Map进行连接,最后得到这个层的输出。
    在ZFNet的学习中我们知道,更深层的网络收敛的速度就越慢。在GoogleNet中,为了保证网络更深之后,能够哦收敛的比较好,它采用了两个loss来对网络参数进行调节,进而确保在网络变深之后,依然能够达到一个比较好的收敛效果。
    这里需要解释一下什么叫网络宽度:网络深度指的是当前的这个网络一共有多少层,宽度则是说在同一层上channel的数量。
    在这里插入图片描述
    这里我们举了一个例子,来说明如何通过1* 1 的卷积核来进行计算量的一个节省,以及参数规模的一个降低。大家自行体会。

    2.6 Inception v2/v3

    在提出了Inception v1之后,google又提出了Inception v2/v3/v4.在前面介绍视觉感受野的时候,我们曾经说过,一个大的卷积核可以由多个小的卷积核来替代。在v2/v3中,他们有效的利用了这个知识。在Inceptiion v2中,伟大的作者们通过两层3* 3的卷积核代替掉了5* 5的卷积核。而在Inception v3中,更是桑心病狂 别出心裁的用n* 1 + 1* n的卷积核代替了n* n的卷积核。
    在这里插入图片描述
    通过这样的操作,我们能够实现什么样的效果呢?

    • 参数量降低,计算量减少。
    • 网络变深,网络非线性表达能力更强(因为在每一个卷积层后面都可以增加一个激活层)

    要注意的是,在实验中伟大的先行者们发现,并不是拆分都能达到很好的效果。卷积的拆分最好是用在中间的部分,不要在图像的开始就进行这样的拆分。

    2.7 ResNet

    它是在2015年,有何凯明团队提出,引入了跳连的结构来防止梯度消失的问题,进而可以进一步加大网络深度。它的结构如下所示:
    在这里插入图片描述
    跳连的结构如下所示:
    在这里插入图片描述
    可以发现,其他的网络中,都是从上到下的串联的结构 ,而resnet网络则是跳连结构,它的意思是将输入特征直接传输到输出层,和经过卷积之后的特征相加,共同组成输出层的一部分。
    那么,为什么通过跳连结构就可以加深网络的深度呢?在VGG网络中,我们知道当网络深度达到一定界限的时候,在训练中就较难收敛。较难收敛的原因就是随着网络深度的加深,产生了梯度消失的问题。什么是梯度消失呢?有基础的人应该知道,卷积神经网络在进行BP时,都是通过梯度来计算权重修改量的。而梯度的计算遵循的是链式法则,即一个参数的梯度是多个梯度相乘之后的结果。假如每个梯度都小于1的话,那么,x1 * x2* x3* x4…,当n趋于无穷的时候,limxn=0,即梯度消失。假如每个梯度都大于1的话,那么,x1 * x2 x3 * x4…,当n趋于无穷的时候,limxn=正无穷,即梯度爆炸。(这里的n其实就是卷积的层数)所以理论上来说,伴随着网络的加深,我们可以提取到更好的特征,但是网络的参数是非常难以调节的,因为这时候我们求解出来的梯度是没办法来调节参数的。而resnet通过跳连的结构,就可以缓解这个问题。
    我们可以很清楚的从跳连结构示意图中看到,加入了跳连结构之后,并没有增加模型的参数量,尽管它改变了网络结构。
    从ResNet的网络结构中我们可以发现,它在一开始时设置卷积核大小为7
    7,这是因为一开始的时候我们的输入图像的channel只有3,与7* 7的卷积核进行计算的话并不会增加多少计算量。而在ResNet网络的最后,伟大的作者们又一次别出心裁,用average pool层代替了全连接层。这一手操作也是大大的降低了参数量和计算量。因为我们知道,全连接层的参数多,且计算最为复杂,在VGG中,全连接层的参数量占到了总参数量的80%。而pooling层并没有参数。
    接下来我们来讨论一下,为什么ResNet网络可以缓解梯度消失的问题呢? 跳连结构实际上也被称为恒等映射:H(x)=F(x)+x。当F(x)=0时,H(x)=x,这就是所谓的恒等映射。这个跳连的这根线,可以实现差分放大的效果,将梯度放大,来缓解梯度的消失(具体的我也不太明白,等以后有时间再更一篇专门写的吧)。举个例子,假设F(x)=2x,当x从5变化成为5.1时,F(x)从10变为10.2.如果这时候求F(x)的导数的话,公式为(10.2-10)/(5.1-5)=2.而如果变成H(x)的话,导数为(10.2+5.1-(10.0+5))/(5.1-5)=3.这样就放大了导数,即梯度。
    在ResNet中有两种跳连结构:
    在这里插入图片描述
    左边的是当层数较小时,不用1* 1的卷积核来降低参数量和计算量,后面的是在50,101,152层的网络中,用1* 1 的卷积核来降低参数量和计算量。
    在ResNet中,除了跳连结构之外,它还采用了BatchNormalization批归一化来对数据scale和分布进行约束,同时BN层也可以进行简单的正则化,提高网络抗过拟合能力(每个卷积之后配合一个BN层)。
    ResNet的设计特点:

    • 核心单元简单堆叠。
    • 跳连结构解决网络梯度消失问题。
    • Average Pooling层代替fc层。
    • BN层加快网络训练速度和收敛时的稳定性。
    • 加大网络深度,提高模型的特征抽取能力。

    **

    3.卷积神经网络结构对比

    **

    在这里插入图片描述

    展开全文
  • SPSS(五)SPSS之相关分析与线性回归模型(图文+数据集) 在讲解线性回归模型之前,先来学习相关分析的知识点,因为相关分析与回归有着密切的联系 相关分析 任意多个变量都可以考虑相关问题,不单单局限于两个...

    SPSS(五)SPSS之相关分析与线性回归模型(图文+数据集)

    在讲解线性回归模型之前,先来学习相关分析的知识点,因为相关分析与回归有着密切的联系

    相关分析

    • 任意多个变量都可以考虑相关问题,不单单局限于两个变量,一次可以分析多个变量的相关性

    • 任意测量尺度的变量都可以测量相关强度,不单单仅可以测连续与连续变量的相关性,连续变量和有序分类变量,连续变量和无序分类变量都可以测量相关性,不过衡量指标我们不常接触而已

    连续与连续变量的相关性常用术语

    直线相关

        两变量呈线性共同增大

        呈线性一增一减

    曲线相关

        两变量存在相关趋势

        并非线性,而是呈各种可能的曲线趋势

    正相关与负相关

    完全相关

     

    相关分析对应SPSS位置(分析--相关)

    双变量过程(例子:考察信心指数值和年龄的相关性

    §进行两个/多个变量间的参数/非参数相关分析

    §如果是多个变量,则给出两两相关的分析结果

    偏相关过程(例子:在控制家庭收入QS9对总信心指数影响的前提下,考察总信心指数值和年龄的相关性。

    §对其他变量进行控制

    §输出控制其他变量影响后的相关系数

    距离过程

    §对同一变量内部各观察单位间的数值或各个不同变量间进行相似性或不相似性(距离)分析

    §前者可用于检测观测值的接近程度

    §后者则常用于考察各变量的内在联系和结构

    §一般不单独使用,而是作为多维标度分析(multidimensional scaling ,MDS)的预分析过程

     

    相关分析和回归分析的关系

    研究两个变量间的紧密程度:相关分析

    研究因变量随自变量的变化:回归分析

     

    回归分析概述

    因变量:连续变量

    自变量:通常为连续变量,也可以是其他类型

    1. 研究一个连续性变量(因变量)的取值随着其它变量(自变量)的数值变化而变化的趋势
    2. 通过回归方程解释两变量之间的关系显的更为精确,可以计算出自变量改变一个单位时因变量平均改变的单位数量,这是相关分析无法做到的
    3. 除了描述两变量的关系以外,通过回归方程还可以进行预测和控制,这在实际工作中尤为重要

    §回归分析假定自变量对因变量的影响强度是始终保持不变的,如公式所示:

    §对于因变量的预测值可以被分解成两部分:

    §常量(constant):x取值为零时y的平均估计量,可以被看成是一个基线水平

    §回归部分:它刻画因变量Y的取值中,由因变量Y与自变量X的线性关系所决定的部分,即可以由X直接估计的部分

    §Ŷy的估计值(所估计的平均水平),表示给定自变量的取值时,根据公式算得的y的估计值

    §a:常数项,表示自变量取值均为0时因变量的平均水平,即回归直线在y轴上的截距(多数情况下没有实际意义,研究者也不用关心)

    §b:回归系数,在多变量回归(多个自变量的回归)中也称偏回归系数。自变量x 改变一个单位,y估计值的改变量。即回归直线的斜率

    §估计值和每一个实测值之间的差被称为残差。它刻画了因变量y除了自变量x以外的其它所有未进入该模型,或未知但可能与y有关的随机和非随机因素共同引起的变异,即不能由x直接估计的部分。

    §为了方程可以得到估计,我们往往假定ei服从正态分布N(0,σ2),就是说相同

    (大家可以发现和方差分析模型表达式几乎一模一样,a对应u,只不过bx是连续的,ai和bi是分类的)

     

    线性回归模型适用范围

    §线性趋势

    §独立性

    §样本量

    §根据经验,记录数应当在希望分析的自变量数的20倍以上为宜

    §实质上样本量和模型的决定系数有关,可通过迭代的方法进行计算

    §正态性

    §方差齐性

    §如果只是探讨自变量与因变量间的关系,则后两个条件可以适当放宽

    备注:由于是连续变量,不可能事先分组描述,分组检验,我们一般做事后残差分析来看检验模型的正态性及方差齐性

     

    线性回归模型分析步骤

    1.考察数据的分布,进行必要的预处理。即分析变量的正态性、方差齐等问题

    2.进行直线回归分析

    3.残差分析

        残差间是否独立(Durbin-Watson检验)

        残差分布是否为正态(图形或统计量)

     

    如何进行残差分析

    图一是正常的残差图

    图二残差随着自变量的变大而增大,证明方差不齐,我们可以使用变量转换的方法或者加权最小二乘法(同理随着自变量的变大而减小也是)

    图三可能是没有把高次项或者交互项放进模型建模分析

     

     案例

    §某专门面向年轻人制作肖像的公司计划在国内再开设几家分店,收集了目前已开设的分店的销售数据(Y,万元)及分店所在城市的16岁以下人数(X1,万人)、人均可支配收入(X2,元)试进行统计分析。

    §实际上拟合的模型如下:(回归里面一般不考虑交互项,想加的话可以作为一个新变量x1*x2加进来)

    数据集如下

    17.44	6.85	1670
    16.44	4.52	1680
    24.42	9.13	1820
    15.46	4.78	1630
    18.16	4.69	1730
    20.75	6.61	1820
    15.28	4.95	1590
    16.32	5.20	1720
    14.54	4.89	1660
    13.72	3.84	1600
    24.19	8.79	1830
    19.11	7.28	1710
    23.20	8.84	1740
    14.53	4.29	1580
    16.11	5.25	1780
    20.97	8.57	1840
    14.64	4.13	1650
    14.40	5.17	1630
    23.26	8.96	1810
    22.41	8.27	1910
    16.65	5.23	1600

    首先作所有自变量---因变量散点图

    作散点图作用有三个:

    1.观察有无趋势

    2.是否是线性趋势

    3.有无强离群点

     

    图形----图表构建程序

    选择散点图

    发现销售收入--年轻人数有线性趋势,无强离群点

    同理销售收入--人均可支配收入有线性趋势,可能有离群点,我们最后结合残差分析

     

    建模(分析----回归---线性)

    结果解读

    决定系数R2(无限接近于1越好,简单来说衡量模型可用性与模型信息量的表达)

    相应的相关系数的平方,用R2表示,它反映因变量y的全部变异中能够通过回归关系被自变量解释的比例

     

    看sig.,加入sig.<0.05证明用这些因变量来预测是有价值的,但是具体哪一个变量有价值,要结合下面这张表格来看

    年轻人人数、人均可支配收入sig.<0.05,证明都有意义,B就是回归模型的偏回归系数,标准系数就是偏回归系数消除量纲影响进行标准化

    所以我们回归的方程为

    y=-6.886+1.455*x1+0.009*x2

     

    残差分析

    • 检验残差之间的独立性(Durbin-Watson检验

    分析--回归--线性--统计量

    在结果的

     

    一般Durbin-Watson取值在[0,4] 

    当Durbin-Watson为2时残差完全独立

    当1<=Durbin-Watson<=3时,没有什么大问题

    Durbin-Watson<1 或者Durbin-Watson>3就有问题了

     

    • 残差分布是否为正态(图形或统计量)

    作标准化残差图

    正态性,由于样本量少,就不强求其正态分布了

     

    P-P图也是检验其正态性的,数据要靠近那条线越好

    最重要是这张图形 ,标准化残差图,我们可以从这图看数据有无极端值,一般在[-3,3]以没什么大问题

    还有查看变量之间的相关性以及多重共线性

     

    多重共线性(VIF>10或者条件索引>100就可能存在多重共线性)

     

    所以分析到这里,这个案列就完成了

     

    逐步回归

    由于刚才那个案例两个自变量是我们定死的,一定要扔进去建模的,但是正常会有很多自变量,需要我们做变量的挑选

    逐步回归的基本思想是将变量逐个引入模型,每引入一个解释变量后都要进行F检验,并对已经选入的解释变量逐个进行t检验,当原来引入的解释变量由于后面解释变量的引入变得不再显著时,则将其删除。以确保每次引入新的变量之前回归方程中只包含显著性变量。这是一个反复的过程,直到既没有显著的解释变量选入回归方程,也没有不显著的解释变量从回归方程中剔除为止。以保证最后所得到的解释变量集是最优的。

     

    多变量的筛选策略较稳妥的方式

    • 单自变量回归模型,筛掉那些显然无关联的候选变量
    • 尝试建立多自变量模型,可手动、也可利用自动筛选方法,但使用后者时要谨慎
    • 多自变量和单自变量模型结果相矛盾时,以前者为准
    • 结果不符合专业知识时,尽量寻找原因

     

    案例:固体垃圾排放量与土地种类的关系

    本例来自Golueke and McGauhey 1970年对美国40个城市的固体垃圾排放量()的调查资料,所关心的问题是不同种类土地使用面积(单位,英亩)与固体垃圾排放量之间的关系。可能的影响因素有:indust(工业区土地面积的大小)、metals(金属制造企业用地面积)、trucks(运输及批发商业用地面积)、retail(零售业用地面积)、restrnts(餐馆与宾馆用地面积)。试作逐步回归分析。

    数据集如下

    102.0	69.0	133.0	125.0	36.0	0.3574
    1220.0	723.0	2616.0	953.0	132.0	1.9673
    139.0	138.0	46.0	35.0	6.0	0.1862
    221.0	637.0	153.0	115.0	16.0	0.3816
    12.0	0.0	1.0	9.0	1.0	0.1512
    1.0	50.0	3.0	25.0	2.0	0.1449
    1046.0	127.0	313.0	392.0	56.0	0.4711
    2032.0	44.0	409.0	540.0	98.0	0.6512
    895.0	54.0	168.0	117.0	32.0	0.6624
    0.0	0.0	2.0	0.0	1.0	0.3457
    25.0	2.0	24.0	78.0	15.0	0.3355
    97.0	12.0	91.0	135.0	24.0	0.3982
    1.0	0.0	15.0	46.0	11.0	0.2044
    4.0	1.0	18.0	23.0	8.0	0.2969
    42.0	4.0	78.0	41.0	61.0	1.1515
    87.0	162.0	599.0	11.0	3.0	0.5609
    2.0	0.0	26.0	24.0	6.0	0.1104
    2.0	9.0	29.0	11.0	2.0	0.0863
    48.0	18.0	101.0	25.0	4.0	0.1952
    131.0	126.0	387.0	6.0	0.0	0.1688
    4.0	0.0	103.0	49.0	9.0	0.0786
    1.0	4.0	46.0	16.0	2.0	0.0955
    0.0	0.0	468.0	56.0	2.0	0.0486
    7.0	0.0	52.0	37.0	5.0	0.0867
    5.0	1.0	6.0	95.0	11.0	0.1403
    174.0	113.0	285.0	69.0	18.0	0.3786
    0.0	0.0	6.0	35.0	4.0	0.0761
    233.0	153.0	682.0	404.0	85.0	0.8927
    155.0	56.0	94.0	75.0	17.0	0.3621
    120.0	74.0	55.0	120.0	8.0	0.1758
    8983.0	37.0	236.0	77.0	38.0	0.2699
    59.0	54.0	138.0	55.0	11.0	0.2762
    72.0	112.0	169.0	228.0	39.0	0.324
    571.0	78.0	25.0	162.0	43.0	0.3737
    853.0	1002.0	1017.0	418.0	57.0	0.9114
    5.0	0.0	17.0	14.0	13.0	0.2594
    11.0	34.0	3.0	20.0	4.0	0.4284
    258.0	1.0	33.0	48.0	13.0	0.1905
    69.0	14.0	126.0	108.0	20.0	0.2341
    4790.0	2046.0	3719.0	31.0	7.0	0.7759

    逐步回归建模两种方法

    • 手动自己一个一个去尝试,一般结果非常重要,建议手动,SPSS自动化错误率达到30%(这里就不演示了)

     

    • SPSS自动方法(向前法、向后法、逐步法),一般来说逐步法结合了向前法向后法是最好的(只演示逐步法)

    可以看到每一个步骤 

    每一个步骤决定系数变化是我们最关注的,R2越大越好 ,也是我们筛选变量的标准

    已排除变量这张表要讲一下,说的是加入这个因变量模型会变得更加好吗?sig.<0.05表示会

     

     

    SPSS自动方法逐步法扔进变量和剔除变量的阈值是?

     

     

     

     

     

     

    展开全文
  • 我们预计albert_zh会有roberta_zh更好的性能表现,并且能更好处理较长的文本。 训练使用TPU v3 Pod,我们使用的是v3-256,它包含32个v3-8。每个v3-8机器,含有128G的显存。 模型性能与对比(英文) Performance and ...
    640?wx_fmt=jpeg

    (图片由AI科技大本营付费下载自视觉中国)


    作者 | 徐亮(实在智能算法专家) 
    来源 | AINLP(ID:nlpjob)


    谷歌ALBERT论文刚刚出炉一周,中文预训练ALBERT模型来了,感兴趣的同学可以直接尝鲜试用。


    项目链接:

    https://github.com/brightmart/albert_zh


    An Implementation of A Lite Bert For Self-Supervised Learning Language Representations with TensorFlow.


    ALBert is based on Bert, but with some improvements. It achieves state of the art performance on main benchmarks with 30% parameters less.


    For albert_base_zh it only has ten percentage parameters compare of original bert model, and main accuracy is retained.


    Chinese version of ALBERT pre-trained model, including checkpoints both for TensorFlow and PyTorch, will be available.


    海量中文语料上预训练ALBERT模型:参数更少,效果更好。预训练小模型也能拿下13项NLP任务,ALBERT三大改造登顶GLUE基准。


    ***** 2019-10-02: albert_large_zh *****


    Relased albert_large_zh with only 16% parameters of bert_base(64M)


    ***** 2019-10-01: albert_base_zh *****


    Relesed albert_base_zh with only 10% parameters of bert_base, a small model(40M) & training can be very fast.


    ***** 2019-09-28: codes and test functions *****


    Add codes and test functions for three main changes of albert from bert


    模型下载 Download Pre-trained Models of Chinese


    1、albert_large_zh,参数量,层数24,大小为64M

    
      


    
      

    参数量和模型大小为bert_base的六分之一;在口语化描述相似性数据集LCQMC的测试集上相比bert_base上升0.2个点


    2、albert_base_zh(小模型体验版), 参数量12M,层数12,大小为40M

    
      
    
      

    参数量为bert_base的十分之一,模型大小也十分之一;在口语化描述相似性数据集LCQMC的测试集上相比bert_base下降约1个点;
    相比未预训练,albert_base提升14个点


    3、albert_xlarge、 albert_xxlarge will coming recently.


    
      

    
      

    if you want use a albert model with best performance among all pre-trained models, just wait a few days.


    
      
    ALBERT模型介绍 Introduction of ALBERT

    ALBERT模型是BERT的改进版,与最近其他State of the art的模型不同的是,这次是预训练小模型,效果更好、参数更少。


    它对BERT进行了三个改造 Three main changes of ALBert from Bert:


    1)词嵌入向量参数的因式分解 Factorized embedding parameterization

    
      


    
      

     O(V * H) to O(V * E + E * H)

     如以ALBert_xxlarge为例,V=30000, H=4096, E=128

     那么原先参数为V * H= 30000 * 4096 = 1.23亿个参数,现在则为V * E + E * H = 30000*128+128*4096 = 384万 + 52万 = 436万,

     词嵌入相关的参数变化前是变换后的28倍。


    2)跨层参数共享 Cross-Layer Parameter Sharing


    
      

    
      

     参数共享能显著减少参数。共享可以分为全连接层、注意力层的参数共享;注意力层的参数对效果的减弱影响小一点。


    3)段落连续性任务 Inter-sentence coherence loss.

    
      
    
      

     使用段落连续性任务。正例,使用从一个文档中连续的两个文本段落;负例,使用从一个文档中连续的两个文本段落,但位置调换了。

     避免使用原有的NSP任务,原有的任务包含隐含了预测主题这类过于简单的任务。

      We maintain that inter-sentence modeling is an important aspect of language understanding, but we propose a loss 
      based primarily on coherence. That is, for ALBERT, we use a sentence-order prediction (SOP) loss, which avoids topic 
      prediction and instead focuses on modeling inter-sentence coherence. The SOP loss uses as positive examples the 
      same technique as BERT (two consecutive segments from the same document), and as negative examples the same two 
      consecutive segments but with their order swapped. This forces the model to learn finer-grained distinctions about
      discourse-level coherence properties. 

    其他变化,还有 Other changes:
    
      

    1)去掉了dropout  Remvoe dropout to enlarge capacity of model.
        最大的模型,训练了1百万步后,还是没有过拟合训练数据。说明模型的容量还可以更大,就移除了dropout
        (dropout可以认为是随机的去掉网络中的一部分,同时使网络变小一些)
        We also note that, even after training for 1M steps, our largest models still do not overfit to their training data. 
        As a result, we decide to remove dropout to further increase our model capacity.
        其他型号的模型,在我们的实现中我们还是会保留原始的dropout的比例,防止模型对训练数据的过拟合。

    2)为加快训练速度,使用LAMB做为优化器 Use lAMB as optimizer, to train with big batch size
      使用了大的batch_size来训练(4096)。LAMB优化器使得我们可以训练,特别大的批次batch_size,如高达6万。

    3)使用n-gram(uni-gram,bi-gram, tri-gram)来做遮蔽语言模型 Use n-gram as make language model
       即以不同的概率使用n-gram,uni-gram的概率最大,bi-gram其次,tri-gram概率最小。
       本项目中目前使用的是在中文上做whole word mask,稍后会更新一下与n-gram mask的效果对比。n-gram从spanBERT中来。

    
      


    发布计划 Release Plan


    1、albert_base,参数量12M, 层数12,10月7号

    2、albert_large,参数量18M, 层数24,10月13号

    3、albert_xlarge,参数量59M, 层数24,10月6号

    4、albert_xxlarge,参数量233M, 层数12,10月7号(效果最佳的模型)


    训练语料/训练配置 Training Data & Configuration


    30g中文语料,超过100亿汉字,包括多个百科、新闻、互动社区。


    预训练序列长度sequence_length设置为512,批次batch_size为4096,训练产生了3.5亿个训练数据(instance);每一个模型默认会训练125k步,albert_xxlarge将训练更久。


    作为比较,roberta_zh预训练产生了2.5亿个训练数据、序列长度为256。由于albert_zh预训练生成的训练数据更多、使用的序列长度更长,

    
      


    
      

    我们预计albert_zh会有比roberta_zh更好的性能表现,并且能更好处理较长的文本。


    训练使用TPU v3 Pod,我们使用的是v3-256,它包含32个v3-8。每个v3-8机器,含有128G的显存。


    模型性能与对比(英文) Performance and Comparision


    640?wx_fmt=jpeg

    640?wx_fmt=jpeg

    640?wx_fmt=jpeg


    中文任务集上效果对比测试 Performance on Chinese datasets


    • 自然语言推断:XNLI of Chinese Version


    640?wx_fmt=png


    注:BERT-wwm-ext来自于这里;XLNet来自于这里; RoBERTa-zh-base,指12层RoBERTa中文模型


    • 问题匹配语任务:LCQMC(Sentence Pair Matching) 


    640?wx_fmt=png


    • 语言模型、文本段预测准确性、训练时间 Mask Language Model Accuarcy & Training Time


    640?wx_fmt=png

    注:? 将很快替换


    模型参数和配置 Configuration of Models


    640?wx_fmt=jpeg


    代码实现和测试 Implementation and Code Testing

    通过运行以下命令测试主要的改进点,包括但不限于词嵌入向量参数的因式分解、跨层参数共享、段落连续性任务等。


    
      

    python test_changes.py


    预训练 Pre-training


    • 生成特定格式的文件(tfrecords) Generate tfrecords Files


    运行以下命令即可。项目自动了一个示例的文本文件(data/news_zh_1.txt)

    
      


    
      

       bash create_pretrain_data.sh


    如果你有很多文本文件,可以通过传入参数的方式,生成多个特定格式的文件(tfrecords)

    执行预训练 pre-training on GPU/TPU

    
      


    
      

    GPU:
    export BERT_BASE_DIR=albert_config
    nohup python3 run_pretraining.py --input_file=./data/tf*.tfrecord  \
    --output_dir=my_new_model_path --do_train=True --do_eval=True --bert_config_file=$BERT_BASE_DIR/albert_config_xxlarge.json \
    --train_batch_size=4096 --max_seq_length=512 --max_predictions_per_seq=76 \
    --num_train_steps=125000 --num_warmup_steps=12500 --learning_rate=0.00176    \
    --save_checkpoints_steps=2000   --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt &

    TPU, add following information:
        --use_tpu=True  --tpu_name=grpc://10.240.1.66:8470 --tpu_zone=us-central1-a

    注:如果你从头开始训练,可以不指定init_checkpoint;
    如果你从现有的模型基础上训练,指定一下BERT_BASE_DIR的路径,并确保bert_config_file和init_checkpoint两个参数的值能对应到相应的文件上;
    领域上的预训练,根据数据的大小,可以不用训练特别久。


    下游任务 Fine-tuning


    以使用albert_base做LCQMC任务为例。LCQMC任务是在口语化描述的数据集上做文本的相似性预测。


    下载LCQMC数据集,包含训练、验证和测试集,训练集包含24万口语化描述的中文句子对,标签为1或0。1为句子语义相似,0为语义不相似。


    通过运行下列命令做LCQMC数据集上的fine-tuning:

    
      


    
      
    1.  Clone this project:

          git  clone https: //github.com/brightmart/albert_zh.git

    2. Fine-tuning by running the following command:

        export BERT_BASE_DIR=./albert_large_zh
        export TEXT_DIR=./lcqmc
        nohup python3 run_classifier.py   --task_name=lcqmc_pair   --do_train= False   --do_eval= true   --data_dir=$TEXT_DIR   --vocab_file=./albert_config/vocab.txt  \
        --bert_config_file=./albert_config/albert_config_large.json --max_seq_length= 128 --train_batch_size= 64   --learning_rate= 2e-5  --num_train_epochs= 3 \
        --output_dir=albert_large_lcqmc_checkpoints --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt &

    Notice/注:
        you need to download pre-trained chinese albert model,  and also download LCQMC dataset 
        你需要下载预训练的模型,并放入到项目当前项目,假设目录名称为albert_large_zh; 需要下载LCQMC数据集,并放入到当前项目,
        假设数据集目录名称为lcqmc


    Reference

    1、ALBERT: A Lite BERT For Self-Supervised Learning Of Language Representations

    2、BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    3、SpanBERT: Improving Pre-training by Representing and Predicting Spans

    4、RoBERTa: A Robustly Optimized BERT Pretraining Approach

    5、Large Batch Optimization for Deep Learning: Training BERT in 76 minutes(LAMB)

    6、LAMB Optimizer,TensorFlow version


    (*本文为 AI科技大本营转载文章,转 载请联系原作者)


    精彩推荐


    2019 中国大数据技术大会(BDTC)历经十一载,再度火热来袭! 豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。 【早鸟票】【特惠学生票】 限时抢购,扫码了解详情!


    640?wx_fmt=png


    推荐阅读



    640?wx_fmt=png

    你点的每个“在看”,我都认真当成了喜欢

    展开全文
  • 【并行算法】加速性能模型

    千次阅读 2020-06-18 11:48:13
    一、基本概念和加速 1、基本概念 1).处理机的时间积 处理机数目与处理时间的乘积用以度量这些处理机运行时的资源利用率。 若程序在P台处理机上运行的时间为Tp,则此P台处理机在Tp时间间隔内完成的工作最大数量为...

    一、基本概念和加速比

    1、基本概念

    1).处理机的时间积
    处理机数目与处理时间的乘积用以度量这些处理机运行时的资源利用率。
    若程序在P台处理机上运行的时间为Tp,则此P台处理机在Tp时间间隔内完成的工作最大数量为Tp * P。
    可以将处理机实际工作曲线对时间的积分看成是这些处理机完成的有效工作量。
    效率为有效工作量与最大工作量之比。
    2).并行度(Degree Of Parallelism—DOP)
    并行度是在一定时间间隔内执行一个程序所用的处理机的数目。
    3).并行性分布图
    执行一个给定的程序时并行度对时间的分布图。
    并行度与对应时间的间隔之积即为处理机要完成的工作或工作负载。
    如图所示为一个并行性分布图。
    并行性分布图

    2 .加速比

    1). 绝对加速比
    将最好的串行算法与并行算法相比较.(这里的“最好的”不是绝对的,有时处理最快的是最好的,有时的到最优解的是最好的,有时会把最快和最优结合起来,所以具体问题具体分析)
    定义一(与具体机器有关)将最好的串行算法在一台上的运行时间与并行算法在N台运行的时间相比。
    定义二(与具体机器无关)将最好的串行算法在最快的顺序机上的执行时间与并行算法在并行机上的运行时间相比。
    在这里插入图片描述
    (分子表示串行机,分母表示并行机)
    2).相对加速比
    同一并行算法在单节点上运行时间与在多个相同节点构成的处理机系统上的运行时间之比。
    这种定义侧重于描述算法和并行计算机本身的可扩展性。
    在这里插入图片描述
    由S表示形式,可以看出随着处理器数量N的增加,加速比S在增大,如果这种增加呈现线性关系,就称之为线性加速比;如果这种增加速度呈现超线性关系,就称之为超线性加速比;如果S增长速度逐渐呈现递减关系,就称之为病态加速比。
    线性加速比:中间开销小,通信少,弱耦合计算
    超线性加速比:当应用需要大内存时可能出现
    病态加速比:加速比递减,可能是计算量太小

    二、加速比性能模型(三种)

    1.固定负载加速比性能模型—Amdahl定律

    在许多实时应用领域,计算负载的大小经常固定。在并行机中,此负载可分布至多台并行执行,获得的加速比称为fixed-load speedup。一个问题的负载可表示如下:
    W = Ws + Wp
    其中,Ws代表问题中不可并行化的串行部分负载, Wp表示可并行化的部分负载。
    则n个节点情况下,加速比可以表示如下:

    在这里插入图片描述
    设串行因子α为串行部分所占的比例。即:
    在这里插入图片描述
    代入即得Amdahl’law:
    在这里插入图片描述
    不管采用多少处理机,可望达到的最好加速比:
    在这里插入图片描述
    效率En可以表示为:
    在这里插入图片描述
    处理机数目n越大,效率En越低。
    Amdahl定律告诉我们:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。
    在这里插入图片描述
    加速比的两个决定因素:
    1).计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,即可被改进部分占用时间/改进前整个任务的执行时间,记为Fe,它总小于1。
    2).改进部分采用改进措施后比没有采用改进措施前性能提高的倍数,即
    改进前改进部分执行时间/改进后改进部分执行时间,记为Se。
    在这里插入图片描述
    例1:
    假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则整个系统的性能提高了多少?
    解:Fe = 0.4,Se = 10,
    在这里插入图片描述
    Amdahl’law又称为固定规模加速比模型,问题规模不随处理机变化而变化。固定问题规模,看用并行技术能达到的最短时间是多少。
    在固定规模加速比模型下,负载和执行时间随系统中处理机数目n变化的情况如下图:
    在这里插入图片描述
    (不管处理机数量有多少,串行和并行的负载都是固定的。但是串行的工作时间是固定的,并行随着处理机的增加,所用的工作时间在减少,而总的时间也随着处理机的增大而减小)
    当处理器数目n=1024,加速比Sn随α变化的情况如下:
    在这里插入图片描述
    得出曲线如下图:
    在这里插入图片描述
    可以比较不同的α对加速比带来的不同影响:
    在这里插入图片描述
    (红色曲线为α=0,红色下边为α=0.01,蓝色为α=0.1,蓝色下边为α=0.9)
    α=0时得到理想加速比,当α值增加时,加速比性能急剧下降。
    **结论:**加速比曲线随α的上升急剧下降,原因是存在顺序部分Ws,无法用增加系统的处理机数目来解决。这一性质在过去二十年间给人们造成了对并行处理非常悲观的印象。
    影响:两种意见:
    1).劝阻制造商生产大规模并行计算机。(当然与实际情况是不相符的,现在的处理机数量一直在增加。)
    2).研究并行编译器,以降低α的值,从而提高系统的性能。
    规定负载加速比模型的可能应用范围:
    对时间要求严格的应用问题。

    2.固定时间加速比性能模型—Gustafsun定律

    有许多应用领域强调精度而不是运行时间。1988年,Gustafsun提出了固定时间加速比模型。当机器的规模扩大时,解题的规模也随着扩大,从而得到更加精确的解,而使运行时间保持不变。
    比如:有限元方法做结构分析,流体动力学做天气预报解PDE(偏微分方程组)就需要提高精度。
    粗格要求的计算量较少,而细格的计算量多,得到的精确度也较高。天气预报模拟求解四维PDE,如果使每个实际方向(X,Y,Z)的格点距离减少到原来的十分之一,并以同一幅度增加时间步,那么可以说格点增加了104倍,因而工作负载也至少增大了10000倍。
    

    模型提出的背景:
    固定负载模型有缺陷:因为Amdahl’law中,α取决于问题及并行编译器的效率,无法描述系统固有的特性。
    加速比的公式:
    在这里插入图片描述
    其中,Wp’=nWp和Ws+Wp=Ws’+Wp’/n作为固定时间的条件。 Ws’+Wp’/n表示在扩大负载后在增加处理机台数的情况下的平均负载(执行时间),它应当和负载没有扩大情况下的平均负载(执行时间)Ws+Wp相等。即有Ws+Wp=Ws’+Wp’/n。同时,负载的串行部分并没有改变,即有Ws=Ws’。
    在固定时间加速比模型下,负载和执行时间随系统中处理机数目n变化的情况如下图:
    固定时间加速比模型下的负载和执行时间情况
    增大问题规模的办法使所有处理机保持忙碌状态,在问题扩大到与可用的计算能力匹配时,程序中的顺序部分就不再是瓶颈了。
    当处理器数目n=1024,加速比Sn随α变化的情况如下:
    在这里插入图片描述
    在这里插入图片描述

    3.受限于存储器的加速比模型

    1993年,由Sun和Ni提出。
    大型科学计算和工程设计需要较大的存储空间,许多应用问题是存储器受限,而不是CPU受限或者I/O受限。
    比如:在分布存储系统中常遇到,总存储容量随节点数线性增加,许多节点集合起来解一个大题。
    基本思想:要在存储空间有限条件下解尽可能大的问题,这同样需要扩展工作负载,才能提供较高的加速比、较高的精度和较好的资源利用率。
    

    加速比可以表示如下:
    在这里插入图片描述
    其中:
    在单个处理机上顺序执行的工作负载与问题的规模或系统的规模无关,即:
    在这里插入图片描述
    而G(n)反映的是存储容量增加n倍时并行工作负载增加的倍数。
    讨论:
    1.G(n) = 1,即为固定负载的情况;
    2.G(n) = n,即存储器增加n倍,负载也增加n倍,为固定时间的情形;
    3.G(n) > n,计算负载的增加情况比存储器增加快,会有较高的加速比。
    比较三种加速比,对于相同的处理机数量,有:
    在这里插入图片描述
    (Sun.Ni模型大于等于Gustafsun模型大于等于Amdahl模型)

    在受限于存储器的加速比模型下,负载和执行时间随系统中处理机数目n变化的情况如下图:
    受限于存储器的加速比模型下的负载和执行时间情况
    例:n维矩阵乘法:A * B = C,其中A、B、C都是n*n的方阵。为得到C的每一个元素需要进行n次乘法、n次加法,所以总的计算量为:(n+n)n2 = 2n3。需要的存储量为3n2(两个源矩阵,一个结果矩阵)。如果n台计算机组成多计算机系统,则存储容量扩大n倍,那么矩阵的维数(原来为n)也可以增加了,设为N倍,那么加速比为多少解:存储容量变为:nM = n 3n2 = 3n3,而N维需要的存储量为3N2,计算量变为2N3,则有:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.并行计算的应用模型

    随机器规模的增大,工作负载增长的模式如下图:
    在这里插入图片描述
    上图中:
    采用受限于存储器的加速比模型中给出的公式,
    θ曲线对应的G(n) = n的1.5次方(靠近y轴)
    γ曲线对应的G(n) = n(红色)
    β曲线对应的G(n) = 0.5n(蓝色)
    α曲线对应的G(n) = 1(靠近x轴)
    则有加速比公式:
    在这里插入图片描述
    给定一个程序,假设Ws/Wp = 0.4,那么效率为:
    在这里插入图片描述
    相应的处理器数目—效率曲线如下图:
    在这里插入图片描述
    相关结论:
    1.如果工作负载(问题规模)保持不变,那么效率E随机器规模的增大而迅速下降,其原因是开销h比机器规模增加得快,为了使效率保持在一定的水平上,我们可以按比例增大机器规模和问题规模。
    2.如果工作负载按指数增长模式,效率要保持恒定或保持良好的加速比,必须使问题规模猛增才行,这样就会超过存储器或I/O限制,而问题规模只允许在计算机存储器可用的限度以内增长。
    并行计算机的应用模型如下图:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Trucksim车辆动力学模型

    千次阅读 2019-11-01 20:05:16
    1. TRUCKSIM动力学模型 TruckSim软件是由美国机械仿真公司(Mechanical Simulation Corporation,简称MSC,专门研究汽车动力学软件的专业公司)开发的专为卡车、客车和挂车动态仿真开发的工业仿真软件。TruckSim...
  • 关于ARMA模型的R语言实现

    万次阅读 多人点赞 2019-06-22 15:03:07
    新手一枚,和大家一起学习R,以后基本每周都会更新1到2篇关于数据预测处理的模型和方法,希望和大家一起学习,一起成长。 本周首先更新的是用R来实现ARMA模型。 时间序列的模型,基本上都要建立在平稳的序列上,这里...
  • 模型量化详解

    万次阅读 多人点赞 2019-12-01 15:42:25
    4、模型量化分类4.1 线性量化4.1.1 对称量化4.1.2 非对称量化4.2 逐层量化、逐组量化和逐通道量化4.3 在线量化和离线量化4.4 比特量化4.5 权重量化和权重激活量化5、模型量化原理详解5.1 原理详解5.2 具体案例6、...
  • 模型在推理阶段速度更快,之前最先进的 Transformer 架构快 300 到 1800 。 背景介绍:Transformer 架构 语言建模的一种常用方法是循环神经网络(RNN),因为这种网络可以很好地捕获单词之间的依赖关系...
  • OCR文本检测模型—EAST

    千次阅读 2019-08-23 22:28:12
    文章目录一、EAST模型简介 典型的文本检测模型一般是会分多个阶段(multi-stage)进行,在训练时需要把文本检测切割成多个阶段(stage)来进行学习,这种把完整文本行先分割检测再合并的方式,既影响了文本检测的...
  • 本周TensorFlow推出了一个新的模型优化工具包。这套技术同时适用于新老开发员以优化机器学习模型,特别是运行TensorFlowLite的开发人员。任何现有TensorFlow模型均适用。 什么是TensorFlow中的模型优化? TensorFlow...
  • LSTM seq2seq模型采用分阶段调整学习率加上大batch_size预训练模型,训练时间可以缩短272757/49406=5.5
  • 【新智元导读】谷歌AI研究部门华人科学家再发论文《EfficientNet:重新思考CNN模型缩放》,模型缩放的传统做法是任意增加CNN的深度和宽度,或使用更大的输入图像分辨率进行训练,而使用EfficientNet使用一组固定额...
  • 摘要:性能提升1400+,快来看MySQL Volcano模型迭代器的谓词位置优化详解。
  • 在计算资源相同的情况下,Switch Transformer 的训练速度可以达到 T5 模型的 4-7 。 在深度学习领域,模型通常会对所有输入重用相同的参数。但 Mixture of Experts (MoE,混合专家) 模型是个例外,它们会...
  • pytorch模型转TensorRT模型部署

    千次阅读 2020-12-03 14:26:03
    pytorch训练的模型用Tensor模型部署 我们在部署AI模型时可以有多种选择,使用的是cpu还是gpu,部署框架直接使用pytorch,也可以选择tensorRT,会加速模型推理。这里主要讲的是pytorch模型怎么用tensorRT来部署,...
  • 使用Gompertz模型预测非典的趋势

    千次阅读 2020-01-29 19:57:30
    在预测软件的可靠性时,可以根据该软件多轮测试发现的缺陷个数来预测应该发现的总缺陷数。在软件测试过程中,最开始的时候,会呈现缺陷增长较快的趋势状态,随着...在实践中预测总缺陷数的常用方法是Gompertz模型,...
  • 之前陆陆续续看了许多模型压缩相关的文章,自己业务中也接触过一些相关的客户,今天周末没事做,把模型压缩相关的内容整理一下做个分享。可能更多地从科普的角度去介绍,因为我也不是专业做这方面技术的研究。 首先...
  • ... ... 。网络越来越深,越来越宽。参数越来越大。12G的显存都不够。在保存精度的同时,尽量减少参数很重要。这里有很多方法,模型剪枝等,这里从网络设计上介绍。 本文讲一下最新由UC Berkeley和Stanford
  • 机器学习模型训练全流程!

    千次阅读 2020-08-11 08:47:24
    机器学习模型训练全流程! 周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。同时,作者也对几张图进行了详细的讲解,学习...
  • 欢迎转载,转载请注明:本文出自Bin的专栏blog....继续前面关于深度学习CNN经典模型的整理,之前介绍了CNN网络Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning(点击查看)的网络结构。 本文讲一下最新由UC Ber
  • ELECTRA - BERT更快更好的预训练模型

    千次阅读 2019-11-06 22:16:56
    本文目前在ICLR 2020盲审中,前几天有审稿人发表文章对它大夸特夸,被称为19年最佳NLP预训练模型,另外,在上周的智源北京人工智能大会上,Christopher Manning对这个工作也做了详细介绍,那么,已经不用匿名了,这...
  • 一般建筑模型师构造建筑模型采用的单位一般都是毫米,在CityEngine模型是以米为单位,因此需要将模型缩小1000 1、设置地图单位 2、组 3、缩放 红色框中设置成0.1,即是缩小1000。 4、...
  • 自然语言处理之语言模型(LM)

    万次阅读 多人点赞 2018-04-29 17:06:02
    经过几天对nlp的理解,接下来我们说说语言模型,下面还是以PPT方式给出。一、统计语言模型1、什么是统计语言模型?一个语言模型通常构建为字符串s的概率分布p(s),这里的p(s)实际上反映的是s作为一个句子出现的概率...
  • 线程和IO模型的极简知识

    千次阅读 多人点赞 2019-05-28 10:22:15
    还有一类也和程序设计有关的知识设计模式更加基础和重要 。并且,这个知识实际上从每个人第一天coding开始就存在。比如下面这个场景: 最开始写个hello world程序,在main函数中直通通得写完,程序运行完就退出...
  • Reactor三种线程模型与Netty线程模型

    千次阅读 2019-06-27 22:53:37
    一、Reactor三种线程模型 1.1、单线程模型 单个线程以非阻塞IO或事件IO处理所有IO事件,包括连接、读、写、异常、关闭等等。单线程Reactor模型基于同步事件分离器来分发事件,这个同步事件分离器,可以看做是一个...
  • ARIMA模型

    万次阅读 2017-06-26 10:25:18
    差分运算具有强大的确定性信息提取能力,许多非平稳序列差分后显示出平稳序列性质,这时我们称这个非平稳序列为差分平稳序列,对差分平稳序列可以使用ARIMA模型。ARIMA模型的结构简记为ARIMA(p,d,q),名称为求和自...
  • TensorRT部署深度学习模型

    千次阅读 2020-03-31 08:34:22
    而通过Nvidia推出的tensorRT工具来部署主流框架上训练的模型能够极大的提高模型推断的速度,往往相比与原本的框架能够有至少1以上的速度提升,同时占用的设备内存也会更加的少。因此对是所有需要部署模型的同志来...
  • 机器学习9 -- 模型压缩和加速

    万次阅读 2020-09-09 19:32:06
    近年来深度学习模型在计算机视觉、自然语言处理、搜索推荐广告等各种领域,不断刷新传统模型性能,并得到了广泛应用。随着移动端设备计算能力的不断提升,移动端AI落地也成为了可能。相比于服务端,移动端模型的优势...
  • 盒子模型

    千次阅读 多人点赞 2018-12-04 22:20:18
    1、什么是盒子模型模型是一个及其通用的描述,是一种以矩形对象的布局的方法,这些矩形对象称为盒子。 2、盒子模型组成 content ---- 网页内容 border ----- 边框 padding ----- 内边距 margin ------ 外边...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 222,658
精华内容 89,063
关键字:

倍比模型