深度学习基础
whitenightwu
这个作者很懒,什么都没留下…
展开
-
深度学习基础--各种Dropout--Swapout
Swapout: Learning an ensemble of deep architectures 生成 dropout 和随机深度(stochastic depth)方法来防止特定层或所有层中单元的共适应。集成训练方法从多个架构中采样,包括「dropout、随机深层和残差架构」。 Swapout 在 CIFAR-10 和 CIFAR-100 数据上优于同样网络结构的 ResNet,该...原创 2018-11-29 09:39:09 · 889 阅读 · 0 评论 -
深度学习基础--各种Dropout--Targeted Dropout
更详细的资料整理到了个人的github上,地址为https://github.com/whitenightwu/11-Algorithm_and_Data/02-深度学习(部件)\类dropoutTargeted Dropout介绍date:NIPS/NeurIPS 2018keywords:Targeted Dropout;将剪枝带到训练中去;偏向于压缩算法author:google...转载 2019-11-25 17:06:52 · 1200 阅读 · 0 评论 -
对DL学习系列博客的心得和总结
先上blog地址 http://blog.csdn.net/u010555688/article/details/24438059简介这个系列BLOG,主要讲是CNN,适合新手学习原创 2017-03-30 16:16:43 · 883 阅读 · 0 评论 -
对李弘毅的DL讲解PPT的总结
适合DL初学者 关于李弘毅的PPT,网上有资源。。lecture one:DL的三步走:define function(set net structure);learning target;best function(learn)1.网络结构决定函数的结构:z=w1a1+w2a2+…+wnan+b;wn是权重weights,b是偏置bias z通过激活函数,得到下一个aoutput layer:原创 2017-03-30 16:22:15 · 1139 阅读 · 0 评论 -
人工智能追求的是满意解[转]
原文入口;http://blog.sina.com.cn/s/blog_73040b820102wwoo.html AlphaGo战胜柯洁之后,有人说AlphaGo虽然战胜了柯洁,但仍然不是最优的下法。人工智能就一定要追求最优吗?答案是否定的。印象中有位图灵奖获奖者在获奖演讲中专门讲过这个问题,人工智能往往与人一样,追求的是满意解。 举个例子,也是我常常在课上讲过的例子。现在正是西瓜上市的季节,转载 2017-07-05 10:00:50 · 589 阅读 · 0 评论 -
用C实现Lenet的总结
根据博客http://blog.csdn.net/tostq/article/category/6290467所写的一些总结。 cnn.cpp cnn.h 存在关于CNN网络的函数、网络结构等 minst.cpp minst.h 处理Minst数据库的函数、数据结构等;包括输入和输出 mat.cpp mat.h 一些关于矩阵的函数,如卷积操作、180度翻转操作等 main.cpp原创 2017-09-05 20:50:50 · 1334 阅读 · 0 评论 -
深度学习基础--不同网络种类--BP网络
BP网络 是常见前馈神经网络,感知器(又叫感知机)是最简单的前馈网络。 BP网络是指连接权调整采用了反向传播(Back Propagation)学习算法的前馈网络。 与感知器不同之处在于,BP网络的神经元变换函数采用了S形函数(Sigmoid函数),因此输出量是0~1之间的连续量,可实现从输入到输出的任意的非线性映射。前馈神经网络和BP神经网络的不同 1)前馈(FFNN)描述的是...原创 2018-11-09 09:47:43 · 864 阅读 · 0 评论 -
深度学习基础--不同网络种类--细胞神经网络
细胞神经网络 细胞神经网络属于人工神经网络,因为结构上比较接近于生物细胞组织而得名。 与传统MLP不同的是细胞神经网络有一个邻域(neighborhood)的概念,即每个神经元除了和前后层(上下层)的神经元有连接外,还和邻域内的神经元有连接。 细胞神经网络与神经网络的区别在于允许沟通(communication)在邻近单元(neighborhooding units)之间进行。...原创 2018-11-09 09:51:06 · 2618 阅读 · 4 评论 -
深度学习基础--不同网络种类--PCANet
PCANet 即PCA+CNN=PCANet。在卷积层用了PCA,这样再卷积的时候就有了一定的目的性,从而提高了分类效率。 参考资料: https://blog.csdn.net/Anysky___/article/details/51044670 http://bbs.pinggu.org/thread-3759181-1-1.html优缺点 优点:快 缺点:对于复杂的...原创 2018-11-09 09:56:21 · 1204 阅读 · 0 评论 -
深度学习基础--不同网络种类--RBF网络
RBF网络 常见前馈神经网络(feedforward neural network),感知器(又叫感知机)是最简单的前馈网络。 RBF网络是指隐含层神经元由RBF神经元组成的前馈网络。 RBF神经元是指神经元的变换函数为RBF(Radial Basis Function,径向基函数)的神经元。典型的RBF网络由三层组成:一个输入层,一个或多个由RBF神经元组成的RBF层(隐含层),一个...原创 2018-11-09 09:57:46 · 1190 阅读 · 0 评论 -
深度学习基础--不同网络种类--限制玻尔兹曼机(RBM)
限制玻尔兹曼机(RBM) 是一个关于输入(可见) 神经元v 和输出(隐藏) 神经元h 之间的概率生成模型。 参考资料: https://blog.csdn.net/Young_Gy/article/details/70238133RBM及其改进 1)RBM的可见层和隐藏层的神经元之间通过一个权值矩阵w 和两个偏置向量c 和b 连接。在可见层神经元之间或者隐藏层神经元之间都没有连接...原创 2018-11-09 10:26:28 · 446 阅读 · 0 评论 -
深度学习基础--不同网络种类--深度置信网络(DBN)
深度置信网络(DBN) RBM的作用就是用来生成似然分布的互补先验分布,使得其后验分布具有因子形式。 因此,DBN算法解决了Wake-Sleep算法表示分布难以匹配生成分布的难题,通过RBM使得训练数据的生成分布具有因子形式,从而提高了学习效率。 深度置信网络(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。应用领域 通常,DBN主要用于对一维...原创 2018-11-09 10:45:50 · 6727 阅读 · 0 评论 -
深度学习基础--不同网络种类--自组织映射(Self-Organizing Maps, SOM)
自组织映射(Self-Organizing Maps, SOM) Kohonen提出了一种神经网络模型。 SOM是一种比较简单的神经网络,他不像BP网络那样具有三层结构,他只包含输入层和输出层(或称作映射层),由于没有中间的隐藏层(一般视为黑匣子),所以SOM映射之后的输出保持了输入数据原有的拓扑结构,SOM正因为这么一个优点而被应用在数据处理方面。 SOM是一种无监督的聚类方法。它模...原创 2018-11-09 10:56:33 · 5344 阅读 · 0 评论 -
深度学习基础--不同网络种类--Hopfield神经网络模型
Hopfield神经网络模型 Hopfield网络是一个著名的神经网络模型,通过对网络进行训练,可以让它记住相应的模式,并在适当的条件下联想回忆提取出相关的模式。也就是说,Hopfield模型通过训练(改变相互连接的权重),可以将要记忆的模式映射为能量最小的状态,之后通过Ising模型的邻域相互作用规则自发演化到这种最小能量状态。Ising模型与Hopfield神经网络模型 Ising模...原创 2018-11-09 11:04:03 · 2254 阅读 · 0 评论 -
深度学习基础--不同网络种类--和-积网络(sum—product network)
和–积网络(sum—product network) 这种模型是基于和积运算的。 深度学习最主要的困难是配分函数的学习,如何选择深度结构神经网络的结构使得配分函数更容易计算。就此,Poon等人提出一种新的深度模型结构----和–积网络(sum—product network,SPN),引入多层隐单元表示配分函数,使得配分函数更容易计算。网络结构 SPN是有根节点的有向无环图,图中的叶...原创 2018-11-09 11:07:42 · 3362 阅读 · 0 评论 -
深度学习基础--不同网络种类--teacher-student网络,蒸馏(distillation)网络
teacher-student网络,蒸馏(distillation)网络 属于迁移学习的一种。迁移学习也就是将一个模型的性能迁移到另一个模型上, 对于教师——学生网络,教师网络往往是一个更加复杂的网络,具有非常好的性能和泛化能力,可以用这个网络来作为一个soft target来指导另外一个更加简单的学生网络来学习,使得更加简单、参数运算量更少的学生模型也能够具有和教师网络相近的性能,也算是一种...原创 2018-11-11 09:47:52 · 11208 阅读 · 0 评论 -
深度学习基础--热点和趋势
热点和趋势(2018-5)卷积核方面 1)大卷积核用多个小卷积核代替(如1个55被2个33代替)。 既可以减少参数量,又可以增加网络的深度 2)单一尺寸卷积核用多尺寸卷积核代替(如Inception结构中,不同并行的分支用不同尺寸的卷积核)。 3)固定形状卷积核趋于使用可变形卷积核(包括dilate、Deformable)。 4)使用1×1卷积核(bottleneck结构,降...原创 2018-11-02 10:01:31 · 953 阅读 · 0 评论 -
深度学习基础--当前研究的挑战
当前研究的挑战 1)RNN难以训练。有论文表明大量不同的RNN架构,其表现力是同等的,任何性能上的差异都是由于某些架构比其他架构更容易优化导致的; 2)无监督难以训练,因为模型的输出通常(但不总是)更大——例如,1024 x 1024像素,巨大的语音和文本序列; 3)GAN难以训练,但对目标函数进行了修改。原来Jensen-Shannon散度目标的简单修改:最小二乘法,absolute...原创 2018-11-02 10:07:59 · 235 阅读 · 0 评论 -
深度学习基础--DL原理研究1
DL的原理研究 深度网络是手段,特征学习是目的 任何一种方法,特征越多,给出的参考信息就越多,准确性会得到提升。但特征多意味着计算复杂,探索的空间大,可以用来训练的数据在每个特征上就会稀疏,都会带来各种问题,并不一定特征越多越好。基本思想 形象地表示为: I =>S1=>S2=>……=>Sn => O,如果输出O等于输入I,即输入I经过这个系统变化之后没...原创 2018-11-02 10:15:28 · 377 阅读 · 0 评论 -
深度学习基础--DL原理研究2
深度学习神经网络需要更深而非更广 《On the Number of Linear Regions of Deep Neural Networks》中有解释。 这篇文章证明了,在神经元总数相当的情况下,增加网络深度可以使网络产生更多的线性区域。深度的贡献是指数增长的,而宽度的贡献是线性的。 折纸”这个比喻大概是这么一回事。首先我们知道一个ReLU单元y=ReLU(Wx+b)会在输入空...原创 2018-11-02 10:18:59 · 361 阅读 · 0 评论 -
深度学习基础--DL的发展历史
DL的发展历史 1)从ML到DL 在Machine Learning时代,复杂一点的分类问题效果就不好了,Deep Learning深度学习的出现基本上解决了一对一映射的问题,比如说图像分类,一个输入对一个输出,因此出现了AlexNet这样的里程碑式的成果。 2)从DL到deep reinforcement learning 但如果输出对下一个输入还有影响呢?也就是sequenti...原创 2018-11-02 10:20:54 · 460 阅读 · 0 评论 -
深度学习基础--端到端学习(end-to-end learning)
端到端学习(end-to-end learning) 深度学习下的端到端学习旨在通过一个深度神经网络直接学习从数据的原始形式到数据的标记的映射。 端到端学习并不应该作为我们的一个追求目标,是否要采用端到端学习的一个重要考虑因素是:有没有足够的数据对应端到端的过程,以及我们有没有一些领域知识能够用于整个系统中的一些模块。...原创 2018-11-02 10:21:46 · 1855 阅读 · 0 评论 -
深度学习基础--卷积神经网络的不变性
卷积神经网络的不变性 不变性的实现主要靠两点:大量数据(各种数据);网络结构(pooling)不变性的类型 1)平移不变性 卷积神经网络最初引入局部连接和空间共享,就是为了满足平移不变性。 关于CNN中的平移不变性的来源有多种假设。 一个想法是平移不变性是由于连续卷积层中神经元的感受野尺寸增加。另一个可能性是不变性是由于pooling操作。我们开发了一个简单的工具,即平移灵...原创 2018-11-02 10:24:03 · 6586 阅读 · 0 评论 -
深度学习基础--传统机器学习与深度学习的区别
传统机器学习与深度学习的区别 1)传统机器学习:利用特征工程 (feature engineering),人为对数据进行提炼清洗 2)深度学习:利用表示学习 (representation learning),机器学习模型自身对数据进行提炼,不需要选择特征、压缩维度、转换格式等对数据的处理。深度学习对比传统方法来说,最大的优势是自动特征的提取 现实中遇到的绝大部分机器学习问题,基于原始...原创 2018-11-07 09:52:15 · 12951 阅读 · 1 评论 -
深度学习基础--DL的局限性
DL的局限性 1)当数据量偏少,效果不好 2)数据不具有局部相关特性。 而对于不具有局部相关特性的数据,没法用特点的网络拓扑来捕捉了他的信息,在深度学习中就只能用 MLP 来完成模型的训练,而 MLP 的效果,一般要弱于 GDBT,RandomForest 等传统模型。 3)从输入到输出的几何变化大必须光滑且连续。 在深度学习中,所有的东西都可以矢量化,所有的东西都是几何空间中...原创 2018-11-07 10:02:41 · 365 阅读 · 0 评论 -
深度学习基础--上采样(upsample)的方法
上采样(upsample)的方法 在神经网络中,扩大特征图的方法,即upsample/上采样的方法 1)unpooling:恢复max的位置,其余部分补零 2)deconvolution(反卷积):先对input补零,再conv 3)插值方法,双线性插值等; 4)扩张卷积,dilated conv;...原创 2018-11-07 10:31:44 · 20098 阅读 · 3 评论 -
深度学习基础--epoch、iteration、batch_size
epoch、iteration、batch_size 深度学习中经常看到epoch、 iteration和batchsize,下面说说这三个的区别: 1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练; 2)iteration:1个iteration等于使用batchsize个样本训练一次;batch 需要完成一个 e...原创 2018-11-07 10:53:49 · 313 阅读 · 0 评论 -
深度学习基础--padding的理解
padding的理解 Zero padding就可以在这时帮助控制Feature Map的输出尺寸,同时避免了边缘信息被一步步舍弃的问题。原创 2018-11-07 10:54:51 · 2786 阅读 · 0 评论 -
深度学习基础--logits
logits 深度学习源码里经常出现logits logits: 未归一化的概率, 一般也就是 softmax层的输入。所以logits和lables的shape一样原创 2018-11-07 10:55:47 · 4602 阅读 · 2 评论 -
深度学习基础--finetune
finetune 就是用别人训练好的模型,加上我们自己的数据,来训练新的模型。finetune相当于使用别人的模型的前几层,来提取浅层特征,然后在最后再落入我们自己的分类中。 finetune的好处在于不用完全重新训练模型,从而提高效率,因为一般新训练模型准确率都会从很低的值开始慢慢上升,但是fine tune能够让我们在比较少的迭代次数之后得到一个比较好的效果。 在数据量不是很大的情...原创 2018-11-07 10:56:46 · 16516 阅读 · 0 评论 -
深度学习基础--输出层的神经元数应该与分类数匹配(分类数大于等于2)则是一个监督学习任务,对吗?
输出层的神经元数应该与分类数匹配(分类数大于等于2)则是一个监督学习任务,对吗? 不对! 解析:这与输出的编码(encoding)方式有关,如果是one-hot encoding,就满足条件,不过你也可以以二进制的方式来输出分类结果,比如00,01,10,11代表不同的四类。...原创 2018-11-07 10:58:00 · 4079 阅读 · 2 评论 -
深度学习基础--units
units Bengio团队写的那本deep learning book 多次强调,深度学习乃至人工神经网络并不是按照生物神经网络来的。他们一直在竭尽全力的将工作与神经科学和生物学拉开距离。 在算法里,提到的应该是“单位/个体”(units),而非“神经元”。...原创 2018-11-07 10:59:59 · 1060 阅读 · 0 评论 -
深度学习基础--Stride的理解
Stride的理解 stride其实是图像处理中常用的概念。解释 一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44. 但还有个字节对齐的问题, 譬如: 一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 + 3 = 3...原创 2018-11-07 11:02:03 · 34676 阅读 · 1 评论 -
深度学习基础--imagenet的历年冠军
imagenet的历年冠军 自 2012 年 AlexNet取得里程碑式突破,各种新型结构层出不穷,一次次刷新 ImageNet 分类准确率,这些结构包括 VGG、GoogLeNet、ResNet、DenseNet、ResNeXt、SE-Net和神经网络架构自动搜索。...原创 2018-11-08 11:41:26 · 3316 阅读 · 2 评论 -
深度学习基础--BP和训练--并行条件下的BP
并行条件下的BP原因 并行训练(parallel training)规模的情况下,在保证模型性能的同时实现训练速度线性增长 在增加CPU 或 GPU 数量的同时,保证训练的线性加速以及性能。但由于工人(GPU/CPU)之间存在沟通成本和资源浪费,因此无法实现工作成果随工人数量的增多呈线性增长。两个评价指标 训练速度和模型性能 如何在增加工人(卡)数量的同时,保证工人的劳动成果(训练速度...原创 2018-11-13 09:41:30 · 309 阅读 · 0 评论 -
深度学习基础--BP和训练--滑动平均(moving average)和自适应步长
滑动平均(moving average) 要前进的方向不再由当前梯度方向完全决定,而是最近几次梯度方向的滑动平均。利用滑动平均思想的优化算法有带动量(momentum)的SGD、Nesterov动量、Adam(ADAptive Momentum estimation)等。自适应步长 自适应地确定权值每一维的步长。当某一维持续震荡时,我们希望这一维的步长小一些;当某一维一直沿着相同的方向...原创 2018-11-13 09:43:29 · 3233 阅读 · 0 评论 -
深度学习基础--BP和训练--梯度弥散、梯度爆炸和训练中的NAN问题
梯度弥散、消失梯度问题(Vanishing Gradient Problem)梯度消失问题的原因 激活函数的梯度非常小的情况下会出现消失梯度问题。在权重乘以这些低梯度时的反向传播过程中,它们往往变得非常小,并且随着网络进一步深入而"“消失”"。这使得神经网络忘记了长距离依赖。这对循环神经网络来说是一个问题,长期依赖对于网络来说是非常重要的。 这是由于每次梯度沿序列反向传播时会乘上一个W。...原创 2018-11-13 09:50:29 · 1833 阅读 · 0 评论 -
深度学习基础--BP和训练--max-pooling的BP
max-pooling的BP 对于max-pooling,其正向计算如下图所示: 反向计算如下图,其中,需要说明反向计算过程是将残差传递至上一层最大值的位置,其它位置置0。...原创 2018-11-13 09:55:35 · 1696 阅读 · 0 评论 -
深度学习基础--BP和训练--Relu的BP
Relu的BP 正向计算的情况下,对于输入大于零保持同样的输出,输入小于零直接置0;ReLu层的输入x,输出是z,反向传播时已知 ,那么有:原创 2018-11-13 10:10:49 · 2144 阅读 · 0 评论 -
深度学习基础--BP和训练--中继监督优化(intermediate supervision)
中继监督优化(intermediate supervision) 如果直接对整个网络进行梯度下降,输出层的误差经过多层反向传播会大幅减小,即发生vanishing gradients现象。为解决此问题,在每个阶段的输出上都计算损失。这种方法可以保证底层参数正常更新。 类似于GoogleNet的auxiliary classfier,用来解决网络随着深度加深而梯度消失的问题。...原创 2018-11-13 09:52:31 · 5294 阅读 · 0 评论