深度网络中的Tricks】的更多相关文章

数据增强(Data augmentation) 预处理(Pre-processing) 初始化(Initializations) 训练中的Tricks 激活函数(Activation functions) 正则化(Regularizations) 画图洞察数据 集成学习(Ensemble) 数据增强 深度学习需要大量的数据,当数据集不够大时,可以利用合理手段,基于已有数据,"创造"新的数据.本部分针对图像处理 对于图像而言,可以随机选择以下手段: 翻转 旋转 拉伸 裁剪 颜色抖动 光学…
目录 1. 核心贡献 2. 实验设置 2.1. 任务设置 2.2. 网络设置 3. 实验结果 4. 启发 论文:How transferable are features in deep neural networks? 1. 核心贡献 我们都知道,深度网络中的特征是逐渐特化的.如果我们将一个深度网络中的高层特征,迁移用于另一个任务,那么这个新任务的表现很有可能不理想. 这篇文章讨论的就是深度网络中特征的可迁移性,通过实验有以下3点发现: 越高层的特征越难以迁移. 迁移后网络的参数联动性被打破,…
一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并非如此,具体情况具体分析,把当前问题解决好就行了 不要指望找到放之四海而皆准的万能算法! 方差和偏差: 过拟合与欠拟合: 训练集和测试集 机器学习目标: 特定任务上表现良好的算法 泛化能力强-->验证集上的误差小,训练集上的误差不大(不必追求完美,否则可能会导致过拟合)即可. 如何提升泛化能力: (…
作者:Double_V_ 来源:CSDN 原文:https://blog.csdn.net/qq_25737169/article/details/79048516 版权声明:本文为博主原创文章,转载请附上博文链接! 作者:Double_V_ 来源:CSDN 原文:https://blog.csdn.net/qq_25737169/article/details/79048516 版权声明:本文为博主原创文章,转载请附上博文链接! 作者:Double_V_ 来源:CSDN 原文:https://…
搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核形状都为正方形,x和y轴方向的padding相同,stride也相同. 记号:  i,o,k,p,s i,o,k,p,s 分别表示:卷积/反卷积的输入大小 input size input size,卷积/反卷积输出大小 output size output size,卷积/反卷积核大小 kerne…
神经网络训练中的Tricks之高效BP(反向传播算法) 神经网络训练中的Tricks之高效BP(反向传播算法) zouxy09@qq.com http://blog.csdn.net/zouxy09 Tricks!这是一个让人听了充满神秘和好奇的词.对于我们这些所谓的尝试应用机器学习技术解决某些问题的人,更是如此.曾记得,我们绞尽脑汁,搓手顿足,大喊“为什么我跑的模型不work?”,“为什么我实现的效果那么差?”,“为什么我复现的结果没有他论文里面说的那么好?”.有人会和你说“你不懂调参!里面有…
看mnist数据集上其他人的CNN模型时了解到了Batch Normalization 这种操作.效果还不错,至少对于训练速度提升了很多. batch normalization的做法是把数据转换为0均值和单位方差 这里分五部分简单解释一下Batch Normalization (BN).1. What is BN?顾名思义,batch normalization嘛,就是“批规范化”咯.Google在ICML文中描述的非常清晰,即在每次SGD时,通过mini-batch来对相应的activati…
在深度学习中,当数据量不够大时候,常常采用下面4中方法: 1. 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data Augmentation 2. Regularization. 数据量比较小会导致模型过拟合, 使得训练误差很小而测试误差特别大. 通过在Loss Function 后面加上正则项可以抑制过拟合的产生. 缺点是引入了一个需要手动调整的hyper-parameter. 详见 https://www.wikiwand.c…
前面记到了深度网络这一章.当时觉得练习应该挺简单的,用不了多少时间,结果训练时间真够长的...途中debug的时候还手贱的clear了一下,又得从头开始运行.不过最终还是调试成功了,sigh~ 前一篇博文讲了深度网络的一些基本知识,这次讲义中的练习还是针对MNIST手写库,主要步骤是训练两个自编码器,然后进行softmax回归,最后再整体进行一次微调. 训练自编码器以及softmax回归都是利用前面已经写好的代码.微调部分的代码其实就是一次反向传播. 以下就是代码: 主程序部分: stacked…
这一个多周忙别的事去了,忙完了,接着看讲义~ 这章讲的是深度网络(Deep Network).前面讲了自学习网络,通过稀疏自编码和一个logistic回归或者softmax回归连接,显然是3层的.而这章则要讲深度(多层)网络的优势. Deep Network: 为什么要使用深度网络呢?使用深度网络最主要的优势在于,它能以简洁的方式来表达比浅层网络大得多的函数集合.正式点说,可以找到一些函数,它们能够用k层网络简洁的表达出来(这里的简洁指的是使用隐层单元的数目与输入单元数目是多项式关系),但是对一…