我正在尝试了解对齐的 CMU-MOSI 数据集维度
文本或多或少是清晰的 - 对于对齐版本(50),他们只是将 BERT 分词器最大长度设置为 50,因此数据的形状是:
data['train']['text'].shape
>> (1284, 50, 768)
但我无法理解的是他们如何创建音频和视频数据
data['train']['audio'].shape
>>(1284, 50, 5)
data['train']['vision'].shape
>>(1284, 50, 20)
我想创建一些使用文本+音频的双模模型,但我不知道音频是如何准备的。为什么形状是(50,5)。我知道他们必须使用 P2FA 在音频和文本之间进行一些对齐,但仍然是那些 (50, 5) 所代表的。
(很明显,shape[0] == 50 是相等的文本标记长度)我对 shape[1] == 5 更好奇
音频数据[0]示例 - 第一行用零填充以与标记器 [CLS] 标记对齐
data['train']['audio'][0]
array([[ 0. , 0. , 0. , 0. , 0. ],
[ 0.84848485, 0.48230952, 0.13543388, -0.02385538, -2.35882976],
[ 0. , 0.26657526, 0.13641505, -0.01658234, -2.10769772],
[ 0.28571429, 0.08286967, 0.11472581, -0.07233836, -1.82112819],
[ 0.54545455, 0.29488957, 0.13183931, 0.03413411, -0.86522971],
[ 0.12698413, 0.0169315 , 0.12638498, -0.059583 , 0.50621028],
[ 0. , 0. , 0. , 0. , 0. ],
...
[ 0. , 0. , 0. , 0. , 0. ]])
有什么建议吗?
你发现了吗?我也有兴趣!