美文网首页
人工智能

人工智能

作者: saoraozhe3hao | 来源:发表于2018-10-06 13:28 被阅读0次

历史

1948年,Walter Pitts和Warren McCulloch发表了《神经活动中思想内在性的逻辑演算(A Logical Calculus of Ideas Immanent in Nervous Activity)》,最早描述了神经网络
1950年,阿兰·图灵(Alan Turing)发表《Computing Machinery and Intelligence(计算机器与智能)》,提出了图灵测试
1951年,马文·闵斯基与Dean Edmonds建造了第一台神经网络机SNARC
1955年,美国达特茅斯学院举行了历史上第一次人工智能研讨会,约翰·麦卡锡首次提出了人工智能(Artificial Intelligence,AI)概念
1959年,阿瑟·萨缪尔(Arthur Samuel)创造了机器学习(Machine Learning,ML)一词
1965年,休伯特·德雷福斯发表了《人工智能与炼金术》的研究报告,对人工智能研究提出了重大理论挑战
1993年,恩斯特·迪克曼斯(Ernst Dickmanns)团队改装了一辆奔驰S500轿车,在普通交通环境下自动驾驶了超过1000公里的距离
1997年,IBM研发的深蓝(Deep Blue)成为第一个击败人类象棋冠军的电脑程序
2006年,Geoffrey Hinton发表《reducing the dimensionality of data with neural networks》,提出深度学习(Deep learning,DL)
2016年,谷歌DeepMind研发的AlphaGo在围棋人机大战中击败韩国职业九段棋手李世乭

人工智能分类

方法:机器学习(包含深度学习)、专家系统
领域:自然语言处理NLP、计算机视觉、计算机语音、智能机器人、数据挖掘

机器学习ML

机器学习的能力:1、计算出模型的最佳参数;2、有特征项的参数接近0,即提示去掉该特征项,进而优化模型;3、计算出模型的最小代价,即J(θ)最小值,以此判断拟合效果好不好,对比不同模型的优劣。
机器学习的局限:原特征太多时,模型空间非常庞大。例如,原特征x1,x2,可以提取的特性就有x1,x2,x1x2,x12,x22,x1^2x2...
有监督学习:学习一组输入和正确的输出(训练集),预测新的输入对应的输出;例如回归问题(输出连续值)、分类问题(输出离散值)
无监督学习:聚类算法(给定一组输入,将其分组),除噪算法

回归问题
一、定义模型(本例为一元线性回归函数):h(x)=θ0 + θ1x
模型参数:θ0、θ1为模型参数
假设函数:给定模型参数后,得到的函数
二、定义代价函数(本例为平方误差函数):J(θ0, θ1) = (模型输出 与 训练集输出 之间的方差)/样本空间,即误差的平方和/样本空间
拟合目标:J(θ0, θ1)最小化
代价函数图像:模型参数有n个,代价函数图像就是n+1维
代价函数等高线:二元代价函数,使得函数值相等的θ0, θ1取值点,连起来就是一条等高线。同样的,三元代价函数有等高面
一元线性回归函数的代价函数图像总是弓形(碗型),图像为弓形的函数称为凸函数
三、梯度下降
1、给一个初始模型参数,例如θ0=1,θ1=2,即在J函数图像上取一个点
2、Batch梯度下降算法:取一个新点,坐标为:θ0=1 - α
(J(θ0, θ1)在(1,2)处对θ0的偏导数),这个偏导数即J图像上(1, 2)处的斜率,同样θ1=2 - α*(J(θ0, θ1)在(1,2)处对θ1的偏导数)
α:学习速率
步长与偏导数成正比,在J函数图像平缓的地方,步长小;陡峭的地方,步长大;
3、重复2步骤,直到新点不再变换,即得到局部最优解
凸函数只有一个全局最优解,没有局部最优解
其他J(θ)最小化算法:模拟退火算法、遗传算法

正规方程
让J(θ0, θ1)的偏导数为0,即斜率为0,求解此时的θ0, θ1,直接得出可能的最有解,而不同梯度下降迭代

矩阵与向量
方阵:行数和列数相同的矩阵
向量:只有一列的矩阵
n维向量:即有n行的向量
矩阵加矩阵:相同位置的元素相加,维度不同的矩阵不能相加
矩阵乘标量:矩阵里的每个元素乘标量
矩阵乘向量:矩阵A 乘 向量b,结果为一个向量c,向量c中一行的值= A一行的元素一一乘b一列的元素,再相加;总结,A的列数得跟b的行数相同,c的行数与A的行数相同
计算多个输入数据的预测值,矩阵表达:数据矩阵 * 假设函数的模型参数组成的向量
矩阵乘矩阵:矩阵A乘矩阵B,相当于矩阵A 分别乘多个 向量,再把结果向量拼成多列的矩阵C。总结,A的列数得跟B的行数相同,C的行数与A的行数相同,C的列数与B的列数相同
计算多个假设函数对多个输入数据的预测值,矩阵表达:数据矩阵 * 模型参数矩阵
矩阵乘法结合律:ABC = A(BC)
单位矩阵I:从左上角到右下角的对角线上都是1,其他位置都是0;A*I=I*A=A
逆矩阵A^(-1):A * A^(-1) = I;只有方阵才有逆矩阵;逆矩阵可以使用Octave工具算出
奇异矩阵(退化矩阵):没有逆矩阵的矩阵
矩阵转置A^(T):矩阵的每一列依次转成行,也即每一行依次转成列

多元线性回归函数:h(x_1,x_2,x_3)=θ0 + θ1x_1 + θ2x_2,相当于h(x_0,x_1,x_2,x_3)=θ0x_0 + θ1x_1 + θ2x_2,其中x_0始终为1
训练样本:一个训练样本可表示为一个向量x=x_0 x_1 x_2
模型参数:一组模型参数可表示为一个向量θ=θ0 θ1 θ2
预测值:一个假设函数的预测值可表示为 θ^(T)
x
代价函数:J(θ0, θ1, θ2) 可表示为 J(θ),即用向量来代替多参
梯度下降:新点为 θ=旧点 - α*(J(θ)在旧点处的导数)
特征缩放:让训练样本中的特征(元),尽量缩放到-1到1之间,可以让梯度更加均匀。最佳实践:定义x_1=(身高cm-170)/50,其中170为平均身高,50为身高范围(150-200)
学习速率:学习速率太小,会使梯度下降太慢;学习速率太大,可能会错过最优解;最佳实践:α从0.001开始,根据其下降进度,调整α,3倍3倍地加

非线性回归函数
可以提取特征 x_1=身高*体重,x_2=身高的平方,使得模型还是多元一次线性函数

正规方程法:使得线性回归函数的代价函数最小化的模型参数向量θ = (X^T *X)^-1 * X^T * y,其中X为训练集输入组成的矩阵,y为训练集输出组成的向量;当特征太多时(大于10000),该方法消耗比梯度下降大

分类问题-属不属于某类-Logistic算法
Logistic函数(Sigmoid函数):g(z) = 1/(1+e^-z),g(z)图像为S形,收敛在0和1
分类模型:h(x)=g(θ^Tx),其中θ为参数向量,x为特征向量。等价于 h(x1,x2)=g(θ0+θ1x1+θ2x2),即利用g(z)函数将线性函数转成收敛函数
概率:一个待测样本的预测值h(x) 即 样本属于某类的概率
决策界限:h(x)大于决策界限时,预测为是;h(x)大于决策界限时,预测为否。决策界限设置成多少,只影响θ0的取值,因此决策界限简单设置成0.5即可。g(θ0+θ1
x1+θ2x2)对比0.5即θ0+θ1x1+θ2x2对比0
预测值和样本值的偏离值(误差)表达式:cost = -log(h(x)) // 当样本值为是;cost = -log(1-h(x)) // 当样本值为否;
log(z)函数图像:-log(z)的图像为\状,即预测值h(x)越接近0,cost越大,越接近1,cost越小;-log(1-h(x))反之,是/状
偏离值表达式合一:cost = -y
log(h(x))-(1-y)*log(1-h(x)),其中y只取0或1
分类模型的代价函数:J(θ) = 样本cost累加/样本空间
J(θ)最小化其他算法:BFGS、L-BFGS、支持向量机SVM,有些可以不用人为设置学习速率

分类问题-属于哪一类
针对每一类定义一个模型,并训练出最佳参数,得到一个最佳假设函数。计算待测样本a属于每一类的概率,把a预测为属于概率最大的类

过度拟合:模型和模型参数 对 训练集拟合的很好,但为了拟合,引入了太多无关的特征和太复杂的模型,预测新样本时效果并不好
防止过度拟合:1、去掉接近0的参数 所在的特征项;2、代价函数正则化,再对比各模型的最小J(θ)值,从而排除特征过多的模型
代价函数正则化:J(θ0, θ1, θ2) = (方差 + 特征惩罚项)/样本空间
特征惩罚项(正则化项):λ(θ1^2 + θ2^2),即λ参数的平方累加,扣除θ0^2
正则化参数:即特征惩罚项中的λ

无监督学习-聚类算法
K均值算法-以分两类为例子
1、初始化两个聚类中心点
2、根据与聚类中心点的距离,把所有样本点划分到这两个聚类中
3、把聚类中心点 移动到 本类样本点的均值点
4、重复2-3步骤,直到聚类中心点位置不再变化
5、预测新样本所属分类时,只需对比与个=各聚类中心的距离即可
K值(类数)确定:用不同K值进行聚类,得到各畸变值(样本到聚类中心的平均距离),画出K值与畸变值的关系曲线,取畸变值从陡峭转平缓处的点(手肘点)为最佳K值(手肘法)

无监督学习-异常检测
1、特征提取,训练时统计各特征在各取值范围内出现的概率
2、预测新样本时,得到各特征值出现在的范围对应的概率,累加这些概率,低于阈值则提示异常

深度学习DL

深度学习的能力:1、机器学习有的能力,2、可以给神经元列一组可选激活函数,在训练时挑选出最佳激活函数
深度学习的局限:训练只能优化神经元树突的参数(权重);神经网络的层次结构、神经元的激活函数只能人给

神经网络
人工神经元:树突->细胞体->轴突
神经网络:多个神经元(模型)并排,叠加,最后输出到一个神经元
输入层:第一排神经元,输出初始特征向量x
输出层:最后一个神经元
隐藏层:输入层 和 输出层 之间的神经元
树突:代表特征的权重,即参数向量θ,即上一层神经元输出的特性向量x 和 树突θ,确定了一个多元一次线性函数,即θ^Tx
细胞体(激活函数):将多元一次线性函数转换为非线性收敛函数,h(x)=g(θ^T
x),致使神经元的输出都为0-1之间,即从第三层开始,神经元的输入都是0-1之间
步调函数:只输出两个固定值的函数,可以把激活函数设置为只输出0或1的步调函数
轴突:输出激活值,即激活函数的输出值
第三层往后的神经元与逻辑:假设树突设置为 -30 + 20x1 + 20x2,x1和x2都在0-1之间。神经元的输出为g(-30 + 20x1 + 20x2)。该神经元近似于一个与逻辑,只有x1和x2都接近于1,该神经元的输出才会接近1
第三层往后的神经元或逻辑:树突设置为 -10 + 20x1 + 20x2
第三层往后的神经元非逻辑:树突设置为 10 - 20x1 - 20x2,即!x1 && !x2

神经网络-分类问题-属于哪一类
输出层并排多个神经元,即输出一个向量,每个神经元一一判断是否属于对应的类,把新样本预测为输出向量中概率最大的行所对应的类

神经网络代价函数最小化:利用反向传播算法计算出代价函数J(θ)对每个参数的偏导数,进而进行梯度下降
反向传播算法:计算一个训练样本的预测值(输出层的输出),根据与样本值的偏差,反向计算各层参数向量的delta项Δ;累加各训练样本对应的Δ,即得到代价函数J(θ)对每个参数的偏导数D
模型参数初始化:最佳实践,每个参数在[-ε,ε]范围内随机初始,ε为接近0的实数

模型优劣对比:把数据分为训练集 和 验证集;把训练集应用于不同模型,得到J(θ)较小的几个模型;再用验证集应用于这几个待选模型,得到一个J(θ)最小的模型。
泛化能力:验证集应用于模型,J(θ)小即表示该模型泛化能力强。过度拟合的模型,泛化能力弱。
模型欠拟合的特点:训练集的J(θ) 和 验证集的J(θ) 都很大
模型过度拟合的特点:训练集的J(θ)小,验证集的J(θ)大
模型的学习曲线:横坐标为样本数,纵坐标J(θ),展示随着样本的增加训练集的J(θ) 和 验证集的J(θ)的变化规律
优化模型的方法:增加训练集、增加特征、减少特征、调整λ

卷积
向量间卷积:[1,2]·[3,4,5] = [1*3+2*4, 1*4+2*5] = [9,14]
矩阵间卷积:类似于向量间卷积,小矩阵每滑动一次,做一次内积,得到结果矩阵的一个数
三价张量:具有长宽高三个方向的数字阵列,即矩阵的纵向重叠
图像的三价张量表示:即红通道矩阵、蓝通道矩阵、绿通道矩阵的重叠
三价张量间卷积:每一层矩阵分别卷积,再纵向叠加成一层
传统图像识别
1、边缘特征提取:用-1、0、1组成的小矩阵(卷积核),对图像的三价张量进行卷积
2、方向梯度直方图:再边缘特征图的基础上计算出物体轮廓图,可作为特征向量
3、机器学习:使用Logistic分类器 或 支持向量机等进行机器学习
用于图像识别的深度神经网络
卷积层:进行卷积操作的神经元层,卷积核的每一个数字相当于权重,卷积后得到矩阵,再让矩阵的每个数经过激活函数,得到输出矩阵
另有:全连接层、归一化指数层、非线性激活层、池化层
卷积神经网络:以卷积层为主的深度神经网络

生成对抗网络-图像生成
以生成人脸为例
生成网络:输入一个随机的特征向量,利用深度神经网络输出一张照片(结果向量),提交给判别网络
判别网络:是一个真假照片分类器
对抗
1、用真照片 和 生成网络的生成的照片 训练 判别网络
2、用判别网络给的评分(是真照片的概率) 训练 生成网络
3、1阶段 和 2阶段 交替进行

增强学习-Alpha Go 和 Alpha Zero
1、利用监督学习,初始化一个深度神经网络(策略网络)
2、让策略网络自我对弈,产生新版本的策略网络
3、让新版本策略网络对弈稍早版本的策略网络,进一步产生新的策略网络

案例

案例-垃圾邮件识别
1、提取特征,例如以是否出现'buy'作为特性,以是否出现'now'作为特性,出现则值为1,没出现则值为0
2、训练分类模型
案例-相机框出人脸(人脸检测)
1、在相机视界里,固定框出大量的框
2、让每个框经过人脸分类器,进行判断。判断为是,即识别出框中有人脸
案例-人脸识别
一、人脸初始认证
1、在图像上框出人脸
2、用相同的方法在人脸上框出器官
3、对单个器官进行分类,例如大眼睛、小眼睛
4、将其所属的所有分类记录到数据库
二、人脸再次认证
1、在图像上框出人脸
2、用相同的方法在人脸上框出器官
3、对单个器官进行分类,例如大眼睛、小眼睛
4、对比数据库中记录的分类
案例-人物相册分类
1、人脸检测
2、人脸校准,即识别出人脸上的关键点
3、人脸转正,根据关键点进行几何变换,从而转成正脸
4、通过卷积神经网络提取特征
5、K均值聚类
案例-语音识别
1、分帧
2、利用声学模型,识别出音素(声母、韵母)
3、利用语言模型,挑选正确的同音字
案例-自动驾驶
线控技术:计算机 和 电机控制汽车,而非全机械
高精地图:具有车道、标志、信号灯位置、周边静态物信息,可以让无人车提前规划,缩小检索范围
定位:GPS、惯性导航、几何定位(根据与已知静态物的位置关系计算出自己的位置)
lidar:激光雷达,向周边发射点激光,并接收反射,计算车子到每个点之间的距离。lidar的缺点,激光波长为纳米级别,绕不过雾霾,且看不到颜色。
传感器融合:将lidar和camera采集到的信息进行融合,camera能拍到颜色,但没法精确区分远近
云端:无人车把不熟悉的场景上传到云端,可以作为训练样本

阿里云

智能媒体管理:图文识别
智能语音交互:录音文件识别、实时语音转写、一句话识别、语音合成
图像搜索:以图搜图
人脸识别 Face Recognition
机器翻译
图像识别
智能对话分析
云客服:智能客服

自然语言处理:多语言分词、词性标注、命名实体(识别文中的实体词)、情感分析、中心词提取、智能文本分类、文本信息抽取、商品评价解析

印刷文字识别OCR:通用型卡证类、汽车相关识别、行业票据识别、资产类识别、通用文字识别、行业文档类识别、视频类文字识别、自定义模板识别

内容安全:图片鉴黄、图片涉政暴恐识别、图片LOGO商标检查、图片垃圾广告识别、图片不良场景识别、图片风险人物识别、视频风险内容识别、文本反垃圾识别、语音垃圾识别

其他工具

百度AI开放平台(百度大脑)
腾讯AI开放平台
旷世AI开放平台(Face++)

相关文章

  • 2019-09-30 历史发展-人工智能,神经网络,计算机视觉

    一.人工智能 人工智能分为强人工智能与弱人工智能。 弱人工智能注重“人工”,强人工智能注重“智能”。 弱人工智能在...

  • 人工智能与人工生物

    人工智能分为低人工智能、高人工智能、超人工智能。 低人工智能是指语音识别、智能输入等应用;高人工智能,用机...

  • ML学习笔记:Introduction of Machine L

    什么是人工智能 人工智能人工智能(Artificial intelligence)简称AI。人工智能是计算机科学的...

  • 细思极恐的人工智能

    人工智能的概念其实很宽,但是通常按照人工智能的实力将其分成三大类,弱人工智能、强人工智能和超人工智能。 ...

  • 人工智能这么火,但是你真的了解人工智能吗

    大家对于人工智能早有耳闻,但是对于什么是人工智能,也不能准确的说出一二。人工智能还分为强人工智能和弱人工智能。 弱...

  • 关于人工智能

    关于人工智能 什么是人工智能 人工智能里面有智能两字,可不代表现在所谓的人工智能真的是智能的。 现在的人工智能是建...

  • 人工智能的简介

    人工智能的基本分类: 弱人工智能:智能家具设备,专于某一种领域的智能 强人工智能:类人的人工智能,非类人的人工智能...

  • 《智能革命》读后感

    人工智能包含但不限于以下领域: 业界通常将人工智能分为强人工智能、弱人工智能和超人工智能三个阶段,目前都还属于弱人...

  • 人工智能的三个层级

    人工智能可以分为弱人工智能、强人工智能和超人工智能,它们的智能程度和可用范围都是以指数级增长的,目前所有的人工智能...

  • 聊天机器人的技术原理及其商业价值

    近年来,人工智能越来越火,那你们真的知道人工智能吗? 一、人工智能是什么 人工智能(ArtificialIntel...

网友评论

      本文标题:人工智能

      本文链接:https://www.haomeiwen.com/subject/xlkhaftx.html