国科大《高级人工智能》吴老师部分——联结主义笔记
- 吴老师上课dddd,上课东西太多太杂,听不太懂比较煎熬,但是课后花点时间理解理解,还是挺有帮助的
- 考试按照重点复习即可,虽然答疑时提到的传教士野人没考,但是知识点基本都在最后一节ppt里
- 听说下一届就不会用原题了
文章目录
- 一、搜索
-
- 1.概念
-
- 2.树搜索
- 深度优先DFS
- 广度优先BFS
- 3.启发式搜索
- 4.图搜索
- 5.局部搜索
- 二、人工神经网络
-
- 1.神经网络
- 2.感知机
- 3.深度神经网络
- 4.CNN卷积网络
- 5.RNN
- 6.GAN生成式对抗网络
- 考试回忆
一、搜索
1.概念
形式化描述
搜索问题的形式化描述:
- 状态空间
- 后继函数
- 初始状态
- 目标测试
- => 解:一个行动序列,将初始状态转换成目标状态
野人与传教士问题
- 状态空间:{(左岸传教士数量, 左岸野人数量, 船状态[1在左岸,0在右岸])}
- 后继函数:{ P01, P10, P02, P20, P11, Q01, Q10,Q02, Q20, Q11}(船向左/右, 船上传教士数量, 船上野人数量)
- 耗散函数:当前状态下船从一侧划到另外一侧耗散值为1个单位
- 初始状态:(3, 3, 1)
- 目标状态:(0, 0, 0)
搜索算法特性
- 完备性(问题有解且能找到一个)
- 最优性(保证找到最优解[最小损耗])
- 时间、空间复杂度
2.树搜索
扩展出潜在行动,维护行动的边缘节点,扩展尽可能少的树节点。
深度优先DFS
- 描述:回溯,每次从边缘集合选最深的[栈]
- 不保证完备性(有环层数无限大)与最优性(无视深度损失)
- m层b叉:时O(bm) 空O(bm)
- 迭代深入搜索:结合DFS空间优势+BFS时间优势
广度优先BFS
- 描述:对每个相邻节点再访问其相邻但是未被访问过的节点[队列]
- 保证完备性+最优性
- m层b叉:时O(bm) 空O(bm)
- 代价一致搜索:总是扩展路径消耗最小的节点
3.启发式搜索
- 描述:利用问题拥有的启发信息引导搜索
- 启发策略:估计一个状态到目标距离的函数
- 贪婪搜索:扩展离目标最近的节点,不具完备性、最优性
- 评价节点:启发函数f(n)=h(n)(当前节点到终点的开销)
- A*搜索:代价一致搜索 + Greedy,
- 评价:f(n)=代价函数g(n) +启发函数h(n) 启发函数可采纳->最优性
4.图搜索
- 描述:避免重复状态,不扩展一个状态两次:树搜索+扩展过的状态集(closed set)
- A*图搜索:启发式的一致性 => A*图最优
- 一致性:沿路径的节点估计耗散 f 值单调递增:h(A) ≤ cost(A to C) + h©
5.局部搜索
- 描述:改进单一选项直到不能再改善为止;新的后继函数: 局部改变;不完备,不最优
- 爬山法:任意位置起始,重复直到移动到最好的相邻状态(可能局部最优解)
- 模拟退火搜索:引入随机因素,避免局部极大(允许向山下移动)
- 遗传算法:适应度函数,每步保留N个最好状态
二、人工神经网络
1.神经网络
- 神经元模型:二值神经元模型、模拟神经元模型、二值随机神经元
- 网络结构:前馈结构、反馈/循环结构
- 学习方法:通过神经网络所在环境的模拟过程,调整网络中的自由参数
2.感知机
单层感知机:
- 二值神经元模型+单神经元网络
- 基于超平面判别分类,不能处理非线性分类问题
多层感知机:
- 模拟神经元模型+三层前馈网络
- BP算法:链式规则,从前往后计算结果,从后往前误差反传调整参数(梯度求导),结果评价:最小二乘法
- 梯度消失:BP网络中,由于激活函数的原因,误差反向传播时,样本梯度越来越小,基本上接近于0,意味着初始层的权重和偏差不会在训练中得到有效更新,可能导致网络整体不准确,得不到良好的解
3.深度神经网络
- 学习方法:自下向上的非监督学习 or 自顶向下的监督学习
- 自动编码器:非监督方法得到每层神经元的结果累加,通过端对端的训练调参
- 深度玻尔兹曼机DBM:浅层网络是双向的,最小化能量函数
- 受限玻尔兹曼机RBM:层间全连接,层内无连接,随机神经元,限定模型为二分图,学习目标是极大似然
- 深度置信网络DBN:非监督的预学习+监督微调,多个RBM堆叠
4.CNN卷积网络
- 特点:局部链接、参数共享、子采样(选择题)
- BP算法
- 输出层:代价函数的确定及求导
- Pooling:数据的下采样及残差的上采样,降低数据空间尺寸,减少网络参数
- 卷积层:数据的卷积运算及残差的反卷积运算,对输入图像降维和特征抽取
- 全连接层:整个网络分类器的作用
- 举例:
- GoogleLeNet:模块叠加实现深层网络搭建
- 残差网络:解决深度网络退化问题,深层网络的后面若干层学习成恒等映射,模型就退化成浅层网络
- 图像数据应用
5.RNN
- 描述:对序列数据建模,存储过去信息+非线性动态更新隐藏状态
- 结构:隐层有时回有连向下一时间Hidden Layer的边
- 学习算法BPTT:实现权值一致,前向网络,所有时刻损失相加=总损失
- 长序列神经网络:解决梯度膨胀或消散问题
- GRU:重置门、更新门(计算速度快、容易创建较大的网络)
- LSTM:遗忘门、信息增加门和输出门
- BRNN:双向
- DRNN:深层循环神经网络
序列模型:
- 机器翻译:条件语言模型 — 集束搜索
- 例子:Encoder、Decoder为RNN:
- Encoder:每个输入的词向量会经过线性变换
- Decoder:可以是预先训练好的语言模型,能预测合理的English短语
- 训练encoder、decoder的weights,使所有单词的交叉熵达到最小,每次得到一个最有可能的翻译结果
- 注意力模型:在生成每个翻译结果时只考虑部分提取到的特征
6.GAN生成式对抗网络
考试回忆
- 选择题:
- A*树搜索最优条件
- tanh函数图像
- CNN特点
- 神经网络在哪一项引入非线性
- 感知机特点
- GAN特点
- 简答题:
- 启发式算法:什么时候算法保证完备 or 保证最优?
- 应用题:
- 感知机实现布尔函数
- 卷积神经网络的各层神经元数量和可训练参数数量
- RNN设计翻译器