《人工智能》光速复习
第 2 讲:智能体
理性
理性的定义:对每一个可能的感知序列,根据先验知识,能最大化性能量度。
理性不等于全知。
PEAS
智能体的任务环境简写为 PEAS,即 Performance 性能、Environment 环境、Actuators 执行器和 Sensors 传感器。
环境的性质:完全可观察的 / 部分可观察的、确定性 / 随机性、片段的 / 延续的、静态的 / 动态的、离散的 / 连续的、单智能体 / 多智能体。
Agent 的类型
表驱动的 Agent:做不到;
简单反射 Agent:基于当前的感知选择行动,而不基于历史;可以通过随机化防止无限循环;
基于模型的反射 Agent:模型是「世界如何运转」的知识,通过内部状态记忆。
基于目标的 Agent:考虑行动的后果,思考「选择该动作会有什么影响」,更灵活(决策被显式地表现出来)。
基于效用的 Agent:思考「选择该动作能取得多少效用」。
第 3 讲:一阶逻辑
谓词、函词、常量
谓词:表示关系(x 是 y 的 P),比如 Brother、Owns、……
函词:表示函数(x 的 F),比如 LeftLeg、……
常量:表示对象
一阶逻辑知识工程
例子:对 1 位全加器进行建模。
先定义好词汇表,然后将基础知识表示出来:
然后对已知知识进行建模:
最后将问题表示出来:
第 4 讲:一阶逻辑推理
量词的推理规则
全称量词(UI):置换成任何变量
存在量词(Skolem):用未出现的常量符号置换,只置换一次
合一
前向链接推理
先把所有事实写在最下面
然后一条一条检查规则,向上找能不能匹配上的
反向链接推理
先把要证明的结论放最上面
找规则,看推出上面的结论,需要哪些条件,以及进行怎样的置换操作
归结
首先,需要将规则转换为若干子句「或」起来的形式,同时消除所有的量词和蕴涵。使用的方法是:
\(a\Rightarrow b\) 转为 \(\neg a\vee b\)
\(\neg\forall x p\) 变成 \(\exist x\neg p\),\(\neg\exist x p\) 变成 \(\forall x\neg p\)
\(\exist a p(a)\) 变成 \(p(F(a))\)
删除全称量词
将 \(\wedge\) 分配到 \(\vee\) 中
然后,不断用条件去拿掉规则里面的子句,最终推出矛盾。
第 5 讲:约束满足问题
回溯搜索(Backtracing)
最少剩余值(MRV)
选择受到约束最多的变量(可选值最小的变量):
最少约束值(LCV)
选定变量后,选择给邻居最多选择的值:
弧相容性(Arc Consistency)
对于每个结点,无论它选择什么,和它相邻的结点都有可选的空间。
树结构 CSP
转换为树结构 CSP
第 6、7 讲:贝叶斯网络
条件概率表(CPT)
惰性与无知:没有足够的条件(事实、信息)来明确各种各样的因素,只能诉诸于概率。
概率的计算
Markov Blanket
给定一个结点的父结点、子结点和子结点的其他父结点,这个结点与网络中所有其他结点独立。
构建贝叶斯网络
精确推理:枚举
按顺序循环遍历所有变量进行计算。
精确推理:变量消元
感觉就是一种动态规划,把部分共用的值只算一次。
精确推理的复杂度
近似推理
就是顺着网络一个个事件地尝试,最后得到一个具体情况(比如,[阴天,下雨,地是湿的]),然后重复实验看有多少次这样的情况,就能近似出一个条件概率。
拒绝采样就是一个非常典型的估计条件概率的思维:N(a, b)/N(a) 就能预计 P(b|a)。它的问题是效率太低,因为本来 a 可能就少见,你还要等 a, b。
似然加权没看懂,把教材打印了。
第 8 讲:时间上的概率推理
没看懂,把 PPT 打印了。
第 9、10 讲:统计因果分析
结构因果模型(SCM)
用来描述变量之间的因果关系。比如:
外生变量:U1: 性染色体;U2: 饮食环境;U3: 家庭条件,属于不用管的范围
内生变量:V1:性别;V2:身高;V3:成绩,属于考虑范围
链结构
如上图。正常来说,Z 可以依赖 Y,也可能依赖 X;Y 可以依赖 X。但是,如果给定 Y(相当于,固定 Y=sth),那么 Z 和 X 就「无关系」了,即
\[P(Z=z|X=x, Y=y)=P(Z=z|Y=y)\]
分叉结构
如上图。正常来说,Y 和 Z 都可以依赖 X。此外,Y 和 Z之间也可能相互依赖,比如:
X=温度;Y=犯罪率;Z=冰激凌销量。X 上升,Y 和 Z 都会一起上升,意味着:如果 Y 上升,很有可能是因为 X 导致的,所以 Z 应该也会上升,于是 Y「潜移默化」地影响着 Z。即
\[P(Z=z|Y=y)\not=P(Z=z)\]
但是如果给定 X(固定 X=sth),那么 Y 和 Z 就没关系了。
对撞结构
正常情况下,X 和 Y 是独立的,但是如果给定 Z,X 和 Y 反而可能会依赖。例如:
X=成绩好;Y=科研强;Z=奖学金。现在已经有 Z,并知道 X 不满足,那就能马上推出 Y。即
\[P(X=x|Y=y, Z=z)\not=P(X=x|Z=z)\]
同样的依赖会发生在给定 Z 的子孙条件的情况。
d-分离
如果给定一组结点,给定这些结点的值(按住它们,给出具体的值),就能让两个结点之间完全没有依赖,称这组结点能让它们 d-分离。
校正公式
强调一个概念:\(P(X=x|do(Y=y))\) 表示强制让 \(Y=y\)(不用考虑为什么)的时候,\(X\) 的概率;而 \(P(X=x|Y=y)\) 则表示自然条件下如果出现了 \(Y=y\) 再出现 \(X=x\) 的概率。通过这种方式可以按住某个变量来阻断路径,避免其他变量的干扰。
后门准则
前门准则
第 11-14 讲:AIGC
词嵌入模型
c ̂_t - Candidate State : represents a temporary value that carries new information to update the LSTM cell's internal state.CBOW:上下文推中心:
Skip-gram:中心推上下文:
LSTM
\(i_t\) - Input Gate : The input gate is responsible for updating the cell state with new information.
\(f_t\) - Forget Gate : The forget gate is responsible for deciding what information from the previous cell state should be thrown away or kept.
\(o_t\) - Output Gate : The output gate decides what the next external state ℎ_t should be.
\(C_t\) - Internal State : represents the memory of the LSTM cell at a given time step "t", It is also referred to as the cell state.
\(h_t\) - External State : represents the output of the LSTM cell at a given time step "t." It can also be considered as the hidden state of the LSTM cell.
\(\hat{c}_t\) - Candidate State : represents a temporary value that carries new information to update the LSTM cell's internal state.