深度学习的一些问题

1、DCGAN为什么要在判别器的输入层和生成器的输出层去掉归一化?

因为如果全部用归一化就会导致样本震荡和模型不稳定。

2、使用xavier有什么用?

def xavier_init(shape):
    in_dim = shape[0]
    stddev = 1/tf.sqrt(in_dim/2)
    return tf.random_normal(shape=shape,stddev=stddev)

有利于信息在网络中更好的流动。

3、什么是dropout,有什么作用?

以一定的概率让某些神经元失活,从而防止过拟合。

4、leaky relu激活函数是什么,有什么优势?

y=x(ifx>0)else y=\gammax

函数的输出对负值输入有很小的坡度,且梯度总是不为零,这能减少静默神经元的个数,解决了relu函数进入负区间导致神经元不学习的问题。

5、对于损失函数(y-y^)**2,为什么我们使用mean(y-y^)**2呢,就是为什么不用平方差损失而用均方差?

首先,y和y^在深度学习里面是张量,相减以后呢还是张量,因为在求导的时候只能是标量对张量求导,不能张量对张量求导,加平均之后就是一个标量了。

 

 

在以前都是人工设计卷积核,用于提取x、y方向的边缘特征,但是深度学习自己通过学习来提取一些边缘、朝向、分布、纹理这样一些特征,也就是自动的学习到一些有用的需要的特征。
为什么需要多个卷积层:因为每一个卷积层提取的特征类型是不同的。
为什么需要多个卷积核:因为提取的特征不可能只有一个吧,同一类的特征需要提取多个。
输出图像的每一个通道就是有不同卷积核卷积得到的。
卷积核在各自通道上进行相乘相加之后再吧各自通道的值加起来得到这一层输出通道的一个值。

卷积神经网络对旋转和平移操作有一定的抵抗,就是具有旋转和平移的不变性,就是说卷积稍微平移一点或者稍微旋转一点所提取出来的特征是不变的(极大值和均值是不变的)旋转或者偏移一点这块区域是不变的,输出结果还是他们的极大值或者均值,稍微改变一点点不会改变极大值和均值,因此它对小幅度的平移和旋转是不敏感的。

 

 

分组卷积的理解:

一个filter是由很多个kernel组成,而分组卷积是将不同的filter分到不同的组上,这时的每个组的filter是与原来的filter完全不同的。

残差网络的理解:

通过将前面的直接连接到后面这样的目的是解决退化问题,而不是解决梯度消失,因为有可能网络越深效果反而不好,比如20层是对于我这个项目来说最好的,但是网络却有50层,但有些时候不知道最好的是多少层,而残差会选择最好的那一层,所以残差的泛化能力比较强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值