背景
本篇是从认知角度针对VQA领域中Bias现象的一些思考,特此记录下来。
VQA中的Bias一般指的是 语言偏置(Language Bias),它会使得模型在回答问题时依赖于问题与答案之间的表面相关性,忽视图像信息。
一个比较经典的例子是,对于问题“图中的香蕉是什么颜色?”,尽管图中所给香蕉是尚未成熟的“绿色”,模型依旧会倾向于预测“黄色”。
坏的偏置 好的上下文
在论文CF-VQA中,作者是这样解读语言偏置(Language Bias)的。
We argue that the language prior consists of both “bad” language bias and “good” language context.
语言先验可以分为坏的语言偏置和好的语言上下文。
举个例子,当你看到问香蕉的颜色,就会想到香蕉主要是黄色的,这是坏的语言偏置;当你看到问题类型为“what color”便将答案限定在颜色,这是好的语言上下文。
重新回顾这个例子,感觉所谓坏的偏置更多是模型对一个大概率事件不假思索地判断,而好的语言上下文体现的是现实世界的一些特定规则。
我在看到这一论点的时候,感觉并不一定要局限于language,便根据自己的见解进一步做出了总结。
当时的我是这样理解的:
我认为,这些偏置可以统称为归纳偏置,即Inductive Biases。
在归纳偏置中,存在着诸如语言偏置、视觉启动偏置等坏的偏置,也存在着帮助我们缩小答案范围的好的语言上下文。
现在来看,我对归纳偏置这一概念的理解存在根本错误。
归纳偏置
出于严谨性的考虑,我调查了归纳偏置这一词语的含义。
维基百科的解释是:
The inductive bias (also known as learning bias) of a learning algorithm is the set of assumptions that the learner uses to predict outputs of given inputs that it has not encountered.
我的理解是,当模型遇到一些从未遇到过的输入时,归纳偏置便是帮助模型做出预测的一组假设。
以机器学习中常见的一个归纳偏置为例,最近邻居。
最近邻居:假设在特征空间(feature space)中一小区域内大部分的样本是同属一类。给一个未知类别的样本,猜测它与它最紧接的大部分邻居是同属一类。这是用于最近邻居法的偏置。这个假设是相近的样本应倾向同属于一类别。
假设一个未知类别的样本与最紧接的大部分邻居是同一类,这便是一个归纳偏置。
可以看作是学习算法在一个庞大的假设空间中选择的一组假设,以作为算法的“偏好”或者说“价值观”。
这一段内容参考自:
深度学习的归纳偏置是什么?
可以结合LoRRA模型理解
归纳偏置 假设:如果词典里找不到,那么答案就在OCR结果中。
所以还是按照原文的说法去理解,语言先验可以分为坏的语言偏置和好的语言上下文。
VQA-CP模型真的在提高模型鲁棒性吗?
前一段时间阅读的论文Greedy Gradient Ensemble for Robust Visual Question Answering中通过实验证明在VQA-CP数据集上利用反向偏置也可以提升一些Baseline模型的准确率,从而得出结论。
Grounding supervision or question-only regularization may encourage models to make use of inverse language bias rather than better visual information for higher Accuracy.
也就是说,提升很可能是因为加入了反向偏置所致,而非更加关注图像信息所带来的。
而在论文RAD中,作者通过实验也观察到了一个有趣的现象
Interestingly, our augmentations also reveal that VQA-CP models are less robust than VQA models.
以抑制偏置,增强VQA模型鲁棒性为目的,在VQA-CP数据集上所做的诸多工作,竟然在一个鲁棒性指标RAD上完全输给了未经过Bias抑制处理的VQA模型。
从两个完全不同的角度出发,却好似发现了同一个结论。莫非,VQA-CP上的所谓抑制偏置的工作只不过是加入了一种反向偏置,使得模型更加拟合新的数据集,其实本质上鲁棒性并没有变得更好,模型也并未做到更加关注图像信息?
由此窥见的些许端倪,或许还需要进一步的实验验证,否则也只是基于他人说法的猜想。
深度学习中的偏置
不局限于VQA任务中的语言偏置这一小小的概念,接下来尝试着以更加宏观的角度看待深度学习中的偏置问题。
我们知道,偏置在深度学习问题中是普遍存在的,只不过在不同任务中有着不同的体现。
比如在VQA中,对于问题图中的香蕉是什么颜色,机器可能不看图片便直接回答黄色。在机器阅读理解中,机器也可能忽略Evidence直接通过问题推理答案。
香蕉与黄色之间的强关联性普遍存在于我们人类的认知当中,但是也存在尚未成熟的青香蕉。深度学习中这种偏置在遇到特殊情况时(比如青香蕉)可能会导致模型做出糟糕的预测,不过确实也在一定程度上反映了人类对现实世界的认知(香蕉大多是黄色)。
所以也有人认为,偏置是对现实世界的反应,也是模型应该学习的一部分,为什么要抑制呢?
对此,我目前所持有的态度是,偏置需要抑制。
以上面VQA的例子来说,偏置虽然在一定程度上反映了现实世界,然而对于目前的VQA模型来说,它可能会导致模型过于”武断“地给出结果,放弃通过”较难“的图像内容进行预测,而是选择”较容易“的“香蕉——>黄色”捷径。
另一方面,偏置的载体是数据集,不同数据集可能存在着不同的偏置,其倾向性大不相同,那么这些数据集是否完整地建模了真实世界呢?至少在VQA领域,数据集对现实世界的建模显然不够全面。
综上,我认为抑制偏置对于目前的VQA领域是有意义的。
在思考这个问题的过程中,我又联想到了与现实世界中人类认知的一些相似之处。
其实不只是深度学习模型,人类有时也会被这些“偏置”所影响。只不过,在我们的世界里,它们有着不一样的名字,我们称之为“刻板印象”或者“偏见”。
偏见与歧视一直是人类社会的焦点话题,我们常常通过一个人的种族、出身、外貌对其做出一些想当然的判断,而这些判断往往是错误的。从这个角度来看,与深度学习模型受偏置影响做出错误判断是否有着异曲同工之处呢?
在美国,黑人犯罪率很高,那么当警察面对同等嫌疑的白人和黑人,很可能便会优先怀疑黑人,这是一种偏见,但也确实是基于统计意义上对犯罪率的评估所做出的判断。若是让深度学习模型推理判断,这种偏见必然也会被包含其中,实际上也确实有着因面部识别算法中存在种族偏见而逮捕错误的案例发生。
那么,人类是如何处理这种偏见的呢?通过与对方的互动交流,你会更加的了解对方从而逐步地抛弃那些偏见与刻板印象。模型又该怎么做来消除这些偏置呢?或许它们也需要与信息进行更多的“互动”吧?这可能便是留给我们未来解决的问题了。
在现实世界中,统计意义很多时候会与道德伦理产生矛盾,比如一个大巴被挟持,犯人身带炸弹,前方有两个岔路,一条前往布置警力的机场,但是仍有10%的可能性全机场2000人受害,另一条路前往无人的郊区,几乎未配置警力所以有70%的概率全车70人遇害。
按照数学期望计算的话,必然会放弃这一车的人,力求拯救更多的人。但是从伦理道德方面却很难很难做出这个决定,因为这可能直接导致一车人的死亡。在这种道德困境下,统计意义显得十分呆板而不近人情。
结语
很感谢你能读到最后,鉴于笔者水平有限,若是有纰漏错误的地方,还望指证,也欢迎大家在评论区留言交流讨论对这一问题的看法。