Py学习  »  机器学习算法

深度学习和机器视觉分析

小白学视觉 • 1 年前 • 120 次点击  

重磅干货,第一时间送达


一、深度学习:理论和关注机制的进展(Yoshua Bengio)

顾名思义,Bengio的talk主要讲了两个部分:理论进展和attention mechanism。理论进展介绍了:

  • 分布式表示的“指数级”优点

  • 深度的“指数级”优点

  • 非凸优化和局部最小值

  • 自编码器的概率解释

Attention 机制则介绍了在机器翻译、语音、图像、视频和记忆单元中的应用。


分布式表示和深度的优点Bengio,简单的说,虽然类似local partition的方法可以得到有用的表示,浅层(2层)的神经网络也可近似任意的函数,但是分布式表示和深度的引入可以使特征表示和模型变得更加紧凑(compact),达到exponentially more statistically efficient的效果。


接下来提到了在深度学习中凸性质(convexity)可能并不是必要的。因为在高维空间中,鞍点(saddle point)的存在是主要问题,而局部最小值通常都会很接近全局最小值了。这部分的内容比较陌生,有兴趣可以看看最近的论文。

Attention 机制方面,讲了很多最新的进展。有很多相关的paper都非常有趣,我要找个时间好好看看这个系列了。一个基本的思路是:我们给每一层引入一个额外的输入,这个输入反应的是之前的一个加权,来表示它们的关注程度。在所谓的soft-attention中,这个加权的值可以直接通过BP训练得到。


二、深度语义学习 (Xiaodong He)

来自微软研究院的报告,主要内容:

  • 学习文本的语义性(semantic)表示

  • 知识库和问答系统

  • 多模态(图片——文本)语义模型

讲座开始引入了一点有趣的motivation:一般我们测试机器是否能够理解图片(其实就是训练对了),方法是给图片标记标签然后计算其错误率。然而对于含有丰富内容的复杂场景来说,很难定义所有fine-grained的类别。因此,用自然语言的描述来测试对图片的理解是比较好的方式。


从 Word2Vec 到 Sent2Vec:Deep Structured Semantic Model (DSSM),虽然我们不知道该如何标记一个句子的语义,但我们知道哪些句子的语义是比较接近的,因此文章通过优化一个基于相似性的目标函数来训练模型,使具有相近语义的句子产生距离相近的向量。接着还介绍了很多模型的细节和变种(卷积DSSM、递归DSSM),在此就不赘述了。


Deep Multimodal Similarity Model (DMSM):将目标函数中两个句子的相似性改成句子和图片的相似性,便可以将DSSM扩展为一个多模态的模型。



MSR系统解决图片–>语言问题:

  • 图片词语检测(Image word detection)

  • 句子生成(Language generation)

  • 全局语义性重排序(Global semantic re-ranking)


其中图片词语检测用了CNN+MIL(Multiple Instance Learning)的方法,个人对此比较感兴趣,文章在此。


三、深度神经网络和GPU(Julie Bernauer)

换个口味,我们来看看NVIDIA关于深度学习和GPU的结合。总的来说,内容上跟NVIDIA官网上介绍深度学习的slides没什么不同。主要介绍了GPU有什么好处、GPU有多牛,还有一些支持GPU的库和工具。


一张比较好的图:


有用的工具:

  • Lasagne:基于theano上的开源库,能方便搭建一个深度网络。(Keras用得不太爽,可以试试这个)

四、深度视觉Keynote(Rahul Sukthankar)

来看看来自google的报告。这个talk里面的内容都不太熟悉,但是看起来都非常有意思。主要内容有:

  • 用Peer Presssure方法来找high value mistake

  • 结合深度学习和其他机器学习方法来更好解决视觉问题


首先来看看Peer Pressure。这是Rahul组最近的一个工作:The Virtues of Peer Pressure: A Simple Method for Discovering High-Value Mistakes。所谓“high-value mistake”,指的是那些我们认为训练好的模型可以准确预测的样本,结果它却“犯傻”了。因此这些样本也叫做“hard positive”,难以答对的样子。


从头说起,深度神经网络虽然有很多成功的应用,但同时也被发现很容易犯愚蠢的错误(比如上述的high-value mistake)。因此作者提出了Peer Pressure:集成+对抗训练(emsembles+adversarial training)的方法,来找到这些错误。简单来说就是,有一组训练于同样数据但是初始化或者结构不同的NN分类器(称作peers),如果一个样本出现其中一个NN输出与其它都不一致的情况(其它NN淡然都是一致的了),那么它应该就是high-value mistake。寻找这类错误当然是有价值的啦:(1)它可以用在发掘无标签的数据中(2)可以用来合成新的hard positive样本。


接下来提到将上述的方法应用到视频当中,找出anchor frame附近的hard positive 帧,用来训练更好的模型。其中具有semantic consistency的帧是通过Dense Trajectory来确定的。感觉挺有意思,可惜没找到相应的paper,那就上张图吧。



五、学习和理解视觉表示(Andrea Vedaldi)

来自牛津大学的报告,题目看起来还是很吸引人的。大纲如下(略有失望,好像就是讲CNN的):

  • 黑盒:一个将CNN用于图片文字识别的例子

  • 架构:卷积和纹理

  • 可视化:CNN所知道的图片

  • 性质:对比CNN和视觉几何


第一个例子用CNN做OCR,感觉并不是很有趣。一个challenge是它的类别特别多(90k个类,对应90k个单词)。他们解决的办法是增量地训练网络,即先只训练5k个类,再逐步添加5k个新的类,效果好像还不错。


第二部分讲分辨纹理。提出用CNN的卷积层加上Fisher Vector(替换全连接层)来做,效果不错不错的。

第三部分可视化,看看就好。


第四部分还不错,讲的是图像变换对特征表示的影响。除去语义层面上的影响(特征的不变性跟任务相关),我们通常希望图像的特征表示不受图像变换的影响,如翻转和仿射变换。

  • 类内差异大,包括:部分出现(part existence)、颜色、遮挡、变形




六、用于目标检测的可变深度卷积神经网络(Xiaogang Wang)

最后一个talk,讲的是我最近比较关注的目标检测问题,主要介绍他们的DeepID-Net。


第一部分他们的工作,用深度学习进行行人识别。其中着重讲了通过设计大小可变的卷积核来实现部分检测器(Part detector),对于行人识别应该是重要的一部分。


第二部分讲更general的目标检测问题。首先介绍目标检测的困难有(经筛选),

对比了他们的DeepID-Net和RCNN:



本文为CSDN博主「xtyang315」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:

https://blog.csdn.net/yjn03151111/article/details/50437951

本文仅做学术分享,如有侵权,请联系删文。

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇




下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151495
 
120 次点击