
深度学习
纸上得来终觉浅~
周围的人都比你厉害,你才会慢慢变强
展开
-
pytorch 多GPU训练总结
https://blog.youkuaiyun.com/weixin_40087578/article/details/87186613转载 2020-05-21 16:18:21 · 364 阅读 · 0 评论 -
Transformer 模型的 PyTorch 实现
https://www.jianshu.com/p/3b550e903e78转载 2020-05-19 14:26:29 · 944 阅读 · 0 评论 -
transformer中的positional encoding(位置编码)
https://blog.youkuaiyun.com/Flying_sfeng/article/details/100996524转载 2020-05-19 11:08:37 · 1347 阅读 · 0 评论 -
知识蒸馏与半监督学习
https://blog.youkuaiyun.com/qq_39426225/article/details/105563710转载 2020-05-14 15:51:31 · 1374 阅读 · 0 评论 -
BI-LSTM
https://blog.youkuaiyun.com/lgy54321/article/details/99936770转载 2020-05-07 14:29:39 · 715 阅读 · 0 评论 -
BasicLSTMCell中num_units参数解释
https://blog.youkuaiyun.com/notHeadache/article/details/81164264?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogComm...转载 2020-05-07 14:23:23 · 425 阅读 · 0 评论 -
rnn的Teacher Forcing和Curriculum Learning
https://blog.youkuaiyun.com/qq_30219017/article/details/89090690转载 2020-04-07 16:32:10 · 512 阅读 · 0 评论 -
受限玻尔兹曼机(RBM)原理总结
https://www.cnblogs.com/pinard/p/6530523.html转载 2020-01-06 09:58:01 · 450 阅读 · 0 评论 -
casual Convolution因果卷积、空洞卷积dilated convolution、Hybrid Dilated Convolution (HDC)
1、因果卷积2、空洞因果卷积3、HDChttps://blog.youkuaiyun.com/qq_26369907/article/details/97624028https://blog.youkuaiyun.com/suixinsuiyuan33/article/details/79451069转载 2019-12-17 14:43:04 · 4537 阅读 · 0 评论 -
BatchNormalization、LayerNormalization区别
BN将每个通道的所有数据进行归一化LN将每个数据的所有通道进行归一化将输入的图像shape记为[N, C, H, W],区别就是在:batchNorm是在batch上,对NHW做归一化,对小batchsize效果不好; layerNorm在通道方向上,对CHW归一化,主要对RNN作用明显; 在上图中每个颜色表示一个训练样本,每个样本都有自己的长度。BN是按与y轴平行的方向计算...转载 2019-12-17 13:41:45 · 497 阅读 · 0 评论 -
梯度下降原理推导及python代码实现
1、原理:假设咱们现在想用来拟合这组数据,由于在梯度下降的算法里,咱们是通过不断的改变θ的值,经过多次迭代,最终判断 J(θ)达到我们的预期范围,则停止迭代。一般梯度下降法迭代很多次后都会收敛,通过J(θ)的表达式 我们可以看出来代价函数图像是一个类似于开口向上的碗,只要通过不断的...转载 2019-10-15 20:19:06 · 246 阅读 · 0 评论 -
深度学习面试题总结
1.CNN的卷积核是单层还是多层的?描述网络模型中某层的厚度,通常用名词通道channel数或者特征图feature map数。不过人们更习惯把作为数据输入的前层的厚度称之为通道数(比如RGB三色图层称为输入通道数为3),把作为卷积输出的后层的厚度称之为特征图数。卷积核的厚度H, 一般等于前层厚度M(输入通道数或feature map数). 特殊情况M > H。卷积核的个数N, ...转载 2019-10-15 17:29:11 · 1051 阅读 · 0 评论 -
Adam和学习率衰减(learning rate decay)
1、梯度下降法更新参数梯度下降法参数更新公式:其中,η是学习率,θt是第t 轮的参数,J(θt) 是损失函数,∇J(θt) 是梯度。在最简单的梯度下降法中,学习率ηη是常数,是一个需要实现设定好的超参数,在每轮参数更新中都不变,在一轮更新中各个参数的学习率也都一样。为了表示简便,令,所以梯度下降法可以表示为:2、Adam 更新参数Adam,全称 Ada...转载 2019-10-15 16:08:46 · 19877 阅读 · 0 评论 -
相似度计算之Dice系数
Dice距离用于度量两个集合的相似性,因为可以把字符串理解为一种集合,因此Dice距离也会用于度量字符串的相似性。此外,Dice系数的一个非常著名的使用即实验性能评测的F1值。Dice系数定义如下:Python实现:...转载 2019-10-15 15:31:10 · 6863 阅读 · 1 评论 -
手写数字识别tensorflow实现
# !/usr/bin/env python# _*_ coding: utf-8 _*_import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 定义神经网络模型的评估部分def compute_accuracy(test_xs, test_ys): # 使用全局...转载 2019-10-14 23:14:07 · 143 阅读 · 0 评论 -
各种卷积类型Convolution
1、Group convolutionGroup convolution是最早应用在2012年Alexnet的双GPU架构模型中,相当于把channel这一维度均分到两个GPU,进行分组卷积。如图所示:这篇论文是:ImageNet Classification with Deep Convolutional Neural Networks。由图可见,上下两个并行的网络结构只有在部分层...转载 2019-10-12 11:25:39 · 491 阅读 · 0 评论 -
权重衰减防止过拟合(L2正则化)
1.、权重衰减(weight decay)L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。2、L2正则化与权重衰减系数L2正则化就是在代价函数后面再加上一个正则化项:其中C0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与C...转载 2019-09-25 16:49:18 · 2181 阅读 · 1 评论 -
深度神经网络加速和压缩
网络加速和压缩技术根据采用的方法不同大概可以分为:Low-Rank Pruning Quantization Knowledge Distillation1、Low-Rank 低秩分解深度网络加速和压缩的第一种方法是Low-Rank低秩分解。由于卷积神经网络中的主要计算量在于卷积计算,而卷积计算本质上是矩阵分析的问题,通过在大学对矩阵分析、高等数学的学习我们知道通过SVD奇异...转载 2019-09-26 21:04:12 · 810 阅读 · 1 评论 -
为什么说Relu是非线性激活函数,在大于0部分不是线性的吗?
转载 2019-09-26 15:33:57 · 1614 阅读 · 0 评论 -
Batch Normalization层
BN,全称Batch Normalization,在进行深度网络训练时,大都会采取这种算法。原文链接:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift1、为什么使用归一化首先来说归一化的问题,神经网络训练开始前,都要对数据做一个归一化处理,归一化有很多好...转载 2019-09-26 13:35:24 · 386 阅读 · 0 评论 -
常用损失函数
一、分类任务loss1、二分类交叉熵损失 sigmoid_cross_entropy2、多分类交叉熵损失 softmax_cross_entropy3、focal lossfocal loss为凯明大神的大作,主要用于解决多分类任务中样本不平衡的现象,可以获得比softmax_cross_entropy更好的分类效果。论文中α=0.25,γ=2效果最好。...转载 2019-09-26 09:51:14 · 690 阅读 · 0 评论 -
权重初始化方法
在深度学习中,神经网络的权重初始化方法对(weight initialization)对模型的收敛速度和性能有着至关重要的影响。说白了,神经网络其实就是对权重参数w的不停迭代更新,以期达到较好的性能。在深度神经网络中,随着层数的增多,我们在梯度下降的过程中,极易出现梯度消失或者梯度爆炸。因此,对权重w的初始化则显得至关重要,一个好的权重初始化虽然不能完全解决梯度消失和梯度爆炸的问题,但是对于处理这...转载 2019-09-26 09:50:58 · 2264 阅读 · 0 评论 -
训练网络时loss不下降原因
1、网络训练时train loss与test loss的结果分析(1) train loss不断下降,test loss不断下降 可能发生的原因: 网络还在学习中,loss在稳步下降。(2) train loss不断下降,test loss趋于不变 可能发生的原因: 网络出现过拟合的现象,因此在训练集上表现为网络仍在学习,但是test loss趋于不变说明网络泛化能力差。...转载 2019-09-25 16:15:06 · 1019 阅读 · 0 评论 -
Dropout
1. Dropout简介1.1 Dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。过拟合是很多机器学习的通病。如果模型过拟合,那么得到的模型几乎不能用。为了解决过...转载 2019-09-26 09:51:22 · 793 阅读 · 0 评论 -
学习率衰减
一、学习率衰减的概念和必要性学习率过大,在算法优化的前期会加速学习,使得模型更容易接近局部或全局最优解。但是在后期会有较大波动,甚至出现损失函数的值围绕最小值徘徊,波动很大,始终难以达到最优,如下图蓝色曲线所示。所以引入学习率衰减的概念,直白点说,就是在模型训练初期,会使用较大的学习率进行模型优化,随着迭代次数增加,学习率会逐渐进行减小,保证模型在训练后期不会有太大的波动,从而更加接近最优解,...转载 2019-09-25 20:27:49 · 1309 阅读 · 0 评论 -
分布式深度学习原理
无监督的特征学习和深度学习已经证明,通过海量的数据来训练大型的模型可以大大提高模型的性能。但是,考虑需要训练的深度网络模型有数百万甚至数十亿个参数需要训练,这其实是一个非常复杂的问题。我们可以很快完成复杂模型的训练,而不用等待几天甚至几个星期的时间呢?Dean等人提出了一个可行的训练方式,使我们能够在多台物理机器上训练和serving一个模型作者提出了两种新的方法来完成这个任务,即模型并行和数...转载 2019-09-25 20:20:27 · 403 阅读 · 0 评论 -
L1正则化和L2正则化
L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。1、L1正则化和L2正则化定义L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为 L2正则化是指权值向量w中各个元素的平方和然后再求平方根,通常表示为2、L1正则化和L2正则化的作用L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择 L2正则...转载 2019-09-25 17:55:00 · 1234 阅读 · 0 评论 -
常见生成模型 -- 自动编码器 Auto-Encoder
1、Auto-Encoderautoencoder是一种无监督的学习算法,主要用于数据的降维或者特征的抽取。我们希望编码后的数据能够较好的保留原始数据的主要特征。那么,如何衡量编码后的数据是否保留了较完整的信息呢?答案是:如果编码后的数据能够较为容易地通过解码恢复成原始数据,我们则认为较好的保留了数据信息。自动编码器就必须捕捉可以代表输入数据的最重要的因素,就像PCA那样,找到可以代表原信...转载 2019-09-26 22:21:27 · 992 阅读 · 0 评论 -
常见生成模型 -- VAE 可变分自动编码器
先简单介绍一下VAE,VAE作为一个生成模型,其基本思路是很容易理解的:把一堆真实样本通过编码器网络变换成一个理想的数据分布,然后这个数据分布再传递给一个解码器网络,得到一堆生成样本,生成样本与真实样本足够接近的话,就训练出了一个自编码器模型。那VAE(变分自编码器)就是在自编码器模型上做进一步变分处理,使得编码器的输出结果能对应到目标分布的均值和方差,如下图所示,具体的方法和思想在后文会介绍:...转载 2019-09-27 13:17:50 · 3011 阅读 · 0 评论 -
卷积与反卷积
1、卷积上图展示了一个卷积的过程,其中蓝色的图片(4*4)表示的是进行卷积的图片,阴影的图片(3*3)表示的是卷积核,绿色的图片(2*2)表示是进行卷积计算之后的图片。在卷积操作中有几个比较重要的参数,输入图片的尺寸、步长、卷积核的大小、输出图片的尺寸、填充大小。2、卷积参数介绍输入图片的尺寸:上图中的蓝色图片(4*4),表示的是需要进行卷积操作的图片,在后面的公式中用 ...转载 2019-09-28 14:08:27 · 1489 阅读 · 0 评论 -
常用卷积神经网络 -- DenseNet
与ResNet的主要区别在于,DenseNet里模块B的输出不是像ResNet那样和模块A的输出相加,而是在通道维上连结。这样模块A的输出可以直接传入模块B后面的层。在这个设计里,模块A直接跟模块B后面的所有层连接在了一起。 这也是它被称为“稠密连接”的原因。DenseNet 通过特征在channel上的连接来实现特征重用。DenseNet的主要构建模块是稠密块(dense block)和...原创 2019-07-16 09:16:34 · 573 阅读 · 0 评论 -
SENet
SENetSENet是一种网络层之间可以安插的block,比如可以安插在ResNet、Inception中。它的核心就是:对feature map,抑制没用的channel,增强有用的channel。而抑制和增强则是通过训练(0,1)之间的权重来完成。具体如下:以SE-Inception为例,首先对HxWxC的feature map进行global pooling,得到1x1...转载 2019-10-10 10:55:12 · 1152 阅读 · 0 评论 -
二阶优化方法
1、正定矩阵正定矩阵的特征值全部大于0,负定矩阵的特征值全部小于0,半正定矩阵的特征值大于等于0,半负定矩阵的特征值小于等于0,这些都叫做定型矩阵。但是我们求特征值的时候还经常遇到一个矩阵的几个特征值既有>0,又有<0,还有可能=0,这样的特征值既有正又有负又有0的矩阵就都叫做不定型的矩阵,也就是不定矩阵。2、雅可比矩阵在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的...原创 2019-10-09 15:02:18 · 1264 阅读 · 0 评论 -
损失函数 Focal Loss
针对数据不平衡情况,提出一种能让模型快速收敛的损失函数。其主要思想就是添加一个一个抑制参数,使得在训练计算损失时,抑制容易分类的样本的权重,从而让模型能够重点学习辨别那些不易区分的样本。1、Cross entropy2、Balanced Cross Entropy添加平衡参数alpha,优化正负样本数据不平衡情况。3、Focal Loss添加抑制...转载 2019-10-09 14:44:15 · 832 阅读 · 0 评论 -
如何解决样本不均衡问题
一、样本的过采样和欠采样1、过采样:将稀有类别的样本进行复制,通过增加此稀有类样本的数量来平衡数据集。该方法适用于数据量较小的情况。2、欠抽样:从丰富类别的样本中随机选取和稀有类别相同数目的样本,通过减少丰富类的样本量啦平衡数据集。该方法适用于数据量较大的情况。3、也可以将过采样和欠采样结合在一起使用。4、使用SMOTE方法来构造样本。SMOTE算法是一种过采样的算法。这个算法...转载 2019-10-09 13:23:47 · 384 阅读 · 0 评论 -
多GPU训练
TensorFlow可以用单个GPU,加速深度学习模型的训练过程,但要利用更多的GPU或者机器,需要了解如何并行化地训练深度学习模型。常用的并行化深度学习模型训练方式有两种:同步模式和异步模式。下面将介绍这两种模式的工作方式及其优劣。如下图,深度学习模型的训练是一个迭代的过程。在每一轮迭代中,前向传播算法会根据当前参数的取值,计算出在一小部分训练数据上的预测值,然后反向传播算法...转载 2019-09-29 12:56:09 · 239 阅读 · 0 评论 -
注意力模型 attention model
1、Encoder-Decoder框架要了解深度学习中的注意力模型,就不得不先谈Encoder-Decoder框架,因为目前大多数注意力模型附着在Encoder-Decoder框架下,当然,其实注意力模型可以看作一种通用的思想,本身并不依赖于特定框架,这点需要注意。Encoder-Decoder框架可以看作是一种深度学习领域的研究模式,应用场景异常广泛。图2是文本处理领域里常用的Encod...转载 2019-09-29 12:28:39 · 483 阅读 · 0 评论 -
深度学习基础知识
一、基础1、线性回归https://blog.youkuaiyun.com/qq_32172681/article/details/980569412、softmax回归https://blog.youkuaiyun.com/qq_32172681/article/details/1013536463、多层感知机https://blog.youkuaiyun.com/qq_32172681/article/deta...原创 2019-09-29 11:24:02 · 126 阅读 · 0 评论 -
GRU网络
1、简介随着 LSTM 在自然语言处理特别是文本分类任务的广泛应 用,人们逐渐发现 LSTM 具有训练时间长、参数较多、内部计 算复杂的缺点。Cho 等人在 2014 年进一步提出了更加简单的、 将 LSTM 的单元状态和隐层状态进行合并的、还有一些其他的变动的 GRU 模型。将忘记门和输入门合成了一个单一的更新门。同样还混合了细胞状态和隐藏状态。GRU把LSTM中的遗忘门和输入们用更新门来替...转载 2019-09-29 11:06:37 · 8421 阅读 · 0 评论 -
上采样,反卷积,上池化区别
通过卷积和池化等技术可以将图像进行降维,因此,一些研究人员也想办法恢复原分辨率大小的图像,特别是在语义分割领域应用很成熟。通过对一些资料的学习,简单的整理下三种恢复方法,并进行对比。1、Upsampling(上采样)在FCN、U-net等网络结构中,涉及到了上采样。上采样概念:上采样指的是任何可以让图像变成更高分辨率的技术。最简单的方式是重采样和插值:将输入图片进行rescale到一...转载 2019-09-28 14:28:16 · 660 阅读 · 0 评论