AI关键技术

来自CloudWiki
跳转至: 导航搜索

应用场景

人脸识别

人脸识别普及之后,成为安防门禁的主流,到底是为什么?

自动驾驶

百度:阿波龙视频:http://n.miaopai.com/media/I5GGeebomL6ISavsGqjprxO0xY0vL8Py

人机交互

小度智能音箱

专家系统

大数据+人工智能 “秒级”筛查多种肺部疾病

人工智能基础技术

近二十年来人工智能领域的技术在不断发展、融合,其关键技术主要包括机器学习、知识图谱、自然语言处理、计算机视觉、人机交互、生物特征识别、虚拟现实/增强现实等关键技术。

计算机视觉

Ai20-4-38.png

计算机视觉是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。

自动驾驶、机器人、智能医疗等领域均需要通过计算机视觉技术从视觉信号中提取并处理信息。

Ai20-4-39.png

根据解决的问题,计算机视觉可分为计算成像学、图像理解、三维视觉、动态视觉和视频编解码五大类。

Ai20-4-40.png

视频:机器视觉及图像识别:https://www.bilibili.com/video/BV12W41127hC?p=5

人脸识别

人脸识别是典型的计算机视觉应用,从应用过程来看,可将人脸识别技术划分为检测定位、面部特征提取以及人脸确认三个过程。人脸识别技术的应用主要受到光照、拍摄角度、图像遮挡、年龄等多个因素的影响,在约束条件下人脸识别技术相对成熟,在自由条件下人脸识别技术还在不断改进。

Ai20-4-44.png

解密刷脸与生物特征识别

步态识别

Ai20-4-48.png

步态是远距离复杂场景下唯一可清晰成像的生物特征,步态识别是指通过身体体型和行走姿态来识别人的身份。相比上述几种生物特征识别,步态识别的技术难度更大,体现在其需要从视频中提取运动特征,以及需要更高要求的预处理 算法,但步态识别具有远距离、跨角度、光照不敏感等优势。

思考:开始介绍的4个应用,哪几个用到了计算机视觉?

生物特征识别

Ai20-4-41.png

生物特征识别技术是指通过个体生理特征或行为特征对个体身份进行识别认证的技术。

从应用流程看,生物特征识别通常分为注册和识别两个阶段。

Ai20-4-42.png

生物特征识别技术涉及的内容十分广泛,包括指纹、掌纹、人脸、虹膜、指静脉、声纹、步态等多种生物特征,其识别过程涉及到图像处理、计算机视觉、语音识别、机器学习等多项技术。

目前生物特征识别作为重要的智能化身份认证技术,在金融、公共安全、教育、交通等领域得到广泛的应用。

Ai20-4-43.png

指纹识别过程通常包括数据采集、数据处理、分析判别三个过程。数据采集通过光、电、力、热等物理传感器获取指纹图像;数据处理包括预处理、畸变校正、特征提取三个过程;分析判别是对提取的特征进行分析判别的过程。


虹膜识别

虹膜识别的理论框架主要包括虹膜图像分割、虹膜区域归一化、特征提取和识别四个部分,研究工作大多是基于此理论框架发展而来。虹膜识别技术应用的主要难题包含传感器和光照影响两个方面:一方面,由于虹膜尺寸小且受黑色素遮挡,需在近红外光源下采用高分辨图像传感器才可清晰成像,对传感器质量和稳定性要求比较高;另一方面,光照的强弱变化会引起瞳孔缩放,导致虹膜纹理 产生复杂形变,增加了匹配的难度。

Ai20-4-45.png

指静脉识别

Ai20-4-46.png

指静脉识别是利用了人体静脉血管中的脱氧血红蛋白对特定波长范围内的近红外线有很好的吸收作用这一特性,采用近红外光对指静脉进行成像与识别的技术。由于指静脉血管分布随机性很强,其网络特征具有很好的唯一性,且属于人体内部特征,不受到外界影响,因此模态特性十分稳定。指静脉识别技术应用 面临的主要难题来自于成像单元。

声纹识别

Ai20-4-47.png

声纹识别是指根据待识别语音的声纹特征识别说话人的技术。声纹识别技术通常可以分为前端处理和建模分析两个阶段。声纹识别的过程是将某段来自某个人的语音经过特征提取后与多复合声纹模型库中的声纹模型进行匹配,常用的识别方法可以分为模板匹配法、概率模型法等。

语音识别:https://www.xfyun.cn/services/voicedictation

声音合成:https://www.xfyun.cn/services/online_tts

思考:开始介绍的4个应用,哪几个用到了生物特征识别?

知识图谱

Ai20-4-33.png

知识图谱的诞生

阅读:从知识工程到知识图谱全面回顾

互联网应用催生大数据时代知识工程

知识图谱首先取得重大突破的,是谷歌。谷歌搜索是谷歌公司的核心产品服务,这类互联网的应用,主要有以下特点:

1. 大规模开放性应用,永远不知道用户下一次搜索关键词是什么;

2. 精度要求不高;大部分搜索理解与回答只需要实现简单的推理,复杂推理为极少数。

在这样的诉求下,谷歌推出了自己的知识图谱,使用与语义检索,从多种来收集信息,以提高搜索质量。而知识图谱的推出,基本上宣告了知识工程进入了一个新的时代,我们称之为大数据时代的知识工程阶段。谷歌利用一个全新名称表达与传统知识表示其毅然决裂的态度。

什么是知识图谱

知识图谱本质上是结构化的语义知识库,

是一种由节点和边组成的图数据结构,以符号形式描述物理世界中的概念及其相互关系,

其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关“属性—值”对。

不同实体之间通过关系相互联结,构成网状的知识结构。

视频:知识图谱的基本概念和技术


Ai20-4-34.png

知识图谱可用于反欺诈、不一致性验证、组团欺诈等公共安全保障领域,需要用到异常分析、静态分析、动态分析等数据挖掘方法。

思考:开始介绍的4个应用,哪几个用到了知识图谱?

自然语言处理

Ai20-4-35.png

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及的领域较多,主要包括机器翻译、机器阅读理解和问答系统等。


Ai20-4-36.png

视频:什么是自然语言处理? https://v.qq.com/x/page/s0853seabzk.html

自然语言处理面临四大挑战:一是在词法、句法、语义、语用和语音等不同层面存在不确定性;二是新的词汇、术语、语义和语法导致未知语言现象的不可预测性;三是数据资源的不充分使其难以覆盖复杂的语言现象;四是语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大 的非线性计算。

谷歌翻译:https://translate.google.cn

人机交互

Ai20-4-37.png

人机交互主要研究人和计算机之间的信息交换,主要包括人到计算机和计算机到人的两部分信息交换,是人工智能领域的重要的外围技术。

人机交互是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科。

机器学习

Ai20-4-32.png

机器学习(Machine Learning)是一门涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学科,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心。

机器学习的分类

根据学习模式将机器学习分类为监督学习、无监督学习和强化学习等。

根据学习方法可以将机器学习分为传统机器学习和深度学习。

此外,机器学习的常见算法还包括迁移学习、主动学习和演化学习等。

  • 机器学习的方法:

传统机器学习

深度学习

飞将实验列表:https://aistudio.baidu.com/aistudio/projectoverview/public/2

课程4-深度学习入门CV-手写数字识别:https://aistudio.baidu.com/aistudio/projectdetail/78958

手把手带你吃透深度学习:https://aistudio.baidu.com/aistudio/projectdetail/325575

使用Python进行机器学习(ski-learn):https://aistudio.baidu.com/aistudio/projectdetail/98035

肺炎CT影像分析:https://aistudio.baidu.com/aistudio/projectdetail/289819

CNN猫狗识别:猫狗识别0612 https://aistudio.baidu.com/aistudio/projectdetail/70543

文本分类:https://aistudio.baidu.com/aistudio/projectdetail/90231

20个令人惊叹的深度学习应用:https://www.sohu.com/a/298212922_100225419

这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手。

当我们开始学习编程的时候,第一件事往往是学习打印"Hello World"。就好比编程入门有Hello World,机器学习入门有MNIST。

MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片:

  • MNIST.png

它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。

在此教程中,我们将训练一个机器学习模型用于预测图片里面的数字。我们的目的不是要设计一个世界一流的复杂模型 -- 尽管我们会在之后给你源代码去实现一流的预测模型 -- 而是要介绍下如何使用TensorFlow。所以,我们这里会从一个很简单的数学模型开始,它叫做Softmax Regression。

对应这个教程的实现代码很短,而且真正有意思的内容只包含在三行代码里面。但是,去理解包含在这些代码里面的设计思想是非常重要的:TensorFlow工作流程和机器学习的基本概念。因此,这个教程会很详细地介绍这些代码的实现原理。

准备工作

  • 在下载数据之前,需要在你的Linux系统中安装python-numpy、python-six、python-pip、python-dev、tensorflow等包。

参考文档:[ubuntu/linux系统下tensorflow的安装 https://jingyan.baidu.com/article/455a99504fb489a1662778b8.html]

下载数据

  • MNIST数据集的官网是Yann LeCun's website。在这里,我们提供了一份python源代码用于自动下载和安装这个数据集。
  • 源代码在GitHub上,下

使用方法

  • 将以上代码存为input_data.py文件
  • 新建test.py文件,与input_data.py在同一工程目录下
  • test.py内容(略)
  • 运行test.py文件:
python test.py
  • 这时可以看到在同一目录下多了一个data目录,这就是下载的数据集:


MNIST数据集

下载下来的数据集被分成两部分:60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。这样的切分很重要,在机器学习模型设计时必须有一个单独的测试数据集不用于训练而是用来评估这个模型的性能,从而更加容易把设计的模型推广到其他数据集上(泛化)。

正如前面提到的一样,每一个MNIST数据单元有两部分组成:一张包含手写数字的图片和一个对应的标签。我们把这些图片设为“xs”,把这些标签设为“ys”。训练数据集和测试数据集都包含xs和ys,比如训练数据集的图片是 mnist.train.images ,训练数据集的标签是 mnist.train.labels。

训练集中的每一张图片包含28像素X28像素。我们可以用一个数字数组来表示这张图片:

T1-5.png

跟我们用手机拍摄的图片类似,这些小图片拥有28x28 = 784个像素,或784个向量空间。从这个角度来看,MNIST数据集的图片就是在784维向量空间里面的点。

因此,在MNIST训练数据集中,mnist.train.images 是一个形状为 [60000, 784] 的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。在此张量里的每一个元素,都表示某张图片里的某个像素的强度值,值介于0和1之间。

T1-6.png

相对应的MNIST数据集的标签是数字,用来描述给定图片里的数字是几?可选的值是0~9。比如,标签0将表示成([1,0,0,0,0,0,0,0,0,0,0]),标签9将表示成([0,0,0,0,0,0,0,0,0,0,1])。因此, mnist.train.labels 是一个 [60000, 10] 的数字矩阵。

T1-7.png

好了,我们准备好可以开始构建我们的模型啦!



参考文档: