首页 > 解决方案 > 在每一步解码后重新编码上下文向量?

问题描述

我目前正在研究一个序列模型,该模型旨在预测未来观看 VR 的人的头部方向任意数量的帧。

使用编码器-解码器范例,一个人的前 100 帧头部方向视频的前 100 帧数据被输入编码器以创建上下文。 (这里 100 是任意的,但为了写作,我将使用 100 帧,所以前一个序列的数据将是 [ T (-100) - T 0 ] )

然后将上下文馈入解码器,并逐帧输出观众将在第一次解码迭代中看到T 1的概率分布,在第二次迭代中看到T 2的概率分布。

因此,上下文向量肩负着很大的责任,对来自整个前一个序列的数据进行编码。所以为了帮助解码器的输出,在解码的每一步我都想让解码器能够访问视频未来的 100 帧数据。因此,在时间 T 2 ,解码器将进行第二次迭代,并可以访问第 102 个视频帧以用于卷积、显着性等。

我们考虑实现这一点的方法是让编码器在每次迭代解码上下文时重新编码上下文向量,并替换编码器的输入以包含未来的视频帧数据

因此,例如在解码的第二次迭代中,我们将重新编码上下文,但将T (-100)的数据替换为T 1的解码输出,并将T (-100)的视频帧替换为视频帧对于T 2。我们将继续以这种方式迭代解码。

想法是,这将是一种向解码器提供有关即将到来的视频的信息的方法,并使用其先前的预测来加强未来运动预测的完整性。阿姆斯特丹大学的 Johannes Baptist 在这篇论文中也提出了这种重新编码上下文的想法,尽管我是一名本科生,对这个领域还很陌生,所以这篇论文很难掌握。

如果有人对在解码的每一步重新编码上下文将对编码器 - 解码器模型产生什么影响有任何直觉,并且可以提供任何见解或资源以继续研究,那就太好了,非常感谢。

标签: pythonsequencelstmpytorchencoder-decoder

解决方案


推荐阅读