**<人工智能> 笔记**

@think3r 2024-03-28 11:42:40

  1. «人工智能 : 现代方法» 第四版
  2. «nndl-book, 神经网络与深度学习»
  3. 计算机视觉发展史

人工智能 : 现代方法

现代方法 : 标准解释是“选择从当下的角度讲述人工智能的故”。

  1. 1995 年, 第一版
    • 学术界
    • 传统人工智能方法占据主导 : 智能问题的求解和有关知识表示与推理的部分
    • 第二部分 & 第三部分
  2. 2003 年, 第二版
    • 转折点
    • 加入统计相关内容 : 数据驱动的人工智能方法变得越来越重要
    • 第四部分 & 第五部分
  3. 2009 年, 第三版
    • 迅猛发展
    • 新增 : 机器学习, 自然语言处理, 计算机视觉
    • 构建出第四版大致结构
  4. 2022 年, 第四版
    • 黄金时代
    • 新增 : 深度学习 & 强化学习

阅读建议 :

  • 这本书的好处是,每一部分,甚至每一章都相对独立,跳过前面的内容不影响阅读后面的内容。如果遇到不懂的地方,可以直接跳过去。
  • 本书主要用作本科人工智能课程或课程序列的教科书。
    • 阅读本书唯一的先修要求是对计算机科学基本概念(算法、数据结构、复杂性)的熟悉程度达到大学二年级的水平。
    • 大学一年级的微积分和线性代数知识对一些主题的阅读很有帮助。
  • 当然,如果还有一些非计算机专业的读者对人工智能感兴趣,重点阅读第一部分和最后一部分就好了。
    • 相比书中的一些公式和算法,更重要的是读懂书中的概念,并且了解每一种方法的来龙去脉。
  • 这一版的第五部分“机器学习”就重点介绍了过去十年的热点,特别是深度学习和强化学习,如果再加上第六部分“沟通、感知和行动”中的自然语言处理、计算机视觉和机器人学,这两部分似乎就是“现代”人工智能的全部.
  • 更多技术在发明时并不明白背后的原理 :
    • 指南针发明时并无电磁学,飞机发明时并无空气动力学。人工智能也一样,深度学习成功应用后,可解释性成为热点,至今理论还在探索中
    • 人工智能研究是应该寻求理论基础,还是应该探索实现更强智能的新方法?两者都该做,但后者是主旋律:
      • 先有方法和实现,后有理论解释,先有智能技术,后有智能科学,如此迭代发展。
      • 智能技术无止境,智能科学也无止境,可以有解释现有人工智能的专门理论,没有指导未来人工智能的通用理论。

本书主要包括 5 方面的内容:

  • 问题求解的搜索方法
  • 基于知识的推理和规划方法(逻辑和知识表示)
  • 知识和推理中的不确定性(概率推理、概率编程和多智能体决策)
  • 机器学习(概率方法、深度学习和强化学习),
  • 应用专题(自然语言处理、计算机视觉和机器人学)

章节分类 :

  1. 第二部分“问题求 解”是人在设计搜索、博弈和约束满足问题的解决方案;
  2. 第三部分“知识、推理和规划”是人定 义逻辑推理、人整理知识以及人设计的“自动规划”;
  3. 第四部分“不确定知识和不确定推理”引 入了不确定性和概率方法,以实现更强智能,但所有智能仍然是人设计决定的;
  4. 第五部分“机器 学习”,人类后退一步,只设计学习方法,让机器自己“学习”,特别是强化学习,只定义基本 规则,智能主要来自与环境的交互,智能实现重大跃升。
  5. 第六部分“沟通、感知和行动”中的自然语言处理、计算机视觉和机器人学.

人工智能(artificial intelligence)基础

可以通过3种方式了解人类的思维:

  • 内省(introspection)—— 试图在自己进行思维活动时捕获思维;
  • 心理实验(psychological experiment)—— 观察一个人的行为;
  • 大脑成像(brain imaging)—— 观察大脑的活动。

术语 Collect :

  • 理性(rationality)
  • 我们只是承认人类的决策在数学上并不总是完美的 : 追求类人智能必须在某种程度上是与心理学相关的经验科学,包括对真实人类行为和思维过程的观察和假设
  • 图灵测试(Turing test)
    • 自然语言处理(natural language processing)
    • 知识表示(knowledge representation)
    • 自动推理(automated reasoning)
    • 机器学习(machine learning)
  • 完全图灵测试(total Turing test)
    • 计算机视觉(computer vision)和语音识别功能
    • 机器人学(robotics)
  • 认知科学(cognitive science)
  • 逻辑(logic)
  • 逻辑主义(logicism)
  • 智能体 (agent) : 人工智能是专注于研究和构建做正确的事情的智能体
    • 理性智能体(rational agent)
  • 标准模型(standard model)
    • 控制理论中,控制器使代价函数最小化;
    • 运筹学中,策略使奖励的总和最大化;
    • 统计学中,决策规则使损失函数最小;
    • 经济学中,决策者追求效用或某种意义的社会福利最大化。
  • 有限理性(limited rationality)
  • 可证益的(provably beneficial)的智能体
  • 通用问题求解器(General Problem Solver)
  • 效用(utility)
  • 功利主义(utilitarianism)
  • 义务伦理学(deontological ethics)

  1. 理性行为的有些方式并不能说与推断有关。例如,从火炉前退缩是一种反射作用,这通常比经过深思熟虑后采取的较慢的动作更为成功. 知识表示和推理能让智能体做出较好的决策. 在人工智能领域的大部分历史中,基于理性智能体的方法都占据了上风。
  2. 自标准模型被提出以来,其一直是人工智能研究的指南,但从长远来看,它可能不是一个正确的模型,原因是标准模型假设我们总是为机器提供完全指定的目标: 在真实世界中,我们越来越难以完全正确地指定目标。
  3. 价值对齐问题(value alignment problem) :
    • 在我们的真实需求和施加给机器的目标之间达成一致的问题
    • 即施加给机器的价值或目标必须与人类的一致。

人工智能的基础

  1. 思维的哲学 :
    • 理论 :
      • 二元论dualism) : 如果思维完全受物理法则支配,那么它拥有的自由意志不会比一块“决定”往下掉的石头多.
        • 笛卡尔 : 人类思维 灵魂或者精神)的一部分处于自然之外,不受物理定律的约束
      • 唯物主义(materialism) : 认为大脑根据物理定律的运作构成了思维 。 自由意志仅仅是实体对可选决策的感知
      • 经验主义(empiricism) : 知识归根到底都来源于经验
      • 归纳法(induction)原则:通过暴露要素之间的重复联系获得一般规则
      • 逻辑实证主义(logical positivism) : 所有知识都可以通过逻辑理论来描述,逻辑理论最终与对应于感知输入的观察语句(observation sentence)相联
      • 确证理论(confirmation theory) : 通过量化应分配给逻辑语句的信念度来分析从经验中获取知识,信念度的取值基于逻辑语句与确证或否定它们的观察之间的联系
    • 思维的哲学图景中最后一个要素是知识与动作之间的联系.
      1. 智能不仅需要推理,还需要动作。而且只有理解了怎样的行为是合理的,才能理解如何构建行为是合理的(或理性的)智能体
      2. 功利主义(utilitarianism)思想:基于效用最大化的理性决策应该适用于人类活动的所有领 域 , 包括代表许多个体做出公共政策的决策 。
        • 功利主义是一种特殊的结果主义(consequentialism),行为的预期结果决定了正确与否
  2. 思维的数学 :
    • 工具 :
    • 形式化逻辑(formal logic), 布尔 : 布尔逻辑和命题
    • 概率(probability)论 : 可以视为信息不确定情况下的广义逻辑
      • 贝叶斯法则是人工智能系统的重要工具
      • 概率的形式化结合数据的可用性,使统计学(statistics)成为了一个新研究领域 : 概率、实验设计、数据分析和计算等思想的汇总
    • 算法(algorithm):
    • 可计算性(computability) & 易处理性(tractability): 后者对人工智能的影响更大
      • 如果解决一个问题实例所需的时间随着问题规模呈指数增长,那么这个问题就是难处理的
      • NP完全性(NP-completeness)理论为分析问题的易处理性提供了基础:任何可以归约到 NP 完全的问题都可能是难处理的。
  3. 经济学 :
    • 起源于 1776 年, 亚当斯密的 <国富论>
    • 经济学不再是研究金钱的学科,而是对欲望和偏好的研究
    • 博弈论(game theory)
    • 决策论(decision theory): 结合了概率论和效用理论
    • 运筹学(operations research)
    • 马 尔 可 夫 决 策 过 程 (Markov decisionprocess)
  4. 神经学 (neuroscience) :
    • 公元前 335 年,亚里士多德写道:“在所有动物中,人类的大脑与身体大小的比例最大。”
    • 现在人们普遍认为认知功能是由这些结构的电化学反应产生的。也就是说,一组简单的细胞就可以产生思维、行为和意识
    • 光遗传学(optogenetics)方法
    • 脑机接口(brain-machine interface): 大脑能够自我调整,使自己成功与外部设备进行交互,就像对待另一个感觉器官或肢体一样。
      • 赛博朋克的义肢 ?
    • 奇点(singularity) : 虽然与高端个人计算机相比,大脑拥有更多的存储和互连,但最大的超级计算机在某些指标上已经与大脑相当。 计算机 智能奇点
  5. 心理学 :
    • 行为主义(behaviorism)运动
    • 认知心理学(cognitive psychology): 认为大脑是一个信息处理设备
    • 人机交互(human-computer interaction,HCI) 归于心理学下.
    • 智能增强 ( intelligence augmentation)的理念(IA 而非 AI): 计算机应该增强人类的能力,而不是完全自动化人类的任务。
    • 今天,我们更倾向于将 IA 和 AI 视为同一枚硬币的两面,前者强调人类控制,而后者强调机器的智能行为,都是机器有利于人类所必需的
  6. 计算机工程 :
    • 图灵创建 Heath Robinson 破译德国情报
    • 摩尔定律(Moore’s law)
      • 05 年前生效, 之后转为堆核心
      • 在应对不确定的世界时,基于这一理念设计硬件:不需要64位的数字精度,只需16位(如bfloat16格式)甚至8位就足够了,这可以使处理速度更快
        • 四舍五入带来的随机性模拟量子计算 ?
    • 针对人工智能应用进行调整的硬件 : 图形处理单元(GPU)、张量处理单元(TPU)和晶圆级引擎(WSE)
  7. 控制理论与控制论 :
    • 控制理论(control theory) : 二战后提出并创建
    • 自我平衡(homeostatic)
    • 现代控制理论,特别是被称为随机最优控制的分支,其目标是设计随时间最小化代价函数(cost function)的系统。
      • 这与人工智能的标准模型——设计性能最优的系统大致相符
  8. 语言学 :
    • 1957 年《句法结构》
    • 计算语言学(computational linguistics)或自然语言处理(natural language processing)

人工智能的历史

总结人工智能历史里程碑的快速方法是列出图灵奖得主.

历史发展 :

  1. 人工智能的诞生(1943—1956)
    • 赫布型学习(Hebbian learning)
    • 1950 第一台神经网络计算机——SNARC
    • 1956 年夏天在达特茅斯组织了为期两个月的研讨会
  2. 热情高涨和期望无限的早期(1952—1969)
    • 几何定理证明程序(Geometry Theorem Prover) : 证明许多数学学生认为相当棘手的定理, 现代数学定理证明程序的先驱.
    • 1956 强化学习 : 西洋跳棋
    • 1958 Lisp 语言提出, 接下来的 30 年中成为了最重要的人工智能编程语言.
    • 微世界(microworld), E.g. : 积木世界(blocks world)
      • 三维视觉理解
    • 神经网络上的早期工作
  3. 通用搜索机制局限所导致的回落期(1966—1973) : 一些现实
    • 西蒙的过度自信 :
      • 我的目的不是使大家感到惊讶或震惊,我可以总结出的最简单的说法是,现在世界上存在着能够思考、学习和创造的机器。此外,它们的这些能力将迅速提高,在可见的未来内,它们能够处理的问题范围将与人类思维的应用范围一样广泛。

      • 早期系统在更困难的问题上都失败了
    • 遗传编程(genetic programming)
    • 1973 年 : 未能处理 “组合爆炸” 的报告.
    • 讽刺的是,在 20 世纪 80 年代和 21 世纪 10 年代再次引起神经网络研究巨大复兴的新反向传播学习算法,早在 20 世纪 60 年代初已经在其他情景下得到了发展.
  4. 以专家系统为代表的基于规则学习的崛起期(1969—1986)
    • 弱方法(weak method): 前十年提出的问题求解是一种通用搜索机制,试图将基本的推理步骤串在一起,找到完整的解
    • AI 程序 : 解决从质谱仪提供的信息推断分子结构的问题, 极大地减少可能候选项的量级
      • 第一个成功的知识密集型系统:它的专业知识来源于大量专用规则
    • 专家系统 (expert system)的开始 :
      • 用于诊断血液感染的 MYCIN 系统
      • 第一个成功的商用专家系统 R1 在数字设备公司(Digital Equipment Corporation,DEC)投入使用(McDermott, 1982)
        • 到 1988 年,DEC 的人工智能小组已经部署了 40 个专家系统,
      • 自然语言理解领域 :
        • 根本就没有语法这回事 —> 引发的讨论

      • 事实证明,为复杂领域构建和维护专家系统是困难的
        • 一部分原因是系统使用的推理方法在面临不确定性时会崩溃
        • 另一部分原因是系统无法从经验中学习。
    • 总的来说 :
      • 人工智能行业从 1980 年的几百万美元增长到 1988 年的数十亿美元
      • 还产生了数百家构建专家系统、视觉系统、机器人以及专门服务于这些目的的软硬件的公司。
      • 伺候不久, 经历了一段被称为“人工智能冬天”的时期
  5. 神经网络联结主义的回归期(1986—1995)
    • 反向传播(back-propagation)学习算法在 80 年代被 4 个不同团队重新发明
      • 联结主义(connectionist)模型 : 以一种更流畅和不精确的方式形成内部概念,更适配真实世界的混乱
  6. 统计机器学习的复兴期(1995—现在)
    • 两个派别 :
      • 整洁派 neat,认为人工智能理论应该以数学的严谨性为基础的人
      • 邋遢派 scruffy,那些宁愿尝试大量的想法,编写一些程序,然后评估哪些似乎可行的人
      • 向整洁派的转变意味着该领域已经达到了稳定和成熟的水平。目前对深度学习的重视可能代表着邋遢派的复兴
    • 在 20 世纪 80 年代,隐马尔可夫模型(hidden Markov model,HMM)开始主导语音识别领域
    • 人工智能对数据、统计建模、优化和机器学习的新认识带来的结果是,计算机视觉、机器人技术、语音识别、多智能体系统和自然语言处理等子领域逐渐统一
  7. 以及大数据驱动的深度学习的突破期(2006—现在)
    • 大数据 (big data)
    • ImageNet 数据库的数千万幅图像引发了计算机视觉领域的一场革命
  8. 深度学习 (2011-现在) :
    • 深度学习(deep learning)是指使用多层简单的、可调整的计算单元的机器学习
    • 卷积神经网络(convolutional neural network)于 1995 年在手写数字识别方面取得了一定的成功
    • 然而,直到 2011 年,深度学习方法才真正开始流行起来,首先是在语音识别领域,然后是在视觉物体识别领域

人工智能现在能做什么?

  • 自动驾驶
  • 腿足式机器人
  • 自动规划和调度
  • 机器翻译
  • 语音识别
  • 推荐
  • 博弈 : 围棋, 游戏
  • 图像理解 & 图像描述
  • 医学
  • 气候科学
  • AI :
    • 人类级别的人工智能(human-level AI,HLAI)
    • 通用人工智能( artificial general Intelligence, AGI)

图灵警告的本质:我们可能无法控制比我们更聪明的机器。

智能体

  • 任何通过传感器(sensor)感知环境(environment)并通过执行器(actuator)作用于该环境的事物都可以被视为智能体(agent)
  • 我们使用术语感知(percept)来表示智能体的传感器正在感知的内容
    • 智能体的感知序列(percept sequence)是智能体所感知的一切的完整历史
  • 一个智能体在任何给定时刻的动作选择可能取决于其内置知识和迄今为止观察到的整个感知序列,而不是它未感知到的任何事物
  • 从数学上讲,我们说智能体的行为由智能体函数(agent function)描述,该函数将任意给定的感知序列映射到一个动作
    • 智能体函数是一种抽象的数学描述
    • 而智能体程序是一个具体的实现,可以在某些物理系统中运行
  • 作为一般规则,更好的做法是根据一个人在环境中真正想要实现的目标,而不是根据一个人认为智能体应该如何表现来 设计性能度量
  • 我们必须接受这样一种可能性:我们可能会将错误的目的施加给机器 . 确切地说,就是迈达斯国王问题 :
    • 许多文化都有关于人类向神灵、精灵、魔术师或魔鬼索取东西的神话。在这些故事中,他们总是得到了他们真正想要的东西并最终后悔。如果还有第三个愿望的话,那就是撤销前两个。
    • 我们将其称为迈达斯国王问题(King Midas problem):迈达斯是希腊神话中的传奇国王,他要求他所接触的一切都变成黄金,但他在接触了他的食物、饮料和家人后,就后悔了。
  • 理性智能体的定义 : 对于每个可能的感知序列,给定感知序列提供的证据和智能体所拥有的任何先验知识,理性智能体应该选择一个期望最大化其性能度量的动作。
  • 区分理性和全知(omniscience) :
    • 全知的智能体能预知其行动的实际结果,并能据此采取行动,但在现实中,全知是不可能的
    • 理性使期望性能最大化,而完美使实际性能最大化
  • 我们的定义要求理性智能体不仅要收集信息,还要尽可能多地从它所感知到的东西中学习(learn)
    • 智能体的初始配置可以反映对环境的一些先验知识,但随着智能体获得经验,这可能会被修改和增强
    • 在一些极端情况下,环境完全是先验已知的和完全可预测的。在这种情况下,智能体不需要感知或学习,只需正确地运行
    • 如果在某种程度上,智能体依赖于其设计者的先验知识,而不是其自身的感知和学习过程,我们就说该智能体缺乏自主性(autonomy)
    • 一个理性的智能体应该是自主的,它应该学习如何弥补部分或不正确的先验知识
  • 完全可观测的(fully observable)与部分可观测的(partially observable):
    • 如果智能体的传感器能让它在每个时间点都能访问环境的完整状态,那么我们说任务环境是完全可观测的。
  • 确定性的(deterministic)与非确定性的(nondeterministic):
    • 如果环境的下一个状态完全由当前状态和智能体执行的动作决定,那么我们说环境是确定性的,否则是非确定性的。
    • 大多数真实情况非常复杂,以至于不可能追踪所有未观测到的方面;出于实际目的,必须将其视为非确定性的。
  • 回合式的(episodic)与序贯的(sequential)
  • 静态的(static)与动态的(dynamic)
  • 离散的(discrete)与连续的(continuous)
  • 智能体架构(agent architecture):智能体 = 架构 + 程序

4种基本的智能体程序,它们体现了几乎所有智能系统的基本原理:

  1. 简单反射型智能体;
    • 条件-动作规则(condition-action rule) / if-else
    • 习得反应(如驾驶)
    • 先天反射(如在有东西接近眼睛时眨眼)
    • 只有在当前感知的基础上才能做出正确的决策,也就是说,只有在环境完全可观测的情况下才可行.
      • 即使是轻微的不可观测性也会造成严重的问题
    • 对在部分可观测环境中工作的简单反射型智能体而言,无限循环通常是不可避免的
      • 随机化(randomize)其操作,则可以跳出无限循环
  2. 基于模型的反射型智能体;
    • 处理部分可观测性的最有效方法是让智能体追踪它现在观测不到的部分世界。
      • 也就是说,智能体应该维护某种依赖于感知历史的内部状态(internal state),从而至少反映当前状态的一些未观测到的方面。
    • 基于模型的智能体(model-based agent) : 转移模型和传感器模型结合在一起让智能体能够在传感器受限的情况下尽可能地跟踪世界的状态
  3. 基于目标的智能体;
  4. 基于效用的智能体
    • 智能体的效用函数(utility function)本质上是性能度量的内部化
    • 期望效用(expected utility)
      • 在第 16 章中,我们证明,任何理性智能体的行为都必须表现得好像拥有一个效用函数,并试图最大化其期望值
  5. 学习型智能体 :
    • 结构化表示(structured representation) :
      • 结构化表示是关系数据库和一阶逻辑、一阶概率模型和大部分自然语言理解的基础
      • 事实上,人类用自然语言表达的大部分内容都与对象及其关系有关
    • 分布式表示(distributed representation)

机器学习

样例学习

如果一个智能体通过对世界进行观测来提高它的性能,我们称其为智能体学习(learning)。

机器学习(machine learning):一台计算机观测到一些数据,基于这些数据构建一个模型(model),并将这个模型作为关于世界的一个假设(hypothesis)以及用于求解问题的软件的一部分。(采用数据驱动, 反馈到模型参数, 指导模型行为.)

  • 先验知识(prior knowledge)
  • 迁移学习(transfer learning)
  • 从一组特定的观测结果得出一个普遍的规则,我们称之为归纳(induction)。
  • 当输出是一个有限集合中的某个值时(如晴天/阴天/雨天或者正确/错误),我们称该学习问题为 分类(classification)
    • 标签(label)
  • 当输出是一个数值时(例如明天的温度,无论它是一个整数还是其他实数),我们称该学习问题为 回归(regression)
  • 监督学习(supervised learning)
  • 无监督学习(unsupervised learning)
    • 最常见的无监督学习任务是 聚类(clustering) :通过输入样例来检测潜在的有价值的聚类簇。
  • 强化学习(reinforcement learning)
  • 衡量一个假设的标准不是看它在训练集上的表现,而是取决于它如何处理尚未观测到的输入
    • 我们可以使用一个测试集(test set)——第二组样本数据对 (xi, yi) ——来评估假设。如果 h 准确地预测了测试集的输出,我们称 h 具有很好的 泛化(generalize)能力
    • 偏差(bias): 当一个假设不能找到数据中的模式时,我们称它是 欠拟合(underfitting)
    • 方差 (variance) : 当一个函数过于关注它用来训练的特定训练数据集,进而导致它在没有见过的数据上表现较差时,我们称该函数对数据集是 过拟合(overfitting)
    • 偏差-方差权衡(bias-variance tradeoff):在更复杂、低偏差的能较好拟合训练集的假设与更简单、低方差的可能泛化得更好的假设中做出选择
      • 爱因斯坦建议选择与数据相符的最简单的假设
      • 奥卡姆剃刀原则 : “如无必要,勿增实体”
      • PS : 定义简单性并不容易 –> 仅通过参数个数本身来衡量模型的适合程度并不是一个好方法