1956年,几个计算机科学家相聚在达特茅斯会议,提出了 “人工智能” 的概念,梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言,或被当成技术疯子的狂想扔到垃圾堆里。直到 2012 年之前,这两种声音还在同时存在。
2012 年以后,得益于数据量的上涨、运算力的提升和深度学习的出现,人工智能开始大爆发,研究领域也在不断扩大,下图展示了人工智能研究的各个分支,包括计划调度、专家系统、多智能体系统、进化计算、模糊逻辑、机器学习、知识表示、计算机视觉、自然语言处理、推荐系统、机器感知等等1。
人工智能根据形态可以分为弱人工智能和强人工智能:弱人工智能通过训练让机器具备观察和感知的能力,可以做到一定程度的理解和推理;而强人工智能通过训练让机器获得自适应能力,解决一些之前没有遇到过的问题。例如科幻电影里的人工智能多半都是在描绘强人工智能,而这部分在目前的现实世界里难以真正实现;目前的科研工作主要集中在弱人工智能这部分,并且已经取得了一系列的重大突破。
人工智能领域涉及到许多学习算法,我们经常也会看到机器学习、深度学习、迁移学习、强化学习等概念,这些算法用于使计算机系统能够从数据中学习并做出决策。本文将介绍一些常见的人工智能学习算法。
弱人工智能是如何实现的,“智能” 又从何而来呢?这主要归功于一种实现人工智能的方法 —— 机器学习。机器学习的提出可以追溯到 Arthur Samuel 在 1959 年的定义:“机器学习:让计算机无需显式编程也能学习的研究领域”。Samuel 的定义很好,但可能有点太模糊。1998 年,另一位著名的机器学习研究者 Tom Mitchell 提出了一个更精确的定义:“正确提出的学习问题:如果计算机程序对于任务 T 的性能度量 P 通过经验 E 得到了提高,则认为此程序对经验 E 进行了学习”。通俗来说,机器学习就是让计算机从训练数据中学习,以便对新的、未见过的数据做出尽可能好的预测。
传统机器学习算法根据任务可以分为 分类、回归、聚类、降维、异常检测、推荐系统等。根据算法可以分为 监督学习、半监督学习、无监督学习 等,其区别在于训练数据的标签情况。
监督学习(Supervised Learning)是一种通过从 标记好的训练数据 中学习来进行预测或分类的方法,包括线性回归、逻辑回归、决策树、支持向量机、K - 最近邻算法等算法:
无监督学习(Unsupervised Learning)是一种从 未标记的数据 中学习模式和结构的方法,主要用于解决聚类和降维等任务,包括 K 均值、层次聚类、高斯混合模型、主成分分析、自组织映射等算法:
半监督学习(Semi-Supervised Learning)结合了监督学习和无监督学习,使用 少量标记数据和大量未标记数据 进行训练,包括自训练、标签传播、半监督聚类、生成对抗网络、半监督支持向量机等算法。半监督学习利用未标记数据的信息来提高模型性能,尤其在标记数据稀缺或昂贵的情况下特别有用。
深度学习(Deep Learning, DL)是机器学习中一种基于神经网络模型的算法,其核心思想是通过模拟人脑神经网络的结构和工作原理来训练计算机模型,以实现对数据的高级抽象和特征学习。深度学习模型通常由 多层神经网络 组成,这些网络层之间的参数通过大量数据进行自动学习和调整,以执行各种任务。深度学习的好处是可以使用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
深度学习的模型有很多,目前开发者最常用的深度学习模型与架构包括卷积神经网络、深度置信网络、受限玻尔兹曼机、递归神经网络、递归张量神经网络、自动编码器、生成对抗网络等等,更多的模型可以参考下图:
强化学习(Reinforcement Learning, RL)是一种机器学习方法,旨在让智能体通过与环境的互动学习如何在特定任务中做出决策,以最大化累积的奖励或目标。在强化学习中,智能体是一个决策制定者,它通过观察环境的状态,采取行动,获得奖励,并在不断的试验中优化它的行为策略。
强化学习涵盖了多种不同的方法和算法,常见的方法包括 Q - 学习、深度 Q 网络、策略梯度方法、Actor - Critic 方法、模仿学习等:
迁移学习(Transfer Learning)是一种机器学习方法,它利用在一个任务上学到的知识来改善在另一个相关任务上的性能。传统的机器学习方法通常要求训练数据和测试数据的分布相似,但在现实世界中,这种情况并不经常发生。迁移学习的目标是通过利用一个任务上积累的经验知识来提高另一个任务的性能,尤其是在目标任务的数据相对较少或难以获得时非常有用,这样可以避免大多数网络那样需要从零学习(Starting From Scratch)。
“在迁移学习中,我们首先在基础数据集和任务上训练一个基础网络,然后将学习到的特征重新调整或者迁移到另一个目标网络上,用来训练目标任务的数据集。如果这些特征是容易泛化的,且同时适用于基本任务和目标任务,而不只是特定于基本任务,那迁移学习就能有效进行。” 因此,迁移学习的核心思想是将从源任务学到的知识传输到目标任务中,可以通过共享模型的权重、特征表示或其他中间层来实现。在深度学习中,通常采用预训练模型(如 BERT、ResNet 等)来进行知识传输4。
举个例子,使用图像数据作为输入的预测模型问题中进行迁移学习是很常见的。 对于这些类型的问题,通常会使用预先训练好的深度学习模型来处理大型的和具有挑战性的图像分类任务。例如使用谷歌的 Inception 模型作为预训练的元模型,然后再使用少量目标任务的样本进行微调实现 ImageNet 1000 级照片分类。
集成学习(Ensemble Learning)是一种机器学习方法,通过将多个基本模型(也称为 弱学习器 或 基学习器)组合在一起,以提高整体性能和泛化能力。集成学习的核心思想是将多个弱学习器的预测结果进行组合,从而产生一个更强大的模型,以降低过拟合风险并提高预测的准确性。
集成学习算法包括投票策略、Bagging、Boosting、随机森林等:
集成学习的优势在于它可以降低模型的方差,提高模型的鲁棒性,减少过拟合的风险,并在许多情况下提高了预测性能。不同的集成方法适用于不同的问题和数据集,选择合适的集成策略通常需要根据具体情况进行调整和实验。
机器学习、深度学习、强化学习、迁移学习和人工智能的联系和区别? ↩︎
Q学习(Q-learning)简单理解 ↩︎
模仿学习(Imitation Learning)概述 ↩︎
迁移学习(Transfer) ↩︎