[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 ...
随机推荐
- 数组的新方法 forEach some filter findIndex
forEach some filter findIndex这些都属于数组的新方法,都会对数组中的每一项,进行遍历,执行相关的操作: 只不过在循环的时候有些不一样 参考资料:https://wan ...
- Java8-Lock-No.04
import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutorService; import ...
- ACM-ICPC 2018 沈阳赛区现场赛 E. The Kouga Ninja Scrolls (切比雪夫距离+线段树)
题目链接: 题意:在二维平面上有 n 个人,每个人有一个位置(xi, yi)和门派 ci,m 个操作:①改变第 k 个人的位置:②改变第 k 个人的门派:③询问区间[l,r]之间不同门派的两个人的最大 ...
- C# 安全性
一.标识和Principal static void Main(string[] args) { AppDomain.CurrentDomain.SetPrincipalPolicy(System.S ...
- 将vim打造成python开发工具
1.创建vim插件工作目录 [root@ray ~]# mkdir -p ~/.vim/bundle 2.下载插件 [root@ray ~]# cd ~/.vim/bundle [root@ray b ...
- C/C++应用--Window下获取硬件信息(CPU, 硬盘,网卡等)
一.头文件如下: #include <Windows.h> #include <string> #include <iostream> #include <w ...
- 【线性代数】6-1:特征值介绍(Introduction to Eigenvalues)
title: [线性代数]6-1:特征值介绍(Introduction to Eigenvalues) categories: Mathematic Linear Algebra keywords: ...
- Ubuntu14.04 打开关闭图形桌面
使用 Ctrl+Alt+t 打开命令行界面 #关闭桌面 sudo service lightdm stop #恢复桌面 sudo service lightdm start Ctrl+Alt+F1 可 ...
- c++ 排序,<< 运算符重载
#include <iostream> #include <functional> #include <list> using namespace std; ost ...
- 第二章、URL与资源
1 URL统一资源定位符 URL 是浏览器寻找信息时所需的资源位置.通过 URL,人类和应用程序才能找到.使用并共享因特网上大量的数据资源.URL是作为URI的一个子集,URI是一类更通用的资源标识符 ...