本文是《人工智能基础(高中版)》的读书笔记,这本书的配图很是好,把难以理解的概念图形化,因此读后感会引用书中的图片(图片版权归商汤科技全部)。面试
书中部分概念仍是比较晦涩,读者在小白的角度很差理解某些概念和方法之间微妙的差异,因此我用本身的理解和抹去一些难以理解的细节,以更通俗易懂的形式展现出来。算法
智能客服能够像人同样和客户交流沟通。它能够听懂客户的问题,对问题的意义进行分析(好比客户是询问价格呢仍是咨询产品的功能呢),进行准确得体而且个性化的回应。数据库
如今的自动驾驶汽车经过多种传感器,包括视频摄像头、激光雷达、卫星定位系统(北斗卫星导航系统BD)S、全球定位系统GPS等)等,来对行驶环境进行实时感知。智能驾驶系统能够对多种感知信号进行综合分析,经过结合地图和指示标志(好比交通灯和路牌),实时规划驾驶路线,并发出指令,控制车子的运行。微信
帮助工厂自动检测出形态万千的缺陷网络
什么是人工智能?
人工智能是经过机器来模拟人类认知能力的技术。并发
人工智能的三种训练方式分别是监督学习
、非监督学习
、强化学习
。下文会一一介绍。机器学习
人类感官特征
花瓣数量、颜色函数
人工设计特征
先肯定哪些特征,再经过测量转化为具体数值工具
深度学习特征
这里先不说起,文章后面会说post
老师给了一道题:
要区分两种鸾尾花,得画出一条直线区分两类花,你能够画出无数条直线,可是哪条才是最好的呢?
怎么办呢?我但是学渣啊,靠懵!
上述所属的实际值和预测值的差距
其实是一种损失函数
,还有其余的损失函数,好比两点间直线距离公式,余弦类似度公式等等能够计算预测结果和实际结果之间的差距。
划重点:损失函数就是现实和理想的差距(很残酷)
方法 | 区别 |
---|---|
感知器 | 猜线的依据是全部预测的点到实际的点之间的差值最小 |
支持向量机SVM | 猜线的依据是全部点到直线距离最小 |
*判断依据的区别也致使了损失函数的不一样(但依旧是猜)
直观的说,缝隙越大越好(老司机闭嘴!)
若是有多种花怎么办?一趟植物课上,老师请来了牡丹鉴别专家、荷花鉴别专家、梅花鉴别专家。
老师拿出了一盘花给各个专家鉴定,牡丹角色这是牡丹的几率是0.01三、荷花专家角色这是荷花的几率是0.26五、梅花专家角色这是梅花的几率是0.722。老师综合了各位专家的意见后,告诉同窗们,这是一盘梅花。
小明:这老师是否是傻,一朵花是啥都不知道,还要请三个专家
老师:你给我滚出去
实际计算过程就是经过用 2.2 和 2.3 等方法训练的二分类器,分别输出对应的分类值(好比三种花的分类器分别输出-1,2,3),那怎么把这些分类值转化成几率呢?这就要用到归一化指数化函数 Softmax
(若是是二分类就用 Sigmoid函数
),这里就不拿公式来讲,能够直观的看看书中这个表格就懂了:
第 2.2 能从预测值和实际值的差异判断"是否猜对了",是由于生物老师告诉了学渣,哪些样本是山鸾尾花,哪些变色鸾尾花。但若是老师连样本实际的类别也不告诉学渣(非监督式学习),学渣不知道样本分别是什么花。
那该怎么办呢?
机器学习的入门课程老是在讲鸾尾花,也是够烦的。这里咱们换个场景:
假如你是某直播老板,要找一堆小主播,这时候你有一堆应聘者,然而你只有她们的胸围和臀围数据。一堆8份简历摆在你面前,你是不知道哪些更加能干( capable啊 ! ) 的,更能吸引粉丝。你也没空所有面试,那应该怎么挑选呢?
计算机在没有监督的状况下,成功把小姐姐们分红两类,接下来就能够在把两种主播各投放2个到平台看看谁更能干。效果更好的,之后就以那个聚类的样本特征扩充更多能干的主播。
小明:且,有什么了不得的,我一眼就能看出黄色小姐姐更能干
老师:你给我滚出去
上面聚类小姐姐的算法就叫作 K 邻近算法
,K 为要聚类的数量(这须要人工指定),上述例子 K=2.那么若是分红三类就是 K=3,训练过程能够看下图,有个直观的了解:
人类感官特征
花瓣颜色、花瓣长度、有没有翅膀(区分猫和小鸟)、有没有嘴巴和眼睛(飞机和小鸟)
小猫 | 小鸟 | 飞机 | 汽车 | |
---|---|---|---|---|
特征1:有没有翅膀 | 否 | 是 | 是 | 否 |
特征2:有没有眼睛 | 是 | 是 | 否 | 否 |
人工设计特征
感官的特征经过量化获得颜色(RGB值)、边缘(圆角、直角、三角)、纹理(波浪、直线、网格)数值特征
深度学习特征
经过卷积提取图像特征
划重点:卷积的做用就是提取图像有用信息,比如微信把你发出的图片压缩了,大小变小了,可是你依旧能分辨出图像的主要内容。
1维卷积 1 5+24+3 3=2二、14+2 3+32=1六、1 3+22+3*1=10
2维卷积 1 2+30+2 4+42=28...
经过卷积就能够获得图像的特征信息,好比边缘
既然有传统模式分类,为何还要神经网络呢?
区别就在于传统的模式分类须要人为设置特征,好比花瓣长度、颜色等等。而深度学习省略掉人工设计特征的步骤,交由卷积操做去自动提取,分类器的训练也同时融入到神经网络当中,实现了端对端的学习
划重点:端对端学习(End to End)就是从输入直接得出输出,没有中间商,本身赚差价。
通常来讲,神经网络层数增多,会提升准确率。可是,网络层数加深致使:
过拟合
学渣把高考预测试题的答案都背一遍而不理解,考试的时候,若是试题是考生背过的,那么考生就能答对;若是没背过那么考生就不会回答了。咱们就能够说,学渣『过拟合』了预测试题。
与之对应的是:欠拟合
渣得不能再渣的人,连预测试题都背不下来,即便考试试题和预测试题如出一辙,他也只能答对30%。那么就能够说这种人欠揍欠拟合。
有兴趣的还能够了解一下
梯度弥散和梯度爆炸
下面是网上很火很励志的一个公式,权重在多层网络中相乘,好比每一层的权重都是0.01,传递100层 就是 0.01 的100 次方
,变得很是小,在梯度降低 Gradient Descent 的学习过程当中,学习将变得很是慢。(比如从一个碗顶部放下一个小球,在底部徘徊的速度会愈来愈慢)
非凸优化
学习过程可能在局部最小值(极小值)就中止了,由于梯度(斜率)为零。在局部最低中止而不是全局最低中止,学习到的模型就不够准确了。
看图感觉一下
你说的底不是底,你说的顶是什么顶
解决的办法
均匀初始化权重值(Uniform Initialization)、批归一化(Batch Normalization)、跳远连接(Shortcut)涉及到比较多数学逻辑,这里就不展开说明了。
人脸识别
自动驾驶
把汽车顶部拍摄到的图片切分层一个个小方块,每一个小方块检测物体是车仍是行人仍是狗,是红灯仍是绿灯,识别各类交通标识等等。再配合雷达等判断物体距离。
人类感官特征
音量、音调、音色
经过采样
、量化
、编码
。实现声波数字化(声波转电信号)
人工设计特征
梅尔频率在低频部分分辨率高,高频部分分辨率低(这与人耳的听觉感觉是类似的,即在必定频率范围内人对低频声音比较敏感而对高频声音不敏感)。关系为:
在每个频率区间对频谱求均值,它表明了每一个频率范围内声音能量的大小。一共有26个频率范围,从而获得26维的特征。倒谱操做后,获得 13 维的梅尔频率倒谱系数(Mel-FrequencyCepstralCoefficients,MFCCs)
深度学习特征
经过 3.1 所介绍的 1维卷积进行特征提取
音乐风格分类
输入:音频文件
特征:声音特征
输出:音乐种类
语音转文字
输入:音频文件
特征:声音特征
输出:声学模型(好比26个英文字母)
再把声学模型送入另外的学习器
输入:声学模型
特征:语义和词汇
输出:通顺的语句(能够查看第6点,如何让计算机输出通顺的语句)
听歌识曲
经过窗口扫描(把音乐分割成一小段一小段的),而后经过4.1说的方法提取这一段的特征,就获得一个特征向量。对数据库的歌和用户录音的歌作一样的操做获得特征向量,而后两两之间计算类似度(两个向量的距离能够用余弦公式算夹角大小
或者两点间距离公式
来算)
视频,本质是由一帧帧图片连续组成的,由于人视觉的暂留效应
(Persistence of vision,人眼在观察景物时,光信号传入大脑神经,并不当即消失,让人产生画面连续的印象),看上去是连续的,也就是视频。
识别视频里面有什么物体,能够用上文说过的图像识别和分类方法去实时分析单帧图像,好比:
可是视频相对于图像有一个更重要的属性:动做(行为)
。
怎么从一个连续的视频分析动做呢?
举个例子,像上图那只二哈,腿部的像素点相对于黄色的方框(框和狗相对静止)在左右"移动",这里的"移动"咱们引入一个概念——光流(一个像素点从一个位置移动到另外一个位置),经过像素点移动造成的光流做为神经网络的训练特征(X),『奔跑』做为训练目标值(Y),通过屡次的迭代训练,机器就能够拟合得出一个 Y = f(X) 用于判断视频中的物体(Object)是否在奔跑。
假设,
1)相邻两帧中物体运动很小
2)相邻两帧中物体颜色基本不变
至于神经网络是怎么跟踪某个像素点的,这里不展开说明。
第 t 时刻的点指向第 t+1 时刻该点的位置,就是该点的光流,是一个二维的向量。
整个画面的光流就是这样:
整个视频的光流(轨迹)是这样的
不一样的虚线表明图像上某个点移动的轨迹
假设视频宽width
、高 height
、一共有 m
帧,那么该视频能够用 width * height * m * 2
的张量(就是立体的矩阵)来表示,把向量喂到神经网络便可进行分类训练。
进一步优化,能够把光流简化为8个方向上的,把视频某一帧的全部光流累加到这八个方向上得出某一帧的光流直方图,进一步得出 8 维的特征向量。
编号 | 句子 | 分类 |
---|---|---|
1 | 科学证实游泳有利于身体发育。 | 体育 |
2 | 傅园慧在奥运游泳比赛中得到了金牌。 | 体育 |
3 | 优读是个很好用的知识管理应用。 | 工具 |
4 | 一篇文章说明印象笔记在知识管理上的应用。 | 工具 |
这里有4个句子,首先进行分词:
编号 | 句子 |
---|---|
1 | 科学 证实 游泳 有利 于 身体 发育 。 |
2 | 傅园慧 在 奥运 游泳 比赛 中 得到 了 金牌 。 |
3 | 优读 是 个 很 好用的 知识 管理 应用 。 |
4 | 一篇 文章 说明 印象笔记 在 知识 管理 上 的 应用 。 |
去掉停用词(副词、介词、标点符合等等,通常在文本处理上都有一个停用词表)
编号 | 句子 |
---|---|
1 | 科学 证实 游泳 有利 身体 发育 |
2 | 傅园慧 奥运 游泳 比赛 得到 金牌 |
3 | 优读 好用 知识 管理 应用 |
4 | 文章 说明 印象笔记 知识 管理 应用 |
编码词表
句子向量化
这样就获得一个句子19 维 的 特征向量,再把这19维的特征向量用普通卷积网络或者 LSTM 循环神经网络做为 X 读入(喂它吃东西),文本的分类(好比积极、消极)做为训练标签值 Y,迭代训练获得的模型能够用于情感分析或文本分类等任务。
词向量化
厉害-牛逼、计算机-电脑是同义词。光从上面的步骤,咱们可能认为厉害和牛逼是两个彻底不同的词语,但其实他们是近似的意思,怎么才能 AI 学习知道这点呢?须要从多个维度去进一步给词语更丰富的内涵,好比:
举例来讲,男性用1表示,女性用0表示,不带性别倾向就是0.5。多个维度扩展以后,就获得“男人”这个词的特征向量(1,0, 0.5,0,1)
逆向文档频率
一个词在一类文章出现的多,而在另外分类的文章出现的少,越能说明这个次能表明这篇文章的分类。
好比游泳在体育类的文章中出现的多(2次),而在工具类的文章出现的少(0次),相比其余词语(1次)更能表明体育类的文章。
假设句子中有 N 个词, 某个词出现次数为 T,一共有 X 个句子,该词语在 W 个句子出现,则逆向文档频率 TF-IDF 为 T/N * log(X/W)
从前有我的,以卖临摹名家的画来赚钱。他开始临摹一副名画:
第一次他画成这样子了:
鉴赏家一眼就看出来是假的,他不得不回去画第二幅画、第三幅画...
通过了10万次"画画-鉴别"的过程,这个临摹者画出来的画,鉴赏家竟然认为这是真的原做,以高价买入了这副画。
这种生成(画画)- 鉴别(鉴伪)
的模式正是生成对抗网络(GAN)的核心。
经过生成器,把随机像素点有序排列造成具备意义的画面,再经过鉴别器得出生成的画面的分类、和真实画面之间的差距,并告诉生成器要往什么方向去优化。多轮的训练以后,生成器就学会了画『真画』了。
计算机是怎么把随机像素点变成有意义的画面的呢?咱们经过一个简化的例子来看看。
直线上一些均匀分布的点,通过 y=2x+1
变换后变成了非均匀分布。一张随机排布的像素点画面,通过某个f(x)
变换后就会变成具备某种意义的画面,而生成器就是不停地去近似f(x)
, 就像 2.2 感知器拟合一条直线那样。
划重点:函数能够变换数据分布(库克说:能够把直的变成弯的)
监督/无监督训练:尽量让每一次任务正确
强化学习:屡次任务是否达成最终目标
每一次任务都准确,不就是能达成最终目标吗?咱们来看一个例子:
一家批发商店的老板爱丽丝要求她的经理比尔增长销售额,比尔指导他的销售员多卖一些收音机,其中一个销售员查尔斯弄到了一个能够获利的大单,可是以后公司由于供应紧缺没法交付这些收音机。应该责怪谁呢?从爱丽丝的角度来看,查尔斯的行为让公司蒙羞了(最终任务没完成)。可是从比尔的角度,查尔斯成功地完成了他的销售任务,而比尔也增长了销量(子任务达成)。——《心智社会》第7.7章
下围棋,最古老的办法是决策树,从左上角的位置开始到右下角的位置遍历,每个空的位置就是一个分支,而后预测每种棋局赢的几率,找出最大几率的走法玩。这就是落子预测器。
可是因为围棋19X19的超大棋盘,空间复杂度高达10的360次方,要穷尽全部的走法几乎是不可能的,如大海捞针。
要下降复杂度,关键是要下降搜索的广度和深度。
咱们栽培一颗小盆栽的时候,若是不对枝叶进行修剪,那么营养就会浪费在没长好的枝条上。须要及时对枯萎或者异常的枝条进行修剪以保证营养往正常(或者说咱们但愿它生长的方向)枝条上输送。
一样的道理,有限的计算机算力若是浪费在穷尽全部围棋走法上,将致使棋局推演很是慢,并且耗费大量的时间也难以找到最优的方案。
是否能够经过 "修剪" 落子选择器这颗庞大的决策树,加快较优落子方案的选择呢?怎么判断哪些是好的"枝条",哪些是坏的"枝条"呢?这就须要棋局价值评估器(哪一个棋盘的赢的几率更大),把没有价值的棋局先去掉再也不往下遍历,这就同时减小了搜索的广度和深度。
其中,
落子预测器有个名称,叫作政策网络(policy network)
价值评估器有个名称,叫作价值网络(value network)
政策网络(policy network)利用蒙特卡洛搜索树从当前棋局推演(随机下棋)到最终的棋局,最终胜则回报为正,反之回报为负。以后该算法会反向沿着该对弈过程的落子方案步步回溯,将路径上胜者所选择的落子方案分数提升,与此对应将败者的落子方案分数下降,因此以后遇到相同局面时选择胜者方案的几率就会增长。所以能够加速落子选择,称为快速走子网络
。
经过 政策网络 + 价值网络 + 蒙特卡洛搜索树
实现最优落子方案的选择,同时两个机器人互相对弈,这样就不停地训练网络,学习落子方案。
接下来讲一下枯燥的定义
什么是强化学习?
当咱们关注的不是某个判断是否准确,而是行动过程可否带来最大的收益时使用强化学习(reinforeement learning)。好比在下棋、股票交易或商业决策等场景中。
强化学习的目标是要得到一个策略(poliey)去指导行动。
好比在围棋博弈中,这个策略能够根据盘面形势指导每一步应该在哪里落子;在股票交易中,这个策略会告诉咱们在何时买入、何时卖出。
一个强化学习模型通常包含以下几个部分:
一组能够动态变化的状态(sute)对于围棋棋盘上黑白子的分布位置
对于股票交易来讲,就是股票的价格一组能够选取的动做(metion)
对于围棋来讲,就是能够落子的位置;
对于股票交易来讲,就是每一个时间点,买入或者卖出的股票以及数量。一个能够和决策主体(agent)进行交互的环境(environment)
这个环境会决定每一个动做后状态如何变化。棋手(主体)的落子会影响棋局(环境),环境给主体奖励(赢)或惩罚(输)
操盘手(主体)的买入或卖出会影响股票价格(环境,供求关系决订价格),环境给主体奖励(赚钱)或惩罚(亏钱)回报(reward)规则
当决策主体经过行动使状态发生变化时,它会得到回报或者受到惩罚(回报为负值)。
《人工智能基础高中版》这本书,有时间建议读者能够本身阅读,图书连接
原文连接 https://jinkey.ai/post/tech/5...
本文做者 Jinkey(微信公众号 jinkey-love,官网 https://jinkey.ai) 文章容许非篡改署名转载,删除或修改本段版权信息转载的,视为侵犯知识产权,咱们保留追求您法律责任的权利,特此声明!