原文信息
标题:ANeuralArchitectureforDetectingUserConfusioninEye-trackingData
作者:ShaneD.Sims,CristinaConati等
会议:InternationalConferenceonMultimodalInteraction
DOI:10./.
这是一篇深度学习在情绪预测中的应用研究,文章的重点在于如何针对相对小量的眼动数据进行数据准备和建模。建议重点阅读数据和方法部分。
1研究背景尽管人工智能在用户情绪预测中具有很大潜力,无法收集和标记大量数据仍然限制了深度学习的应用。用户的眼动数据在相关研究中被证明能够有效反映用户的情感、认知等状态,但是基于眼动数据采用深度学习进行预测的研究十分有限。因此,本研究尝试基于有限的眼动数据,结合RNN与CNN模型,预测用户的“疑惑”情绪。
2数据与数据预处理数据收集
在用户使用一个可视化决策辅助界面时,收集眼动数据和用户自评的疑惑情绪。
位参与者,各进行5类决策任务,每类包含8个任务,共收集条任务记录,平均时间为22.3秒。
所有记录中,疑惑记录仅占2%(条)。
眼动仪以Hz的频率采集用户眼动数据,每条眼动数据记录间隔为8ms。每条记录包含8个特征,对应每个眼睛的4个测量结果:注视点在屏幕上的x坐标,y坐标,瞳孔大小,眼睛到屏幕的距离(如图1所示)。
数据预处理
眼动数据的分析通常从注视点定位(fixations)和扫视途径(saccades)两种方式进行,分别对应时间序列数据和图像数据。
由于数据量有限,采用数据增强(DataAugmentation)增加眼动原数据的样本量。
文中提及了三种数据增强的方法:随机过采样、循环分割(cyclicsplit)、滑动窗口。
最终采用循环分割的方法,以4为循环周期把记录分割成4份,得到4倍于原样本量的数据,如图1所示。
图1循环分割方法示例:对于1个样本,即一项任务的所有眼动数据记录,按“红-蓝-粉-黑”4种颜色把记录分割成4份,得到4个样本
3模型与方法由于数据量有限,尽可能降低模型的复杂度是本研究的重点。
RNN模型
采用相对简单的GRU,设置1层隐藏层,包含个神经元,如图2所示。
一般来说,RNN模型输入的时间步不超过,因此仅抽取自我报告情绪前5s的数据作为RNN模型的输入。
图2本研究所采用的RNN架构
CNN模型
以任务中用户完整的扫视途径作为输入,如图3所示。
图3扫视途径图像示例
模型包含2个池化层,5*5的卷积核,1个隐藏层包含50个神经元,如图4所示。
图4本研究所采用的CNN架构
VTNet模型
结合以上两个模型的优势,把GRU模型中个神经元的隐藏状态和CNN模型中50个神经元的隐藏状态拼接,得到维的向量。
拼接的向量连接到有1个隐藏层的神经网络,从而实现眼动数据的多模态表示,预测用户的疑惑情绪,如图5所示。
图5VTNet模型架构
所有模型通过PyTorch实现,损失函数为negativelog-likelihood,优化器为Adam。
4结果评估待比较的模型:GRU、CNN、VTNet、基准模型随机森林(RF)。
模型的评估指标:疑惑情绪分类准确率(Conf.)、非疑惑情绪分类准确率(N.Conf.)、两者平均值(Combined)。采用10折交叉验证评估。
不平衡数据集处理:
GRU、RF模型使用SMOTE方法将小样本增加到两倍,大样本随机欠采样,分别得到疑惑与非疑惑的条记录。
CNN、VTNet模型使用随机欠采样方法,分别得到疑惑与非疑惑的条记录。
评估结果
GRUvsRF:GRU在疑惑准确率和平均值上好于RF,非疑惑准确率不变,如表1所示。
表1GRU和RF模型在测试集上的表现
VTNetvsGRUCNN:VTNet在3个评估指标上都显著优于其余两个模型,如表2所示。
表2神经网络模型在测试集上的表现
4结论与展望结论
本研究中,VTNet模型在基于眼动数据的情绪预测任务中表现最好。
本研究的结果表明,在处理难收集、小数据量的交互数据(即眼动数据)和复杂用户状态数据(即情感状态)时,深度学习较为有效。
本研究对CNN和RNN模型的组合结果表明,两种表现方法可以分别体现眼动数据中的时间序列与视觉空间的信息。
展望
下一步可以继续探索:
如何改善VTNet模型的效果;
如何把预测模型部署到系统中,从而改善用户的疑惑状态;
如何把本文提出的疑惑预测模型泛化到其他交互任务或者预测任务中,例如基于眼动数据预测用户的学习状态、情感效价(注:affectivevalence是一种描述情感状态积极/消极程度的指标)、早期阿兹海默症表现等;
如何把VTNet模型应用于其他模态的数据,如语音、脑电波数据等等。
编者评论
这篇深度学习的应用研究阅读起来对新手非常友好。
全文思路描述清晰、文字语言流畅,对深度学习中如何处理小数据集、如何构建适合数据集特点的神经网络模型、如何根据普遍经验设置超参数等问题有非常细节的描述。
更重要的是,文中有代码的github链接,感兴趣的同学可以配合原代码食用,效果更佳。
撰稿:刘千慧
↓