
深度学习
文章平均质量分 87
furuit
机会是留给有实力,物竞天择,优胜劣汰,弱肉强食,适者生存。
展开
-
损失函数为什么用平方形式
这两种形式本质上是等价的。只是MSE计算得到的值比SSE计算得到的值要小,因为除了一个n。误差平方和以及均方差的公式中有系数1/2,是为了求导后,系数被约去。它们都是平方形式,一个重要原因是:误差的平方形式是正的,是正数。这样正的误差和负的误差不会相互抵消。这就是为什么不用一次方,三次方的原因。但是,误差的绝对值也是正的,为什么不用绝对值呢。所有还有第二个重要原因是:平方形式对大...原创 2018-08-23 18:48:32 · 2987 阅读 · 0 评论 -
对dropout的理解详细版
dropout可以让模型训练时,随机让网络的某些节点不工作(输出置零),也不更新权重(但会保存下来,下次训练得要用,只是本次训练不参与bp传播),其他过程不变。我们通常设定一个dropout radio=p,即每个输出节点以概率p置0(不工作,权重不更新),假设每个输出都是独立的,每个输出都服从二项伯努利分布p(1-p),则大约认为训练时,只使用了(1-p)比例的输出,相当于每次训练一个子网络。测...原创 2018-11-24 18:16:54 · 44553 阅读 · 12 评论 -
Dropout——深入解析Dropout
摘要: 本文详细介绍了深度学习中dropout技巧的思想,分析了Dropout以及Inverted Dropout两个版本,另外将单个神经元与伯努利随机变量相联系让人耳目一新。过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案;其中dropout具有简单性并取得良好的结果:Dropout上图为Dropout的可视化表示,左边...原创 2018-11-24 18:23:42 · 3078 阅读 · 0 评论 -
最小二乘法
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。===============举例========================================...原创 2018-11-23 14:22:14 · 4493 阅读 · 0 评论 -
激活函数ReLU、Leaky ReLU、PReLU和RReLU
参考:http://i.ifeng.com/lady/vnzq/news?m=1&aid=124686188&mid=2EjJF3&all=1&p=2“激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”。sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”。使用“非饱和激活函数”的优势在于两点: 1.首...原创 2018-12-01 18:05:44 · 1966 阅读 · 0 评论 -
Sigmoid和tanh的异同
参考原文:https://blog.youkuaiyun.com/yaoyaoyao2/article/details/73848983 Sigmoid和tanh的异同计算过程(若有误,请指正):它们之间存在的细微差别观察sigmoid和tanh的函数曲线,sigmoid在输入处于[-1,1]之间时,函数值变化敏感,一旦接近或者超出区间就失去敏感性,处于饱和状态,影响神经网络预...原创 2018-12-01 18:17:05 · 14629 阅读 · 2 评论 -
计算机视觉中upsampling(上采样)的三种方式
bilinear双线性插值是目前在语义分割中用的比较多的一种方式,比如FCN中就是用的这种方法。 这种方法特点是不需要进行学习,运行速度快,操作简单。只需要设置好固定的参数值即可,设置的参数就是中心值需要乘以的系数。 一个简单的例子可以参考如下(来自互联网): 具体的实现方式,可以直接参考fcn.berkerlyvision.org中的surgery.py如下:def upsamp...原创 2018-12-18 11:27:44 · 2453 阅读 · 0 评论 -
如何让对抗网络GAN生成更高质量的文本?LeakGAN现身说法:“对抗中,你可能需要一个间谍!”
这篇文章对于GAN的创新思路不错,所以我就搬过来了。转自:https://www.leiphone.com/news/201709/QRJPQr3jCOtY7ncQ.html雷锋网 AI 科技评论按:自生成式对抗性网络 GANs 出现以来,它和它的变体已经无数次在图像生成任务中证明了自己的有效性,也不断地吸引着越来越多的研究人员加入到提高GANs训练的可控性和稳定性的研究中。最初,由于...原创 2019-01-09 09:13:14 · 1439 阅读 · 0 评论 -
一堆Deep 生成模型:starGAN, UNIT, MUNIT,PWCT,DIRTGAN
参考:https://blog.youkuaiyun.com/ikerpeng/article/details/81322553 https://www.cnblogs.com/SuperLab/p/9837664.html下面要介绍的这几种生成模型,主要集中在两种任务当中。一种是风格转换,另一种是跨域数据之间的转换(Cross-Domain Image-to-image)。使用的网...原创 2019-01-10 09:49:08 · 1802 阅读 · 0 评论 -
提升深度学习模型的表现,你需要这20个技巧
机器之心编译 作者:Jason Brownlee 本文原文的作者 Jason Brownlee 是一位职业软件开发者,没有博士学位的他通过「从应用中学习」的方法自学了机器学习,他表示对帮助职业开发者应用机器学习来解决复杂问题很有热情,也为机器学习社区贡献了很多实用的建议和指南,本文所讲解的是「能帮助你对抗过拟合以及实现更好的泛化」的 20 个技巧和技术。 你可以怎样...原创 2018-11-18 16:13:42 · 1559 阅读 · 0 评论 -
模型训练痛点及常用知识点
参考:https://yq.aliyun.com/articles/598429 1 模型训练基本步骤进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的。选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。 ...原创 2018-11-21 21:38:05 · 6253 阅读 · 0 评论 -
对Dropout的理解精简版
今天第一次在别人的代码里面看到了dropout 这个功能,找了一下相关的资料大概理解了一些。论文地址概念dropout其实挺简单的,一句话说就是每次train的时候(test不会参与dropout),按照一定几率P随机丢弃一些feature或者Input(因为dropout所处的层不同,叫法不同), 具体做法是把这一项feature设置成0,也不更新权重(不参与bp传播),其他过程不变。但...原创 2018-11-20 14:47:13 · 1419 阅读 · 0 评论 -
L1 L2正则化
L1和L2正则都是比较常见和常用的正则化项,都可以达到防止过拟合的效果。L1正则化的解具有稀疏性,可用于特征选择。L2正则化的解都比较小,抗扰动能力强。L2正则化 对模型参数的L2正则项为 即权重向量中各个元素的平方和,通常取1/2。L2正则也经常被称作“权重衰减”(weight decay)和“岭回归”。 设带L2正则化的损失函数: 假设损失函数在二维...原创 2018-08-28 20:37:17 · 1532 阅读 · 0 评论 -
深入学习卷积神经网络中卷积层和池化层的意义
为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用,特征有时多了(需要PCA降维),特征有时少了(容易过拟合),有时选择的特征根本就不起作用(真正起作用的特征在浩瀚的未知里面)。这就是为什么在过去卷积神经网络一直被SVM等完虐的原因。...原创 2018-09-22 22:11:09 · 90795 阅读 · 8 评论 -
神经网络优化算法:从梯度下降到Adam方法
转自:https://www.sohu.com/a/149921578_610300 调整模型更新权重和偏差参数的方式时,你是否考虑过哪种优化算法能使模型产生更好且更快的效果?应该用梯度下降,随机梯度下降,还是Adam方法?这篇文章介绍了不同优化算法之间的主要区别,以及如何选择最佳的优化方法。 什么是优化算法?优化算法的功能,是通过改善训练方式,来最小化(或最大化)损...原创 2018-10-14 11:38:34 · 8524 阅读 · 1 评论 -
梯度优化算法Adam(续)
进一步优化梯度下降现在我们要讨论用于进一步优化梯度下降的各种算法。1. 动量梯度下降法(Momentum)SGD方法中的高方差振荡使得网络很难稳定收敛,所以有研究者提出了一种称为动量(Momentum)的技术,通过优化相关方向的训练和弱化无关方向的振荡,来加速SGD训练。换句话说,这种新方法将上个步骤中更新向量的分量’γ’添加到当前更新向量。V(t)=γV(t−1)+η∇(θ).J...原创 2018-10-14 16:19:55 · 4947 阅读 · 0 评论 -
Batch Normalization的好处
Batch normalization是一个用于优化训练神经网络的技巧。具备有以下几个优点1. 训练的更快因为在每一轮训练中的前向传播和反响传播的额外计算会造成更慢的训练。Batch normalization可以让收敛速度更快。总的训练时间更短。2. 容忍更高的学习率(learning rate)为了网络能收敛,梯度下降通常需要更小的学习率。但是神经网络的层次越深,则反响传播时梯...原创 2018-11-05 10:52:13 · 3958 阅读 · 0 评论 -
批标准化 (Batch Normalization)通俗易懂
参考莫凡:https://zhuanlan.zhihu.com/p/24810318Batch Normalization, 批标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法. 在之前 Normalization 的简介视频中我们一提到, 具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律.每层都做标准化在神经网络中, 数据...原创 2018-11-05 11:53:17 · 4499 阅读 · 1 评论 -
batch normalization总结
原作者:阿华Go原文:https://blog.youkuaiyun.com/u014038273/article/details/79951670 建议先看:https://blog.youkuaiyun.com/fu6543210/article/details/83745113接着看:https://blog.youkuaiyun.com/fu6543210/article/details/83746600本...原创 2018-11-05 15:10:21 · 368 阅读 · 0 评论 -
机器学习中数据不平衡问题
原作者:nightwish夜愿参考链接:https://www.jianshu.com/p/be343414dd24还推荐一篇:http://tech.ifeng.com/a/20180712/45060700_0.shtml这几年来,机器学习和数据挖掘非常火热,它们逐渐为世界带来实际价值。与此同时,越来越多的机器学习算法从学术界走向工业界,而在这个过程中会有很多困难。数据不平衡问题虽...原创 2018-11-14 16:26:06 · 1289 阅读 · 1 评论 -
你的神经网络不work? 这37个原因总有一款适合你!
彼时,我手头的神经网络训练已持续了12个小时,各项指标显示运转良好。没有一点点防备,就在刚才,突然提示:全部预测为零,一点有用的信息都没有!“到底哪里出问题了?” ——我自言自语,很是郁闷。“该如何检查神经网络模型输出的信息是否有用(例如,预测所有输出的平均值,还是看看准确度是不是很糟糕)”?其实,影响神经网络训练正常运转的影响因素很多!在经历了多次调试后,我总结出了一些通用的经验,特此...转载 2019-05-03 16:43:44 · 402 阅读 · 0 评论 -
训练神经网络到底有诀窍和套路吗?
这位特斯拉的人工智能研究负责人、李飞飞的斯坦福高徒刚刚难得更新了博客,推出了一篇长文《神经网络的训练秘籍》,详细讲述了我们在训练神经网络时候可以遵循的套路。据Andrej Karpathy推特说,他本来是在推特上写了一些自己训练神经网络的经验教训,结果网友们反响强烈,所以他决定把相关内容更完整的在一篇文章中呈现给大家。在这篇长文中,Andrej Karpathy像一个操心的老父亲一样,...转载 2019-05-03 17:10:46 · 1050 阅读 · 0 评论 -
神经网络不work该怎么办!看看这11条
每个人在调试神经网络的时候,大概都遇到过这样一个时刻:什么鬼!我的神经网络就是不work!到底该怎么办!机器学习博客TheOrangeDuck的作者,育碧蒙特利尔实验室的机器学习研究员Daniel Holden根据自己工作中失败的教训,整理了一份神经网络出错原因清单,一共11条。量子位搬运过来,各位被神经网络虐待的时候,可以按图索骥。△作者Daniel Holden当然,也...转载 2019-05-03 17:50:51 · 1317 阅读 · 0 评论 -
Tensorflow实战:LSTM原理及实现(详解)
LSTM规避了标准RNN中梯度爆炸和梯度消失的问题,所以会显得更好用,学习速度更快下图是最基本的LSTM单元连接起来的样子上图为一层LSTM单元连接起来的样子,在工业上,LSTM是可以像一个很大的方阵的,其中除了输入层和输出层分别对应着Xt和ht的值以外,中间的部分都是一层层的LSTM单元,拓扑结构如下:LSTM内部结构LSTM看上去就是这样一种效果,一个一个首尾相接,同一层...转载 2019-06-02 16:57:36 · 7665 阅读 · 0 评论 -
tf.contrib.rnn.static_rnn与tf.nn.dynamic_rnn区别
chunk_size = 256chunk_n = 160rnn_size = 256num_layers = 2n_output_layer = MAX_CAPTCHA*CHAR_SET_LEN # 输出层单层rnn:tf.contrib.rnn.static_rnn:输入:[步长,batch,input]输出:[n_steps,batch,n_hidden]...转载 2019-06-02 17:06:50 · 576 阅读 · 0 评论 -
tensorflow学习之BasicLSTMCell详解
tf.contrib.rnn.BasicLSTMCell继承自:LayerRNNCellAliases:Class tf.contrib.rnn.BasicLSTMCellClass tf.nn.rnn_cell.BasicLSTMCell基础的LSTM循环网络单元,基于http://arxiv.org/abs/1409.2329.实现。将forget_bias(默认值:1)添加到忘...原创 2019-06-02 17:41:58 · 6485 阅读 · 1 评论 -
深度学习之GRU网络
1、GRU概述 GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。GRU既然是LSTM的变体,因此也是可以解决RNN网络中的长依赖问题。 在LSTM中引入了三个门函数:输入门、遗忘门和输出门来控制输入值、记忆值和输出值。而在GRU模型中只有两个门:分别是更新门和重置门。具体结构如下图所示: 图中的...原创 2019-06-02 18:52:59 · 3884 阅读 · 0 评论 -
BiLSTM介绍
一、介绍1.1 文章组织本文简要介绍了BiLSTM的基本原理,并以句子级情感分类任务为例介绍为什么需要使用LSTM或BiLSTM进行建模。在文章的最后,我们给出在PyTorch下BiLSTM的实现代码,供读者参考。1.2 情感分类任务自然语言处理中情感分类任务是对给定文本进行情感倾向分类的任务,粗略来看可以认为其是分类任务中的一类。对于情感分类任务,目前通常的做法是先对词或者短语进...转载 2019-06-02 20:24:31 · 28740 阅读 · 0 评论 -
【计算机视觉】理解Attention机制
1. 什么是Attention机制?其实我没有找到attention的具体定义,但在计算机视觉的相关应用中大概可以分为两种:1)学习权重分布:输入数据或特征图上的不同部分对应的专注度不同,对此Jason Zhao在知乎回答中概括得很好,大体如下:- 这个加权可以是保留所有分量均做加权(即soft attention);也可以是在分布中以某种采样策略选取部分分量(即hard attenti...转载 2019-06-08 16:51:08 · 705 阅读 · 0 评论 -
python生成器generator
参考:https://blog.youkuaiyun.com/qq_18888869/article/details/83106460本文内容是:先讲最简单的generator创建方式,然后讲2种generator获取元素方式,最后讲第二种generator创建方式。在深度学习中训练模型的过程中读取图片数据,如果将图片数据全部读入内存是不现实的,所以有必要使用生成器来读取数据。举例,创...原创 2019-06-03 17:24:50 · 535 阅读 · 0 评论 -
深度学习读取batch图片浅析
当数据集的数据过大时,采用生成器generator生成数据循环调用那么,如何设置一个batchsize的批生成器以供训练深度学习模型用呢?背景介绍:下面这个例子是HWDB手写体,单张图片小,分类任务,trainset有89w+,正好涉及数据集多大,需要自己生成batch_generator提高效率。初步想法:首先第一种方法,是构造class,利用class中的__next__ 迭代(wh...转载 2019-06-04 20:08:52 · 2730 阅读 · 0 评论 -
[译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络
Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。传统的神经网络并不能做到这点,看起来也像是一种巨大的弊端。例如,假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经...转载 2019-06-02 16:36:25 · 881 阅读 · 0 评论 -
CNN 中, 1X1卷积核到底有什么作用呢?
http://www.caffecn.cn/?/question/136 摘抄于这里从NIN 到Googlenet mrsa net 都是用了这个,为什么呢发现很多网络使用了1X1卷积核,这能起到什么作用呢?另外我一直觉得,1X1卷积核就是对输入的一个比例缩放,因为1X1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数。不知道我理解的是否正确。我来说说我的理解,我认为1...转载 2019-05-18 17:02:49 · 260 阅读 · 0 评论 -
gradient clipping
问题起与这篇知乎:训练到一定epoch之后,突然loss为Nan,其中一种方法说 梯度截断。我觉得我LSTM可能会出现这个问题。https://www.zhihu.com/question/49346370梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)(1)梯度不稳定问题:什么是梯度不稳定问题:深度神经网络中的梯度不稳定性,前面层...原创 2019-05-17 15:20:28 · 6089 阅读 · 0 评论 -
loss训练时候震荡分析
分析原因:1.batch的选择,首先决定的是下降方向,如果数据集比较小,则完全可以采用全数据集的形式。这样做的好处有两点,1)全数据集的方向能够更好的代表样本总体,确定其极值所在。2)由于不同权重的梯度值差别巨大,因此选取一个全局的学习率很困难。2.增大batchsize的好处有三点:1)内存的利用率提高了,大矩阵乘法的并行化效率提高。...原创 2019-05-03 18:57:06 · 32704 阅读 · 4 评论 -
卷积神经网络中十大拍案叫绝的操作
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量。我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中探讨日后的CNN变革方向。注:水平所限,下面的见解或许有偏差,望大牛指正。另外只介绍其中具有代表性的模型,一些著名的模型由于原理相同将不作介绍,若有遗漏也欢迎指出。一、卷积只能在同一组进行吗?...转载 2019-05-19 11:01:30 · 1492 阅读 · 2 评论 -
自然语言处理中句子相似度计算的几种方法
基本方法 编辑距离计算 杰卡德系数计算 TF 计算 TFIDF 系数 Word2Vec 计算在做自然语言处理的过程中,我们经常会遇到需要找出相似语句的场景,或者找出句子的近似表达,这时候我们就需要把类似的句子归到一起,这里面就涉及到句子相似度计算的问题,那么本节就来了解一下怎么样来用 Python 实现句子相似度的计算。基本方法句子相似度计算我们一共归类了以下几种方法:编辑...转载 2019-05-19 21:22:53 · 3045 阅读 · 0 评论 -
word2vector(一)
word2vector已经成为NLP领域的基石算法。作为一名AI 从业者,如果不能主动去熟悉该算法,应该感到脸红。本文是一篇翻译的文章,原文链接是:http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/如果你的英语很好,强烈建议直接阅读原文。这篇文章写的非常好,简明扼要,语言流畅。是我认为入门word2v...转载 2019-05-20 10:49:10 · 940 阅读 · 0 评论 -
word2vector(二)
在上一篇文章中,我们简述了skip gram版word2vector的基本原理,留下一个问题待解决,那就是网络非常大,这将导致如下几个困难:1、在上面训练梯度下降会比较慢;2、需要数量巨大的数据来喂到网络中;3、非常容易过拟合。这一节就是专门介绍实际训练中的技巧的。原文在这里:http://mccormickml.com/2017/01/11/word2vec-tutorial-part-2-n...转载 2019-05-20 10:50:26 · 918 阅读 · 0 评论 -
深度神经网络训练的技巧
本文主要介绍8种实现细节的技巧或tricks:数据增广、图像预处理、网络初始化、训练过程中的技巧、激活函数的选择、不同正则化方法、来自于数据的洞察、集成多个深度网络的方法。1数据增广在不改变图像类别的情况下,增加数据量,能提高模型的泛化能力。图像识别领域数据增广的例子自然图像的数据增广方式包括很多,如常用的水平翻转(horizontally flippi...转载 2019-05-16 10:03:52 · 2099 阅读 · 0 评论