Image captioning(二)- CNN + ATTENTION

技术上来说

  • 往粗了讲,大家听到的是:RNN,CNN,ATTENTION,Embedding 比较有名的名词。
  • 往细了讲:卷积,max/min/avg pooling, self-attention, gated-weight,sigmod weight,softmax weight等这些具体的技术细节可能在你构建graph的时候都会或多或少的使用,万变不离其宗,熟悉使用这些东西,后面在遇到各种模型,业务应用的时候就很容易掌握。
  • 还有正则化(regularization),归一化(normalization)是很有用的东西,特别是dropout在模型层面防止过拟合,normalization用来平衡各层级的单元的影响范围这些都有很有用的效果。

什么场景用什么技术

我举几个例子:

  • 就图像上面来说,附近的点应该是很相关的,所以一个区域附近的点其实可以做sample,平均,max等,所以这是卷积层能够在图像处理里面获得很好收益的基础。
  • 同样传统nlp里面常用的ngram处理技术,很和卷积层的处理有类似之处,特别是类似电商商品标题,或者网页seo优化过的描述,其实他们算不上真正意义上的句子或者有逻辑的语句,可能更多的是名词形容词的堆砌,邻近的词表达的是类似的意思,这个使用卷积做encoder也可以取得不错的效果。

  • 对于RNN来说,它训练的是一个有逻辑的序列,当处理每个元素的时候,它应该记住什么,忘记什么,最终一个序列在不断的记住和忘记之后,生成最终的内容。RNN比较复杂,它的变形也很多,具体可以参见我以往的微文,可以根据具体的东西来修改RNN结构。

  • 对于Attention的应用,更好直观的解释,我们在处理这个任务的时候是不是要聚焦在某个点上面,比如:在看长颈鹿在吃树叶的时候,当我们生成长颈鹿的时候我们聚焦的是图片中的长颈鹿部分,当我们生成树叶的时候我们聚焦的是树叶区域,其他的诸如天空,草地我们其实是没有关注的,对于attention用到的技术,大家也千万不要觉得有多高大上,就是各种求解权重的技巧,求解权重最终一般会落到sigmod或者softmax,关键词是找到重要性的业务逻辑。

模型

回归我们的image caption的模型,简单描述这个模型就是:
利用CNN网络讲图像encoder成一个固定维度的向量,然后这个向量作为RNN输入序列的第一个元素(后面的元素是描述caption序列)来做迭代生成模型训练。

对于生成模型的每一步(生成到序列中的元素),和encoder-decoder里面的decoder模型基本一致,只是我们这里的第一个输入元素是图片encoder向量I,我们给一个生成概率:

logp(S|I)=t=0N<
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值