
深度学习
文章平均质量分 64
-倾城之恋-
这个作者很懒,什么都没留下…
展开
-
Ubuntu20.04+RTX3090ti+cuda11.6+cudnn8.4.1+pytorch安装过程记录
为了快速配置基于pytorch的深度学习工作环境,现对Ubuntu20.04 +RTX3090ti +cuda11.6+ cudnn8.4.1 +pytorch安装过程进行简要记录。为了保持权威性,在此过程中,本文尽量引用官方安装指导。原创 2022-08-13 23:17:49 · 7102 阅读 · 2 评论 -
pytorch模型不同层设置不同的学习率
在神经网络模型训练中, 我们通常都会有一个特征提取网络backbone, 例如YOLO使用的darknet SSD使用的VGG-16。为了达到比较好的训练效果, 往往会加载预训练的backbone模型参数, 然后在此基础上训练检测网络, 并对backbone进行微调, 这时候就需要为backbone设置一个较小的lr。class net(torch.nn.Module): def __init__(self): super(net, self).__init__()转载 2021-05-25 21:14:31 · 968 阅读 · 2 评论 -
LSTM和GRU区别与联系
LSTM和GRU都是特殊的RNN架构,都是为了解决梯度消失问题而生。GRU可以认为是简化版本的LSTM。GRU具体两个门结构:重置门和更新门。重置门用来控制新的信息如何与前面的记忆结合,更新门用来控制当前新的记忆与过去的记忆结合。重置门:r=σ(U1xt+W1ht−1)r=\sigma(U_1x_t+W_1h_{t-1})r=σ(U1xt+W1ht−1)更新门:z=σ(U2xt+...原创 2019-08-03 05:08:22 · 1484 阅读 · 0 评论 -
手写误差反向传播算法Error BackPropagation
本文介绍如何手写神经网络训练代码已知数据:输入数据X∈Rn×dX\in\mathbb{R}^{n\times d}X∈Rn×d,nnn为样本个数,ddd为样本维数,也就是神经网络输入节点数。标注数据Y∈Rn×tY\in\mathbb{R}^{n\times t}Y∈Rn×t, ttt为输出维数,也就是神经网络输出节点数。注意,为了便于书写,不考虑偏置Bias。神经网络模型:两层权重,三...原创 2019-07-30 04:20:39 · 635 阅读 · 0 评论 -
标注平滑技术(Label Smoothing)
在分类任务中,常用交叉熵损失函数来优化模型。但是交叉熵损失函数中的标注为one-hot向量,在计算损失时,仅仅1标签对应的概率产生了损失,而其它0标签对应的概率无论如何都不会产生损失,这样就浪费了有用信息,容易让模型只关注提高标签对应的概率,而不考虑0标签对应的概率,不利于模型的学习。标注平滑技术对one-hot向量进行了改进,简而言之就是想one-hot向量中的零元素改成一个小的整数,这样在0...原创 2020-04-19 22:58:53 · 467 阅读 · 0 评论 -
深度学习之CNN网络结构
由于深度学习的方便灵活,其受到了CV以及NLP领域的的极大关注,特别是CV领域,随着深度学习网络结构的层出不穷,CV领域的baseline被极大地提升。本文回顾总结CV领域中几种网络结构的特点及其动机。1、LeNet2层卷积,3层全连接层,现在看来该网络稀松平常、没有任何特点,但是在当时,LeNet是开创性的工作。2、AlexNet (2012)5层卷积,3层全连接层。和LeNet相比,第...原创 2020-04-19 22:00:03 · 1157 阅读 · 0 评论 -
常用神经网络参数初始化方法
一般神经网络被随机初始化。随机从均匀分布或者高斯分布中采样。1、Xavier初始化适用于tanh,sigmoid激励函数:w∼U(−scale,+scale)w \sim U(-scale,+scale)w∼U(−scale,+scale);scale=6nin+noutscale=\sqrt{\frac{6}{n_{in}+n_{out}}}scale=nin+nout6.w∼...原创 2020-04-19 09:42:32 · 572 阅读 · 0 评论 -
tensorflow 简单介绍
tensorflow是谷歌公司开发的一个计算框架,类似于NumPy,但是比后者功能强大的多。tensorflow可以快速开发一些机器学习算法,特别是深度学习算法。tensorflow的核心如字面意思就是张量流。1、张量(tensor)张量的意思可以简单理解为一个高维数组。2、计算图或者流(flow)而计算图就是有一系列张量节点和计算节点组成的一个图,其描述了一个表达式的计算过程。在神经网络...原创 2020-04-17 18:04:51 · 1862 阅读 · 0 评论 -
生成对抗网络(GAN)简单认识
本文简单介绍生成对抗网络的来源及逻辑。假设我们想训练一个生成器G(z)G(z)G(z),使得生成器的输出xxx尽可能真实自然,但是是否真实自然这个损失函数很难设计。于是我们想到可以利用一个判别器D(x)D(x)D(x)来判断生成样本xxx的真假。但问题是这个判别器从何而来?既然很难设计,那就不妨训练一个这样的判别器。训练数据分为两类,正例是真实的天然样本,负例是伪造的生成的样本。天然样本当然好获...原创 2019-08-05 03:34:14 · 392 阅读 · 0 评论 -
关于归一化与标准化
1、归一化是什么狭义的归一化(最大最小归一化)是指对多维数据(特征)x=[x1,...,xi,...xd]x=[x_1,...,x_i,...x_d]x=[x1,...,xi,...xd]的每一维进行xi′=xi−min(xi)max(xi)−min(xi)x'_i=\frac{x_i-min(x_i)}{max(x_i)-min(x_i)}xi′=max(xi)−min(xi)xi...原创 2020-04-11 13:22:12 · 416 阅读 · 0 评论 -
从二类逻辑回归到多类逻辑回归,再到softmax分类
二类逻辑回归逻辑回归虽然带有回归两个字,但是却是一个分类模型。之所以说是逻辑回归,是因为在二类逻辑回归中,特征的线性转换wTxw^TxwTx被输入到一个Logistic Sigmoid函数(简称Sigmoid 函数)里。f(x)=1e−wTx, (1)f(x)=\frac{1}{e^{-w^Tx}},~~~~(1)f(x)=e−wTx1,&nbs...原创 2020-01-10 12:29:09 · 559 阅读 · 0 评论 -
attention机制
注意力机制注意力机制使用非常广泛,其核心生成一个非负的权重向量或者矩阵,其和为0。,然后利用生成的权重向量或者矩阵逐元素乘以另外一个向量或者矩阵,自动捕获我们所关心的信息。根据这个权重向量或者矩阵的取值范围不同,可以分为soft attention和hard attention。soft attention 中,权重是在(0,1)之间。hard attention中,权重是 one hot...原创 2020-01-02 17:49:31 · 319 阅读 · 0 评论 -
深度残差网络
什么是深度残差网络实际就是在一般的深度神经网络中加入短连接(shortcut connection)或者跳跃连接(skip connection)。为什么需要深度残差网络梯度消失问题:随着深度的增加,梯度消失,深度神经网络的比较快靠前的网络层很难训练。加入短连接后,靠后网络的层的梯度可以直接反向传播到前面的层,加速网络训练。另外一个解释就是,加上短连接后,参数没有增加,网络学习目标相当于...原创 2020-01-02 12:13:33 · 324 阅读 · 0 评论 -
batch-norm
batch-norm是什么batch-norm 是google研究人员提出的一种加速深度神经网络训练的技术。如字面意思是一种批量归一化,实际就是对神经网络的某一层的batch输出进行归一化(先进行zscore归一化然后再输入到激励函数内)。为什么做batch-norm第一个问题:分布不一致问题,泛化不好在统计学习中间经常要假设训练数据的分布和测试数据的分布一致,如果不一致需要迁移学习,域自...原创 2020-01-02 11:35:49 · 1254 阅读 · 0 评论