[Paper Reading] Show and Tell: A Neural Image Caption Generator
论文链接:https://arxiv.org/pdf/1411.4555.pdf
代码链接:https://github.com/karpathy/neuraltalk & https://github.com/karpathy/neuraltalk2 & https://github.com/zsdonghao/Image-Captioning
主要贡献
在这篇文章中,作者借鉴了神经机器翻译(Neural Machine Translation)领域的方法,将“编码器-解码器(Encoder-Decoder)”模型引入了神经图像标注(Neural Image Captioning)领域,提出了一种端到端(end-to-end)的模型解决图像标注问题。下面展示了从论文中截取的两幅图片,第一幅图片是NIC模型的概述,第二幅图片描述了网络的细节。NIC网络采用卷积神经网络(CNN)作为编码器,长短期记忆网络(LSTM)作为解码器。

实验细节
- 在文章中,作者提出使用在图像分类任务(Image Classification Task)中预训练好的Inception v2作为编码器,将其最后一个隐藏层提取到的特征作为解码器隐藏层的初始状态。但是,在官方给出的源码neuraltalk中,作者使用了预训练好的VGG16作为了编码器,将Layer FC-4096提取到的特征作为了LSTM隐藏层的初始状态(详见neuraltalk/py_caffe_feat_extract.py line160)。在官方给出的源码neuraltalk2中,同样使用了VGG16作为编码器提取图像特征(详见neuraltalk2/train.lua line27)。在zsdonghao对该方法的TensorFlow实现中,使用了Inception v3作为编码器(详见zsdonghao/Image-Captioning/inception_v3(for TF 0.10).py)。
Hence, it is natural to use a CNN as an image “encoder”, by first pre-training it for an image classification task and using the last hidden layer as an input to the RNN decoder that generates sentences.
An “encoder” RNN reads the source sentence and transforms it into a rich fixed-length vector representation, which in turn in used as the initial hidden state of a “decoder” RNN that generates the target sentence.
- 在文章中,作者提出使用随机梯度下降(Stochastic Gradient Descent)训练网络。在官方给出的源码neuraltalk2中,作者给出了多种训练网络的优化器及其参数(rmsprop,adagrad,sgd……详见neuraltalk2/misc/optim_updates.lua)。zsdonghao/Image-Captioning使用SGD训练网络,初始学习率2.0,学习率衰减因子0.5,学习率下降后每一代的数量8.0。
It is a neural net which is fully trainable using stochastic gradient descent.
- 在文章中,作者提出按最大似然训练模型参数。在zsdonghao/Image-Captioning中,作者使用了tensorlayer.cost.cross_entropy_seq_with_mask()(详见zsdonghao/Image-Captioning/buildmodel.py line665)。
The model is trained to maximize the likelihood of the target description sentence given the training image.
- 在neuraltalk2中,LSTM层的输入(Embedding层的输出)向量维度和LSTM隐藏层的向量维度均设置为512。zsdonghao/Image-Captioning的设置相同。
- 在zsdonghao/Image-Captioning中,作者将vocabulary_size设置为12000。
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者及原文出处!
[Paper Reading] Show and Tell: A Neural Image Caption Generator的更多相关文章
- Paper Reading - Show and Tell: A Neural Image Caption Generator ( CVPR 2015 )
Link of the Paper: https://arxiv.org/abs/1411.4555 Main Points: A generative model ( NIC, GoogLeNet ...
- Paper Reading - Show, Attend and Tell: Neural Image Caption Generation with Visual Attention ( ICML 2015 )
Link of the Paper: https://arxiv.org/pdf/1502.03044.pdf Main Points: Encoder-Decoder Framework: Enco ...
- [Paper Reading] Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
论文链接:https://arxiv.org/pdf/1502.03044.pdf 代码链接:https://github.com/kelvinxu/arctic-captions & htt ...
- [Paper Reading] Image Captioning using Deep Neural Architectures (arXiv: 1801.05568v1)
Main Contributions: A brief introduction about two different methods (retrieval based method and gen ...
- Paper Reading - Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge
Link of the Paper: https://arxiv.org/abs/1609.06647 A Correlative Paper: Show and Tell: A Neural Ima ...
- 论文:Show and Tell: A Neural Image Caption Generator-阅读总结
Show and Tell: A Neural Image Caption Generator-阅读总结 笔记不能简单的抄写文中的内容,得有自己的思考和理解. 一.基本信息 标题 作者 作者单位 发表 ...
- Paper Reading: Stereo DSO
开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...
- Paper Reading - Mind’s Eye: A Recurrent Visual Representation for Image Caption Generation ( CVPR 2015 )
Link of the Paper: https://ieeexplore.ieee.org/document/7298856/ A Correlative Paper: Learning a Rec ...
- Paper Reading - CNN+CNN: Convolutional Decoders for Image Captioning
Link of the Paper: https://arxiv.org/abs/1805.09019 Innovations: The authors propose a CNN + CNN fra ...
随机推荐
- - The superclass "javax.servlet.http.HttpServlet" was not found on the Java
网上有很多解决方法,如这种 下面是具体的解决方法:1.右击web工程->属性或Build Path->Java Build Path->Libraries-> Add Libr ...
- python高性能编程方法一
python高性能编程方法一 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为 ...
- SIGAI机器学习第十四集 支持向量机1
讲授线性分类器,分类间隔,线性可分的支持向量机原问题与对偶问题,线性不可分的支持向量机原问题与对偶问题,核映射与核函数,多分类问题,libsvm的使用,实际应用 大纲: 支持向量机简介线性分类器分类间 ...
- jQuery.each(object, [callback])
jQuery.each(object, [callback]) 概述 通用遍历方法,可用于遍历对象和数组.大理石平台检定规程 不同于遍历 jQuery 对象的 $().each() 方法,此方法可用于 ...
- SQL Server report server使用
1.配置share point網站來改動報表 打開Reporting Servers Configuration Manager,裏面有Web Service URL(http://loca ...
- oracle自连接
自连接:通过表的别名,将同一张表视为多张表 select e.ename 员工姓名,b.ename 老板姓名 from emp e,emp b where e.mgr=b.empno; 注:自连接不适 ...
- @Component,@Service,@Controller,@Repository
1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访问) 4.@component (把普通pojo实例化到spr ...
- ansible-cmdb 解析(ansible all -m setup )收集过来的信息并以html方式显示。
首先安装 ansible-cmdb 直接pip install ansible-cmdb 安装 然后执行收集信息命令 ansible all -m setup >/tmp/out/ 修改下ans ...
- Java并发指南14:Java并发容器ConcurrentSkipListMap与CopyOnWriteArrayList
原文出处http://cmsblogs.com/ 『chenssy』 到目前为止,我们在Java世界里看到了两种实现key-value的数据结构:Hash.TreeMap,这两种数据结构各自都有着优缺 ...
- 第11组 Beta冲刺(1/5)
第11组 Beta冲刺(1/5) 队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11913626.html 作业博客 https://www. ...