到底什么是TM的人工智能
Agent:某环境下完成某事的个体非要说这么高级
Agent 智能:
- 行为与其环境/目标适应
- 灵活适用于改变的环境/目标
- 从经验中学习
- 给定限制后做出恰当选择
前辈们的努力
自古以来,诸多科学家哲学家都试图以一个模型来解释人类的思维。
大概400年前,有人提出思考是符号推理。而随着计算机发展,符号运算变得具体——$\lambda$演算表明任何有效可计算的函数都没可以通过图灵机运行我是不是该先去看魔法书?
除了抽象的符号推理,还有研究神经元如何工作而受启发,设计出的神经网络。
早期关注的领域为学习和搜索。在学习之前,首先应该找到方法描述知识。
感觉看上去,人工智能和好多好多学科都能扯上关系。但不同于传统哲学、心理学、经济学以及社会学只是从外部观察智能系统的行为,人工智能研究者对智能行为可以重复性验证实验。另外,人工智能也可以看作认知科学的部分,认识论主要研究知识。
环境交互
Agent 执行行为所在环境,环境为Agent提供输入值,Agent对环境输出行为
输入一般依赖于
- Agent及其环境先验知识
- 与环境交互历史
- 当前环境观察
- 先前经验和观察
- 达到目标和环境的偏好
- 能力
知识表示
一般我们要解决的问题和要完成的任务是通过非形式化的语言描述的就是人话
因此设计求解系统者必须:将人话翻译为计算机语,再将结果翻译人话
- 具体化任务,制定解决方案
- 用特定语言表达问题
- 用计算机输出结果
- 将输出解释为解除方案
知识:用以解决本领域问题的信息
表示方案:Agent使用的知识形式
好的方案显然是许多竞争性目标的折中:
- 足够丰富能解决问题
- 接近问题且简洁、自然、可维护
- 可经得起有效计算检验
- 可从人类、数据、先前经验获得
因此解决问题必须考虑:
- 问题的解决方案?怎样解决方案是好的?
- 问题如何表达?解决问题需要环境哪些特性?哪些具体知识?如何从以往经验获取知识?这些知识如何被调试、维护、改进?
- 如果计算输出?能否减少时间?理解答案是如何推导是否重要??
定义解
设计者应当确定解的构成,但通常并不是所有问题都能很好说明。因此,要判断当答案不正确不完整时,对解的影响。通常符合标准的4类解决方案:
- 最优解:最符合求解质量度量最好的解
- 可满足解:满足某些条件即可
- 近似最优解:质量度量理论存在最优解,但在其一定范围即可
- 可能解:不是真正的解,只是有希望的解,可以视为可满足解的近似
表示
计算机和人类思维都属于物理符号系统。物理符号系统具有必要且充分的机制进行一般智能活动。Agent通过物理符号对世界抽象建模,抽象层次是按抽象程度进行的偏序,低层次抽象具有更多的细节。Agent模型可以多重,甚至对立,能用就行。
选择合适的抽象层次是困难的:
- 对于人类,高层次描述更易理解
- 低层次更准确,高层次易忽略诸多细节
- 层次越低越难推理,因为涉及更多步骤和选择路线
- 你可能甚至不知道低层次到底要啥信息
推理 & 行为
推理:符号的操作
人工智能和程序的重要区别为,人工智能主要表达的是需要计算什么而非怎样去计算。在决定Agent要做什么时候,必须区分三个计算:
- 设计时刻推理:设计Agent时的计算,应该由设计者完成
- 离线计算:观察世界,行动之前的计算,包括汇编和学习离线获取背景知识,并汇编为可用形式
- 在线计算:Agent执行某些动作的计算
复杂性维度
Agent设计时存在多个维度的复杂性,但建造智能时必须组合起来,定义为一个设计空间。常用维度包括:模块性、表示方案、规划期、感知不确定性、效用不确定性、偏好、Agent数量、学习、计算限制。
模块性
模块性:系统可以分解成独立交互模块的程度
模块性能够降低复杂性,在脑部结构中是重要的,是计算机科学基础。模块性通过层次结构分解体现。在模块化维度中,Agent结构是下列一种:
- 扁平的:系统中没有组织结构
- 模块化的:可分解为独立的交互模块
- 分层的:每个交互模块是一个分层系统,以此类推到最简单的组件
表示方案
表示方案:如何描述知识世界
在表示方案维度中,Agent可以从以下方面推理:
- 状态:世界影响Agent行为的各种方法
- 内部状态
- 环境状态
- 特征:描述状态的值
- 个体与关系角度进行相关性描述:
规划期
规划期:Agent规划未来时间的程度
在该维度下,Agent可分为:
- 非规划Agent:不考虑未来
- 有期限规划者:遵循固定时间步的规划者分几个步骤执行
- 不确定期规划者:能够探索几步但不确定具体步数
- 无限期规划者:一直进行规划
不确定性
感知不确定性
感知不确定性:Agent能否观察到世界状态
- 完全可观察:从观察中直接得到世界状态
- 部分可观察:观察结果有噪声可能性的概率分布
效用不确定性
效用不确定性:给定状态和动作是否能预测动作后的状态
从动力学角度可以分为:
- 确定性的:结果由状态和动作确定
- 随机的:对于结果只能给予概率分布
本维度仅在完全可观察下成立,若动作依赖于不可观察的特征,可以建立一个随即系统模型
偏好
偏好:Agent为更优结果,做出某动作优于某动作的选择
偏好维度看Agent是否有:
- 目标:可以是要达到的目标,也可以是要维持的状态
- 复杂偏好:不同时期权衡各种期望
Agent数量
多Agent操作中,Agent应能对其他Agent由策略性能力,可以进行欺骗也可以进行合作。
Agent数量维度主要考虑:
- 单个Agent推理:Agent假设其他Agent为环境一部分,即其他Agent不会因其动作改变
- 多Agent推理:将其他Agent考虑进来
学习
学习维度由以下决定:
- 已有知识
- 习得知识(数据或先前经验获取)
计算限制
计算性质由Agent是否具有以下性质决定:
- 完全理性:Agent实现方案不必考虑资源
- 有限理性:在限定计算资源下决定最佳方案
计算资源包括计算时间、内存、数值精度
任意时间算法:解质量随时间提高