天池江之杯视频问答大赛(第16名)video qa using keras

本文介绍了使用Keras参与天池江之杯视频问答大赛的项目,模型通过LSTM和ResNet152处理视频和问题,采用Attention机制融合信息。在ResBlock中增加一维卷积获取动作特征,提升了模型表现。项目提供完整代码,可复现结果。
摘要由CSDN通过智能技术生成

视频问答,video qa using keras。天池江之杯视频问答大赛


问题描述

根据给定的短视频进行内容识别和分析,并回答每一个视频对应的问题。即给定一个视频,与任意的问题,模型根据视频对问题进行回答。
比赛地址:https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.11165320.5678.1.538b325ckj6OVi&raceId=231676

成绩

复赛第16名
在这里插入图片描述

项目地址(包含所有代码,可复现)

https://github.com/SummerRaining/videoqa_keras


模型思路:

  • 总体思路:
    • a.句子通过lstm编码成1024维的向量;
    • b.视频均匀截取30帧后通过resnet152提取2048维的特征,通过句子向量对30个视频帧做attention。
    • c. 将attention后的视频向量与句子向量做融合(点乘),接上两个全连接到1000维。
    • d. 损失使用sigmoid,避免类间竞争,logloss。
    • e. 由于大部分答案都是重复的,故可以考虑成分类问题,选频率最高的1000个答案作为所有类别,对于不在1000个类别中的答案舍弃。每个问题有三个答案,故这是一个多标签问题。
  • 对于问题句子,最大的句子长度为19,固定所有的句子长度维19(由于不是很长)。使用embedding成19*300的矩阵,通过隐藏层为512的双层lstm,得到的结果为512维向量,即为句子向量。
  • 对于视频,均匀地截取30帧(第一名大佬好像是截取的关键帧),通过resnet152提取到2048维的特征。得到30*2048维的特征,使用句子向量对30个视频帧向量做attention。
    1. 将q全连接到[batch,h_dim],将v全连接到[batch,30,h_dim]
    2. q,v点乘。加上dropout,再使用一个全连接到1。[batch,30,1]
    3. L2标准化,softmax
      在这里插入图片描述
  1. 融合:将句子向量全连接到1024维,视频向量也全连接到1024维,对其进行点乘,tanh做为激活函数。再添加两个全连接,输出结果为1000为的向量对应答案的概率。
  2. 损失:由于这是多标签问题,使用sigmoid激活函数而不是softmax,避免标签类竞争(softmax相加等于1)。 l o s s = − y ∗ l o
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值