Author Archive

在未来和AI争夺工作的16个实用技巧

虽然人工智能可能会改变某些类型的工作,但它们永远不会完全取代人类的工作——你只需要知道如何维持并推销你的技能。来自福布斯教练咨询会(Forbes Coaches Council)的成员们分享了一些技巧,让你可以在未来的职业生涯中获取所需的技能。

强化学习如何入门?看这篇文章就够了

对于大脑的工作原理,我们知之甚少,但是我们知道大脑能通过反复尝试来学习知识。我们做出合适选择时会得到奖励,做出不切当选择时会受到惩罚,这也是我们来适应环境的方式。如今,我们可以利用强大的计算能力,在软件中对这个具体过程进行建模,这就是强化学习。

人脸识别 | Facial recognition

一文看懂人脸识别

人脸识别是身份识别的一种方式,目的就是要判断图片和视频中人脸的身份时什么。

本文将详细介绍人脸识别的4个特点、4个步骤、5个难点及算法的发展轨迹。

 

什么是人脸识别?

人脸识别是 计算机视觉-computer Vision 领域里很典型的应用。

人脸识别的目的就是要判断图片和视频(视频是由图片构成的)中人脸的身份是什么。

人脸识别是身份识别的一种,它跟身份证识别、指纹识别、虹膜识别都是相似的。可以将人脸识别和大家熟悉的身份证做对比:

人脸识别是身份识别的一种

  1. 录入信息(开通身份证 – 录入人脸信息)
  2. 将信息存入数据库(身份证信息 – 人脸信息)
  3. 当需要验证身份时,将新采集信息和数据库信息作比对(扫身份证 – 刷脸)

 

人脸识别有4个特点

人脸识别和其他身份识别相比,有4个特点:

人脸识别的4个特点

  1. 便捷性。人脸是生物特征,不需要携带类似身份证的东西
  2. 非强制性。识别的过程甚至不需要对象的配合,只要拍摄到人脸就可以进行识别,例如安防领域就是如此。
  3. 非接触性。不需要跟设备进行接触,相比指纹更加安全一些。
  4. 并行处理。一张照片里有多个人脸时可以一起处理,不像指纹和虹膜,需要一个一个来。

基于以上特点,人脸识别正在被广泛的应用在各个领域。大家在生活中随处都可以看到人脸识别的应用。

 

人脸识别的 4 个步骤

人脸识别的过程中有4个关键的步骤:

  1. 人脸检测
  2. 人脸对齐
  3. 人脸编码
  4. 人脸匹配

人脸识别的4个步骤

下面详细说明一下这4个步骤。

人脸检测

人脸检测的目的是寻找图片中人脸的位置。当发现有人脸出现在图片中时,不管这个脸是谁,都会标记出人脸的坐标信息,或者将人脸切割出来。

可以使用方向梯度直方图(HOG)来检测人脸位置。先将图片灰度化,接着计算图像中像素的梯度。通过将图像转变成HOG形式,就可以获得人脸位置。

人脸检测方法-HOG

人脸对齐

人脸对齐是将不同角度的人脸图像对齐成同一种标准的形状。

先定位人脸上的特征点,然后通过几何变换(仿射、旋转、缩放),使各个特征点对齐(将眼睛、嘴等部位移到相同位置)。

人脸对齐-特征点对齐

人脸编码

人脸图像的像素值会被转换成紧凑且可判别的特征向量,这也被称为模板(template)。理想情况下,同一个主体的所有人脸都应该映射到相似的特征向量。

人脸编码

人脸匹配

在人脸匹配构建模块中,两个模板会进行比较,从而得到一个相似度分数,该分数给出了两者属于同一个主体的可能性。

人脸匹配

 

人脸识别的 5 个难点

人脸图像在现实世界中的呈现具有高度的可变性。所以人脸识别也是最有挑战性的生物识别方法之一。人脸图像可变的地方包括:

  1. 头部姿势
  2. 年龄
  3. 遮挡
  4. 光照条件
  5. 人脸表情

人脸识别的5个难点

 

人脸识别算法的发展轨迹

人脸识别领域,也是从传统机器学习算法过度到深度学习算法的。

人脸识别算法的发展轨迹

传统机器学习算法

在机器学习阶段,人脸识别也经历了3个重要的阶段:

  1. 几何特征阶段
  2. 表象特征阶段
  3. 纹理特征阶段

深度学习算法

在深度学习阶段,算法的发展也同样经历了3个阶段:

  1. 从最开始的 VGG 网络到 Inception 网络再到 Resnet 网络,网络模型总体上呈现出更深,更宽的趋势。
  2. 旷视、商汤为代表的在学术公开竞赛中取得好成绩的这些厂商,开始发展实际业务为起点,通过不断扩大他们的实际数据集合,算法性能也在逐渐的提升。
  3. 进一步增加数据量以提升算法性能以外,与第一阶段相反,大家开始在不降低识别性能的基础上,研究网络的轻量化。轻量化的主要目的有两个,一个是提升算法的速度,甚至能够部署到移动端;另外一个就是便于硬件实现,从而将人脸识别算法直接做成一个硬件模块。

想要详细了解不同阶段的技术细节,可以看这篇文章《一文看懂人脸识别技术发展脉络

 

人脸识别的典型应用

人脸识别的应用变得越来越广泛,只要跟身份识别相关的未来都有可能使用人脸识别。下面列几个典型的应用场景。

  1. 门禁系统
  2. 安防系统
  3. 无人超市
  4. 电子护照及身份证
  5. 自主服务系统(如ATM)
  6. 信息安全系统,如刷脸支付
  7. 娱乐型应用,如抖音里的部分道具

 

百度百科+维基百科

百度百科版本

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。

查看详情

维基百科版本

面部识别系统是能够在技术识别或验证从一个人的数字图像或视频帧从视频源。面部识别系统有多种方法可以工作,但一般来说,它们通过将给定图像中的选定面部特征与数据库中的面部进行比较来工作。它还被描述为基于生物识别人工智能的应用程序,其可以通过基于人的面部纹理和形状分析模式来唯一地识别人。

虽然最初是计算机应用的一种形式,但近来在移动平台和其他形式的技术(例如机器人技术)中已经有了更广泛的用途。它通常用作安全系统中的访问控制,并且可以与其他生物识别技术(如指纹或眼睛虹膜识别系统)进行比较。虽然面部识别系统作为生物识别技术的准确性低于虹膜识别和指纹识别,但由于其非接触式和非侵入性的过程,它被广泛采用。最近,它作为商业识别和营销工具也变得流行。其他应用包括高级人机交互,视频监控,图像自动索引和视频数据库等。

查看详情

自然语言理解 – NLU | NLI

一文看懂自然语言理解-NLU

自然语言理解(NLU)跟 NLP 是什么关系?为什么说它是人工智能领域里一个难点?NLU 的发展史历史和目前最先进的方法是什么?

本文将解答上面的问题,带你全面了解自然语言理解(NLU)。

想要了解更多 NLP 相关的内容,请访问  NLP专题 ,免费提供59页的NLP文档下载。

访问 NLP 专题,下载 59 页免费 PDF

 

什么是自然语言理解(NLU)?

大家最常听到的是 NLP,而 自然语言理解(NLU) 则是 NLP 的一部分:

自然语言理解NLU是NLP的一部分

什么是自然语言?

自然语言就是大家平时在生活中常用的表达方式,大家平时说的“讲人话”就是这个意思。

自然语言:我背有点驼(非自然语言:我的背部呈弯曲状)

自然语言:宝宝的经纪人睡了宝宝的宝宝

自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点(下面详细说明),所以 NLU 是至今还远不如人类的表现。

自然语言理解就是希望机器像人一样,具备正常人的语言理解能力

下面用一个具体的案例来深度说明一下自然语言理解(NLU):

对话系统这个事情在2015年开始突然火起来了,主要是因为一个技术的普及:机器学习特别是深度学习带来的语音识别和NLU(自然语言理解)——主要解决的是识别人讲的话。

这个技术的普及让很多团队都掌握了一组关键技能:意图识别和实体提取

这意味着什么?我们来看一个例子。

在生活中,如果想要订机票,人们会有很多种自然的表达:

“订机票”;

“有去上海的航班么?”;

“看看航班,下周二出发去纽约的”;

“要出差,帮我查下机票”;

等等等等

可以说“自然的表达” 有无穷多的组合(自然语言)都是在代表 “订机票” 这个意图的。而听到这些表达的人,可以准确理解这些表达指的是“订机票”这件事。

而要理解这么多种不同的表达,对机器是个挑战。在过去,机器只能处理“结构化的数据”(比如关键词),也就是说如果要听懂人在讲什么,必须要用户输入精确的指令。

所以,无论你说“我要出差”还是“帮我看看去北京的航班”,只要这些字里面没有包含提前设定好的关键词“订机票”,系统都无法处理。而且,只要出现了关键词,比如“我要退订机票”里也有这三个字,也会被处理成用户想要订机票。

机器通过“订机票”这个关键词来识别意图

自然语言理解这个技能出现后,可以让机器从各种自然语言的表达中,区分出来,哪些话归属于这个意图;而那些表达不是归于这一类的,而不再依赖那么死板的关键词。比如经过训练后,机器能够识别“帮我推荐一家附近的餐厅”,就不属于“订机票”这个意图的表达。

并且,通过训练,机器还能够在句子当中自动提取出来“上海”,这两个字指的是目的地这个概念(即实体);“下周二”指的是出发时间。

这样一来,看上去“机器就能听懂人话啦!”。

基于NLU识别用户意图

 

自然语言理解(NLU)的应用

几乎所有跟文字语言和语音相关的应用都会用到 NLU,下面举一些具体的例子。

基于自然语言理解-NLU的应用

机器翻译

基于规则的翻译效果经常不太好,所以如果想提升翻译的效果,必须建立在对内容的理解之上。

如果是不理解上下文,就会出现下面的笑话:

I like apple, it’s so fast!

我喜欢“苹果”,它很快!

 

机器客服

如果想实现问答,就要建立在多轮对话的理解基础之上,自然语言理解是必备的能力。

下面的例子对于机器来说就很难理解:

“有什么可以帮您?”

“你好,我想投诉”

“请问投诉的车牌号是多少?”

“xxxxxx”

“请问是什么问题?”

“我刚上车,那个态度恶劣的哥谭市民就冲我发火”

机器很容易理解为:那个态度恶劣/的/哥谭/市民/就冲我发火

 

智能音箱

智能音箱中,NLU 也是重要的一个环节。很多语音交互都是很短的短语,音箱不但需要能否识别用户在说什么话,更要理解用户的意图。

“我冷了”

机器:帮您把空调调高1度

用户并没有提到空调,但是机器需要知道用户的意图——空调有点冷,需要把温度调高。

 

自然语言理解(NLU)的难点

下面先列举一些机器不容易理解的案例:

  1. 校长说衣服上除了校徽别别别的
  2. 过几天天天天气不好
  3. 看见西门吹雪点上了灯,叶孤城冷笑着说:“我也想吹吹吹雪吹过的灯”,然后就吹灭了灯。
  4. 今天多得谢逊出手相救,在这里我想真心感谢“谢谢谢逊大侠出手”
  5. 灭霸把美队按在地上一边摩擦一边给他洗脑,被打残的钢铁侠说:灭霸爸爸叭叭叭叭儿的在那叭叭啥呢
  6. 姑姑你估估我鼓鼓的口袋里有多少谷和菇!!
  7. “你看到王刚了吗”“王刚刚刚刚走”
  8. 张杰陪俩女儿跳格子:俏俏我们不要跳跳跳跳过的格子啦

自然语言理解的5大难点

那么对于机器来说,NLU 难点大致可以归为5类:

难点1:语言的多样性

自然语言没有什么通用的规律,你总能找到很多例外的情况。

另外,自然语言的组合方式非常灵活,字、词、短语、句子、段落…不同的组合可以表达出很多的含义。例如:

我要听大王叫我来巡山

给我播大王叫我来巡山

我想听歌大王叫我来巡山

放首大王叫我来巡山

给唱一首大王叫我来巡山

放音乐大王叫我来巡山

放首歌大王叫我来巡山

给大爷来首大王叫我来巡山

 

难点2:语言的歧义性

如果不联系上下文,缺少环境的约束,语言有很大的歧义性。例如:

我要去拉萨

  • 需要火车票?
  • 需要飞机票?
  • 想听音乐?
  • 还是想查找景点?

 

难点3:语言的鲁棒性

自然语言在输入的过程中,尤其是通过语音识别获得的文本,会存在多字、少字、错字、噪音等问题。例如:

大王叫我来新山

大王叫让我来巡山

大王叫我巡山

 

难点4:语言的知识依赖

语言是对世界的符号化描述,语言天然连接着世界知识,例如:

大鸭梨

除了表示水果,还可以表示餐厅名

7天

可以表示时间,也可以表示酒店名

晚安

有一首歌也叫《晚安》

 

难点5:语言的上下文

上下文的概念包括很多种:对话的上下文、设备的上下文、应用的上下文、用户画像…

U:买张火车票

A:请问你要去哪里?

U:宁夏

 

U:来首歌听

A:请问你想听什么歌?

U:宁夏

 

NLU 的实现方式

自然语言理解跟整个人工智能的发展历史类似,一共经历了3次迭代:

  1. 基于规则的方法
  2. 基于统计的方法
  3. 基于深度学习的方法

自然语言理解的3大发展阶段

最早大家通过总结规律来判断自然语言的意图,常见的方法有:CFG、JSGF等。

后来出现了基于统计学的 NLU 方式,常见的方法有:SVM、ME等。

随着深度学习的爆发,CNNRNNLSTM 都成为了最新的”统治者”。

到了2019年,BERT 和 GPT-2 的表现震惊了业界,他们都是用了 Transformer,下面将重点介绍 Transformer,因为他是目前“最先进”的方法。

Transformer是当红炸子鸡

Transformer 和 CNN / RNN 的比较

Transformer 的原理比较复杂,这里就不详细说明了,感兴趣的朋友可以查看下面的文章,讲的很详细:

BERT大火却不懂Transformer?读这一篇就够了

下面将摘取一部分《why Self-Attention?A Targeted Evaluation of Neural Machine Translation Architectures》里的数据,直观的让大家看出来3者的比较。

语义特征提取能力

语义特征抽取能力:Transformer>>原生CNN=原生RNN

从语义特征提取能力来说,目前实验支持如下结论:Transformer在这方面的能力非常显著地超过RNN和CNN(在考察语义类能力的任务WSD中,Transformer超过RNN和CNN大约4-8个绝对百分点),RNN和CNN两者能力差不太多。

长距离特征捕获能力

长距离特征抽取能力:Transformer>原生RNN>原生CNN

原生CNN特征抽取器在这方面极为显著地弱于RNN和Transformer,Transformer微弱优于RNN模型(尤其在主语谓语距离小于13时),能力由强到弱排序为Transformer>RNN>>CNN; 但在比较远的距离上(主语谓语距离大于13),RNN微弱优于Transformer,所以综合看,可以认为Transformer和RNN在这方面能力差不太多,而CNN则显著弱于前两者。

任务综合特征抽取能力

任务综合特征抽取能力:Transformer>>原生CNN=原生RNN

Transformer综合能力要明显强于RNN和CNN(你要知道,技术发展到现在阶段,BLEU绝对值提升1个点是很难的事情),而RNN和CNN看上去表现基本相当,貌似CNN表现略好一些。

并行计算能力及运算效率

计算效率:Transformer>CNN>RNN

Transformer Base最快,CNN次之,再次Transformer Big,最慢的是RNN。RNN比前两者慢了3倍到几十倍之间。

关于 Transformer ,推荐几篇优秀的文章给大家,让大家有一个更综合的了解:

放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较

从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史

效果惊人的GPT 2.0模型:它告诉了我们什么

 

百度百科-维基百科

百度百科版本

自然语言处理(NLP , Natural Language Processing)是使用自然语言同计算机进行通讯的技术, 因为处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解(NLU ,Natural Language Understanding), 也称为计算语言学(Computational Ling uistics)。一方面它是语言信息处理的一个分支 , 另一方面它是人工智能(AI , Artificial Intelligence)的核心课题之一 。

查看详情

维基百科版本

自然语言理解(NLU)或自然语言解释(NLI)是的子主题自然语言处理在人工智能与机器涉及阅读理解。自然语言理解被认为是人工智能难题。

由于其应用于自动推理,机器翻译,问答,新闻采集,文本分类,语音激活,存档和大规模内容分析,因此该领域具有相当大的商业利益。。 NLU是使用NLP算法(识别词性等)后的文本的后处理,其利用来自识别设备的上下文(自动语音识别)[ASR],视觉识别,最后一次会话,来自ASR的误识别词,个性化配置文件,麦克风接近等),以其所有形式,辨别碎片和连续句子的含义以通常从语音命令执行意图。NLU具有围绕特定产品垂直的本体,用于计算意图的概率。NLU具有已定义的已知意图列表,其从指定的上下文信息识别源导出消息有效载荷。NLU将提供多个消息输出以将服务(软件)或资源(硬件)与单个派生的意图分开(对具有视觉句子(显示或说出)的语音命令发起者的响应和转换的语音命令消息将消耗太多不同的输出消息用于M2M通信和行动)。

查看详情