Advertisement

动手学深度学习(一)深度学习介绍1

阅读量:

目录

一、引言

1.日常生活中的机器学习:

2.机器学习中的关键组件:

2.1 数据:

2.2 模型:

2.3 目标函数:

2.4 优化算法:

3. 各种机器学习问题:

3.1 监督学习:

3.1.1 回归:

3.1.2 分类:

3.1.3 标记问题:

3.1.4 搜索:

3.1.5 推荐系统:

3.1.6 序列学习:

3.2 无监督学习:

3.3 与环境互动:

3.4 强化学习:


一、引言

到目前为止,在使用方面,
目前广泛使用的计算机程序基本上是由软件开发人员从头设计和构建的。
例如,
为网上商城建立管理系统,
经过深思熟虑后,
开发人员可能会提出以下解决方案:
首先,在使用Web浏览器或移动应用时,
用户会与应用程序互动;
其次,
当程序运行时,
在处理交易数据方面会与数据库系统频繁交换信息;
其中,
这个应用程序的核心——"业务逻辑"——
负责详细说明其在各种情况下的操作流程。

为了优化业务流程,在设计应用程序时软件工程师必须全面分析所有可能出现的边界条件并制定相应的解决方案。当用户点击将商品加入购物车时系统会在购物车数据库表中新增一条记录并关联该用户ID与商品ID之间关系。尽管编写出完美的程序几乎不可能但在大多数项目中开发者可以根据项目需求从上述的核心业务逻辑出发逐步构建出符合实际需求的应用程序并经过反复测试最终达到预期目标。基于业务规则构建自动化系统推动正常的产品运行与系统的稳定运作展现了一个高度复杂的认知能力。

幸运的是, 对快速增长的机器学习科学家群体而言, 使许多任务自动化不再受人类能够预见到的所有可能的逻辑规则的影响, 这是一个积极的趋势.

开发一个系统来收集地理数据、遥感图像以及若干历史气象数据,并旨在预测次日的天气情况。

编写一个应用程序,接受自然文本表示的问题,并正确回答该问题;

开发一个系统来接收一张图片,并在其中的人体特征旁边绘制外轮廓线。

开发一个应用系统,实现智能推荐相关产品,并将这类产品的曝光率较低且不常被发现的产品主动推送至用户的关注列表中。

对于这些情况而言,在任何情况下顶级程序员都无法完美地解决这个问题

1.日常生活中的机器学习:

可以说机器学习已经渗透到我们日常生活的方方面面。设想本书的作者们共同驾驶汽车前往咖啡店。阿斯顿对着自己的iPhone喊道:“Hey Siri!”此时iPhone的语音识别系统被唤醒并立即开始将声音转换为文字,并启动地图导航程序。当地图程序启动时它会筛选出若干条可能的道路并显示出每条路径所需的时间。值得注意的是李沐也对Siri说道要前往星巴克咖啡店于是语音识别系统立即开始将声音转换为文字并启用了导航功能以确定最佳路线……由此可见在短短数秒之内人们与智能手机之间的日常互动就已经包含了多种不同的机器学习模型

为了实现智能设备的唤醒功能(例如Alexa、小爱同学及Hey Siri等),我们需要开发一套基于机器学习的技术方案。通过一台计算机及其配套的代码编辑器进行开发(如图所示)。该技术问题看似具有挑战性:麦克风通常会捕捉到约44,000个采样点(每个秒内),而这些采样值与预设的唤醒词之间缺乏直接关联性。因此,在输入原始音频片段时如何准确判断其是否包含特定的唤醒词就显得尤为重要了?目前我们对此一无所知——这正是机器学习能够解决的关键问题所在

图1 识别提醒词

一般情况下,在不知道让计算机从输入映射到输出的具体方式时(即无法直接告诉计算机如何从输入映射到输出),大脑仍然能够自行执行认知功能。
换句话说,在无法编写计算机程序来识别"Alexa"这个词时(即无法编译出能识别"Alexa"词的代码),大脑自身也能完成这一识别过程。
具备这一能力后,则可以方便地采集一个包含丰富音频样本库的数据集(dataset),并对其中包含与不包含唤醒词的样本进行区分标记。
借助机器学习算法,则无需为构建一个"明确地"识别唤醒词的系统而费心设计复杂的算法结构。
相反地,则需要构建一个灵活的程序框架(algorithm),其核心变量由许多参数(parameter)决定。
然后通过数据集训练出一套最佳参数组合(最佳参数集),这些参数将通过某种性能评估指标来实现任务的最佳完成效果。

那么参数究竟是什么?我们可以将参数视为调节器,在调节过程中能够影响程序的行为。任意一次对参数进行调整后所得到的不同程序统称为模型(model)。通过操作这些变量所能生成的所有可能输入与输出之间的映射关系构成了一个完整的模型集合(集合称为"model family")。而利用数据集来实现这一目标的具体方法则被称为学习算法(learning algorithm)。

为运用机器学习算法解决特定问题之前,请先明确问题的 输入 特征及其 输出 标识,并选择适合的数据模型。例如,在本案例中,请注意一段音频信号作为输入数据将经过模型处理后输出一个二进制判断结果。假设实验环境配置正常,则一轮训练过程后能够较为准确地判断是否包含唤醒词。

当前系统每遇到Alexa这个词就会回应Yes。由于本系统的唤醒词可以自由选择任意自然语言特性,在设计架构时需考虑其多样性问题。例如,在另一款系统中特定应用可能会仅对"Hey Siri"作出响应。理论上而言,在最佳情况下同一架构应适用于Alexa识别与HeySiri识别——毕竟它们似乎属于同类任务范畴——然而若要实现不同任务间的转换(如图像到字幕或英语到中文),则可能需要构建 entirely separate systems.

如果所有按钮(参数)都被随机设置,则很难识别出"Alexa""Hey Siri"或其他任何单词。
在机器学习中,训练(training)是一个用于构建模型的过程。
通过这一过程,我们可以找到正确的参数组合,从而迫使该模型执行所需行为。
换句话说,我们利用数据来训练模型。
如图2所示,整个训练流程通常包括以下几个步骤:

从一个随机初始化参数的模型开始,这个模型基本没有“智能”;

获取一些数据样本(例如,音频片段以及对应的是或否标签);

调整参数,使模型在这些样本中表现得更好;

重复第(2)步和第(3)步,直到模型在任务中的表现令人满意。

总体而言,在本项目中我们并未开发出用于识别唤醒词的功能模块。相反,则构建了一个具备自主学习能力的程序系统。通过提供一个海量标注数据集进行训练后即可实现这一目标——可被视为一种基于数据编程的方法(programming with data)。例如,在机器学习领域中我们可以向系统输入成千上万张标注好的猫与狗的照片进行训练;待其完成训练后即可形成一套图像分类模型——当输入是一只猫的照片时会输出较大的正数;如果是狗的照片则输出较小的负数;若检测器无法准确判断,则会输出接近于零的数值……就如冰山一角般仅是机器学习众多应用场景中的一个典型实例;而深度学习则是机器学习体系中的重要分支之一;后续章节将深入探讨这一技术背后的原理和应用。

2.机器学习中的关键组件:

以下将介绍一些核心组件;不论是什么类型的机器学习问题;这些问题都会涉及这些关键元素。

可以用来学习的 数据 (data);

如何转换数据的 模型 (model);

一个 目标函数 (objective function),用来量化模型的有效性;

调整模型参数以优化目标函数的 算法 (algorithm)。

2.1 数据:

毫无疑问,在没有数据的情况下,数据科学就失去了发挥的作用。
每个数据集由一个个实例(example, instance)组成。
大多数情况下,则遵循独立同分布(independently and identically distributed, i.i.d.)的模式。
样本有时也叫做数据点(data point),或者数据实例(data instance)。通常每个样本都包含一组称为特征(features或covariates)的属性。
在上述监督学习问题中需要预测的是一个特殊的属性它被称为标签(label或目标(target))。

当分析图像数据时,在这种情况下每张单独的照片被视为一个样本其属性则由每个像素数值所组成的有序序列来表征。例如一张尺寸为200×200的彩色照片将包含12万(即200×200×3)个数值其中"3"代表了在每一空间位置上红绿蓝三色通道的强度值。类似地在医疗数据分析中我们可以通过提取一组标准特征(如年龄生命体征及诊断结果)来构建数据集以便用于预测患者的治疗效果或健康风险等级。

当每个样本所具有的特征类别数量一致时,在这种情况下其对应的特征向量具有相同的维度(dimensionality)。该维度通常被称为数据集的空间维数。 具有相同维度的数据特征向量具有易于处理的特点,并且能够有效帮助评估大规模数据的学习效率。

但是,并非所有数据都可以采用统一维度进行表征。举个例子来说,在图像数据领域中,若这些数据源自于标准显微镜采集设备,则统一维度是可行的;但若这些图像来自互联网,则难以一致具有一致的分辨率或形状。此时一种可行的方法是将图像调整至标准尺寸大小;但这种做法存在明显缺陷,并可能导致信息丢失的风险。此外,在文本数据方面,“固定长度”的要求同样难以满足。例如,在亚马逊等电子商务平台上的客户评论中,“简短如‘太棒了’”的数据并不少见;而有些评论则内容详实且篇幅较长。相较于传统的机器学习方法而言,深度学习体系的优势在于能够处理不同维度的数据

通常情况下,数据越充分时,工作更容易。大量数据可用于构建出更强的能力。从小到大发展成为现代深度学习取得成功的关键因素。缺少大量数据时,许多令人期待的深度学习模型无法充分发挥作用。即使某些深度学习模型在小规模的数据集上运行良好,在效能上也未能超过传统方法。

请注意单凭海量数据远远不够还需高质量的数据若充斥着错误信息或其特征无法预判任务目标则该模型很可能失效一句俗语深刻揭示了这一现象: 垃圾输入必然导致垃圾输出(Garbage in garbage out)此外恶的表现还会使问题的影响更加剧在一些关键领域如预测性监管简历筛选及贷款风险评估等敏感应用中我们必须格外警惕垃圾数据带来的负面影响常见情况往往出现在不均衡的数据集中设想一下假设我们试图训练一个识别皮肤癌的模型但它从未接触过黑人群体那么当面对这种情况时该模型将毫无办法

当使用'过去的招聘决策数据'来训练一个筛选简历的模型时,可能导致机器学习模型无意中捕获历史残留的偏见,并将这种偏见系统化.然而这一切都有可能发生而不知情.因此,当所使用的数据不具备充分代表性并且包含社会偏见时,所建立的模型就容易产生偏差.

2.2 模型:

在机器学习中,数据转换是一个普遍关注的问题。例如一个能够识别和预测笑容的人工智能系统。进一步说明的是通过一组传感器读数来评估结果的正常性和异常性。尽管简单的模型在解决这类问题时表现良好但在此书中所探讨的问题超出了传统方法所能处理的范围。深度学习与经典方法的区别主要在于前者关注的功能强大的模型这些模型由复杂而交织在一起构成被称为 深度学习 (deep learning)。在深入探讨深度模型的同时本书也会提及一些传统方法。

2.3 目标函数:

前面的内容将机器学习介绍为“基于经验的学习”。这里的“学习”指的是模型自主提升完成特定任务的能力。那么究竟什么是真正的提升呢?在机器学习领域中,我们需设定衡量模型性能的标准。这一标准通常可以在大多数情况下被优化,这被称为目标函数(objective function)。为了实现这一目标,我们通常设定一个目标函数,并寻求使其达到最小值——因为越小越好,所以这些指标常被称作损失函数(loss function, cost function)。然而这只是一种约定俗成的做法……或者我们可以选择另一个指标,使其达到最大值——尽管方向相反,但本质上两者并无区别只是符号问题而已。

当任务用于预测数值时,默认采用的是 均方误差 (Mean Squared Error, MSE)作为损失函数指标。而对于处理分类问题时,则以最小化分类错误率为常见目标函数,在该框架下分类器的目标就是降低与真实类别不一致的样本占比。需要注意的是,并非所有目标都能方便地进行求导或优化,在这种情况下通常会采用替代方法来优化。

一般而言, 损失函数是根据模型参数定义的, 并基于所使用的数据集合. 在一个研究领域中, 我们可以通过最小化总损失来进行参数估计. 该研究领域中的样本集合由用于训练的数据样本构成. 例如, 这些用于训练的数据样本被称为 训练样本 或者 学习样本. 然而, 尽管在训练集中表现优异的模型, 在测试集合上的性能可能不同. 这里的测试集合通常被称为测试集合或者评估集合.

综上所述,在机器学习中可用的数据集合通常会被划分为两组:一部分用于估计模型参数(称为训练数据集),另一部分则用于验证这些参数的效果(称为测试数据集)。接着我们评估模型在这些两个不同数据集合上的表现。我们可以将模型在训练阶段的表现类比于学生的模拟考试成绩——这些分数则可作为真实期末考试成绩的参考依据。即便取得了不错的分数(即得到了较高的模拟考试成绩),也并不能保证最终能够取得理想的真实考试结果(即实际应用效果)。由于这种差异的存在,“如果一个模型表现出色地适应了训练数据,并且无法有效地处理新的测试样本,则称其为过拟合(overfitting)”。换句话说,在现实生活中尽管模拟考试表现优异但真正的能力还需要通过实际应用来检验

2.4 优化算法:

当我们将一些数据源及其表示形式、一个模型以及一个合适的损失函数引入系统后,在此基础上就需要设计一种算法来确定最优参数组合以使损失最小化。在深度学习领域中,广泛采用的大多数优化算法都是建立在一种基础方法——梯度下降法(Gradient Descent)的基础上的。简单来说,在每一个训练步骤中, 梯度下降法都会对每一个可调参数进行评估, 从而确定在哪个方向上的微小变动能够最大程度地减少整体损失值. 然后, 在能够降低损失的方向上更新各个参数

3. 各种机器学习问题:

在机器学习的实际应用领域中,并非所有应用都集中在唤醒词相关的问题上;事实上,在这一技术领域之外还有很多其他潜在的应用场景等待开发。 在这些可能的应用案例中,“唤醒词识别”只是一个典型代表实例。“本章将介绍一系列典型的机器学习问题及其应用场景”,作为后续讨论的基础内容做好准备。“随后章节将频繁引用前述基础概念:数据、模型以及优化算法。”

3.1 监督学习:

监督学习方法专长于在给定输入数据的情况下识别类别。(supervised learning)擅长在"给定输入特征"的情况下预测标签。 每个"特征-标签"对都称为一个 样本 (example)。 有时即使目标未知。(label)未知时仍可作为示例。(sample)。 我们的任务是建立模型使其能够实现这一映射关系。(mapping input data to class labels, i.e., classification task.)

举例来说如果我们想预测某位患者的心脏病是否会发生那么观察到的结果要么是'该患者的心脏病发作'要么是'该患者的心脏病未发作'即为样本标签。其中输入特征可能包括生理指标如心率收缩压以及舒张压等。

监督学习之所以发挥其作用,在于我们在训练参数时向模型呈现了一个包含真实标签的数据集. 从概率论角度而言,我们的目标是预测给定输入特征对应标签的概率分布. 尽管在工业领域中,监督学习仅占各类机器学习方法的一部分,但大多数成功运用机器学习技术的企业都采用了这一策略. 因此,许多关键任务都可以基于一组特定的数据样本被清晰地定义出来. 这是因为许多重要任务都可以基于一组特定的数据样本被清晰地定义出来.

根据计算机断层扫描(Computed Tomography,CT)肿瘤图像,预测是否为癌症;

给出一个英语句子,预测正确的法语翻译;

根据本月的财务报告数据,预测下个月股票的价格;

监督学习的学习过程一般可以分为三大步骤:

在已有的大量数据样本中随机抽取一部分,在对每个样本进行真实标注的过程中会遇到两种情况:一种是该批样本中存在预设的标注信息(如患者是否会在未来一年内康复?),另一种是该批样本的标注信息需由人工进行标注(如图像分类任务)。将上述输入与对应的标注信息整合后形成训练数据集。

采用监督学习方法进行模型训练时,默认会将训练数据集作为输入,并生成已训练好的模型;

将之前未见过的样本特征放入这个"已完成学习的模型"中,并将其输出作为该标签预测的基础

整个监督学习过程如图所示:

综上所述,在仅基于输入特征进行预测标签的情况下

3.1.1 回归:

回归分析是一种基础而重要的监督学习方法。 考虑一组房屋销售数据表格,在此表格中每一行代表一栋特定的房子样本。 每一列则记录了与这栋房子相关的各种属性信息如面积、卧室数量、浴室数量以及到镇中心步行距离等关键指标因素。 这些属性信息共同构成了该房子样本的特征向量表示形式。 例如,在纽约或旧金山居住而非科技行业高管的一般家庭其住宅面积约为600平方米拥有1个卧室及1个浴室并步行至市中心约需60分钟路程;而匹兹堡地区的住户则可能拥有更大的住宅面积约3000平方米4个卧室及3个浴室并只需约10分钟即可到达市中心地区. 当潜在购房者在市场中寻找新居时他们的主要关注点通常会集中在估算一栋特定房产的价格水平上. 回归分析之所以被广泛应用于此类场景的根本原因是其能够通过建立数学模型的方式精准预测房价数值. 这种预测关系的目标就是使模型输出结果与实际房价值之间的差异最小化从而实现对市场价值的有效评估.

在日常生活中存在着多种问题类型中的一类可以被归类为回归问题例如在2009年之前的一个著名算法竞赛中参赛者若能开发出一个出色算法预测电影评分则有可能赢得100万美元的奈 fly 奖另一个应用领域是医疗领域中的病患住院时间预测总而言之判断是否属于回归问题的一个显著特征就是该类型的问题往往与"有多少"相关联例如:

这个手术需要多少小时;

在未来6小时,这个镇会有多少降雨量。

即使你之前从未接触过机器学习技术,在不经意间也可能已经解决了某些回归问题。例如,请人来修理下水道时发现污水管道堵塞后,在很短的时间内就清除了管道中的垃圾并送回了一张金额为350美元的发票;而朋友则只花用了2个小时就完成了同样的工作,并收到了一份金额为250美元的服务费单。如果有朋友让你估算一下下水道清理费用的话,则可以假定 contractor 收取一些基础费用后按小时计价收费(如果上述假设计算正确的话),根据这两个数据样本就能明确 contractor 的收费结构为 50 美元包含上门服务费的基础上每小时额外收取 100 美元的服务费。因此,在不经意间就已经理解并应用了线性回归算法

然而

然而

3.1.2 分类:

虽然回归模型在解决"多少"类问题方面表现优异,但并非所有问题都如此处理。例如,一家银行希望在其移动应用程序中引入支票扫描功能,该功能能够从图像中提取并识别手写的文本字符,并将它们映射到对应的已知字符上。这个问题被归类为"分类"(classification)问题,其核心在于建立一个系统来预测样本属于哪个特定的"类别"(category/class)。例如,手写数字共有10个类别,标签设定为数字0至9的形式。最简单的分类问题是仅涉及两类的情况,这被称为"二项分类"(binomial classification)。例如,一个包含动物图像的数据集可能具有{猫,狗}两类标签。回归技术的目标是训练一个函数以输出数值结果;而分类技术则旨在训练一个模型以预测样本所属的类别

然而,在面对这种需要明确类别判定的问题时

当有两个以上的类别时,在机器学习中将这一情况被称为 多类别分类 (multiclass classification)问题。 典型实例包括手写字符识别 {0,1,2,…9,a,b,c,…}。 与解决回归问题不同的是,在这种情况下使用的常见损失函数被称为 交叉熵损失函数 (cross-entropy loss)。

请特别注意的是,请教各位看官:普遍认为最常出现的类别未必成为最终用于决策的关键类别?举例来说,在后院发现了一个菌类——即蘑菇(见图1.3.2),它通常被称为死帽蕈(无法食用)。

请特别注意的是,请教各位看官:普遍认为最常出现的类别未必成为最终用于决策的关键类别?举例来说,在后院发现了一个菌类——即蘑菇(见图1.3.2),它通常被称为死帽蕈(无法食用)。

为了实现毒蘑菇检测系统的开发目标,我们需要训练一个分类器来识别图片中的蘑菇是否含有毒性。假设该模型预测样本图像中包含死亡伞菌的可能性为20%,换句话说,在这种情况下(即判断结果),分类器判定蘑菇为非死亡伞菌的概率为80%。尽管如此,在实际操作中仍存在较高的风险(即有20%的可能性导致蘑菇中毒)。鉴于此,在实际操作中仍存在较高的风险(即有20%的可能性导致蘑菇中毒)。因此,在构建准确的风险评估模型时,请考虑将预期损失作为关键指标。事实上,在这种情况下采取谨慎策略更为合理。

分类问题相较于简单的二项或多项分类而言可能会变得更加复杂。
例如,在某些特殊情况下会发现一种层次结构的任务变体能够揭示在多个类别之间是否存在某种关联性或层级性关系。
因此,并非所有类型的错误都是同等严重的——人们宁愿将误判归类到相关类别中而不愿将其归类到遥远的类别中(这通常被称为 层次分类(hierarchical classification))。
这一概念的历史起源可以追溯到卡尔·林奈(Carl Linnaeus),他将动物进行了层次化的分类。

注:该改写版本主要通过以下方式实现了对原文的同义改写:

  1. 将"把"改为"误以为"
  2. 将"可能会不会太糟糕"改为"可能不会有太大的问题"
  3. 将"就滑稽至极了"改为"显得非常滑稽"
  4. 调整了语序并增加了细节描述
  5. 保持了段落结构的同时使表达更加丰富
3.1.3 标记问题:

某些分类任务非常适合采用二元或多元分类方法。

这种方法相较于简单的二元分类更具灵活性与实用性

研究如何预测多个互不排斥类别的问题是多标签分类(multi-label classification)领域的一个重要课题。举例来说,在技术博客上发布的文章通常会贴上诸如"机器学习"、"技术"、"小工具"、"编程语言"、"Linux"、"云计算"和"AWS"等标签。 typical articles often incorporate multiple tags such as "machine learning," "technology," "small tools," "programming languages," "Linux," "cloud computing," and "AWS." 通常情况下,一篇典型的文章可能会使用5至10个这样的标签,这是因为这些概念之间存在关联性. Consequently, a typical article might use between 5 to 10 such tags due to the interrelated nature of these concepts. 在讨论云计算的文章中可能会提到AWS,而在探讨机器学习的文章中也可能涉及编程语言. For instance, articles about cloud computing may mention AWS, while those discussing machine learning might also touch upon programming languages.

此外,在处理生物医学文献时

3.1.4 搜索:

在某些场景下,在信息检索领域中我们也可能需要对一组项目进行排序而不是仅仅输出一个类别或一个实值。例如,在网络搜索中,并非仅限于将查询与网页进行简单的分类;相反,在海量搜索结果中找到用户最需要的那一部分具有重要意义。此外,在学习算法方面排序同样关键:如果要求我们输出字母表中的前5个字母,则返回“A、B、C、D、E”与“C、A、B、E、D”的结果虽然属于同一集合却存在显著差异。”

这个问题的一个可能解决方案是:对集合中的每个元素赋予与其相关性相关的分数;随后搜索具有最高评分的元素。PageRank算法作为搜索引擎背后最初的秘密武器就是这种评分系统早期的应用案例之一;其独特之处在于不依赖于具体的查询内容。为此他们采用了基于简单相关性过滤的方法来筛选一组潜在的相关条目;接着利用PageRank对包含查询关键词的结果进行排序以确定优先级。如今搜索引擎已经发展出更为复杂的机器学习模型和用户行为分析框架来评估网页的相关性得分;而学术界也在这一领域持续进行深入研究。

3.1.5 推荐系统:

另一类与搜索和排名相关的领域问题是 推荐系统(recommender system),其旨在为特定用户提供'个性化'的解决方案。例如,在电影这一领域中,在面对科幻迷或喜剧爱好者时可能会出现差异较大的结果页面展示。同样也会应用于零售产品、音乐以及新闻等领域的个性化服务提供。

在一些应用场景中, 客户会提供明确的反馈。 比如说,在亚马逊平台上, 产品通常会有评分与评论的形式出现。 而另一种情况是客户会提供隐性的反馈信息。 比方说, 当一个用户选择跳过播放列表中的某些歌曲时, 这可能表明这些歌曲对此用户不太适合听。 总体而言, 推荐系统会对特定用户的物品匹配度进行评估计算。“分数”这一概念可能指的是商品的评分值或者购买的可能性大小。 因此, 对于任意一个特定的用户体验者来说, 推荐系统都能够筛选出表现最佳的一系列物品集合并将其进行推荐。 然而这只是基本算法的核心思路;工业界所采用的实际推荐系统要复杂得多, 它们会在分析用户的详细行为数据及项目的特征信息的基础上进行模型构建与优化设置。 通过调整算法参数以及优化模型结构等手段, 推荐系统能够更好地捕捉用户的偏好特点。“比如图所示的是亚马逊基于个性化算法生成的人工智能深度学习书籍推荐结果图谱”,成功地反映了作者个人的兴趣爱好与阅读倾向之间的高度契合关系

虽然推荐系统在实际应用中展现出巨大潜力【虽然

3.1.6 序列学习:

大多数情况下,在处理各种问题时,输入与输出都保持固定尺寸。例如,在房价预测问题中,请关注的一组固定特征包括房屋面积、卧室数量、浴室数量以及步行至市中心所需时间;而在图像分类任务中,则输入是一幅固定尺寸的图片,则输出则是一系列(针对每个类别)的概率预测值。

如果输入样本彼此独立,在这种情况下该模型将表现得非常出色。然而,在面对连续输入时该模型则需要具备一定的"存储能力"来处理信息间的关联性。举个例子来说,在处理视频片段时我们需要考虑每个片段包含不同数量的画面帧,并且通过前一帧图像我们可以更准确地预测后一帧的变化情况。同样地,在语言领域机器翻译系统将接收与生成的文字序列作为其操作的基础信息流。

再比如,在医疗领域中输入与输出序列变得尤为重要。想象一下,在一个用于监控重症监护病房的病人模型中,在未来24小时内若某人因疾病发展导致死亡风险达到预设的临界值,则系统将触发警报提示。我们始终坚持不放弃任何关于患者病史的一小时数据记录,并基于最新的测量结果进行预测分析。

这些问题被识别为体现序列学习应用的例子,在机器学习领域中构成最具吸引力的应用之一的是这类问题。具体而言,则涉及接收输入信息并生成相应的输出结果,在处理过程中需要接收与处理可变长度的信息流。其中信息流的特征是其动态变化性与不确定性;具体而言,则涉及接收输入信息并生成相应的输出结果,在处理过程中需要接收与处理可变长度的信息流;然而尽管如此,并非所有的信息转换关系都可涵盖;但以下特殊情况值得一提

标记与解析 是一项涉及运用属性注解标注文本序列的任务。 换而言之,在输入与输出之间大致数量相当。 例如,在此情境下我们可以探究动词与主语之间的位置关系。 通常的目标在于通过基于结构与语法的假设对文本进行分解并进行标注以获取相关信息 这一过程在实质上比实际情况更为复杂。 下面给出一个简单的示例: 使用"标记"这一术语我们可以标识出哪些词语被归类为命名实体 这些标记包括"Ent"表示名词短语中的_实体_(entity)概念

复制代码

基于自动生成的文字转录技术,在语音识别系统中

语音转文字 。与其说是自动语音识别的技术相反,在这种情况下 ,输入是一段文字 ,对应的音频文件却要长得多 。尽管人类能够轻易辨别发音不清或有误的音频文件 ,但对于计算机而言 ,这一过程同样具有挑战性

机器翻译 。 在语音识别过程中(Input-to-Output),输入与输出通常呈现出一致的序列(Sequence)。 相反,在机器翻译任务(Machine Translation)中调换输入与输出(Input/Output)的顺序至关重要(Significance)。 换言之,在处理自然语言时(When dealing with natural languages),尽管我们仍需将一个序列转换为另一个序列(Conversion),但它们之间的数量差异以及相应序列的具体排列顺序往往会发生显著变化(Significant variation)。 例如,在以下案例中,“错误对齐”体现了德国人偏好将动词置于句子末尾的独特倾向(Distinctive Tendencies)。

复制代码

除了直接提到的具体应用场景外,在序列学习领域还存在多种相关研究方向。例如,在分析用户行为模式时,“用户阅读网页的顺序”这一指标被视为二维布局分析的重要维度之一。再者,在对话系统开发中,“对话轮次”的确定往往涉及复杂的上下文推理与现实世界知识整合问题……这些方向已成为当前序列学习研究的热点领域。

3.2 无监督学习:

截至目前为止,在所有示例中均涉及监督学习:每个样本都包含一组特征及其对应的标签值。幽默地说,“监督学习”机器学习系统犹如一名普通的 laborer:拥有高超的专业技能但其管理能力极为普通。而该supervisor(老板)持续指导机器人执行各种任务直至其能够根据情况采取适当行动。要赢得这位supervisor(老板)的信任并非易事:只需让机器人迅速识别出规律并模仿其行为即可。

与其相反,在缺乏明确的目标指向的情况下,则需要一种更为自主的学习方式。例如,在工作中我们会得到一堆数据,并被指示进行一些数据分析研究活动;但若没有任何关于研究结果的具体要求,则这类不具备明确目标导向的数据驱动机器学习问题通常被称为 无监督学习 (unsupervised learning),本书后续章节将深入探讨这一技术的具体应用及其相关方法论问题。那么这种技术到底能够解决哪些实际问题呢?让我们来看几个具体案例吧!

聚类 (clustering)问题:在无标签数据的情况下是否可以对数据进行划分呢?例如,在图片库里有几张风景照片几张狗的照片几张婴儿的照片还有几张小猫的照片以及几张高山图片那么我们能否把它们划分为不同类别?同样的问题是假设我们有一批用户的网页浏览记录是否能够将具有相似浏览行为的用户提供者进行分组

主成分分析

探讨_因果关联_(causality)与_概率图形模型_(probabilistic graphical models)的问题:我们是否能够描述观察到数据的根本原因?例如,在拥有房价、污染、犯罪、地理位置、教育及收入等人口统计数据的情况下,我们是否能够直观地从经验数据中揭示它们之间的联系?

Generative Adversarial Networks (GANs) offer a robust framework for synthesizing synthetic data, encompassing both structured and unstructured data types such as images and audio. Even capable of handling complex non-structured data samples like images and audio. The underlying statistical mechanism serves as a test to distinguish between real and generated data samples. It represents an important and exciting area within unsupervised learning.

3.3 与环境互动:

有人持续对机器学习的数据来源充满疑问,并且还关心机器学习的输出方向。到目前为止,在监督和无监督的学习中,我们都必须先收集大量数据,并启动相应的模型,在独立于环境之后完成这些所有的学习过程,并被统一称为离线学习(offline learning)。在监督学习的情况下,在环境中收集数据的过程类似于下图所示的内容

图1.3.6 从环境中为监督学习收集数据。

虽然简单但离线学习具有独特的优势。\n其优点在于我们可以独立地进行模式识别无需兼顾其他问题。\n然而其局限性也很明显只能解决相对有限的问题。\n此时人们或许会期待人工智能不仅能进行预测还能与真实环境进行交互交流。\n相比之下‘与真实环境互动’这一行为会对环境产生影响。\n而相比而言‘智能代理’的概念比单纯的‘预测模型’更为全面。

考虑“与真实环境互动”将打开一整套新的建模问题。以下只是几个例子。

环境还记得我们以前做过什么吗?

环境是否有助于我们建模?例如,用户将文本读入语音识别器。

环境是否具备击败模型的能力?例如一种具有对抗性的设置如垃圾邮件过滤或游戏。

环境是否重要?

环境是否会发生持续性的演变?例如,在未来的时间里,数据能否保持与历史数据的一致性?随着时间的推移可能会发生怎样的转变呢?这种转变究竟是自发的变化还是受到我们自动化工具的影响而发生的呢?

在训练集与测试集不同的情况下,在面对数据分布偏移(distribution shift)这一现象时,研究者们提出了这一问题。 下面将简要阐述强化学习问题及其特点:这类问题是通过系统地考虑环境动态来定义的。

3.4 强化学习:

如果你对利用机器学习开发与环境交互并采取行动感兴趣, 那么最终可能会专注于 强化学习 (reinforcement learning). 这可能包括应用到机器人、对话系统以及开发视频游戏的人工智能 (AI). 深度强化学习 (deep reinforcement learning)通过将深度学习应用于强化学习问题, 已成为非常热门的研究领域. 突破性的深度_Q网络_(Q-network)不仅能够实现对人类的击败, 而且AlphaGo程序在棋盘游戏围棋中击败世界冠军, 则是两个具有代表性的强化学习实例.

在强化学习问题中,智能体(agent)在一系列的时间步骤上与环境交互。 在每个特定时间点,智能体从环境接收一些 观察 (observation),并且必须选择一个 动作 (action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得 奖励 (reward)。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。 强化学习的过程在图中进行了说明。 请注意,强化学习的目标是产生一个好的 策略 (policy)。 强化学习智能体选择的“动作”受策略控制,即一个从环境观察映射到行动的功能。

强化学习框架具有广泛的适用性。具体而言,在监督学习问题中

显然,在强化学习中超越了传统监督学习的局限性。值得注意的是,在传统监督学习中,在输入与正确的标签之间总是存在紧密的关联性。然而,在强化学习框架下,则无需被假设环境给予每个观测的具体最优动作指示。

举例说明强化学习在国际象棋中的应用

强化学习可能还需应对部分不可观测的问题。换句话说,当前观测结果无法完全反映当前状态的所有信息。例如,在一个有许多相同壁橱的房间里,一个清洁机器人发现自己被困在一个许多相同的壁橱中。为了推断机器人的精确位置,以便了解其所在的状态,需要基于先前的所有观测数据来推断其位置即可了解其状态。

最后,在任何一个时间节点上, 强化学习智能体或许已经掌握了某种有效的策略, 但它仍可能存在更为优越的策略而尚未被发现. 智能体面临着持续不断的选择:应当依赖现有的成功方案, 还是要去发现潜在的机会(为此需暂时牺牲短期收益以获取长期见解).

广为 notice 的强化学习问题通常被视为一种基础且常见的挑战。 在智能体选择动作时会直接影响随后的状态观测结果;而奖励信号则直接关联于所采取的具体行动。 环境设计中既可以实现完全观测的情况(即环境中可以被完整地感知状态信息),也有可能仅能部分观测到状态信息(即环境中可能存在一定程度的状态不确定性)。 由于这种复杂性可能对研究人员提出了较高的理论要求;但实际情况中并非所有的现实场景都具备如此全面的状态反馈特性(即许多实际应用中的环境可能不具备完整的可观察性)。 因此,在研究强化学习时主要关注的是特定条件下的策略设计与实现(即针对具体应用场景开发相应的强化学习算法)。

在完全可观察的环境中运行时,在强化学习中所处理的问题等同于 马尔可夫决策过程(Markov Decision Process, MDP) 。如果当前的状态与先前的动作无关,则该类问题是 上下文赌博机(Contextual Bandit Problem) 。在没有状态信息的情况下,在初始阶段仅有一组未知回报可供选择的动作集合中所面临的问题就是经典的 多臂赌博机(Multi-Armed Bandit Problem)

全部评论 (0)

还没有任何评论哟~