Deep Learning Indaba 2018是由DeepMind主办的深度学习峰会,于今年9月份在南非斯泰伦博斯举行。本文基于当时的专家采访和专题讨论写成,主要探讨NLP领域中的4个主要开放性问题。
Author Archive
BAT专家解读:如何选出最合适的深度学习框架?
随着深度学习关注度和势头上升,深度学习被越来越多的企业和组织的生产实践结合起来。这时,无论是对于深度学习相关专业的初学者,还是已经在企业和组织中从事工业场景应用和研发的开发者来说,选择一个适合自己,适合业务场景需求的深度学习框架显得尤为重要。
【实战】5个集成学习最常用的方法
本文将介绍最流行的集成方法,包括bagging、boosting、stacking等。
AI芯片混战,谁能挑战英伟达?
在过去五年中,英伟达将其数据中心业务发展成为一个价值数十亿美元的巨头,却从未遇到过一个像样的竞争对手。这是一个惊人的事实,在我的记忆中,这在当今的科技世界是无与伦比的。
计算机视觉 – Computer Vision | CV
计算机视觉(Computer Vision)是人工智能领域的一个重要分支。它的目的是:看懂图片里的内容。
本文将介绍计算机视觉的基本概念、实现原理、8 个任务和 4 个生活中常见的应用场景。
计算机视觉为什么重要?
人的大脑皮层, 有差不多 70% 都是在处理视觉信息。 是人类获取信息最主要的渠道,没有之一。
在网络世界,照片和视频(图像的集合)也正在发生爆炸式的增长!
下图是网络上新增数据的占比趋势图。灰色是结构化数据,蓝色是非结构化数据(大部分都是图像和视频)。可以很明显的发现,图片和视频正在以指数级的速度在增长。
而在计算机视觉出现之前,图像对于计算机来说是黑盒的状态。
一张图片对于机器只是一个文件。机器并不知道图片里的内容到底是什么,只知道这张图片是什么尺寸,多少MB,什么格式的。
如果计算机、人工智能想要在现实世界发挥重要作用,就必须看懂图片!这就是计算机视觉要解决的问题。
什么是计算机视觉 – CV?
计算机视觉是人工智能的一个重要分支,它要解决的问题就是:看懂图像里的内容。
比如:
- 图片里的宠物是猫还是狗?
- 图片里的人是老张还是老王?
- 这张照片里,桌子上放了哪些物品?
计算机视觉的原理是什么?
目前主流的基于深度学习的机器视觉方法,其原理跟人类大脑工作的原理比较相似。
人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。
机器的方法也是类似:构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类。
计算机视觉的2大挑战
对于人类来说看懂图片是一件很简单的事情,但是对于机器来说这是一个非常难的事情,说 2 个典型的难点:
特征难以提取
同一只猫在不同的角度,不同的光线,不同的动作下。像素差异是非常大的。就算是同一张照片,旋转90度后,其像素差异也非常大!
所以图片里的内容相似甚至相同,但是在像素层面,其变化会非常大。这对于特征提取是一大挑战。
需要计算的数据量巨大
手机上随便拍一张照片就是1000*2000像素的。每个像素 RGB 3个参数,一共有1000 X 2000 X 3=6,000,000。随便一张照片就要处理 600万 个参数,再算算现在越来越流行的 4K 视频。就知道这个计算量级有多恐怖了。
CNN 解决了上面的两大难题
CNN 属于深度学习的范畴,它很好的解决了上面所说的2大难点:
- CNN 可以有效的提取图像里的特征
- CNN 可以将海量的数据(不影响特征提取的前提下)进行有效的降维,大大减少了对算力的要求
CNN 的具体原理这里不做具体说明,感兴趣的可以看看《一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)》
计算机视觉的 8 大任务
图像分类
图像分类是计算机视觉中重要的基础问题。后面提到的其他任务也是以它为基础的。
举几个典型的例子:人脸识别、图片鉴黄、相册根据人物自动分类等。
目标检测
目标检测任务的目标是给定一张图像或是一个视频帧,让计算机找出其中所有目标的位置,并给出每个目标的具体类别。
语义分割
它将整个图像分成像素组,然后对像素组进行标记和分类。语义分割试图在语义上理解图像中每个像素是什么(人、车、狗、树…)。
如下图,除了识别人、道路、汽车、树木等之外,我们还必须确定每个物体的边界。
实例分割
除了语义分割之外,实例分割将不同类型的实例进行分类,比如用 5 种不同颜色来标记 5 辆汽车。我们会看到多个重叠物体和不同背景的复杂景象,我们不仅需要将这些不同的对象进行分类,而且还要确定对象的边界、差异和彼此之间的关系!
视频分类
与图像分类不同的是,分类的对象不再是静止的图像,而是一个由多帧图像构成的、包含语音数据、包含运动信息等的视频对象,因此理解视频需要获得更多的上下文信息,不仅要理解每帧图像是什么、包含什么,还需要结合不同帧,知道上下文的关联信息。
人体关键点检测
体关键点检测,通过人体关键节点的组合和追踪来识别人的运动和行为,对于描述人体姿态,预测人体行为至关重要。
在 Xbox 中就有利用到这个技术。
场景文字识别
很多照片中都有一些文字信息,这对理解图像有重要的作用。
场景文字识别是在图像背景复杂、分辨率低下、字体多样、分布随意等情况下,将图像信息转化为文字序列的过程。
停车场、收费站的车牌识别就是典型的应用场景。
目标跟踪
目标跟踪,是指在特定场景跟踪某一个或多个特定感兴趣对象的过程。传统的应用就是视频和真实世界的交互,在检测到初始对象之后进行观察。
无人驾驶里就会用到这个技术。
CV 在日常生活中的应用场景
计算机视觉的应用场景非常广泛,下面列举几个生活中常见的应用场景。
- 门禁、支付宝上的人脸识别
- 停车场、收费站的车牌识别
- 上传图片或视频到网站时的风险识别
- 抖音上的各种道具(需要先识别出人脸的位置)
这里需要说明一下,条形码和二维码的扫描不算是计算机视觉。
这种对图像的识别,还是基于固定规则的,并不需要处理复杂的图像,完全用不到 AI 技术。
百度百科+维基百科
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所 指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提 取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。
计算机视觉是一个跨学科的科学领域,涉及如何制作计算机以从数字图像或视频中获得高层次的理解。从工程的角度来看,它寻求自动化人类视觉系统可以完成的任务。
计算机视觉任务包括用于获取,处理,分析和理解数字图像的方法,以及从现实世界中提取高维数据以便例如以决策的形式产生数字或符号信息。
在这种情况下理解意味着将视觉图像(视网膜的输入)转换为可以与其他思维过程交互并引出适当行动的世界描述。这种图像理解可以看作是利用几何学,物理学,统计学和学习理论构建的模型从图像数据中解开符号信息。
作为一门科学学科,计算机视觉关注从图像中提取信息的人工系统背后的理论。图像数据可以采用多种形式,例如视频序列,来自多个相机的视图或来自医学扫描仪的多维数据。作为一门技术学科,计算机视觉试图将其理论和模型应用于计算机视觉系统的构建。 计算机视觉的子域包括场景重建,事件检测,视频跟踪,对象识别,3D姿态估计,学习,索引,运动估计和图像恢复。
扩展阅读
从三大案例,看如何用 CV 模型解决非视觉问题
近几年,深度学习已经彻底改变了计算机视觉。由于各类学习资源随处可见,任何人都可以在数天(甚至数小时)内掌握最新技术,并将它应用到自己的领域内。随着深度学习变得越来越普遍,一个重要的问题就是如何将它创造性地应用在不同的领域里。
深度长文:中文分词的十年回顾
本文回顾了中文分词在2007-2017十年间的技术进展,尤其是自深度学习渗透到自然语言处理以来的主要工作。我们的基本结论是,中文分词的监督机器学习方法在从非神经网络方法到神经网络方法的迁移中尚未展示出明显的技术优势。中文分词的机器学习模型的构建,依然需要平衡考虑已知词和未登录词的识别问题。
判别式模型(Discriminative model)
百度百科版本
在机器学习领域判别模型是一种对未知数据 y 与已知数据 x 之间关系进行建模的方法。判别模型是一种基于概率理论的方法。已知输入变量 x ,判别模型通过构建条件概率分布 P(y|x) 预测 y 。
维基百科版本
判别模型,也称为条件模型,是一类用于统计分类的模型,尤其是在有监督的 机器学习中。判别分类器试图通过仅依赖于观察到的数据进行建模,同时学习如何从给定的统计数据进行分类。监督学习中使用的方法可以分为判别模型或生成模型。与生成模型相比,判别模型对分布的假设较少,但在很大程度上取决于数据的质量。
例如,给定一组狗和兔子的标记图片,辨别模型将新的未标记图片与最相似的标记图片匹配,然后给出标签类,狗或兔子。然而,生成将开发一个模型,应该能够从他们所做的假设输出类标签到未标记的图片,就像所有兔子都有红眼。典型的判别学习方法包括逻辑回归(LR),支持向量机(SVM) ),条件随机场(CRF)(在无向图上指定)等。典型的生成模型方法包含朴素贝叶斯,高斯混合模型等。
扩展阅读
产生式模型(Generative model)
百度百科版本
在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。它给观测值和标注数据序列指定一个联合概率分布。在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。条件概率分布可以由生成模型根据贝叶斯定理形成。
维基百科版本
在统计分类中,包括机器学习,两种主要方法被称为生成方法和判别方法。这些计算分类器采用不同的方法,统计建模的程度不同。术语不一致,但可以区分三种主要类型,遵循Jebara(2004):
- 给定一个可观察到的变量 X和目标变量 ÿ,一个生成模型是一个统计模型的的联合概率分布上X × ÿ,
- 甲判别模型是的模型条件概率的目标ÿ,给定的观察X,象征性地;
- 不使用概率模型计算的分类器也被宽泛地称为“判别性”。
最后两个类之间的区别并不一致; Jebara(2004)将这三个类别称为生成学习,条件学习和歧视性学习,但Ng&Jordan(2002)仅区分两个类别,称为生成分类器(联合分布)和判别分类器(条件分布或没有分配),没有区分后两类。类似地,基于生成模型的分类器是生成分类器,而基于判别模型的分类器是判别分类器,尽管该术语也指不基于模型的分类器。每个标准例子都是线性分类器,它们是:生成分类器:朴素贝叶斯分类器和线性判别分析 ; 判别模型:逻辑回归 ; 非模型分类器:感知器和支持向量机。
扩展阅读