01、前言
在每个特定时间点,agent从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后agent从环境中获得奖励(reward)。举个例子,人们在技术博客上贴的标签,比如“机器学习”、“技术”、“小工具”、“编程语言”、“Linux”、“云计算”、“AWS”。最近在深度学习方面取得的许多进展,大都是由廉价传感器和互联网
文章目录
参考链接:
https://zh.d2l.ai/chapter_introduction/index.html#id8
1.1 日常生活中的机器学习
- 示例
- 唤醒词
- 天猫精灵、小爱同学
- hey Siri
- 语音识别
- 唤醒词
- 一个典型的训练过程如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VXD1AAdq-1662218586600)(https://zh.d2l.ai/_images/ml-loop.svg)]- 从一个随机初始化参数的模型开始,这个模型基本毫不“智能”。
- 获取一些数据样本(例如,音频片段以及对应的是否标签)。
- 调整参数,使模型在这些样本中表现得更好。
- 重复第2步和第3步,直到模型在任务中的表现令你满意。
1.2 关键组件
机器学习的基本组件:
- 我们可以学习的数据(data)。
- 如何转换数据的模型(model)。
- 一个目标函数(objective function),用来量化模型的有效性。
- 调整模型参数以优化目标函数的算法(algorithm)。
1.2.1 数据
-
每个数据集由一个个样本(example, sample)组成
- 样本有时也叫做数据点(data point)或者数据实例(data instance)
- 每个样本由一组称为特征(features,或协变量(covariates))的属性组成
- 特征、标签(label,或目标(target))
-
数据的维数(dimensionality)
当每个样本的特征类别数量都是相同的时候,其特征向量是固定长度的,这个长度被称为数据的维数 -
数据的正确性和充分性
Garbage in, garbage out
1.2.2 模型
深度学习与经典方法的区别主要在于:
- 前者关注的功能强大的模型,这些模型由神经网络错综复杂的交织在一起,包含层层数据转换。
- 因此被称为深度学习(deep learning)。
1.2.3 目标函数
- 在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,我们称之为目标函数(objective function)。
- 有时被称为损失函数(loss function,或cost function)
- 试图预测数值时,最常见的损失函数是平方误差(squared error),即预测值与实际值之差的平方。
- 解决分类问题时,最常见的目标函数是最小化错误率,即预测与实际情况不符的样本比例。
- 损失函数是根据模型参数定义的,并取决于数据集
- 训练集、测试集
- training dataset,或称为训练集(training set)
- test dataset,或称为测试集(test set)
1.2.4 优化算法
- 深度学习中,大多流行的优化算法通常基于一种基本方法–梯度下降(gradient descent)
- 在每个步骤中,梯度下降法都会检查每个参数,看看如果你仅对该参数进行少量变动,训练集损失会朝哪个方向移动。
- 然后,它在可以减少损失的方向上优化参数。
- 能够搜索出最佳参数,以最小化损失函数
1.3 各种机器学习问题
1.3.1 监督学习
- feature,label 。给定输入特征的预测标签
- 目标是生成一个模型,能够将任何输入特征映射到标签,即预测。
- 监督学习过程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lMDEkFXo-1662218586601)(https://zh.d2l.ai/_images/supervised-learning.svg)]
监督学习也可以采取多种形式的模型,并且需要大量不同的建模决策,这取决于输入和输出的类型、大小和数量。
1 回归
- 定义
当标签取任意数值时,我们称之为回归问题
label 是多少,有多少 - 任何有关“多少”的问题很可能就是回归问题。比如:
- 这个手术需要多少小时?
- 在未来六小时,这个镇会有多少降雨量?
2 分类
-
定义
- 这种“哪一个?”的问题叫做分类(classification)问题
- 在分类问题中,我们希望模型能够预测样本属于哪个类别(category,正式称为类(class))
-
二元分类
最简单的分类问题是只有两类 -
多元分类
有两个以上的类别时,我们把这个问题称为多元分类
3 标记问题
学习预测不相互排斥的类别的问题称为多标签分类
举个例子,人们在技术博客上贴的标签,比如“机器学习”、“技术”、“小工具”、“编程语言”、“Linux”、“云计算”、“AWS”。 一篇典型的文章可能会用5-10个标签,因为这些概念是相互关联的。
4 搜索
搜索结果的排序也十分重要,我们的学习算法需要输出有序的元素子集。
- 如果要求我们输出字母表中的前5个字母,返回“A、B、C、D、E”和“C、A、B、E、D”是不同的。
- 结果集是相同的,集内的顺序有时却很重要。
- 为集合中的每个元素分配相应的相关性分数,然后检索评级最高的元素
- PageRank
5 推荐系统
目标是向特定用户进行“个性化”推荐
6 序列学习
以上大多数问题都具有固定大小的输入和产生固定大小的输出
序列学习需要摄取输入序列或预测输出序列,或两者兼而有之; 输入和输出都是可变长度的序列。
- 标记和解析
用属性注释文本序列
Tom has dinner in Washington with Sally
Ent - - - Ent - Ent
使用“标记”来注释一个句子,该标记指示哪些单词引用命名实体。 标记为“Ent”,是实体(entity)的简写
-
自动语音识别
输入序列是说话人的录音,输出序列是说话人所说内容的文本记录。
与文本相比,音频帧多得多(声音通常以8kHz或16kHz采样),其中输出比输入短得多。 -
文本到语音
输入是文本,输出是音频文件。
这种情况下,输出比输入长得多。 虽然人类很容易识判断发音别扭的音频文件,但这对计算机来说并不是那么简单。 -
机器翻译
- 机器翻译中,颠倒输入和输出的顺序非常重要。
- 虽然我们仍将一个序列转换成另一个序列,但是输入和输出的数量以及相应序列的顺序大都不会相同
德语: Haben Sie sich schon dieses grossartige Lehrwerk angeschaut?
英语: Did you already check out this excellent tutorial?
错误的对齐: Did you yourself already this excellent tutorial looked-at?
错误的对齐”反应了德国人喜欢把动词放在句尾的特殊倾向。
1.3.2 无监督学习
数据中不含有“目标”的机器学习问题为无监督学习(unsupervised learning)。
例子:
- 聚类(clustering)问题
- 给定一组照片,我们能把它们分成风景照片、狗、婴儿、猫和山峰的照片吗?
- 给定一组用户的网页浏览记录,我们能否将具有相似行为的用户聚类呢?
- 主成分分析(principal component analysis)问题
能否找到少量的参数来准确地捕捉数据的线性相关属性 - 因果关系(causality)和概率图模型(probabilistic graphical models)问题
- 我们能否描述观察到的许多数据的根本原因?
- 例如,如果我们有关于房价、污染、犯罪、地理位置、教育和工资的人口统计数据,我们能否简单地根据经验数据发现它们之间的关系?
- 生成对抗性网络(generative adversarial networks)
- 我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。
- 潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。
1.3.3 与环境互动
机器学习的输入(数据)来自哪里?机器学习的输出又将去往何方?
- 不管是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。
- 所有学习都是在算法与环境断开后进行的,被称为离线学习(offline learning)
对于监督学习,从环境中收集数据的过程类似于下图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Doylys8x-1662218586602)(https://zh.d2l.ai/_images/data-collection.svg)]
- 好的一面是,我们可以孤立地进行模式识别,而不必分心于其他问题
- 缺点是,解决的问题相当有限
期望人工智能不仅能够做出预测,而且能够与真实环境互动。 们必须考虑到它的行为可能会影响未来的观察结果。
考虑“与真实环境互动”将打开一整套新的建模问题。以下只是几个例子:
-
环境还记得我们以前做过什么吗?
-
环境是否有助于我们建模?例如,用户将文本读入语音识别器。
-
环境是否想要打败模型?例如,一个对抗性的设置,如垃圾邮件过滤或玩游戏?
-
环境是否重要?
-
环境是否变化?例如,未来的数据是否总是与过去相似,还是随着时间的推移会发生变化?是自然变化还是响应我们的自动化工具而发生变化?
1.3.4 强化学习(reinforcement learning)
深度强化学习(deep reinforcement learning)将深度学习应用于强化学习的问题,是非常热门的研究领域。
示例:
- 深度Q网络(Q-network)在雅达利游戏中仅使用视觉输入就击败了人类,
- 以及 AlphaGo程序在棋盘游戏围棋中击败了世界冠军
在强化学习问题中,agent在一系列的时间步骤上与环境交互。 在每个特定时间点,agent从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后agent从环境中获得奖励(reward)。 此后新一轮循环开始,agent接收后续观察,并选择后续操作,依此类推。 强化学习的过程在 图中进行了说明。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kh3CqJq6-1662218586603)(https://zh.d2l.ai/_images/rl-environment.svg)]
强化学习的目标是产生一个好的策略(policy)。
特殊情况下强化学习问题:
- 当环境可被完全观察到时,我们将强化学习问题称为马尔可夫决策过程(markov decision process)。
- 当状态不依赖于之前的操作时,我们称该问题为上下文赌博机(contextual bandit problem)。
- 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的多臂赌博机(multi-armed bandit problem)。
1.4 起源
问题的产生
数据分析和预测
算法
模型
算力
1.5 深度学习之路
- 大规模的数据
- 模型、框架
- 算力
1.6 成功案例
- 智能助理
- 游戏
- 自驾
- 。。。。
1.7 小结
-
机器学习研究计算机系统如何利用经验(通常是数据)来提高特定任务的性能。它结合了统计学、数据挖掘和优化的思想。通常,它是被用作实现人工智能解决方案的一种手段。
-
表示学习作为机器学习的一类,其研究的重点是如何自动找到合适的数据表示方式。深度学习是通过学习多层次的转换来进行的多层次的表示学习。
-
深度学习不仅取代了传统机器学习的浅层模型,而且取代了劳动密集型的特征工程。
-
最近在深度学习方面取得的许多进展,大都是由廉价传感器和互联网规模应用所产生的大量数据,以及(通过GPU)算力的突破来触发的。
-
整个系统优化是获得高性能的关键环节。有效的深度学习框架的开源使得这一点的设计和实现变得非常容易。
更多推荐
所有评论(0)