美文网首页
【心理学与AI】让DNN网络更像人-相似度判断任务

【心理学与AI】让DNN网络更像人-相似度判断任务

作者: 子夜Uni | 来源:发表于2020-05-07 16:46 被阅读0次

Peterson, J. C., Abbott, J. T., & Griffiths, T. L. (2016). Adapting deep network features to capture psychological representations. arXiv preprint arXiv:1608.02164.

DNN在很多物体识别的任务上,绩效甚至已经超过了人类,一部分原因可能是由于它能够对高维的输入进行特征提取,这也是人所具有的重要能力(Austerweil & Griffiths, 2013)。

很多认知科学家开始研究,DNN学到的这些特征和人是不是一样呢?DNN的学习能否用来预测人的行为结果呢?(Dubey, Peterson, Khosla, Yang, & Ghanem, 2015; Lake, Zaremba, Fergus, & Gureckis, 2015)

DNN的识别正确率固然很高,但是它和人特征提取的过程到底是不是相似的,还存在争议。至少我们在一些例子中看到它和人类的显著差异,比如说对于识别图像的DNN,如果把输入的图片做一点点变形,它就会做出错得离谱的判断(Szegedy et al., 2013),而人对图像的识别是可以对抗一些简单的变形和干扰的。

了解人和DNN在特征提取上的差异,一方面可能可以对AI算法有所启发,一方面也可以推进人脑算法的研究。

这个工作是通过DNN和人分别去做一个“相似度评分”的任务,来比较DNN和人在这个任务上的表现差异。作者还根据人的评分结果,给DNN加上了一个权值矫正的过滤器,让DNN的表现更像人类的结果。

CNN

CNN是做图像识别一个突破性的网络结构,典型网络AlexNet (Krizhevsky, Sutskever, & Hinton, 2012)当你大大提高了ImageNet的识别正确率。2015年微软的150层网络,比非专业的人类正确率都高5.1%。

除了识别结果正确率高,CNN的中间层还可以显示网络对特征的提取。认知科学家利用这个特点来对人类行为进行预测。(看一下这两篇具体的,看不懂这个人写的描述)(Dubey, Peterson, Khosla, Yang, & Ghanem, 2015; Lake, Zaremba, Fergus, & Gureckis, 2015)
神经科学家也用神经网络成功的预测一下视觉皮层的神经活动。但是这并不能表示神经网络和人的神经系统是类似的。Mur et al. (2013)做了个跟这篇文章类似的工作,也是有些东西不能预测,看不懂,看完回来补充。

本文的研究逻辑

如何测量DNN的特征提取和人的心理表征是否类似呢?因为人的心理表征是没法直接测量的,我们只能用间接的指标去评估。对于人,本文采用了相似判断的行为学任务来测量人认为两副图片是否相似;对于DNN,则是把两副输入图片产生的特征向量做内积来评价相似性。然后我们把人和DNN对相似性的评估做一个相关性分析,来判断这两者是否接近。

实验材料 120张彩色的动物图片,图片都被裁剪成300*300的大小,只留下动物的头或者身子。

文章所用的动物图片示例

行为学实验流程 用线上的Amazon Mechanical Turk发布的测试,收集人对两张图片相似性的评分。每个被试要对四对动物图片(一个set)的相似性进行打分(0-10),每个set有2美分的报酬。在做打分之前,会展示8个图片样例,防止最初几张图片的评分偏差。每个被试想做多少个set都可以。一共有7140个图对,每个图对都会有10个不同被试的打分,最后总共是有71400次评分,共有209个不同的被试参与。每个图对的10个评分进行平均,最后120张图片得到一个120*120的相似性矩阵。(算了一下,大概花了人民币2500元的样子)

特征提取 选取了3个现成的CNN,用Caffe写的,并且都是在ImageNet上面预训练好的:

  • CaffeNet (based on original AlexNet) 7层
  • VGG16 (Simonyan & Zisserman, 2014) 16层
  • GoogLeNet (Szegedy et al., 2014) 22层

将图片输入一个网络,我们会得到每一层的value,我们选取倒数第二层(也就是决定分类的那一层的前一层)来代表网络学到的特征。比如对于前两个网络,这一层就是一个4096维的全连接层,而GoogleNet的这一层是1000维的平均池化层。

另外,我们还提取了图片的Histograms of Oriented Gradients (HOG)和Scale-Invariant Feature Transform (SIFT),因为这些指标反映了传统机器学习算法对图像特征的识别。

实验结果

DNN和传统算法与人判断的相似度的相关系数
  • DNN明显比传统的好
  • 并不完全是层数越深越好

Multi-dimensional scaling (MDS) 的结果如下图,虽然类内的图片距离是要更近一些,但是它没有表现出类间的距离更远的特点。

MDS结果比较,人的结果(左),现有DNN的结果(中),修改过的DNN的结果(右)

算法修改

我们修改模型的目标是,让DNN 评判的相似度矩阵S'和人评判的相似度矩阵S尽可能的接近。我们知道S是在亚马逊网站上人的评分给出来的,而S'是算出来的,根据之前描述的方法,对每个S'中的元素s'_{ij},表示的是objecti和objectj直接的相似度,它是由两个object倒数第二层的向量做内积得到的:

s'_{ij}=\sum_{k=1}^{N_f}f_{ik}f_{jk}

我们写成矩阵形式就是:

S'=FF^T

其中F是特征矩阵,也就是它的每一行(或者每一列)是我们一个object对应的那倒数第二层的向量,这样它乘上它的转置就会让每个元素是上面那个求和的结果。那么,我可以需要找到一个线性变化W,使得这个S'乘上W,即线性变换后的S'更加接近S,也就是求解下式中的W

S=FWF^T

又因为W只是对每两个object对应的特征做scaling,所以是一个对角阵。(如果非对角线的元素非0,会使得不同特征维度之间有互相影响),把每个元素写出来也就是求解下式中的w_k:

s_{ij}=\sum_{k=1}^{N_f}{w_k}f_{ik}f_{jk}

我们知道虽然方程已经写出来了,但它不一定是有唯一解的,而且由于矩阵很大,常用的方法是去求最优的近似解。这里用到凸优化(还不知道是啥)的方法求这个W的近似解,以尽可能保证这个解不要在数据上过拟合。

优化结果

根据上述方法对倒数第二层进行优化,也就是把DNN原本给出的倒数第二层再乘上这个解出来的W,得到的相关系数如下:

算法修改之后的相似度相关系数

可以看到,相关程度明显提高,但是即使是拿用户的数据去算出来的这个W,也不能保证非常高的相关度。(这里要问,人和人之间的相关能达到多少?)

另一个有趣的结果是,作者还对比了其他网络中间层和人的相关度,如下图所示。可以看到虽然相关度和网络的深度没有直接的关系,但是卷积层明显比全连接层要低,说明人的相似性判断不是单纯基于像素级的feature的。(这里还是有点问题,这个0.69的柱子是你做过reweighted之后的结果,当然接近了,前面都没做过呀。)

和其他层做比较

讨论

机器和人的选择有结构性的差异,类似研究 (Mur et al., 2013)。

通过作者的方法,确实提升了DNN和人选择的相似度,但是存在的问题是,这个算出来的W能不能推广到其他数据集上呢?

作者在一个标注数据集上测试了一下这个tune过的网络,但是发现相关度还没有原来的好(没有看懂它怎么测的相关度?)。

作者还提到一种可能性,正确率和系统的灵活性之间是不是一个tradeoff?人的分类决策是会根据当前的任务context有所改变的,所以CNN的分类结果能不能等同于人类的通用分类能力,还有待商榷。

重要概念

Multidimensional Scaling (MDS)

是一种算法,用来把高维数据表征到低维空间,尽量保持数据之间的相对距离不变。
如果给你给你一些城市的位置信息,让你算城市间距离图,你只需要测量一下就可以了。但是如果只给你这些城市间的距离,让你画出他们的位置,就不是那么简单了,需要进行一些推理。

相关文章

  • 【心理学与AI】让DNN网络更像人-相似度判断任务

    Peterson, J. C., Abbott, J. T., & Griffiths, T. L. (2016)...

  • 图片相似度判断

    1.https://zhuanlan.zhihu.com/p/68215900为了得到两张相似的图片,在这里通过以...

  • 深度学习实战项目

    一、预习阶段 从DL基础起步,掌握三大核心模型 在线视频:DNN与CNN,及NN框架 1-DNN与混合网络:goo...

  • 虎嗅夏季创新节看点一览

    1,大数据时代的深度学习技术 分享人:百度张潼 关键词:DNN(渗透神经网络) 分享看点:百度成立深度学习研究院,...

  • ASR: DNN训练

    本文通过简单kaldi源码,分析DNN训练声学模型时神经网络的输入与输出。在进行DNN训练之前需要用到之前GMM-...

  • DeepFM: A Factorization-Machine

    DeepFM是一个集成了FM和DNN的神经网络框架,思路和Google的Wide&Deep相似,都包括wide和d...

  • Python 使用sklearn计算余弦相似度

    背景 在计算相似度时,常常用到余弦夹角来判断相似度,Cosine(余弦相似度)取值范围[-1,1],当两个向量的方...

  • DNN正则化

    神经网络DNN的正则化

  • 让人更像人

    2018.07.08 编号27 日精进767天 今日感悟: 1做人处事不求人人都理解,只求问心无愧! 当我们内心坦...

  • Regression回归

    回归是ML&DL中最基础的任务,本文通过简单的DNN网络实现分类,仅供参考 1. 数据准备 2. 神经网络搭建 c...

网友评论

      本文标题:【心理学与AI】让DNN网络更像人-相似度判断任务

      本文链接:https://www.haomeiwen.com/subject/ghyyghtx.html