自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

原创 image caption笔记(十):一些实现过程中的小细节

1、beam search 一方面可以提升指标,另一方面也可以解决生成的句子不通顺的问题。因此,不管是在训练测试的过程中都要开beamsearch ,对提高指标有帮助。还有就是,如果训练的时候 beam size设置为1,而只是在测试的时候使用beamsearch,原本好的模型可能会变得还不如原本差的模型。也就是,beam size=1下的好的模型 到了beam size=5下未必还能继续好。2...

2019-05-09 17:07:16 1100 1

转载 PyTorch中使用指定的GPU

转载自http://www.cnblogs.com/darkknightzh/p/6836568.htmlPyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。有如下两种方法来指定需要使用的GPU。1. 类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。1.1 直接终端中设定:CUDA_VISIB...

2019-04-28 20:49:09 552

原创 image caption笔记(九):《Unsupervised Image Captioning》

无监督的caption文章使用一个图像数据集(MSCOCO)和一个文本语料库(从Web上抓取的200多万个句子组成图像描述语料库) 来做无监督caption。没有任何配对集合。1、模型结构:提出的图像字幕模型由图像编码器(没有用VGG 和resnet,改用了Inception v4),句子生成器和句子鉴别器组成。训练目标包括了三部分:(1)使用语料库来训练一个CGAN网...

2019-04-01 16:51:06 2305 1

转载 LSTM反向传播算法

https://zybuluo.com/hanbingtao/note/581764

2019-03-30 17:26:32 1056

转载 循环神经网络RNN 梯度推导(BPTT)

https://zhuanlan.zhihu.com/p/32930648https://zhuanlan.zhihu.com/p/26892413

2019-03-29 22:31:58 1340

转载 RNN梯度消失与梯度爆炸的原因

• 关于RNN结构•关于RNN前向传播•关于RNN反向传播• 解决方法1. 关于RNN结构循环神经网络RNN(Recurrent Neural Network)是用于处理序列数据的一种神经网络,已经在自然语言处理中被广泛应用。下图为经典RNN结构:RNN结构2. 关于RNN前向传播RNN前向传导公式:其中: St : t 时刻...

2019-03-29 14:12:45 1853

转载 scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结。本文就从实践的角度对RF做一个总结。重点讲述scikit-learn中RF的调参注意事项,以及和GBDT调参的异同点。1. scikit-learn随机森林类库概述    在scikit-learn中,RF的分类类是RandomForestClassifier...

2019-03-05 16:44:29 268

原创 机器翻译的进化过程以及在image caption上的迁移

1、最早的时候,机器翻译使用基于lstm或者rnn的eq2seq模型。         整个模型分为解码和编码两个过程,将输入序列X进行编码得到向量C,然后对C进行解码得到输出序列Y。其中,X、Y均由各自的单词序列组成(X,Y是两种不同的语言):X = (x1,x2,...,xm)Y = (y1,y2,...,yn)Encoder:是将输入序列通过非线性变换编码成一个指定长...

2019-01-01 15:30:44 1211 3

原创 batch_normalization和layer normalization的区别

直观的理解,batch vs layer normalization。batch是“竖”着来的,各个维度做归一化,所以与batch size有关系。layer是“横”着来的,对一个样本,不同的神经元neuron间做归一化。 给一个批次的数据[b,n,w,h]   b是batch_size,n是特征图数目,w、h是宽和高。batch_normalization是针对所有的样本,对...

2018-12-31 12:48:05 3478

原创 独立同分布

在概率论与统计学中,独立同分布(英语:Independent and identically distributed,缩写为IID)是指一组随机变量中每个变量的概率分布都相同,且这些随机变量互相独立。...

2018-12-31 12:42:05 2673

转载 Batch Normalization

原文地址:http://blog.csdn.net/hjimce/article/details/50866313作者:hjimce一、背景意义本篇博文主要讲解2015年深度学习领域,非常值得学习的一篇文献:《Batch Normalization: Accelerating Deep Network Training by  Reducing Internal Covariate S...

2018-12-31 12:36:58 173

原创 python学习笔记(九):super

 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了,可通过使用 super 来实现,比如:class Animal(object): def __init__(self, name): self.name = name def greet(self): pr...

2018-12-14 11:26:37 162

转载 弱监督学习

 通常来说,弱监督可以分为三类。第一类是不完全监督(incomplete supervision),即,只有训练集的一个(通常很小的)子集是有标签的,其他数据则没有标签。这种情况发生在各类任务中。例如,在图像分类任务中,真值标签由人类标注者给出的。从互联网上获取巨量图片很容易,然而考虑到标记的人工成本,只有一个小子集的图像能够被标注。第二类是不确切监督(inexact supervision)...

2018-12-13 21:51:43 2198

转载 计算语义相似性(DSSM)的三种方法

出处: http://blog.csdn.net/u013074302/article/details/76422551导语在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应...

2018-12-13 20:24:22 1765

原创 多示例学习以及对应的神经网络算法

1、多示例学习的概念简单介绍下多示例学习。多示例学习实际是一种半监督算法。考虑这样一种训练数据:我们有很多个数据包(bag),每个数据包中有很多个示例(instance)。我们只有对bag的正负类标记,而没有对instance的正负例标记。当一个bag被标记为正时,这个包里一定有一个instance是正类,但也有可能其他instance是负类,当一个bag被标记为负类时,它里面的所有insta...

2018-12-13 17:42:56 4282

转载 COCO数据集介绍

转载自:https://zhuanlan.zhihu.com/p/29393415COCO的 全称是Common Objects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集。MS COCO数据集中的图像分为训练、验证和测试集。COCO通过在Flickr上搜索80个对象类别和各种场景类型来收集图像,其使用了亚马逊的Mechanical Turk(AMT)。比如...

2018-12-13 16:38:25 12542 2

原创 opencv学习(一):目标检测中怎么将画好框的图片保存下来

采用cv读图-->画框-->存图import cv2img1=cv2.imread('./555_F0ed5ee7e728f4b94a22fe30e93b1009a.JPG')img2=cv2.rectangle(img1,(52,52),(200,200),(0,255,0),3) 首先介绍下cv2.boundingRect(img)这个函数这个函数很...

2018-12-13 16:01:14 2706

原创 beam search

假设词表大小为3,内容为a,b,c。beam size是2decoder解码的时候:1: 生成第1个词的时候,选择概率最大的2个词,假设为a,c,概率分别为log(p(1_a)) log(p(1_c))那么当前序列就是a,c,对应的概率是log(p1_0)=log(p(1_a))log(p1_1)= log(p(1_c))2:生成第2个词的时候,假如当前对三个词的概率预测...

2018-12-12 20:21:53 284

原创 python学习(八):函数参数以及 *args 和 **kwargs

 首先是最常见的必选参数def test_defargs(one, two): # 参数one没有默认值,two的默认值为2 print('Required argument: ', one) print('Optional argument: ', two)每次我们都要输入两个值,分别赋值给one two。这种参数叫做必选参数。必选参数在前,默认参数在后。...

2018-12-12 12:06:28 316

原创 L1惩罚项和L2惩罚项

      x即为参数。L2正则化参数从公式5可以看到,λλ越大,θjθj衰减得越快。另一个理解可以参考图2,λλ越大,L2圆的半径越小,最后求得代价函数最值时各参数也会变得很小。...

2018-12-10 22:48:56 12614 1

原创 pytorch学习(二):CPU和GPU随机种子的选择

随机种子在训练开始时,参数的初始化是随机的,为了让每次的结果一致,我们需要设置随机种子。在main函数中加入如下语句:torch.manual_seed(args.seed)#为CPU设置随机种子if cuda:    torch.cuda.manual_seed(seed)#为当前GPU设置随机种子    torch.cuda.manual_seed_all(seed)#为所有GP...

2018-12-10 22:00:39 3463 2

原创 image caption笔记(八):《From Captions to Visual Concepts and Back》

这篇文章是15年微软的工作,是和谷歌《show and tell》同时期的文章,它们都去参加了微软的Image Caption比赛(MS COCO caption challenge),总的结果是并列第一。文章的框架不是我们常见的encoder-decoder类型,但是仍然有启发意义。文章生成caption的思路是(1)给出一幅图像,首先使用视觉检测器提取出图像中可能存在的单词。(...

2018-12-10 20:16:54 1706 1

原创 image caption笔记(七):《Bottom-Up and Top-Down Attention》

      仍然是对attention机制的扩展。可以看到,现在的工作,基本都添加了attention机制,要么是spitial attention,要么是semantic attention。      文章的主要贡献包括:    (1)提出了一个新的lstm组合模型,包括了attention lstm和language lstm 两个组件。在这个 组合模型的基础上引入spitial at...

2018-12-05 20:24:05 5275 2

原创 image caption笔记(六):《self_critical (scst)》

现在image caption主要存在的问题有:1、exposure bias:模型训练的时候用的是叫“Teacher-Forcing”的方式:输入RNN的上一时刻的单词是来自训练集的ground-truth单词。而在测试的时候依赖的是自己生成的单词,一旦生成得不好就会导致误差的积累,导致后面的单词也生成得不好。2、模型训练的时候用的是cross entropy loss,而evaluat...

2018-12-04 16:34:24 1499

原创 image caption笔记(五):《SCA-CNN》

     工作的本质仍然是对attention机制的扩展。之前的《show attend and tell》是在空间上对特征图进行加权。     特征图不同的通道本质上是不同的滤波器提取的特征 ,那么不同的滤波器可能 提取的重点就不一样,可能 第一个滤波器提取的是cake的特征比较多,第二个滤波器提取的person的信息比较多。那么我们是不是应该在这里做一个权重?也就是channel-wise...

2018-12-04 15:07:49 1602

原创 image caption笔记(零):前言

       image caption的研究沿着三个方向进行:       1、基于模板的方法             基于模板的方法预先定义了句子生成的模板,并将句子分成几部分(如主语、动词和宾语)。对于这样的句子片段,许多文章将每个片段与视觉内容对齐,然后生成图像的句子。显然,它们中的大多数都高度依赖于句子的模板,并且总是产生具有句法结构的句子。       2、基于搜索的方法...

2018-12-04 10:18:20 389

原创 image caption笔记(四):《Image Captioning with Semantic Attention》

     文章来自cvpr2016        image caption常见的方法包括top-down和bottom-up。Top-down直接做图像到文本的端到端学习,而bottom-up先抽取出一些关键词,再把关键词组合成一句话。Top-down比较难处理一些图像的细节,因为它将整张图片作为输入。而bottom-up不容易做端到端的学习,将抽取的特征组成一句话也很困难。因此文章在端到端...

2018-12-03 10:49:39 969

原创 scheduled sampling

当前image  caption 存在的四个主要问题:1、指标的提升2、暴露偏差的累积。这个是指预测的时候,前面预测的结果是错的,后面的错得越来越离谱。3、损失函数和评级指标没有直接挂钩。4、只适用于配对的图像和文本。 这篇文章主要用于介绍针对第二个问题的一种解决方法。 序列生成任务的生成目标是在给定源输入的条件下,最大化目标序列的概率。训练时该模型将目标序列中的真实...

2018-12-03 10:03:20 4061

原创 常见的评价指标

一、分类1、精确率、精度(Precision)精确率(precision)定义为:它表示的是预测为正的样本中有多少是对的。2、召回率(Recall) R = TP/(TP+FN)  它表示的是样本中的正例有多少被预测正确了。3、混淆矩阵(又叫做误差矩阵) 4、kappa系数用于一致性检验,也可以用于衡量分类精度。越接近于1越好。           ...

2018-12-01 16:42:17 2436

原创 image caption笔记(一):RNN、LSTM和GRU的理解

循环神经网络(Recurrent Neural Network)人类针对每个问题的思考,一般不会是完全的从头开始思考。正如当你阅读这篇译文的时候,你会根据已经阅读过的内容来对后面的内容进行理解,你不会把之前的东西都丢掉从头进行思考,你对内容的理解是贯穿的。传统的神经网络做不到这一点,而这似乎是一个主要的缺点。 例如,假设您想对电影中的每个事件进行分类。我们无法想象传统神经网络如何能够利用前...

2018-11-24 20:59:30 1576

原创 python学习(七):args的Namespace转化为字典

opt=vars(args)

2018-11-18 16:24:11 3904

原创 python学习(六):python中赋值、浅拷贝、深拷贝的区别

存在赋值、浅拷贝、深拷贝问题的数据类型是对组合对象来说,所谓的组合对象就是包含了其它对象的对象,如列表,类实例。其他的单个对象则不存在这个问题。可变对象: list, dict.不可变对象有: int, string, float, tuple.  直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝...

2018-11-16 16:24:39 183

原创 python学习(五):Python类中super()和__init__()的关系

1.单继承时super()和__init__()实现的功能是类似的class Base(object): def __init__(self): print 'Base create' class childA(Base): def __init__(self): print 'creat A ', Base.__init_...

2018-11-14 21:56:58 2028

原创 python学习(四):python变量和函数

python用下划线作为变量前缀和后缀指定特殊变量_xxx 不能用’from module import *’导入__xxx__ 系统定义名字__xxx 类中的私有变量名核心风格:避免用下划线作为变量名的开始。 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外...

2018-11-14 20:41:18 234

原创 学习率的设定

    1、一开始先设定一个很小的学习率,随着batch step 变大,当损失函数不再下降,而是开始波动的时候,拐点处的学习率设置为初始学习率。    2、设定完初始学习率以后,先训练一段时间,到一定epoch后,损失开始不再下降而是波动,此时开始衰减学习率。 ...

2018-10-21 18:06:38 4100 3

原创 pytorch学习(一):torch.nn.utils.rnn.pack_padded_sequence()的用法

torch.nn.utils.rnn.pack_padded_sequence()的用法:targets = pack_padded_sequence(captions, lengths, batch_first=True)[0] 输入的caption是长度不同的句子 返回的targets是打包成一条后的captionstensor([[   1,    8, 1704,   4...

2018-10-12 20:51:35 4878

原创 image caption笔记(三):《Show, Attend and Tell_Neural Image Caption》

一、模型结构对LSTM部分做出的改动,其余与NIC相同。                                                       与原本的lstm公式相比  多了一个,就是attention应 用的结果。首先 我们给不同位置的特征设置权重  权重的值和为1  这很自然就会想到使用softmax在每个时刻t,我们都要设置不同位置的权重。在每...

2018-10-01 21:58:10 1652

原创 image caption笔记(五):《Knowing When to Look: Adaptive Attention》

本质上仍然是对attention机制的改进。在每一个时刻,模型决定更依赖图像视觉信息或者语言模型。一、模型结构:(1)对原本的attention机制做改进 原本的attention机制:是第i个位置的图像特征,是softmax归一化之后的t时刻的权重详细看博客《image caption笔记(三):show,attend and tell》原本的attent...

2018-09-23 16:56:14 935

原创 image caption笔记(二):《Show and Tell : A Neural Image Caption Generator》

一、基本思想      CNN+RNN  CNN用的是VGG16  RNN部分用的是LSTM.换成resnet101效果会更好。二、模型结构  四、代码分析:    首先是训练的部分    (1)准备数据     COCO数据集中的caption最长不能超过16个单词,超出的话只截取前16个。每张图保留5个caption。     根据词频建立词汇库,一般选出...

2018-09-12 22:34:48 1997 1

原创 text to image(十):《Inferring Semantic Layout for Hierarchical Text-to-image Synthesis》

      继续介绍文本生成图像的工作,本篇博客要给出的是cvpr2018的论文《Inferring Semantic Layout for Hierarchical Text-to-image Synthesis》       论文地址:https://arxiv.org/abs/1801.05091       源码地址:未找到       文章内容基本来自:https://www...

2018-08-27 20:58:53 2302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除