预备知识
机器学习
机器学习(machine learning,ML)是一类强大的可以从经验中学习的技术。通常采用观测数据或与环境交互的形式,机器学习算法会积累更多的经验,其性能也会逐步提高。
1、监督学习
监督学习(supervised learning)擅⻓在“给定输⼊特征”的情况下预测标签。每个“特征-标签”对都称为一个样本(example)。我们的目标是生成一个模型,能够将任何输⼊特征映射到标签(即预测)。
2、监督学习的过程:
训练输入→监督学习←训练标签
↓
输入→模型→输出
回归——平方误差损失函数
回归(regression)是最简单的监督学习任务之一。——房价预测
为什么这个任务可以归类为回归问题呢?本质上是输出决定的。销售价格(即标签)是一个数值。当标签取任意数值时,我们称之为回归问题,此时的目标是生成一个模型,使它的预测非常接近实际标签值。
4、分类——交叉熵
样本属于“哪一类”的问题称为分类问题。分类问题希望模型能够预测样本属于哪个类别。
回归是训练一个回归函数来输出一个数值;分类是训练一个分类器来输出预测的类别。
标注问题
学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)一个样本(一个图片或者一个候选框)中含有多个物体,标注的label也是多个的,多个类间并不是互斥的,多选多比如:多目标检测、短视频分类
6、推荐系统
⽬标是向特定用户进行“个性化”推荐。例如,对于电影推荐,科幻迷和喜剧爱好者的推荐结果页面可能会有很大不同。
7、序列问题
输入和输出都是可变长度的序列。
标记和解析
自动语音识别
文本到语音
机器翻译
无监督学习
数据中不含有标签的机器学习问题。
聚类问题
主成分分析问题
因果关系和概率图模型
生成对抗网络
与环境互动
有⼈一直心存疑虑:机器学习的输⼊(数据)来自哪里?机器学习的输出又将去往何方?
到目前为止,不管是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。这⾥所有学习都是在算法与环境断开后进行的,被称为离线学习(offline learning)。优点是,我们可以孤⽴地进行模式识别,而不必分心于其他问题。缺点是,解决的问题相当有限。
10、强化学习
智能体在一系列的时间步骤上与环境交互。在每个特定时间点,智能体从环境接收一些观察,并且必须选择一个动作,然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励。此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。
二、深度学习的发展
1940-1945:McCulloch和Pitts提出人工神经元网络
1950-1965:推理期(1950图灵机,1955-1960达特茅斯会议,Rosenblatt提出“感知器”)
1970-1985:知识期(1970知识系统兴起,1980专家系统兴起)
1985-2005:学习期(1985-1995神经网络重新流行,1995统计机器学习兴起(支持向量机等),2005年以后深度学习的兴起)
21世纪带来了高速互联网,智能手机摄像头、视频游戏等照片共享网站。数据池正在被填满。
廉价又高质量的传感器、廉价的数据存储以及廉价计算的普及,特别是GPU的普及,使大规模的算力唾手可得。
三、深度学习的成功领域
图像分类(RGB),目标检测和分割,人脸合成,机器翻译,图像描述,自然语言文本合成
四、深度学习的成功案例
1、现代深度学习时代的亮点
①2012 谷歌大脑团队的神经网络在观看YouTube视频后开始识别
②2013
研究人员开始对各种任务进行深度学习
word2vec将上下文引入单词和短语,使理解含义更近一步
语音识别的错误率下降了25%
③2014
提出了GAN网络
Skype实时语音翻译
Eugene Goostman,一个聊天机器人,通过了图灵测试
出现了神经网络的序列到序列学习
自动生成图像标题将图像转换为句子
④2015
微软的ResNet训练了1000层网络,在图像识别精准度上击败了人类
百度的深度语音2实现端到端语音识别
Gmail实现智能回复
YOLO(You Only Look Once的首字母组合)实现了实时目标检测
可视问答允许基于图像的提问
⑤2016
alphaGo战胜了专业围棋手
Google WaveNets帮助生成逼真的音频
微软在会话语音识别中实现了人类对等水平
⑥2017
alphaGo Zero在三天内学会自己玩围棋
胶囊网(Capsule Nets)修复了CNN中的缺陷
引入张量处理单元(TPU)
加州允许销售自动驾驶汽车
Pix2Pix允许从草图生成图像
⑦2018
人工智能通过神经结构搜索能比人类更好地设计人工智能
Google Duple demo代表我们预订餐厅
Deepfakes可用一张脸替换视频中的另一张脸
Google的BERT成功地完成了人类的语言理解任务
DawnBench和MLPerf的建立为人工智能训练提供了基准
⑧2019
OpenAl Five击败世界冠军Dota2
styleGan生成照片级真实感图像
OpenAl GPT-2生成真实的文本段落
富士通在75秒内训练ImageNet
微软在OpenAl上投资10亿美元
Allen研究所的人工智能以80%的分率通过了12级科学考试
Navidia最新的人工智能软件将粗糙的涂鸦变成现实的风景
盲人用户现在可以使用微软的Seeing AI通过触摸探索照片
脑机接口
让人用意念控制机器臂连续、快速运动带顶“电极帽”就可以指挥外物美国旧金山就有一个叫Smart Cap的公司,他们把脑电图做成了棒球帽。这个产品可以用来缓解卡车司机的疲劳驾驶,提高注意力。
五、图灵测试
人工智能的先驱:艾伦·麦席森·图灵英国数学家、逻辑学家、计算机科学之父、人工智能之父“一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的”。
测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果机器让平均每个参与者做出超过30%的误判,那么这台机器就通过了测试,并被认为具有人类智能。
六、Pytorch介绍
PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,PyTorch在API的设计上更加简洁、优雅和易懂。
线性回归和softmax回归
线性回归
假设 1:影响房价的关键因素:卧室数目,卫浴数目和房子大小,分别用
Xbeds, Xbaths, Xarea表示
假设2:销售价格是关键因素的加权总和:
price = WbedsXbeds + WbathsXbaths + WareaXarea + b
w称为权重,决定了每个特征对我们预测值的影响
b称为偏置
假设2:销售价格是关键因素的加权总和:
price = WbedsXbeds + WbathsXbaths + WareaXarea + b
w称为权重,决定了每个特征对我们预测值的影响
b称为偏置
给予n维输入,x=[x1, X2,…Xn]T
线性方法有n个权重和偏差:
W=[W1, W2 …Wn]", b
输出是输入的加权总和:
y=W1X1+W2X2+..+WnXn+b
点积形式:y=w x+b
矩阵-向量乘法表示:y=Xw+b
矢量化版本:y=<w,x>+b
神经网络 ZRarKEP
二、损失数据
衡量预估质量
损失函数能够量化目标的实际值与预测值之间的差距,例如房屋售价和估价。回归问题最常用的损失函数是平方损失
e(y.2)=1/2(y-5)
y作为真实值,y作为估计值
三、训练数据
收集多个数据点以训练参数(如 在过去6个月内出售的房屋),这个叫做
训练数据集。
训练数据集越大越好
假设有n个房屋
x = [×o, X1 …Xn]T, y= [yo, y1,…yn]r
四、学习参数
训练损失
(Xyw.b)=六(v一)=六(の一m)-b
1
=2nlly-Xw-bl12
目标:最小化损失从而确定参数
w",b= argmint(X, y, w, b)
W.b
9/35
五、基础优化算法
梯度法神经网络在学习时找到最优的参数(权重和偏置)——指损失函数取最小值时的参数。我们不知道他在何处能取得最小值,所以使用梯度来寻找函数的最小值的方法就是梯度法。严格的讲,梯度指示的反向是各点处的函数值减小最多的方向
像
这样的由全部变量的偏导数汇总而成的向量称为梯度(gradient)。我们发现梯度指向函数的“最低处”(最小值),就像指南针一样,所有的箭头都指向同一点。其次,我们发现离“最低处”越远,箭头越大。
!!! 梯度指示的反向是各点处的函数值减小最多的方向,所以无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。但沿着它的方向能最大限度的减小函数的值。所以在寻找函数的最小值的位置任务中,以梯度的信息为线索,决定前进的方向。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离,然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。
随机梯度下降
它通过不断的在损失函数递减的方向上更新参数来降低误差。
总结:
梯度下降通过不断的沿着反梯度方向更新参数求解
小批量随机梯度下降是深度学习默认的求解算法
两个重要的超参数是批量大小和学习率
六、Softmax回归
从回归到多分类
输出层的神经元数量需要根据待解决的问题来决定。对于分类问题,输出层的神经元数量一般设定为类别的数量。比如,对于某个输入图像,预测是图中的数字0到9中的哪一个的问题(10类别分类问题),将输出层的神经元设定为10个。
Softmax回归是一个多类分类模型使用Softmax操作得到每个类的预测置信度
七、Softmax运算
输出匹配概率(非负,和为1)
y=sofmaxp)
A exp(9)
y=z exp(a) e et2
softmax([x1, X2, … Xn]”) 7
用exp获得大于0的值
除以总和以获得概率分布
例:[1,-1,2]的softmax为[0.26,0.04,0.7]
八、损失函数
L1损失 l(y,y')=ly-y'4
平方损失(L2 损失)
((y,y)=÷(y-y)2
12.!
30/35
九、Huber 损失
ly-y1- if ly-y|> 1
l(y, y')= (vー) otherwise
-2
十、交叉熵损失
交叉熵
H(p,q)=-plog(q)
通常用于比较概率分布
H(y, y)=-Eylog(yi) =-log(vi)
33/35