深度学习(ch6 Deep Feedforward Network) 19/5/18更新

(文章不定期增加更新,算是阅读笔记类型)

 

1. 观点:

深度前向网络和神经科学还是有着非常大的不同,在当前的情况下,深度网络的principle,discipline主要来自于数学(mathematical)和工程(engineering),而不是在跟着生物神经科学在做。对于深度网络的观点,更适合的是将其作为一个万能的函数逼近器。

 

2.线性模型的缺点:

难以建模两个样本点之间的关系(因为线性函数只是单个样本x的函数),SVM中的kernel trick实际上缓解了这一部分的问题

对于这种问题,有三种解决方式:1.建模\phi(x),使得能过获得非线性 2. 手动的设置\phi(x),即使用先验知识(主要来自于问题领域)来设计函数,但是这种方法需要人力 3.学习\phi(x),即深度网络的方法。

 

3.异或学习的启示

可以看做XOR的预测是一个回归问题,使用均方误差来最小误差。这里先使用wx+b的线性模型(神经网络):

假设我们学习了一个函数f(x)=w^Tx+b,w是线性模型的参数,根据这个图形,如果从(1,0)(1,1)两个点来看,随着x1的增加,f(x)也应该增加,可是另外两个点(0,1)(1,0)表示应该减少,这个问题在线性情况下根本是无法解决的。

有人可能会说,如果多做其次线性映射呢?比如f(x)=w_2(w_1x+b_1)+b_2

这种问题实际上就是还是一个线性映射而已,因为上面的式子可以表达为f(x)=w_2w_1x+w_2b_1+b_2=Wx+B,W=w_2\timesw_1,B=w_2\timesb_1+b_2

为什么要强调这个问题?这是因为堆叠线性的神经网络还是线性的模型,是无法解决这种问题的,如果使用input-hidden-output,这样有两个层网络来预测XOR,但是中间都是线性函数,增加再多参数(层)都是无法解决这个问题的。

所以这就需要有激活函数了。很简单,激活函数就是非线性函数,现在一般使用ReLU,书中的具体例子我没时间详细描述了,还要做实验……简单说一下使用非线性以后的效果

使用例子中的非线性函数以后,(0,1)(1,0)两点被映射到了同一个点上,这个实际上就是考虑了两个点之间的关系了,即点2里面说的样本之间的关系。可以看到,在这个学习到的空间内,三个点是很容易被一条线分开的,在这个学习到特征空间内,最后使用一个线性模型就可以解决问题了。

(2019.4.23,就更新到这了,后面的边看边写吧)

6.2 基于梯度的学习

1. 神经网络的不同之处:存在大量的非线性单元,导致优化目标是一个非凸的函数。

非凸函数意味着无法直接求出全局最优值。

2.初试化:凸优化问题在任意给定的初始参数下都是可以收敛到全局最优的,但是非凸函数则不同,不同的初试化意味着不同的搜索路径,不好的初试化可能会搜索到一个较差的最小值。

一般而言,我们会将权重赋的稍小,偏置一般设为0或者较小的正数。

3.一般而言,我们都是用基于极大似然估的交叉熵函数来优化模型,这使得我们避免了对每个模型都要重新设计一个损失函数,另外一方面,交叉熵中的-log是一个有效应对神经元饱和的方法,比如对于sigmoid等,通过-log可以回复出exp的输入。

(2019/05/18 emm更新有点慢,书已经看到300页了,写博客真的挺累的……)

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值