前言废话,作者说把代码公布在gitub上,但是迟迟没有公布,我发邮件询问代码情况,邮件也迟迟不回,表示很尴尬。。虽然种种这些,但是工作还是好工作,这个没的黑,那我们今天就来详细的介绍这篇文章。

导论:不了解caption的童鞋可以去看下这两篇知乎专栏:

    看图说话的AI小朋友——图像标注趣谈(上)

    看图说话的AI小朋友——图像标注趣谈(下)

一:摘要

    作者提出了一个新的attention模型,这个模型与以往的区别在于,不仅考虑了状态与预测单词之间的关系,同时也考虑了图像区域与单词,状态之间的两两关系,好处嘛,就是信息考虑的更加全面,考虑的全面总归不是坏事啦~~。

二:baseline

这个图像生成文本的baseline,现在基本就是建立在谷歌的NIC模型上,思路是这样:用预训练好的卷积神经网络参数抽取图像特征,这个是编码部分,然后这个特征作为图像的初始状态,用RNN生成单词,这个是解码部分。示意图如下:(画的有点丑,请轻喷~~)

一张照片的损失函数其实就是一个logistic 回归,所有batch 那就是这些损失函数之和。 跟新状态的g 函数,一般就是用一个MLP 模型。当然RNN网络也可以换成和他功能相近的网络比如LSTM ,BLSTM 问题不大。

三:本文的损失函数

3.1 建立了一个联合概率分布:

    其中已经生成的单词:
为在时刻t观察到的图像区域。为RNN的内部状态。

下面是这篇文章的精华部分,我就不妄加翻译了:

大家可以看,baseline中的换成了,这就表示和图像区域扯上了关系,但是具体怎么扯上的呢,这就需要这两两之间的关系了。第一个得分是状态与生成单词之间的关系,第二个是图像区域与生成单词之间的关系,第三个是状态与图像之间的关系,这个第三个关系也就是attention所要解决的问题。后面两个我们不管他,就是个bias.

公式1,我是这样理解的,所有区域生成单词的可能性加起来就形成了在状态下生成单词的可能性。

公式2,生成某一个单词的所有区域加起来,就是我们需要的attention 感兴趣的概率。

公式3,这就是attention的模型,状态ht下对图像某一区域感兴趣的概率。

公式4,状态更新机制,生成单词与感兴趣图像区域反馈RNN状态。

整个流程图如下:

四:Areas of attention的获取

4.1 Activiation grid:

类似于这样:

强制划分图像区域。当然这样显得有点粗糙。

4.1 object proposals

用目标检测的方法把每一个目标的给标出来,我们人为它是目标实例。

4.3 Spatial transformers
这一块说实话我认为是作者故意加篇幅的,本质上没有什么创新,简单来时是研究卷积神经网络的旋转,平移不变性,以前主要的都是通过数据增强的方法,强制去学习特征,而这个方式是加了一层trick,这样就有效的解决了这个问题。

具体的大家可以参考这篇博文:Spatial transformers

4.4 关注区域选择总结

 

5 总结

工作是个好工作,没代码,不开心。。。哈哈,祝大家周末愉快~~~!

读a paper of ICCV 2017 : Areas of Attention for Image Captioning的更多相关文章

  1. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

  2. ICCV 2017 Best Paper Awards

    [ICCV 2017 Best Paper Awards]今年的ICCV不久前公布了Best Paper得主,來自Facebook AI Research的Mask R-CNN[1],與RetineN ...

  3. 复现ICCV 2017经典论文—PyraNet

    . 过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含“伪代码”.这是今年 AAAI 会议上一个严峻的 ...

  4. 论文:Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结

    Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结 笔记不能简单的抄写文中 ...

  5. 应读的paper

    1.Faster R-CNN:https://arxiv.org/abs/1506.01497(已读) 2.FPN(Feature Pyramid Networks for Object Detect ...

  6. 卷积网络可解释性复现 | Grad-CAM | ICCV | 2017

    觉得本文不错的可以点个赞.有问题联系作者微信cyx645016617,之后主要转战公众号,不在博客园和CSDN更新. 论文名称:"Grad-CAM: Visual Explanations ...

  7. 《Stepwise Metric Promotion for Unsupervised Video Person Re-identification》 ICCV 2017

    Motivation: 这是ICCV 17年做无监督视频ReID的一篇文章.这篇文章简单来说基于两个Motivation. 在不同地方或者同一地方间隔较长时间得到的tracklet往往包含的人物是不同 ...

  8. Genetic CNN: 经典NAS算法,遗传算法的标准套用 | ICCV 2017

    论文将标准的遗传算法应用到神经网络结构搜索中,首先对网络进行编码表示,然后进行遗传操作,整体方法十分简洁,搜索空间设计的十分简单,基本相当于只搜索节点间的连接方式,但是效果还是挺不错的,十分值得学习 ...

  9. [ Continuously Update ] The Paper List of Seq2Seq Tasks ( including Attention Mechanism )

    Papers Published in 2017 Convolutional Sequence to Sequence Learning - Jonas Gehring et al., CoRR 20 ...

随机推荐

  1. UITextView 设置边框

        UITextView * txtView = [[UITextView alloc] initWithFrame:CGRectMake(10, 50, 200, 50)];     txtVi ...

  2. 转:HTTP协议--- multipart/form-data请求分析

    转自:http://blog.csdn.net/five3/article/details/7181521 首先来了解什么是multipart/form-data请求: 根据http/1.1 rfc ...

  3. 【Hadoop基础教程】3、Hadoop之伪分布式环境搭建(转)

    伪分布式模式即单节点集群模式,所有的守护进程都运行在同一台机器上.这种模式下增加了代码调试功能,可以查看内存.HDFS文件系统的输入/输出,以及与其他守护进程交互.以hadoop用户远程登录K-Mas ...

  4. Atitit. Object-c语言 的新的特性  attilax总结

    Atitit. Object-c语言 的新的特性  attilax总结 1.1. Object-C语言由 Brad J.Cox于20世纪80年代早期设计,1 1.2. Object-C新增的数据结构: ...

  5. 《Lucene in Action 第二版》第4章节 学习总结 -- Lucene中的分析

    通过第四章的学习,可以了解lucene的分析过程是怎样的,并且可以学会如何使用lucene内置分析器,以及自定义分析器.下面是具体总结 1. 分析(Analysis)是什么? 在lucene中,分析就 ...

  6. shiro自定义logout filter

    虽然shiro有自己默认的logout过滤器,但是,有些时候,我们需要自己定义一下操作,比如说loutgout后,进入指定页面,或者logout后写入日志操作,这个时候,我们可以通过自定义logout ...

  7. PHP资源,库,工具大全

    内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 大家可以搜索其它语言,如awesome-java的https://github.com/ ...

  8. 嵌入式驱动开发之sensor---sensor 图形传感器调试

    图像传感器(image sensor)复位顺序 1. 硬件复位寄存器:2. 软件复位寄存器:3. 设置时钟寄存器:4. 设置PLL倍频:5. 设置分辨率:6. 设置窗口控制:7. 设置输出顺序:8. ...

  9. 多媒体开发之rtp 打包发流---udp 丢包问题

    http://blog.csdn.net/acs713/article/details/19339707

  10. _DataStructure_C_Impl:图的最小生成树

    #include<stdio.h> #include<stdlib.h> #include<string.h> typedef char VertexType[4] ...