参加了今年的ai challenger 的image caption比赛,最终很幸运的获得了第二名。这里小结一下。

  1. Pytorch 越来越火了。。 前五名有三个pytorch, 两个tensorflow 关于哪个learning frame work 更适合图像nlp相关的应用 我觉得用户用脚投票使用程度说明一切。tensorflow有强大的slim图像库支持,比如nasnet是slim最先支持的毕竟google原版。。。,但是在很多比赛灵活性上对比pytorch还有欠缺 比如强化学习feed dict较慢,比如多模型ensemble实现per step的投票 beam search比较麻烦,甚至一个in graph的beam seach相比pytorch也麻烦很多,希望后面eagar模式能改变这些。
  2. 最佳的caption利器当属微软的

    Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

    来自 <https://arxiv.org/abs/1707.07998>

    前五名除了我都使用这个思路, 因此我的单模型效果(show attention and tell)是相对最差的。。

  3. 强化学习非常重要

    其它选手都通过强化学习大大提升了客观分数,但是仅仅优化类似cider这样的指标的强化学习可能会使得句子通顺度弱于优化cross entropy可能是这个原因我的主观流畅性打分最高..

  4. 调参和一些细节是至关重要的
    1. 比如lstm hidden size 大部分选手可能使用512 而有的选手使用2048 提升明显
  5. 我使用light gbm 进行gbdt rerank将cider提升了10个点 这里为 lightgbm 打call, 194w样本,52维特征,5交叉验证regression 只需要3分钟, lamdamart 排序只需要5分钟。
  6. 这里开源了本次比赛我使用的代码,欢迎contribute,特别是对强化学习的修改及改进,很遗憾尽管我也实现了scst但是没有达到理想效果几个指标只有meteor提升,其余指标下降。

https://github.com/chenghuige/image-caption-ai-challenger2017

最新文章

  1. ROS学习笔记(五)——建立工作空间
  2. 数组的sizeof
  3. 在 SharePoint 2013 中选择正确的 API 集
  4. Emacs学习心得之 基础操作
  5. ASP.NET中获取当日,当周,当月,当年的日期
  6. contextloaderlistener
  7. 不停止MySQL服务增加从库的两种方式
  8. Tempdb的并发阻塞
  9. 如何理解css中的float
  10. hdu4505小Q系列故事——电梯里的爱情
  11. JAXB - Hello World with Namespace
  12. 动态SQL的执行,注:exec sp_executesql 其实可以实现参数查询和输出参数的
  13. RenderPartial: No overload for method &#39;Write&#39; takes 0 arguments
  14. mac在线恢复教程
  15. 用java代码发送http请求
  16. mysql主主配置
  17. mac 安装和使用MongoDB
  18. 小程序开发-Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance
  19. P1024 一道naive的二分
  20. 端午漫谈(附:Ubuntu18.04下轻量截图软件)

热门文章

  1. [Java]Java分层概念(转)
  2. Python中关于列表排序并保留id/enumerate()使用方法
  3. HTML常用标签3
  4. Servlet(5)—ServletRequest接口和ServletResponse接口
  5. Android Studio提示 Connection reset
  6. Get Set的问题解决
  7. Go web编程实例
  8. Android:如何生成自己的keystore(zz)
  9. MySQL表最大能达到多少?
  10. jQuery CSS 操作 - offset() 方法