【发布时间】:2019-12-30 08:08:15
【问题描述】:
我已经建立了一个视频字幕模型。
它由一个Seq2seq模型组成,以视频为输入,输出自然语言
我获得了非常好的测试结果但可怕的推理结果:
Epoch 1 ; Batch loss: 5.181570 ; Batch accuracy: 60.28% ; Test accuracy: 00.89%
...
Epoch 128 ; Batch loss: 0.628466 ; Batch accuracy: 96.31% ; Test accuracy: 00.81%
说明
由于我的准确度函数,这个准确度很低:它逐字比较给定的结果和标题。
由于教师的强制机制,此计算适用于训练,但不适用于推理。
示例
真实的描述:
a football match is going on <end>the football player are made a goal <end>the crowd cheers as soccer players work hard to gain control of the ball <end>
生成的描述:
a group of young men play a game of soccer <end>
我的模型正确地理解了正在发生的事情,但它并没有像等待的描述那样准确地(逐字地)表达它......
对于这个具体的例子,准确度值只有 1/31。
如何明智地计算推理精度?
我想过提取句子的关键字。然后尝试查看是否可以在字幕中找到预测句子中包含的所有关键字。
但我还必须检查句子是否是正确的英文句子......
也许您想用一种更简单的方法来计算准确度。告诉我!
【问题讨论】:
标签: tensorflow deep-learning recurrent-neural-network seq2seq