【工作周报】

学习内容:

  1. 强化学习框架与HMN模型融合
  2. ChatGPT在视频字幕任务中的应用论文:Video ChatCaptioner:
    Towards Enriched Spatiotemporal Descriptions

学习时间:

  • 4.17 ~ 4.22

学习笔记:

1. 强化学习框架与HMN模型融合

通过对参数进行调整解决了最后遗留的一些问题,模型正在训练,强化学习模块也能够参与到训练过程中。以下是部分训练数据截图。

2023-04-22 11:14:17,517 - root - INFO - ===================Training begin====================
2023-04-22 11:14:17,518 - root - INFO - ./checkpoints/MSRVTT/HMN_epochs_16_lr_7e-05_entity_0.1_predicate_6.9_sentence_6.9_soft3.5_ne_3_nd_3_max_objects_9.ckpt
2023-04-22 11:14:17,518 - root - INFO - 
===============[EPOCH 0]===============
2023-04-22 11:18:19,186 - root - INFO - [EPOCH 0;ITER 9]:loss[252.220]=hard_loss[1.008]*1+soft_loss[2.749]*3.50+entity[40.448]*0.10+predicate[16.589]*6.90+sentence[16.524]*6.90,rl_loss:[0.000]
2023-04-22 11:20:16,345 - root - INFO - [EPOCH 0;ITER 19]:loss[208.924]=hard_loss[0.956]*1+soft_loss[2.668]*3.50+entity[34.286]*0.10+predicate[13.451]*6.90+sentence[13.618]*6.90,rl_loss:[0.004]
2023-04-22 11:22:13,470 - root - INFO - [EPOCH 0;ITER 29]:loss[189.046]=hard_loss[0.843]*1+soft_loss[2.483]*3.50+entity[25.739]*0.10+predicate[12.149]*6.90+sentence[12.411]*6.90,rl_loss:[0.005]
2023-04-22 11:24:10,675 - root - INFO - [EPOCH 0;ITER 39]:loss[185.945]=hard_loss[0.741]*1+soft_loss[2.322]*3.50+entity[26.363]*0.10+predicate[12.084]*6.90+sentence[12.212]*6.90,rl_loss:[0.002]
2023-04-22 11:26:07,862 - root - INFO - [EPOCH 0;ITER 49]:loss[179.995]=hard_loss[0.701]*1+soft_loss[2.203]*3.50+entity[22.877]*0.10+predicate[11.696]*6.90+sentence[11.903]*6.90,rl_loss:[0.000]
2023-04-22 11:28:04,948 - root - INFO - [EPOCH 0;ITER 59]:loss[183.552]=hard_loss[0.691]*1+soft_loss[2.075]*3.50+entity[23.853]*0.10+predicate[11.980]*6.90+sentence[12.236]*6.90,rl_loss:[0.001]
2023-04-22 11:30:02,067 - root - INFO - [EPOCH 0;ITER 69]:loss[179.164]=hard_loss[0.671]*1+soft_loss[1.969]*3.50+entity[24.503]*0.10+predicate[11.675]*6.90+sentence[11.982]*6.90,rl_loss:[0.002]
2023-04-22 11:31:59,207 - root - INFO - [EPOCH 0;ITER 79]:loss[173.411]=hard_loss[0.619]*1+soft_loss[1.885]*3.50+entity[25.019]*0.10+predicate[11.362]*6.90+sentence[11.533]*6.90,rl_loss:[0.000]
2023-04-22 11:33:56,359 - root - INFO - [EPOCH 0;ITER 89]:loss[170.757]=hard_loss[0.614]*1+soft_loss[1.930]*3.50+entity[23.676]*0.10+predicate[10.986]*6.90+sentence[11.566]*6.90,rl_loss:[0.001]
2023-04-22 11:35:53,602 - root - INFO - [EPOCH 0;ITER 99]:loss[169.781]=hard_loss[0.593]*1+soft_loss[1.899]*3.50+entity[22.460]*0.10+predicate[11.112]*6.90+sentence[11.327]*6.90,rl_loss:[0.000]

存在的问题

1.训练速度变慢

首先是魔性的训练速度比之前慢得多,这是强化学习本身决定的,强化学习需要更多的数据和更长的训练时间来学习最优策略,而HMN本身包含的数据也比较多。

此外,在强化学习中,模型的训练还需要通过试错的方式来不断优化决策策略,这可能需要更长的训练时间。由于强化学习通常需要遵循一定的探索策略来探索未知的状态和动作空间,这可能会导致训练过程中的不稳定性和收敛速度的减缓。

2.强化学习loss很多时候为0

通过查询网上的信息总结了一下原因:

  • 在神经网络的训练过程中,loss为0通常意味着模型已经完美地拟合了训练数据,即模型在训练数据上的预测结果与真实结果完全一致。这种情况下,模型在训练数据上的表现非常好,但是可能会导致模型在新的数据上出现过拟合问题,即模型在测试数据或真实世界数据上的表现不佳。
  • 在实际应用中,完全拟合训练数据的情况很少出现,特别是在大规模和复杂的任务中。通常情况下,loss为0只是一种理论上的极限情况,而在实际训练中,我们通常会接受一定的误差,以保证模型具有更好的泛化能力。
  • 此外,loss为0也可能是一种异常情况,例如在模型的训练过程中出现了数据泄露或编程错误等问题,导致模型在训练数据上表现非常好,但在真实数据上表现不佳。因此,我们需要综合考虑模型在训练数据和测试数据上的表现,以及模型的泛化能力和稳定性等因素来评估模型的性能和可靠性。
3.其他问题
  1. 在融合这两个框架的过程中,直接使用了video_feature参与强化学习策略,而与VPM项目中使用的特征不符,也正是这个原因导致了前期出现了很多张量维、参数不兼容的问题,为了解决这些问题,使用的方法一般是对张量进行切片或填充。
  2. 在强化学习策略过程中涉及到了试错操作,试错操作的次数是由一个for循环控制,在VPM中是对每个词进行预测,循环的次数等于文本长度,在HMN中每个文本的长度最大为20,为了能够适应for循环,调整了batchsize以及for循环的范围。
  3. 在VPM中强化学习使用的数据集activitynet只存在一个groundtruth字幕,而MSRVTT中每一个短视频对应有20条groundtruth字幕,在计算loss时如何取舍这20条字幕。

2.ChatGPT在视频字幕任务中的应用论文:Video ChatCaptioner:Towards Enriched Spatiotemporal Descriptions

在这里插入图片描述
【论文链接】https://arxiv.org/pdf/2304.04227.pdf

【项目链接】https://github.com/Vision-CAIR/ChatCaptioner

这篇论文的核心思想是使用ChatGPT对视频内容进行提问,由BLIP-2模型对问题进行回答,经过多轮互动问答对话后由ChatGPT总结出视频内容。

为了能够让这两种模型朝着预期的目标执行任务,作者设计了prompt system来指导ChatGPT提问,还设计了提示策略来帮助BLIP-2生成更可靠的答案。具体来说,prompt system包含以下部分:

1. Task instruction for video understanding

任务说明的目的是提供一个全面的上下文,并概述ChatGPT在视频内容理解领域的具体任务,它能有效地引导ChatGPT生成更有针对性的、与视频内容相关的问题。ChatGPT和BLIP-2之间的有效通信在很大程度上取决于这些指令的正确设计。指令设计如下:
在这里插入图片描述

2.Incorporating conversation logs

为了提高ChatGPT生成的问题的质量,作者在提出新问题之前加入了对话历史,这是通过将一系列先前的问答组合预先附加到问题提示来实现的。为ChatGPT提供这些累积的上下文信息可以鼓励模型生成更相关的问题。

3.Question prompt

子问题提示旨在利用问答对的历史来生成更多信息和相关的问题,同时遵守特定的约束。通过从可用的问题-答案对进行推理,提示提供了明确的限制来指导这些问题的生成,确保它们是连贯的、相关的并且与目标一致。

对于第一个问题,作者固定的从第一帧请求模型给出详细的描述,对于后续的问题,作者指导ChatGPT通过定义明确的目标,指定必要的行动并为下一个问题建立约束来制定询问的问题。

3.1 Frame sampling design

作者指导ChatGPT根据作者设计的指令自行设计最佳帧采样策略,而不是采用随机帧采样。这种方法允许模型基于当前上下文来选择帧,以最大化其对整个视频内容的理解。

3.2 Question restriction
  1. 这些问题必须遵守Frame_ID的格式,从而能够轻松地确定框架ID与问题的对应关系。作者还将帧选择范围限定在1和N之间,即最大采样帧数,这可以防止ChatGPT选择越界的帧。
  2. 禁止Video ChatCaptioner提出与先前对话中未提及的个人或对象相关的问题。该措施旨在减少视觉问答阶段意外情况的发生。
  3. 为了获取更多的信息,作者限制ChatGPT生成是/否问题。(避免答案只有yes/no)

4.BLIP-2 answer prompt

由于ChatGPT可能会提出高度开放并复杂的问题,BLIP-2可能会由于其语言归纳特性而生成错误的答案。为了缓解这个问题,作者制定了一些提示以尽量减少此类事件的发生。具体来说,作者允许BLIP-2在不确定的情况下回答“不知道”,这已被实验证明能够有效地减少不确定答案的数量。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值