对本学期所上的人工智慧课程,进行知识点核查,列出比较核心的学习点,以后有时间和机会则继续探寻关于人工智慧的更多内容。也非常感谢侯老师的手下留情,让我过了这门课。
What is AI
人工智能介绍
定义
像人一样思考的系统 =》 理性思考
像人一样行动的系统
理性思考,然后行动的系统
一门致力于以计算过程来解释并模拟智能行为的研究(1990,Schalkoff)关于智能行为自动化的计算机科学分支(1993,Lauger and Stubblefield)
应用实例
日本展示时尚机器人HRP-4C,2009-3-16,日本产业技术综合研究所
拥有移动马达(一个马达相当于人类的一个关节)158cm/43g
GMIC,2014,BeiJing 大阪大学 智能机器人研究所
石黑浩,日本当代机械人之父有65种细微表情
手机控制直升机
四轴飞行器
无线遥控摄录飞行器
四轴飞行器+动态平衡云台+GpPro数位相机
DJI PHANTOM 4 PRO
DJI Mavic Pro
DJI Spark
DJI Inspire2
DJI Go APP
超大型UAV
著名人物
Alan Turing 图灵
1936 计算机之父Truing Machine 为计算机计算理论奠定基础John von Neumann实作第一部电子计算机
1943 信息安全之父成功破解了第二次大战德国最好的加密器Enigma
1950 人工智慧之父提出Turing Test奠定了人工智慧验证方式
Bletchley Park
二次大战期间,由英国Bletchley Park致力于破解德军的Enigma和Lorenz两套加密系统,集结了当时破解机密的专家,Alan Turing和Dilly Knox, 顺利破解了Enigma和Lorenz。在第二次世界大战的大西洋之役中挽救了英国船队,免遭德国潜艇U-boot狼群战术的攻击
Turing Test ———— 图灵测试
由计算机科学之父Alan Turing在1950年提出Computing Machinery and Intelligence,用来以科学方式检定电脑的行为是否符合人工智能。
房间有两部电脑,分别由人和程式控制受测者分别以电脑打字与两部电脑聊天五分钟猜测哪一个后面是人,哪一个是程式控制30%以上的人类被欺骗,则通过测试
应用:著名的聊天程式ELIZA,MGONZ, ALICEMSN机器人2014年首部通过Turing Test的软件
挑战——知难行易
人类对很多动作或行为都可以很容易做到,但很难说清楚操作的定义
如果能清除的定义,机器人就能做到
人工智能的学理基础
哲学基础
我觉得任何学科的基础都是哲学,这是一个很深也很根本的理念。等我对此有了些理解后,再另作补充
理论基础
数学:逻辑、概率论、决策、计算、正规法则
心理学:观察人类心灵,阐述所发展原理的科学语言
语言学:有语言结构和定义的定理,《语言行为》
计算机科学:各种将AI真正实现的工具
演化史
1.孕育期 1943-1956
最早的研究者是:Warren McCulloch 和Walter Pitts(1943)
以三项资源为起点,建立人工神经元模型:
基础生理学(脑神经功能的知识)
命题逻辑的正规分析
计算理论(Alan Turing)
2.早期热忱
诞生(1956年)
由John McCarthy,召集了自动机器理论、类神经网络及智慧研究的学者,召开达特矛斯会议
定义人工智能的名称
AI正式成为新的研究领域
但是当时电脑能力有限,程式能做很少,主流声音都是电脑不能做的事情
1957年,Herbert Simon和Allen Newell提出通用问题解决机(GPS,General Problem Solver)
3.消沉期 1966-1974
一些实际存在的事实:1966-1974
很多预期的实现,并没有如期实现:
预言:十年内电脑可以成为西洋棋冠军,但是实现花了四十年
小规模的问题上成效卓著,但对于太复杂的问题未见显著的进步
4.智识期础的系统:能力的关键1969-1979
5. AI成为工业:1980-1988
专家系统的成功
美日电脑科学竞争:
1981日本宣传第五代电脑计划
美国相应提出MCC(微电子和电脑技术公司)
AI工业从数百万美元的规模暴涨到十亿美元
6. 类神经网络重新出发:1986-至今
挑战
游戏人工智能
制作怪兽、敌人、虚拟队友
碰撞侦测,非玩家角色控制(NPC)
定性与非定性AI:定性Deterministic行为或表现是明确的且可以预测,例如追逐演算法
非定性Nondeterministic具有某种程度的不确定性,有点不可预测例如让NPC学习玩家的对战战术
作弊
有限状态机
模糊状态机Fuzzy State Machine:Fuzzy Logic
NPC躲避障碍物
规则式
代理人
代理人
代理人:一切能透过感测器sensor感知所处环境,并通过执行器actuator对该环境产生作用的东西。
1 人类代理人
Sensor:眼镜、鼻子、耳朵和其他器官
Actuator:手、脚和其他部位
2 机器人代理人
3 软件代理人
Sensor:接受键盘Click,读取档案,接受网络封包Actuator:荧幕、报表、写入档案,发送网络封包
每个代理人都能感知自己的行动——>知道自己做了什么但代理人不一定能感知行动的效果,不知道行动后发生什么事,不知道这么做会对环境发生什么影响
percept知觉:表示在任何给定时刻下代理人的感知输入percept序列:代理人所收到的所有输入的完整历史Agent行动选择:取决于当下的Percept序列Agent函数:供代理人依知觉序列对应到行动选择决定代理人的行为(抽象数学表示)Agent程式:做人造代理人的代理人函数
举例1:吸尘器
吸尘器Sensor:位置侦测、干净与否Actuator:移动马达、吸力马达Action:向左移动、向右移动、吸、停
举例2:RoCar
RoCar:为可程式化控制的机器车1.特点:- 以USB与电脑连接- 可高阶语言控制2.具有多种Sensor:- 三个光线感测器:可以控制循黑色轨迹行驶- 温度感测器:火灾警示或环境温度侦测- 三个声音感测器:可以接收声音事件- 两个碰撞感测器:可以侦测左前方、右前方、正前方障碍物- 具有8个DIP开关3. Actuator- 两组马达独立:控制前进、后退,可搭配进行左、右转- 蜂鸣器:发出声音- 一组数字LED:可以显示数字状态- 七个发光二极体:灯光变化,表达二进制数字4.Action- 前进- 后退- 左转- 右转- 蜂鸣器警示(可以指定音高、音长)- 一个数字LED显示数字状态- 八个发光二极体,做灯光变化5. PID控制器依据Sensor信号,来调整发送至Acuators的输出信号,用以改变受控制状况的装置比例单元P:目前误差积分单元I:过去累计误差微分单元D:未来误差适合用于动态且不确定的控制,透过持续回馈进行持续改造,广泛使用在多轴飞行器的稳定控制系统
举例3:DJI PHANTOM 4 Pro
四轴飞行器具有前、后、下三组视觉定位壁障系统具有下方超音波测距仪可提供GPS自稳和视觉自稳控制:垂直自稳:GPS+/- 0.5米,视觉+/-0.1米水平自稳:GPS+/-1.5米,视觉+/-0.3米
理性代理人
理性代理人:(做对事情的代理人)
对于所有的知觉序列,理性代理人应该选择预期能使其效能指标最大化的行动
需要一种衡量的方法,来评价代理人是否成功
代理人成功程度标准的具体表现
理性代理人会尽力满足效能指标
错误的效能指标将会带来灾难
定义成功标准的效能指标
代理人对环境的先验知识
代理人能执行的行动
代理人当下的知觉序列
全知、学习和自主性
全知的代理人知道动作的实际代价,并且能够据此决定其行动。
在实际环境中全知是不可能的,**合理性(理性)**是仅关心那些假设已觉察到、预期中的成功。
理性是使期望的效能最大化,全知是使实际效能最大化
环境
任务环境
本质上是以理性代理人作为解答的问题
定任务环境:
制定理性代理人规格(任务环境PEAS)· 效能指标(Performance)· 环境(Environment)· Actuators执行器规格· Sensors感测器规格设计代理人的第一步是制定任务环境的规格:要尽可能地全面
举例
代理人种类:司机效能指标:安全、快速、守法、舒适的旅途,利润最大化环境:道路,其他车辆,行人,顾客执行器:方向盘,油门,刹车,信号灯,喇叭,显示器感测器:摄影机,声纳,速度计,引擎感测器,键盘
任务环境的性质
完全可观察、部分可观察确定性(deterministic)、随机性stochastic片段的episodic、连续的sequential静态的static,动态的dynamic离散的、连续的单一代理人,多代理人
代理人的结构
失败的原因:没有一个实体代理人有空间可以存储该表设计者没有时间来建立该表没有代理人可以从经验中学到该表的所有正确条目即使环境够简单,如何在表中填入所有的可能性仍很困难
基本的代理人程序
简单反射型代理人(reflex agents)agent基于当前的知觉,选择自己的行动
忽略过去的知觉历史(知觉序列)
条件-行动规则
基于模型(model-based)的反射型代理人保有历史的内部状态,以state记录环境状态的改变
基于目标(goal-based)的反射型代理人具有目前状态和目标资讯
基于效用(utility-based)的反射型代理人以提高代理人的效用为目的
学习型代理人
可以被划分为四个概念上的元件:
学习元件learning element负责做出改进接受批评者回馈的评价决定如何修改执行元件
执行元件Performance element负责选择外部动作
批评者critic评价代理人做得如何订出奖励或惩罚
问题产生器负责提出探索行动使代理人学到新而有价值的经验
搜寻法则
问题解决·代理人
智能代理人应该最大化自己的效能指标
简化最佳化效能:具有Goal并朝满足其需求而行动
例如:代理人正在罗马尼亚享受假期,在最佳化假期乐趣的前提下,有一张隔日从Bucharest起飞的机票,而且不能改签。我们的目标是赶上飞机。
代理人的简单设计方式
呼叫搜寻程序对此问题求解当代理人有多个选项的时候:- 检验各种可能的动作序列- 从中选出最佳的序列
正规化
1 假定环境
静态的,可观察的,离散的,确定性的,问题的解是动作的单一序列,无法处理任何意外的事件。
2 正式定义
可定义为四个部分:
{<Go(Sibiu),In(Sibiu)>,<Go(Timisoara),In(Timisoara)>,<Go(Zerind),In(Zerind)>}// 状态空间(state space),路径(path)
目标测试:确定指定的状态是否为目标状态
路径成本path cost每一条路径的数值化成本
3 抽象化:把与问题无关的细节去除的过程
4 正规化方法:
举例:八后问题
状态:把0到8个皇后放在棋盘上初始状态:棋盘上没有皇后后继函数:加一个皇后到棋盘上任意空格目标测试:8个皇后都放在棋盘上,且不互相攻击==》改良后状态:摆放n个皇后,让左边n行里每行都有一个皇后初始状态:棋盘上没有皇后后继函数:把一个皇后放到最左侧的空行中的任意一个空格,且没有一个皇后能攻击另一个目标测试:8个皇后都在棋盘上,且互不攻击
对解的搜寻
正规化问题后的求解过程是透过在状态空间中的搜索来完成的。
基本的搜寻是使用初始状态和后继函数共同定义状态空间所产生的明确搜寻树(search tree)
如果有多条路径可以到达同一个状态,得到的是一个搜寻图graph
搜索方法:深度优先、广度优先
这两个概念在基础的数据结构就有提到,原理也很是简单。
节点的数据结构:STATE:该节点的状态PARENT-NODE:父节点(类似继承)ACTION:由父节点产生该节点的动作PATH-COST:路径成本,由初始节点到该节点的路径成本DEPTH:自初始状态到该节点的步数具体代码查看后续其他相关博文
测量问题求解的效能
完整性Completeness
最佳性Optimality
时间复杂度Time complexity
空间复杂度Space complexity
搜索策略
自根节点开始,展开每个后继节点,再展开后继的每个后继
一层全部看完再展开下一层
为广度优先的优化
每一步的成本可以不同(由单步成本函数决定)
可应用在任何单步成本函数都是最佳的演算法
当单步成本相同时候,做特例广度优先搜索
深度优先的改良,有深度限制
有限深度优先的改良,逐渐调整深度限制
同时执行两个搜索,分别从初始和目标开展
两个搜索在中间相遇就会停止
Note:使用不完全信息的搜索信息的不完整会导致下面三种类型的问题:无感测问题sensorless problem偶发性问题Contingency problem探索性问题Exploration problem
随机数
1、随机对象
建立:Random r= new Random
依照指定区间传回随机数:
r.Next(-50,50);//传回-50到49间的整数
2、随机数的定义
//宣告Class的属性Randomr=newRandom();publicconstintDiTimes=1000000;publicint[]di=newint[6];//button的事件//清空listBox1.Items.Clear();for(inti=0;i<6;i++){di[i]=0;}.....
遗传算法
1、由来
达尔文的进化论
子代继承双亲的特征
遗传演算法系又John Holland在1975年所提出概念想法源于1859年达尔文的进化论模仿自然界的生物繁殖和五经天泽的生存法则生物的基因来自双亲基因决定了对环境的适应性基因因适应性高的有较高的概率生存繁殖
应用
进行最佳化求解
商业预测
投资决策
机器学习辨识系统的处理机制
时间序列的预测
特性
最佳化求解
效率高
适用于解答空间大的问题
非全域最佳解,知识近似解或是可接受解
以族群为单位,可以同时平行搜寻数个可能的答案
族群大小设定以时间特性与时间成本为考量
操作状态随随机值而改变
运算步骤存在随机性
2、基本运算
遗传演算法三种主要的基本运作机制:
3、方法
单点式交配两点式交配均匀交配
4、环境控制参数
群体大小交配率Crossover 方式Selection方式突变率代数或停止条件
5、群体大小
同一代群体中染色体个数通常是固定的群体设定的大小决定了训练时间的长短、训练的品质、搜索广度以及局部最佳解的陷阱
6、交配率
通过上面三个操作过程,以亲代为基础繁衍出新的子代,比较好的基因的竞争力比较大,也有较高的概率进行下一代的繁衍
准备工作:
遗传程式规划
1、遗传演算法 Genetic Algorithms GA由John Holland 在1975年提出来自达尔文的进化论GA和GP的比较Gp在结构上具有GA所缺乏的弹性可以搜索更大、更完整的解答空间能有效的解决问题由于GP搜索空间交大,因此所需的演化运算时间也比较长,较易产生特殊化的解答
2、GP的问题树状结构搜索空间过大容易产生非法解Crossover后容易产生歪斜树等树高过高GP产生解答树结构复杂最适用于GP采用的语言为LISP
类神经网络
1、人脑原理
人脑由神经元组成:神经元间由化学变化产生电气信号;接受电器信号进行信号传达;进行大量、平行信号的处理大脑运作具容错能力,部分神经元受损不影响整体运作。神经元、细胞体、细胞核、突触
2、类神经网络
每一个节点执行一个简单的计算,并传出
链接links
权重weight输入层、输出层、隐藏层
活性程度:根据从相关节点收到的每个输入信号的值,以及每个输入链接的权重计算得出
三种常用的触发函数:阶梯函数、信号函数、S形函数
单层向前回馈网络
输出单元彼此独立,每个权重只影响一个输出
能表达AND、OR和NOT的感知机,但是无法表示XOR
3、网络结构
有很多种,主要区别向前馈送(feed-forward)和递归(recurrent)
分为三层:输入层,输出层,隐藏层
Hopfield网络递归网络中最容易理解的,使用对称性权重的双向连接,所有的单元同时是输入和输出单元,只有一个函数——活性函数,程度是+/-1
双层前馈网络根据网络的权重选择并决定这些函数中的哪一项确实有表达能力
多层前馈网络最普遍的学习方法是倒递归(back-propagation)
Link向前传递信号误差以偏微分的方式向后修正
4、检视类神经网络
表达能力
计算效率
普遍性
对错误信息的敏感程度
通透性
先验知识
5、类神经网络的应用
输入资料的处理
转化为实数,通常会先正规为-1到1
布尔值:1为真,0为假
权重输入值x权重的综合透过触发函数决定输出值
触发函数:Logistic函数,阶梯函数,双曲正切函数,线性函数
训练
目的是找出连接所有神经元值的权重,让输入资料可以透过神经网络得到所需的输出值
训练方式分为:监督式学习和非监督式学习
最常用的:监督式学习的倒递归法
训练过程
最小化均方误差,据此巨鼎前一层的修正值,方式是透过触发函数的导函数进行修正
步骤:
(1)准备一组训练值,包括输入值与输出值,如果可以再加一组测试值,检验学习的成效
(2)以随机数初始化权重
(3)按照顺序读入训练,根据feed-forward决定输出值,持续传递到最终的输出值
(4)计算输出值与期望值的误差
(5)调整权重最小化误差
重复3-5直到停止条件成立
模糊逻辑
1、由来
1965年,UC Berkeley 的 Lotfi Zadehr教授提出:模糊逻辑更接近人类解决问题的方式,人类行为中语义通常是模糊的,边界通常也是模糊的
2、传统计算机理论
研究明确值,以布尔值作为判断式的结果
3、模糊逻辑
每个问题的答案是不同程度的是,不同程度的否适用于各种控制系统例子:Fuzzy洗衣机按下开始键,马达轻转动,测量衣物的重量,据此添加不同的水量,根据重量调整洗衣时程,根据水的浑浊程度调整洗衣时间。
4、模糊操作
明确输入->模糊化模糊输入->模糊规则模糊输出 -> 反模糊化明确输出
5、归属函数的种类:
布尔逻辑斜率多个模糊集合三角形反转斜率梯形曲线高次方其他其他
6、界定函数
修改归属函数传回的归属程度,不是绝对必要
7、模糊规则
通常以if A then B,若A则B的形式呈现
8、反模糊化
将输出强度聚集起来得到递归函数,转换求出明确输出值(单值输出归属函数)
有限状态机
Finite State Machine ,FSM
1、基本模型
每一个状态为一个NodeLink代表一个状态改变为另一个状态的连续变化轨迹状态为有限个系统的行为在这些状态中改变
2、应用交通红绿灯自动贩卖机电脑游戏遗传程式规