清华大学张长水教授:机器学习和图像识别(附视频、PPT下载)

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介:

张长水:大家好,我来自清华大学自动化系,主要做机器学习和图像识别的研究。现在人工智能很流行,机器学习也推到风口浪尖上,图像识别已经变成产品,新闻媒体告诉我们AlphaGo、AlphaGo zero已经战胜了人类、皮肤癌的识别超过了大夫、无人车已经上路测试,很快要量产。这些新闻仿佛告诉我们,图像识别的问题已经解决了,然而很多高科技做图像识别公司都还在高薪聘用掌握机器学习的人才。图像识别问题解决了吗?我们看看现在图像识别还有些什么问题。

1075d227af2e3779c41ab77c5da29de7a29f262b

一、大量数据

现在做图像识别,要求有大量的数据。什么叫大量的数据?比如上图是在业界做图像识别的数据集,包含很多类别的图像,像飞机、鸟、猫、鹿、狗。对于一个物体,需要有不同的表现,需要有不同的外观在不同的环境下的表现,所以我们需要很多照片素材。

尽管在我们领域里有很多大的数据集,但其实这些数据集远远不能满足我们的实用产品的要求。比如说我们看这样一个文字识别的例子。文字识别比一般的图像识别要简单,因为文字不涉及到三维,它只是一个平面的东西。

ba20a7c76d5d5f86b2d5e154d746a35a3181b406

二、大量的样本

比如我们要识别清华大学的“清”,通常的做法是收集“清”的各种各样的图像,所谓各种各样的图像就是说要包括不同的字体,不同的光照,不同的背景噪声,不同的倾斜等,要想把“清”字识别好,就需要收集上很多这样的样本。那么这么做得困难是什么?

三、困难

f32da7bf29a1e579ef3cebffb5f8f360f9510a42

1、样本的获取

当我们应用于实际、设计产品的时候,就会发现不是每一种情况下都有那么多数据。所以,怎么获得丰富的数据是首要的问题。

975e7c4a57923faf11325266e45e794f5a38326d

上图给大家展示的这一排图像是一个交通标志的识别任务。我们如果需要去识别路上的交通标志,就要在不同的环境下,不同的光照下,比如说早晨、中午、晚上,逆光还是背光,不同的视角,是否有遮挡,所有的因素都要考虑到,来采集数据。经验上每种标识收集上千张或者更多的图像,才能保证识别率到达实际应用的水平。

我们的问题是什么?看第一张图像。第一张图是有连续急转的标志。这样的标志在城市很难见到,除非到山区。这个例子说明,图像获取本身就不容易。

2、样本的标注

13dd69263aaa98806d8049f2134697574fe69e6e

我们现在的图像识别方法是基于标注的数据的,这叫做监督学习。图像标注就意味着把图像一张一张抠出来。如果我们开车穿梭在北京市大街小巷,但是交通标志并不是在视频的每一张图片上出现。如果我们需要把视频中交通标志如果都要标出来,需要花很多钱。做机器学习的人会关心我们能不能通过一些其他更廉价的方法去做数据标注,例如能不能通过一些众包的方式去做。在12306网站购买火车票,每次让我们勾出相对应的图像,这可以看做是在标注数据。但是众包标注数据也存在一些问题,就是每个人标的时候会不一样,有时会有错误。所以在机器学习中,有人关心在众包情况下、标注数据有错的时候,我们如何设计学习算法,使得它对错误的标注不敏感。这个事大概七八年前就开始研究,不断的有新的文章出现。

a9048e4f662d32018175d4fed698f601fb1e36ab

当数据没有那么多的时候,怎么办?机器学习界遇到了这样的问题,就是小样本的数据学习。当样本不多的时候能不能达到和大数据量类似的识别效果?例如上图中只有几张狗的图片的时候,要识别狗,还能从哪里得到狗的信息?思路是从其他的图片中来,比如上边有有鸟,有猫,有鹿,它们的皮毛很像狗等等。换句话说,他从其他的丰富的图像中获取一些信息,把那些信息迁移到这个少量的数据上,从而能够实现对狗的识别。

8a5e330c2fd998ed7530d09b587ba88835293a23

另外,图片数量是否能降到只有一张?比如清华大学的“清”,只有一个模板图像,是否能够把文字识别做好。更极端的例子,能不能做到一个样本都没有,也就是说,机器在没有见过狗的情况下,是否能把狗识别出来,这都是研究人员关心的事情。

3、大数据量的训练

有了很多的数据还需要对它进行训练,这通常需要花很长时间,需要配备高端的设备去训练。

426488ce0578a0669c139940931652307d579bd5

我们有了大量的数据怎么去做训练?可以采用GPU去做训练,这样可以达到特别快的速度。在这大的数据量上进行训练和学习的问题,叫做big learning。

Big learning 关心是否有更快速的方法训练呢,需要一个月才能训练出来的问题,能不能在一天就训练出来;能不能用并行训练?如果数据不能一次存到硬盘里,这个时候怎么学习呢?这些就是企业和机器学习界都关心的事。

75872dfe173d23922f295ffb6d98189bc2d42efd

除此之外,我们发现深度学习模型很容易被攻击。如上图左边是一只熊猫,我们已经训练好网络能够识别出这是一只熊猫。如果我在这张图像上加了一点点噪声,这个噪声在右图你几乎看不出来,我再把这个叠加后的图像给网络,它识别出来的不是熊猫,是别的东西。而且它以99.3%的信心说这不是熊猫,甚至你可以指定他是任何一个东西。这件事情的风险在什么地方?如果只是娱乐一下,也没什么大关系。但是如果把它用于军事或者金融后果就比较严重了。因此我们一直在关心这个问题怎么解决,就是希望算法能够抗攻击性强一点,但目前只是缓解而没有彻底解决。

而且研究中会发现这个问题,相当于去研究分类器的泛化性能。泛化性能这件事在机器学习里是理论性很强的问题,是机器学习圈子里面非常少的一些人做的事情。换句话说,这个问题看起来很应用,其实它涉及了背后的一些很深理论。为什么会出现这样的情况?因为我们对深度学习这件事没有太好的理论去解释它,我们没有那么好的方法去把所有的问题解决。

9f59c505662af36e1ac9cfc47fe9fd2cdff35dbd

我们再说风险,图像识别中我们会把一个学习问题往往形式化一个优化问题,然后去优化这个函数,使这个函数最小。我们把这个函数叫做目标函数。有的时候我们会把这样的函数叫做损失函数,物体识别有错就带来损失。就是说在整个过程我们希望不要有太多的损失。其实,风险函数可能是更合适的词。因为你识别错了,其实是有风险的。一般来说目标函数对应于错误率,把狗识别成猫错了一张,把猫识别成狗又错了一张,都影响错误率,而错误率足以反映算法的性能。

d32fb0f2198f0f8ea8c8cc77afabe387dd32222c

但是在不同的问题里,识别错误的风险是不一样的。比如我们做一个医学上的诊断,本来是正常人,你判别说他有癌症,这种错误就导致虚惊一场。还有一种情况是他患有恶性肿瘤,算法没有识别出来而导致了延误治疗。这样的错误风险就很大。因此我们在优化的时候,这个目标函数其实是应该把这样的决策错误和风险放到里面去,我的目标是优化这个风险。但是这件事往往是和应用、和我们的产品设计相关。所以不同的产品设计,它的决策风险不一样。所以我们在设计产品的时候,是要考虑。

0651f4eece5d60898b9ee88a3f8e6e3aba9e27bf

苹果宣称他们的人脸识别错误率是百万分之一,如果别人来冒充你去用这个手机是百万分之一的可能性,就是说,别人冒充你是很难的;但是人脸识别还有一种错误,就是:我自己用我的手机,没有识别出是我,这个错误率是10%。换句话说,你用十次就会有一次不过。在用手机这个问题上不明显,但是如果用于金融,这个事就有风险。我们设计产品的时候,你就要考虑风险在哪,我们怎么样使得整个风险最小,而不是只考虑其中一边的错误率。

3873c834f4cd0bdb87e9f29d02cc28da8723ba75

有公司会宣传说错误率可以降到百万分之一,让人误以为人脸识别的问题已经解决了,然而我们在CAPR、ICCA这样的学术会议上仍然能看到怎么去做文字的检测,怎么去做人脸识别的研究。换句话说这件事还没有到那么容易使用的地步。所以我们做图像识别的产品有风险,产品设计要考虑风险,我们做这件事就要考虑用技术的时候,用对地方很重要,用错地方就会很大的风险。

机器学习是一个和应用紧密结合的学科,虽然有很多高大上的公式,其实都是面向应用,希望能解决实际问题。实际应用给我们提出很多需求,图像识别遇到的问题给我们提出了挑战。最后,感谢各位的聆听。


原文发布时间为:2018-05-14

本文作者:张长水

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”。

相关文章
|
7天前
|
机器学习/深度学习 传感器 自动驾驶
探索机器学习在图像识别中的创新应用
本文深入分析了机器学习技术在图像识别领域的最新进展,探讨了深度学习算法如何推动图像处理技术的突破。通过具体案例分析,揭示了机器学习模型在提高图像识别准确率、效率及应用场景拓展方面的潜力。文章旨在为读者提供一个全面的视角,了解当前机器学习在图像识别领域的创新应用和未来发展趋势。
|
3月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之如何在线调用视频人像增强功能
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
18天前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
46 5
|
2月前
|
机器学习/深度学习 人工智能 自动驾驶
揭秘AI的魔法:机器学习在图像识别中的应用
【9月更文挑战第24天】当AI技术遇到图像识别,就像是打开了新世界的大门。本文将深入浅出地介绍机器学习在图像识别领域的应用,通过实例和代码展示如何让机器“看懂”图片。让我们一起探索AI的魔法,开启一段科技与创新的旅程!
|
3月前
|
编解码 文字识别 API
视觉智能开放平台产品使用合集之是否支持视频和字幕同步
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
3月前
|
机器学习/深度学习 算法 自动驾驶
探索机器学习在图像识别中的应用
【7月更文挑战第39天】 随着人工智能技术的飞速发展,机器学习已成为其最为活跃的研究领域之一。特别是在图像识别领域,机器学习技术的应用不仅推动了计算机视觉的进步,也为多个行业的发展提供了新的动力。本文将深入探讨机器学习在图像识别中的关键作用,分析当前流行的算法和模型,并通过实例展示如何利用这些技术解决实际问题。我们还将讨论面临的挑战及未来可能的发展方向,为读者提供一个全面而深刻的技术视角。
72 14
|
3月前
|
机器学习/深度学习 数据采集 人工智能
利用机器学习进行图像识别的探索之旅
【8月更文挑战第4天】在数字化时代的浪潮中,图像识别技术如同一把钥匙,开启了信息处理的新纪元。本文将带领读者深入机器学习的世界,通过Python语言和scikit-learn库,实现一个简单的手写数字识别模型。我们将一起探索数据预处理、模型训练以及结果评估等关键环节,并尝试对模型进行优化,以提高识别准确率。这不仅是一场技术的冒险,也是对未来无限可能的憧憬。
|
3月前
|
机器学习/深度学习 人工智能 算法
探索AI的无限可能:机器学习在图像识别中的应用
【8月更文挑战第31天】本文将带你走进AI的神秘世界,探索机器学习在图像识别中的应用。我们将通过实例和代码,深入理解机器学习如何改变我们对图像的处理和理解方式。无论你是AI初学者,还是有一定基础的开发者,这篇文章都将为你提供新的视角和思考。让我们一起见证AI的力量,开启新的学习之旅。
|
3月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之通用视频生成的输出结果的清晰度低,可以怎么优化
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
34 0
|
4月前
|
机器学习/深度学习 数据采集 算法
探索机器学习在图像识别中的应用
【7月更文挑战第19天】机器学习技术在图像识别领域的应用日益成熟,本文将介绍机器学习如何通过算法和模型处理图像数据,提高识别准确性。我们将探讨从基本的数据预处理到复杂的深度学习网络的构建过程,并分享一些实用的技巧和最佳实践,帮助读者理解和实现自己的图像识别项目。