深度学习
深度学习的缺陷
- 算法输出不稳定,容易被“攻击”
- 模型复杂度高,难以纠错和调试
- 模型层级复合程度高,参数不透明
- 端到端训练方式对数据依赖性强,模型增量性差(当样本数据量小的时候,深度学习无法体现强大拟合能力)
- 专注直观感知类问题,对开放性推理问题无能为力
- 人类知识无法有效引入进行监督,机器偏见难以避免
可解释性
2017年7月,国务院在《新一代人工智能发展规划》中提出“实现具备高可解释性、强泛化能力的人工智能”。
可解释性:
- 知道哪些特征对输出有重要影响,出了问题准确快速纠错
- 双向:算法能被人的知识体系理解 + 利用和结合人类知识
- 知识得到有效存储、积累和复用——越学越聪明
浅层神经网络
每个神经元的输出可表示为以下函数:
激活函数
激活函数引入非线性因素
万有逼近定理
单隐层神经网络可视化工具 —— A Neural Network Playground
如果一个隐层包含足够多的神经元,三层前馈神经网络(输入- 隐层 - 输出)能以任意精度逼近任意预定的连续函数。
当隐层足够宽时,双隐层感知器(输入 - 隐层1 - 隐层2 - 输出)可以逼近任意非连续函数:可以解决任何复杂的分类问题。
神经网络每一层的作用
神经网络学习如何利用矩阵的线性变换加激活函数的非线性变换,将原始输入空间投影到线性可分的空间去分类/回归。
每层神经网络的输出可表示为以下函数:
该函数实现了输入到输出空间的变换,其中 实现升维/降维,放大/缩小和旋转; 实现平移; 实现弯曲。
神经网络的深度与宽度
增加节点数:增加维度,即增加线性转换能力。
增加层数:增加激活函数的次数,即增加非线性转换次数
在神经元总数相当的情况下,增加网络深度可以比增加宽度带来更强的网络表示能力:产生更多的线性区域。
深度和宽度对函数复杂度的贡献是不同的,深度的贡献是指数增长的,而宽度的贡献是线性的。