2.What can a network represent笔记-CMU《深度学习导论》
2. Neural Networks: What can a network represent
定义深度
隐含层大于1都为深度神经网络
该图深度为2
MLPs 可以作为通用布尔函数
作为 通用的 与门
作为 通用的 或门
对于任意的布尔函数,都可以变成真值表,然后通过DNF,通过MLP实现(一个隐含层)
对于卡诺图不能化简得,只用一层隐含层需要多少神经元
答:\(n\) 个变量需要 \(2^{n-1}\) 个神经元,指数级别得数量
若使用深度
发现随着层数越多,使用得感知器变得很少
(注:如果一层的数量少于最少需要的数量,则会导致出现指数的个数)
总结:MLP可以模拟任意的布尔函数,但是需要足够的宽度或者深度,最佳的宽度和深度取决于布尔函数的复杂度,有更多的层,可以大幅度降低网络的大小
MLPs作为通用分类器
直接已经学过,可以通过分割成多个凸函数,分别构造决策边界,来实现。
现在想要使用一个隐含层来实现该决策边界,该如何实现?
首先先使用一个隐含层实现一个圆形
同时减掉 \(n/2\)
通过这样就可以模拟任意的图形了
但是就需要很多的神经元了,有了更多的深度,神经元的个数就大大减少
考虑如下,最差的情况
(黄色为决策平面)
使用一层,需要无限个神经元
使用两层,只需要56个
总结:深度网络需要更少的神经元对于浅层网络,深度网络更具有表现力
MLPs作为通用近似器
使用模拟方向脉冲,模拟任意函数
对于更高维的情况,就可以模拟圆柱体
仅仅只需要一个隐含层,只有求和时有效,并没有"激活函数"
激活函数
实质上,网络结构是将所有的输入到输入激活的映射
激活函数可以获得输出离边界的距离
但是有的激活函数在对于边界的信息可能会丢失
RBF 网络结构
对于有些问题上更高效。
小结
- MLPs are universal Boolean function
- MLPs are universal classifiers
- MLPs are universal function approximators
- A single-layer MLP can approximate anything to arbitrary precision
- Deeper MLPs can achieve the same precision with far fewer neurons