前沿技术讲习班学习笔记1-邱锡鹏老师

大纲:

(1)概述:机器学习概述、感知器、应用

(2)基础模型:前馈神经网络、卷积神经网络、循环神经网络、网络正则化与优化、应用

(3)进阶模型:注意力机制与外部记忆、无监督学习、概率图模型、深度生成模型、深度强化学习、模型独立的学习方式

整理的知识点:

1. 机器学习历史:1950~1965(规则+知识)、1970~1985(专家系统)、1985~2005(统计浅层学习)、2005~至今(统计深层学习)

2. 机器学习模型分为线性方法 [y=f(x)=θTx+b](线性回归)、广义线性方法 [y=f(x)=θTΨ(x)+b](对特征进行组合变换如SVM,个人觉得第四范式也是利用了这个思路,生成海量特征)和非线性方法(神经网络)。

3. 机器学习核心是解决语义鸿沟问题,即将高维底层特征映射到低维高层语义。如图像分类是将由像素组成的图片映射到人类理解的少数语义类别,新闻情感分类是将由字组成的语言映射到几种情感表达。

4. 自然语言处理的最大难点是语义表示问题,其基础是词义表示问题。词存在歧义、近义、同义、反义、类属等现象,现有所有词表示方法包括词向量表示都无法同时满足表达这些信息,所以导致计算机不能真实理解语义。

5. 机器学习类型

  监督学习 无监督学习 强化学习
输入 有标签数据 无标签数据 决策过程
反馈方式 直接反馈 无反馈 奖励
目标 分类、预测 发现隐藏结构 动作

6. 机器学习涉及概念:泛化错误、过拟合、损失函数、参数学习、优化

7. 泛化错误:期望风险是真实数据误差,经验风险是样本数据误差,泛化错误表示经验风险以概率逼近期望风险。

 注:对于经验风险、期望风险、结构风险的联系与区分,可以查看前一个博文 机器学习优化问题-经验风险、期望风险、结构风险

 在选择合适的风险函数后,我们寻找一个参数θ*,使得风险函数最小化 θ*=argminR(θ)。机器学习问题转化为一个最优化问题。

8. 线性分类器

  损失函数 优化方法
线性回归 平方误差 最小二乘、梯度下降
logistic回归 交叉熵 梯度下降
感知器 0-1损失 wk+1=wk+yixi
支持向量机 Hinge损失 SMO等

9. 损失函数:0-1损失函数(最大问题是不可导),平方损失函数(可导,但不适用多分类问题),交叉熵损失函数(描述两个分布的距离,适用于多分类,交叉熵损失函数 vs KL距离)。

10. 优化:梯度下降法、批量梯度下降法BGD(解决梯度下降法慢的问题,若α太大,左右跳)、随机梯度下降法SGD 也叫增量梯度下降法(解决数据量大的问题)、小批量mini-batch随机梯度下降法。SGD解决小内存之于大数据杯水车薪的问题。

   注:机器学习基本概念:凸优化问题、批量学习batch learning、在线学习online learning(参考博文online learning, batch learning&批量梯度下降,随机梯度下降

  • 批量学习(batch learning),一次性批量输入给学习算法,可以被形象的称为填鸭式学习。
  • 在线学习(online learning),按照顺序,循序的学习,不断的去修正模型,进行优化。

11. 过拟合解决方案:提前停止(如何确定提前停止)、学习率设置(动量法、AdaGrad、AdaDelta和AdaM)。提前停止:使用一个验证集(Validation Dataset)来测试每一次迭代的参数在验证集上是否最优,如果在验证集上的错误率不再下降,就停止迭代。我们所用的开发集即是验证集。动量法:若两次梯度方向一样,则走得更远。

12. 分类模型流程end-to-end:模型表示、特征抽取、参数学习、解码算法

13. 处理线性不可分问题方法:广义非线性模型和非线性模型,广义非线性模型采用组合特征方法,其物理意义是对信息进行几何变化(如对折等),非线性模型的物理意义是对信息进行多次切割。

14. 特征工程问题

  • 数据预处理:如去除噪声,文本分类中为去除停用词。
  • 特征提取:从原始数据中提取一些有效的特征。如在图像分类中,提取边缘、尺度不变特征变换特征等。
  • 特征转换:对特征进行一定的加工,如降维和升维。降维包括特征抽取(PCA、LDA)和特征选择(互信息、TF-IDF)。

15. 深度学习等于表示学习加上浅层学习,其特点在于自动学习了数据的表示特征,并自动解决了特征的贡献度分配问题(贡献度分配问题可以用神经网络和隐马尔科夫模型解决)。        

16. 表示学习:为了提高机器学习系统的准确率,我们将输入信息转换为有效特征,也叫表示(Representation)。如果有一种算法可以自动地学习出有效的特征,并提高最终分类器的性能,那么这种学习就叫做表示学习(Representation Learning)。

17. 一个好的表示学习策略必须具备一定的深度。好的表示学习需具备特征重用和抽象表示与不变性两大特点。好的特征表示应能【独立】于具体问题存在,或说对于不同任务有较高的可复用性。

  • 特征重用:指数级的表示能力。
  • 抽象表示与不变性:抽象表示需要多步的构造。

18. 为什么需要深度学习?如果仅是划分问题,三层的MLP已经够了,因为它可以拟合任何复杂的函数或分布,深层的主要目的是解决数据的表示问题,说白了就是特征问题。

19. 人工神经网络的三个要素:神经元激活规则(主要是神经元输入到输出之间的映射关系,一般为非线性函数,一般要可导)、拓扑结构(不同神经元之间的连接关系,神经元之间的连接也成为权重,还可能会有模型的偏置)和学习算法(通过训练数据来学习神经网络的参数)。

20. 神经网络可以自动解决组合型问题(贡献度分配问题),它可以自动找出权重分配。

21. 深层神经网络难点:参数过多,影响训练;非凸优化问题,存在局部最优解而非全局最优解,影响迭代;下层参数难调;参数解释起来比较困难。

22. 深层神经网络需求:计算资源要大;数据要多;算法效率要好,收敛快。

23. 不同的神经网络结构

  • 前馈神经网络:各个神经元分别属于不同的层,整个神经网络无反馈,信号从输入层向输出层单向传播,可用有向无环图表示。前馈网络可以看作一个函数,通过简单非线性函数的多次复合,实现输入空间到输出空间的复杂映射。主要采用误差修正法(如BP算法),计算过程一般比较慢,收敛速度也比较慢。前馈网络包括全连接前馈网络卷积神经网络等。
  • 反馈神经网络:神经元不仅可以接收其他神经元的信号,也可以接收自己的反馈信号,可用一个完备的无向图表示。和前馈网络相比,反馈网络在不同时刻具有不同的状态,具有记忆功能,因此反馈网络可以看作一个程序,也具有更强的计算能力。主要采用Hebb学习规则,一般情况下计算的收敛速度很快。
  • 记忆网络:在前馈网络或反馈网络的基础上,引入一组记忆单元,用来保存中间状态。同时,根据一定的取址、读写机制,来增强网络能力。和反馈网络相比,记忆网络具有更强的记忆功能。

24. 不可导解决思路:强化学习。

25. 激活函数:Logistic函数(0~1空间);Tanh函数(-1~1空间);ReLU(0~无穷);SoftPlus函数(0~无穷)。

26. 参数更新一般不包含偏置。反向传播的正则化项中不包含偏置。因为偏置比较重要?

27.前馈神经网络的训练过程可以分为以下三步:

  • 前馈计算每一层的状态和激活值,直到最后一层;
  • 反向传播计算每一层的误差项;
  • 计算每一层参数的偏导数,并更新参数。

    注:误差项:目标函数关于第一层神经元的偏导数。

28. 梯度消失、梯度爆炸问题,为什么logistic函数的导数空间是(0, 0.25),tanh函数的导数空间是(0, 1)

29. 梯度消失、梯度爆炸的解决方案:逐层训练,ReLU函数、Dropout。

30. 相比DNN,CNN的本质是减少了参数,它主要通过局部连接、权重共享和空间时间次采样来解决。

31. CNN参数计算,给出一个具体的例子。需要逆序相乘。

32. 深度学习的梯度求解主要是通过链式法则求解。

33. CNN vs RNN:CNN主要从空间角度解决特征降维问题,RNN主要从时间维度解决特征降维问题;CNN支持并行计算,RNN暂时未能有效支持并行计算;有一些研究认为CNN通过多层近似达到RNN的远距离影响效果。

34. 长期依赖问题:由于梯度爆炸或消失问题,实际上只能学习到短周期的依赖关系。对RNN来说,梯度消失或爆炸的另一种表现即长期依赖问题,引出了LSTM、GRU等各种变体。

35. 深度学习优化方法:数据增强、数据预处理、网络参数初始化、正则化和超参数优化。

36. 深度学习超参数优化因素:层数、每层神经元个数、激活函数、学习率(动态调整)、正则化系数、mini-batch大小。

37. 超参数优化方法:网格搜索(Grid Search)、Random search。

38. 参数初始化:Gaussian初始化、Xavier初始化。(参数不能全部初始化为0解释)。参数全部初始化为0会导致出现对称权重现象,没有梯度反向传播

  • Gaussian初始化:参数从一个固定均值(比如0)和固定方差(比如0.01)的Gaussian分布进行随机初始化。
  • Xavier初始化:参数在区间[-r,r]内采用均匀分布进行初始化。

39. 数据预处理,数据归一化:标准归一化、缩放归一化和PCA。

  • 标准归一化:也叫z-score归一化,将每一维特征都处理为符合标准正态分布(均值为0,标准差为1)。
  • 缩放归一化:通过缩放将特征取值范围归一到[0,1]或[-1,1]之间。
  • PCA:使用PCA方法可以去除掉各个成分之间的相关性。

40.批量归一化:通过对每一层的输入进行归一化使其分布保持稳定。归一化方法选用上面几种。

41. 深度学习经验整理:用ReLU作为激活函数、分类时用交叉熵作为损失函数、SDG+minin-batch、每次迭代都重新随机排序、数据预处理(标准归一化)、动态调整学习率、用L1或L2正则化、Dropout、数据增强。

42. 长期依赖问题的改进方法:注意力机制和外部记忆。

43. 记忆网络:动态记忆网络和Differentiable neural computers(借鉴了计算机的架构原理,将神经网络分为Controller、Heads、Memory、Links和Usage等部分)。

44. 概率图模型(PGM,简称图模型GM):指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。(有向图:贝叶斯网络/信念网络,无向图:马尔可夫随机场)

45. 图模型 vs 神经网络:网络结构类似、节点(图模型的节点是随机变量,其图结构主要功能用来 描述变量之间的依赖关系,一般是稀疏连接;神经网络中的节点是神经元,一个计算;如果将神经网络中每个元看做是一二值随机变量,那神经网络就变成一个(sigmoid信念网络SBN)、解释性(图模型中的每个变量一般有着明确解释,之间依赖关系一般是人工来定义,而神经网络中的神经元没有直观解释)。

46. 神经网络表示能力强,能替代各种复杂的分布和函数,这也是深度学习火热的一个重要原因。

47. 深度学习模型:

  • 生成模型(Generative model):又叫产生式模型,优化训练数据的联合概率分布。常见的生成模型有:Gaussians, Naive Bayes, HMMs, Sigmoidal belif networks, Bayesian networks, Markov random fields。
  • 判别模型(Discriminative model):又叫条件模型,优化训练数据的条件分布概率。常见的判别模型有:logistic regression, SVMs, Nearest neighbor, traditional neural networks。

     注:推荐阅读博文生成模型与判别模型

48. 生成模型指一系列用于随机生成可观测数据的模型。生成数据的过程可以分为两步进行:根据隐变量的先验分布进行采样,得到样本;根据条件分布进行采样,得到数据。

49. 深度生成模型就是利用神经网络来建模条件分布。如对抗生成式网络(GAN)、变分自动编码器(VAE)。

50. 强化学习算法

  • 基于模型的强化学习算法:基于MDP过程,条件转移概率和奖励函数;值迭代;策略迭代
  • 模型无关的强化学习:无MDP过程;蒙特卡罗采样方法;时序差分学习

51. 深度强化学习是将强化学习和深度学习结合在一起,用强化学习来定义问题和优化目标,用深度学习来解决状态表示、策略表示等问题。

注:具体概念可参考邱老师所写的书 https://nndl.github.io/

原文地址:https://www.cnblogs.com/Joyce-song94/p/7442430.html