1. 提出了一种数据集,可以同时去做单模态分类,多模态分类以及多任务分类。
2. 提出了一种多模态多任务的后端融合的框架,在这个框架下进行多模态训练会使得测试结果更高。
对每一段语音,文本,视频都叫五个人去打标签,每个人打的标签只有三种,
1是积极的,0中性的,-1消极的
然后对这五个人打的标签的成绩进行平均,
最后分为五类积极的{0.8, 1.0},弱积极{0.2, 0.4, 0.6},中性{0.0}, 弱消极{-0.6, -0.4, -0.2}, 消极{-1.0, -0.8}
文本特征使用bert预训练模型进行提取
语音特征使用librosa库进行提取
视频使用MTCNN进行提取
选择五个随机种子进行训练,最后求平均
{
"attention_probs_dropout_prob": 0.1, #乘法attention时,softmax后dropout概率
"hidden_act": "gelu", #激活函数
"hidden_dropout_prob": 0.1, #隐藏层dropout概率
"hidden_size": 768, #隐藏单元数
"initializer_range": 0.02, #初始化范围
"intermediate_size": 3072, #升维维度
"max_position_embeddings": 512,#一个大于seq_length的参数,用于生成position_embedding "num_attention_heads": 12, #每个隐藏层中的attention head数
"num_hidden_layers": 12, #隐藏层数
"type_vocab_size": 2, #segment_ids类别 [0,1]
"vocab_size": 30522 #词典中词数
}
BERT由于position-embedding的限制只能处理最长512个词的句子。如果文本长度超过512,有以下几种方式进行处理:
**a)直接截断:**从长文本中截取一部分,具体截取哪些片段需要观察数据,如新闻数据一般第一段比较重要就可以截取前边部分;
**b)抽取重要片段:**抽取长文本的关键句子作为摘要,然后进入BERT;
**c)分段:**把长文本分成几段,每段经过BERT之后再进行拼接或求平均或者接入其他网络如lstm。
使用了LSTM,训练单模态内的一个特征表示
使用了六种baseline的融合网络:
EF-LSTM
LF-DNN
MFN (需要多个模态在词级对齐)
LMF (TFN的拓展)
TFN
MULT
L = min 1 N t ∑ n = 1 N t ∑ i α i L ( y i n , y ^ i n ) + ∑ j β j ∥ W j ∥ 2 2 L=\min \dfrac{1}{N_t}\sum ^{Nt}_{n=1}\sum _{i}\alpha _{i}L\left( y_{i}^{n},\widehat{y}_{i}^n\right) +\sum _{j}\beta _{j}\left\| W_{j}\right\| _{2}^{2} L=minNt1n=1∑Nti∑αiL(yin,y in)+j∑βj∥Wj∥22
i ∈ { m , t , a , v } , j ∈ { t , a , v } i\in \left\{ m,t,a,v\right\}, j\in \left\{ t,a,v\right\} i∈{m,t,a,v},j∈{t,a,v}
组成,由四个任务的输出音频,视频,文本,多模态的损失函数加权组合而成,最后的正则项是三个单模态任务和多模态任务的一个共享参数