深度学习好在哪里?

深度学习好在哪里?

我们已知陷入了两难的境地:

当我们选择一个较为复杂的模型,它所对应的可选方程就会有很多,在最理想的数据集中,我们可以得到更小的loss,但是坏处就是理想和现实训练集训练得到的方程在实际数据集中的loss会有较大的差距。

而选择一个较为简单的模型的话,它所对应的可选择的function就会更少。对应的在最理想的数据集中,loss就会比较大。但是训练集所得结果和理想的结果距离就会较小。

那有什么手段可以使我们既可以得到较小的理想数据集训练得到的function的loss,还可以减小训练集得到的function在实际数据集中的loss与理想的距离呢?

深度学习可以解决这个问题。

1. 为什么需要深度学习

前情提要:俩relu可以合成一个hard sigmoid。
多个hard sigmoid可以合成任意piecewise function.
多个sigmoid也可以拟合任意function。

而每个function都可以用一个neural来计算,所以只要有一个hidden layer就可以拟合任意方程。但是为什么不只用一个hidden layer然后增加他的宽度,而是增加更多的layer的层数呢?

想要拟合同一个方程,deep比wide实现所需要的参数更少。所以deep learning反而不容易over fitting。(2011年论文)

而且更少的参数对应的需要更少的训练资料,对应求loss的上限公式。少的参数,总方程数就少,想要减小loss对总训练样本数的要求较少。

1. Analog-Logic Circus 类似物:逻辑电路

以逻辑电路为例(并不是深度神经网路)

输入一串01010…的编码,判断其中1出现的次数是计数次还是偶数次,偶数次(even)输出1。奇数次(odd)输出0。

上述要求如果只用两层逻辑电路完成,需要2d2^d2d个门,d为编码串的长度。XNOR:与门

2. Programming 类似物:程序

程序也不会把所有的function都放在main函数中。而是不断地互相调用。

程序这样不断地写单独的子函数可以避免结构冗长,增加可读性,更为简洁,增加代码复用率。

深度学习中deep的好处

只需要每层两个neural,K层就可以获得2K2^K2K个pieces的曲线。即deep, 对曲线的拟合是指数型增长的效果。

但是如果只用一层,且activation function为relu。那2K2^K2K个线段就需要2K2^K2K个neural。需要的参数过大。

二者对比,deep的模型更加简单,shallow的模型更加复杂,deep更不容易出现过拟合现象,需要的训练资料也更加少。

如果所需的function是复杂的且有规律的,那么deep的network优于shallow的,而语音和图像识别通常都可以满足这样要求的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值