![](https://img-blog.csdnimg.cn/20190911143153971.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习
文章平均质量分 67
深度学习网络、优化算法、debug等。
rosefunR
每次都多付出一点. 欢迎关注公众号《机器学习与算法之道》
展开
-
new bing 初体验:辅助看论文刚刚好
微软关于GPT的应用是积极推进,包含,Windows Copilot 等产品的推出。相信,这一人工智能浪潮会更猛。最近开通了个公众号,主要分享推荐系统、AIGC等算法相关的内容,感兴趣的伙伴可以关注下。原创 2023-05-27 14:00:18 · 1363 阅读 · 0 评论 -
DeepLab
空洞卷积的使用CRF在语义分割上的应用传统上,CRF已被用于平滑噪声分割图。通常,这些模型包含耦合相邻节点的能量项,有利于相同标签分配空间近端像素。定性的说,这些短程的CRF主要功能是清除在手工特征基础上建立的弱分类器的虚假预测。简要概述空洞卷积可以在不增加参数的情况下增加感受野。通过两种方式来进行多尺度的处理:A.将原始图像的多种尺度喂给网络进行训练。B.通过平行的不同空洞率的空洞卷积...原创 2020-10-24 10:00:59 · 8367 阅读 · 0 评论 -
解决样本稀疏/稀缺问题的方法
1、方法1 首先,数据量不够,你就把1个当8、9、10······个用,裁剪裁剪,变换变换,翻转翻转。 其次,学习特征不够,人工先验来凑。2、方法2 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批”新”的数据. Regularization. 数据量比较小会导致模型过拟合, 使得训练误差很小而测试误差特别大. 通过在Loss Function原创 2017-12-14 11:33:01 · 40221 阅读 · 0 评论 -
深度模型参数及超参数调整的经验汇总
(1)初始化对网络的权重参数进行初始化,比如:Xavier 的uniform, normal;一般的均匀分布,标准正态分布都可以尝试。神经网络参数初始化及Pytorch接口(2)Batch Normalization加快网络收敛,如果有BN了,全连接可以考虑不加Dropout。(3)激活函数选择Relu, 也可以改成PReLU, GELUs等relu变形。(4)学习率使用学习率衰减, 初始化的LR, 0.01, 0.001, 0.0001 等。注意的是,如果开始的学习率过大, 可能因为原创 2020-09-09 18:25:52 · 10024 阅读 · 1 评论 -
参数服务器:梯度下降法的应用
1. 参数服务器参数服务器,parameter sever, ps, 是一个编程框架,用于方便分布式并行程序的编写,其中重点在于对大规模参数的分布式存储和协同的支持。出发点:工业界需要训练大型的机器学习模型,一些广泛使用的特定的模型在规模上的两个特点:参数很大,超过单个机器的容纳能力(比如大型Logistic Regression和神经网络)训练数据巨大,需要分布式并行提速(大数据)因此,参数服务器是为了解决参数量很大而产生的。PS原理Parameter Server的主要目原创 2020-09-05 16:15:31 · 8859 阅读 · 1 评论 -
论文Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
Grad-CAM: Why did you say that?Visual Explanations from Deep Networks via Gradient-based Localization1. 简介Gradient-weighted Class ActivationMapping (Grad-CAM),卷积神经网络可视化的工具参考:Grad-CAM: Why d...原创 2020-03-10 10:27:16 · 8871 阅读 · 0 评论 -
含绝对值损失函数的优化分析
1、问题在深度学习中,定义的损失函数含绝对值,如MAE,会存在一阶导数不连续,这时候在不连续的点处该如何进行反向传播?2、案例绝对值函数求导ddx∣u∣=u∣u∣⋅dudx\frac{d}{d x}|u|=\frac{u}{|u|} \cdot \frac{d u}{d x}dxd∣u∣=∣u∣u⋅dxduL1 损失函数L1(ypredict,ytrue) =∑i=1n∣yt...原创 2020-01-18 16:53:10 · 12316 阅读 · 3 评论 -
堆叠胶囊自编码器 Stacked Capsule Autoencoders
本文提出了堆栈式胶囊自编码器(SCAE),该编码器包含两个阶段。在第一阶段,部件胶囊自编码器(PCAE)将图像分割为组成部分,推断其姿态,并将每个图像像素重建为变换组件模板的像素混合。在第二阶段,目标胶囊自编码器(OCAE)尝试将发现的部件及其姿态安排在一个更小的目标集合中。这个目标集合对每个部件进行预测,从而解释每个部件的姿态。通过将它们的姿态——目标-观察者关系(OV)和相关的目标-部件关系...原创 2019-10-22 20:27:41 · 12296 阅读 · 5 评论 -
半监督序列学习
1、序列自编码器和递归语义模型2、半监督序列学习从序列自动编码器获得的权重可以用作另一个有监督网络的初始化,该网络试图对序列进行分类。 我们假设这是因为网络已经可以存储输入序列,序列自动编码器是初始化递归网络的良好且稳定的方法。因此,利用无标签样本和有标签样本作为序列自编码器的输入,并且获得的权重作为其他有监督网络的初始化。在对循环语言模型或序列自动编码器进行了大约500K步骤的训练后,...原创 2019-10-14 16:58:44 · 8644 阅读 · 0 评论 -
深度学习网课及其他资源
汇总1 cs231n 计算机视觉原创 2019-03-31 15:39:20 · 9163 阅读 · 0 评论 -
从实践看神经网络拟合任何函数
1 理论理论部分看 Multilayer Feedforward Networks areUniversal Approximators ,公式比较繁琐,英文看起来晦涩。总的来说就是,多层神经网络在任意的的隐层节点和专属压缩函数(看做非线性激活函数),能够逼近任意Borel 测量函数.2 实践import numpy as npimport matplotlib.pyplot as p...原创 2019-04-18 16:09:12 · 13280 阅读 · 2 评论 -
CTR 模型 NFFM
1 理论介绍详看zhihu nzc 介绍 NFFM;这里,可以看到,embedding 层 Matrix Embedding 的表示是field number(特征的个数)个矩阵组成。 也就是说, 一个 one hot 特征转换为一个矩阵, 这里矩阵的维度其实是, field_num * embedding_size; 这里选择 field_num 个而不是一个的原因是,它认为 每两个特征交...原创 2019-05-25 11:38:04 · 12088 阅读 · 0 评论 -
深度学习思考
1.What’s Wrong With Deep Learning?原创 2019-05-22 16:11:52 · 8370 阅读 · 0 评论 -
关于dropout
1.dropoutdropout 训练集随机选择一定概率的节点失活,测试集的时候,所有节点都不失活,但存在的概率乘于dropout大小。2.dropout源码其实,keras等API调用dropout时,已经帮我们判断是否是训练状态还是测试状态进行分别处理。参考:dropout 介绍;dropout 测试集如何disable;dropout 源码;...原创 2019-06-13 21:13:15 · 8829 阅读 · 0 评论 -
加载本地cifar10 数据集
def load_CIFAR10(ROOT): """ load all of cifar """ xs = [] ys = [] for b in range(1,6): f = os.path.join(ROOT, 'data_batch_%d' % (b, )) X, Y = load_CIFAR_batch(f) xs.append(X) y...原创 2019-06-19 10:44:46 · 12980 阅读 · 5 评论 -
激活函数 sigmoid、tanh、ReLu、Leaky ReLu、ELU、Maxout
1.示意图import matplotlib.pyplot as pltimport numpy as npexp = np.exp def sigmoid(x): return exp(x)/(1 + exp(x))def tanh(x): return (exp(x) - exp(-x))/(exp(x) + exp(-x))plt.plot()#x = np...原创 2019-06-11 08:54:43 · 9410 阅读 · 0 评论 -
有序神经元LSTM:ON-LSTM
1.结构参考:1.苏神 blog原创 2019-06-11 10:45:58 · 9389 阅读 · 0 评论 -
网络训练加速方法:批标准化Batch Normalization, BN
1. 简介Batch Normalization 出自论文 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift , 核心思想就是,通过减少隐层内部协方差偏移来加速网络训练。2. 方法2.1 隐层分布变换成标准高斯分布这里是对每一个训练batch样本来求均值、...原创 2019-10-11 23:01:00 · 9548 阅读 · 0 评论 -
浅谈BERT
1. 背景BERT是预训练模型,能够显著提高下游任务效果,不使用label样本。成功的原因在于,代理任务的积累从简单的CBOW, skipgram,最终到 Masked-LM,nsp。深层网络越是深层、大容量的网络,越能抽取高层的特征、存储更丰富的知识,Resnet,各种 norm技术,SBBB结构( Shortcut 、BottleNeck、 Branches, BatchN...原创 2020-04-15 14:15:39 · 10653 阅读 · 0 评论 -
numpy实现两层神经网络
1 理论损失函数的反向传播就是层层链式求导,得到每个矩阵或者向量的增量,然后更新。2 实践import numpy as npx = np.array([[0,0,1], [0,1,1],[1,0,1],[1,1,1]])y = np.array([[0,1,1,0]]).Tw0 = 2*np.random.random((3,4))-1w1 = 2*np.random.rando...原创 2019-03-31 15:37:45 · 9514 阅读 · 0 评论 -
神经网络loss Nan
1.原因有可能是学习率太高(调为0,看是否出现这个问题);如果仍有,说明是那个地方出现 /0, log(0)等可能性,导致出现无穷大的数。参考:1 为什么用tensorflow训练网络,出现了loss=nan,accuracy总是一个固定值?...原创 2019-03-29 16:09:09 · 9514 阅读 · 0 评论 -
可转换学习架构以实现可扩展图像识别
背景这篇文章是2018 CVPR优秀论文之一,本文出发点在于,设计算法自动学习的神经网络结构1 方法作者提出NAS(neural architecture search)的方法来自动学习网络的结构,这个结构通过一个RNN采样具有不同结构的子网络,并训练子网络,根据在验证集的效果,反馈给RNN进行更新。为了解决速度更新问题,使用小数据集学到的网络结构,迁移到大的数据集中。作者并且只让RNN...原创 2018-12-17 20:54:50 · 8506 阅读 · 0 评论 -
TCN时间卷积网络介绍
绪论TCN, Temporal Convolutional Network,时间卷积网络,是一种能够处理时间序列数据的网络结构,论文还评为2018年10大论文。1. 模型输入: x0,x1,...,xt{x_0, x_1,..., x_t}x0,x1,...,xt;输出:y0,y1,...,yt{y_0, y_1,..., y_t}y0,y1,...,yt根据输入序列,推断新...原创 2018-12-11 20:20:08 · 28050 阅读 · 7 评论 -
生成潜在最近邻的非对抗图像合成
背景这是Facebook的一篇论文。生成对抗网络GAN在图像生成方面得到广泛的应用,其他VAE、流模型在应用都有一些差距。Wasserstein距离虽然极大提升GAN的效果,但理论上存在训练不稳定和模式丢失的问题。Facebook融合两种对抗方法的优势,提出本文GLANN的模型。无条件生成模型通过给定有限的数量的训练样本学习得到生成整个图像分布的函数。其中,GAN具有以下优点:1.能有效训练...原创 2018-12-27 20:29:18 · 9048 阅读 · 0 评论 -
浅谈Attention及Transformer网络
1 Transformer 模型结构Attention 的编码,把一个输入序列(x1,...,xn)(x_1,...,x_n)(x1,...,xn)表示为连续序列z=(z1,...,zn)\mathbf {z} = (z_1,...,z_n)z=(z1,...,zn).给定z\mathbf {z}z, 解码生成一个输出序列 (y1,...,ym)(y_1,..., y_m)(y1,.....原创 2018-12-09 18:51:41 · 19611 阅读 · 0 评论 -
浅谈NLP预处理及WordEmbedding(Word2Vec,Glove等)
背景今年看到一些算法比赛,使用 word2vec 方法越来越多了,似乎也成为了一个大杀器。一般只有特征是类别/离散特征基本上可以使用这种方法。1.原理这个就是它的原理,一个是CBOW,从上下文推断该时刻的概率;一个是Skip-gram,从该点推出上下文。reference: a non-nlp application of word2vec;...原创 2018-12-03 15:01:21 · 12089 阅读 · 0 评论 -
浅谈capsule胶囊网络
1、capsule 网络Hinton团队在2017年 发表 Dynamic Routing Between Capsules 一文。capsule是使用向量来表示参数的一组神经元。文中,capsule是为了改善CNN而提出。更高层的capsule代表了更大局域的图片。capsule network 没有像 CNN 池化层那样丢失信息。2、向量表示使用输出向量的长度代表这个capsule的存...原创 2018-11-06 15:58:26 · 11748 阅读 · 0 评论 -
(坑)神经网络语言模型NNLM模型
参考:NNLM模型;licstar.net;神经网络语言模型原创 2018-01-26 22:46:24 · 12905 阅读 · 0 评论 -
Hinton胶囊论文疑问
1、概念首先,capsule是一组神经元(这里一组和一层神经网络有区别吗?)好像一组神经元是一层分割而成。比较有趣的是,使用活动量(activity vector)的长度来表征存在的概率(所以,这是,具有【0,1】长度的向量)。向量方向表示实例化参数(有个疑问,方向是指0-360度?这样方向具有周期性?)而且,这个capsule具有多个级别,更高级别capsule更活跃。论文中,提原创 2018-01-25 17:10:23 · 8444 阅读 · 0 评论 -
深度学习python包yadlt安装和简介
1、安装pip install yadlt2、简介深度学习工具参考: 10种深度学习算法原创 2017-12-27 20:49:09 · 9529 阅读 · 0 评论 -
RBM受限玻尔兹曼机理解及实现
引言1、RBM简介2、贪婪算法 首先字典学习它是个非凸优化问题,多层字典学习将会变得更加复杂;另外多层字典学习的所要求解的参数大大增加,在有限的训练样本下,容易引起过拟合问题。因此文献提出类似于SAE、DBN一样,采用逐层训练学习的思想,这样可以保证网络的每一层都是收敛的。算法其实非常简单,以双层分解为例进行逐层分解,具体示意图如下:参考:RBM 知乎;深度学习贪婪算法 CSDN;A d原创 2017-12-26 16:49:20 · 10346 阅读 · 0 评论 -
神经网络模型不收敛的处理
1、learning rate设大了0.1~0.0001.不同模型不同任务最优的lr都不一样。我现在越来越不明白TensorFlow了,我设置训练次数很大的时候,它一开始就给我“收敛”到一个值,后面的值都一样。2、归一化参考:深度学习收敛问题;训练深度神经网络原创 2017-12-22 14:50:02 · 30763 阅读 · 24 评论 -
Tensorflow1.x系列(4): 神经网络在TensorFlow实现
1.引言1.1神经网络的术语 1.偏置bias: 2.激活函数:sigmoid函数;tanh函数;Relu函数。 3.损失函数:最小平方误差准则(MSE)、交叉熵(cross-entropy)、对数似然函数(log-likelihood)、指数损失函数(exp-loss)、Hinge损失函数(Hinge-loss)、0-1损失函数、绝对值损失函数 4.反向传播优化算原创 2017-12-06 10:25:10 · 16577 阅读 · 2 评论 -
基于监督和半监督的文本分类
1 背景这是16年提出的论文Supervised and Semi-Supervised Text Categorization using LSTM for Region Embeddings。文本分类在具体应用中包含,情感分析和话题分类任务等。基于CNN的“region Embedding + pooling”模式,每次卷积实质上是对小块区域的文本采样并生成其区域特征,池化过程则是综合所有...原创 2018-12-23 17:25:07 · 13947 阅读 · 0 评论 -
使用元学习和推理改善模型
背景这篇文章是NIPS 2018年元学习研讨会上的文章,提出了可能性推理的循环器。1 动机统计学和机器学习在科学中通常采用归纳的方法,也就是,从实验开始,推断解释数据的最简单法制。比如,通过你预测和实际人口的演变作比较,推断此环境的最佳模型参数(概率)。通过将模型预测和实际数据进行比较,可以了解模型的正确性并相应地进行调整。本论文的主要动机是,构建一个机器,将可调整的模拟器和实际数据作为输...原创 2018-12-18 17:32:48 · 8960 阅读 · 0 评论 -
精确快速目标检测接收场块网络(RFBNet)
1.模型使用11,33,55卷积以及33(rate = 1,3,5)的空洞卷积核。各种模型对比图:RFB结构:RFB-Net300:2.实现class BasicRFB(nn.Module): def __init__(self, in_planes, out_planes, stride=1, scale = 0.1,map_reduce=8): s...原创 2019-03-18 19:55:55 · 9534 阅读 · 0 评论 -
孪生网络Siamese Network 简介
1 简介架构:对比损失函数(Contrastive Loss function)其中,Dw为以下表达式,网络输出的欧式距离。2 实践class SiameseNetwork(nn.Module): def __init__(self): super(SiameseNetwork, self).__init__() self.cnn1 =...原创 2019-03-07 20:44:14 · 12717 阅读 · 0 评论 -
FastText介绍(word2vec,层次softmax,负采样)
背景fastText是Facebook2016年提出的文本分类工具,是一种高效的浅层网络。1 基本知识1.1 softmax回归有m个样本{(x(1),y(1)),...}\left\{ {(x^{(1)},y^{(1)}),...}\right\}{(x(1),y(1)),...}, y(i)∈{0,1}y^{(i)}\in \left\{ {0,1} \right\}y(i)∈{0,1...原创 2019-01-03 12:35:25 · 13959 阅读 · 1 评论 -
Transformer-XL
reference:谷歌、CMU重磅论文:Transformer升级版原创 2019-01-12 19:13:03 · 14278 阅读 · 0 评论 -
基于池的主动学习文本分类
Pool-Based Active Learning for Text Classification这篇文章是Kamal在1999年的文章,比较老,但拿来看看。1.介绍在标记的训练数据稀疏时使用大量未标记文档进行文本分类,通过对整个未标记文档池中选择标记请求来增强QBC(Query-by-Committee)主动学习算法,并明确地使用池来估计区域文档密度,将主动学习和期望最大化(EM)结合,...原创 2019-01-07 14:36:59 · 11836 阅读 · 0 评论