深度学习2

1 神经网络为啥用交叉熵

通过神经网络解决多分类问题时,最常用二道一种放肆就是在最后一层设置n个输出节点,无论在浅层神经网络还是在CNN 中都是如此,比如在AlexNet中最后输出层有1000个节点的输出层。

交叉熵就是用来判定实际的输出和期望的输出的接近程度。

2 LSTM与GRU的区别

GRU和LSTM 的性能在很多任务上不分伯仲,2) GRU 参数更少,因此更容易收敛,但是数据集很大的情况下,LSTM 表达性能更好,从结构上来说,GRU 只有两个门,LSTM 有三个门,GRU 直接将hiedden state传给下一个单元,而LSTM 则用memory cell 把hidden stae 包装起来。

3 使用的CNN模型权重之间有关联吗?

权重之间有关联,CNN 是权重共享,减少了参数的数量。

简单来说就是用一个卷积核和一个图像来进行卷积,记住是同一个卷积核,不改变卷积核的值,这样可以减少权值参数,共享就是一个图片对卷积核是共同享有的,对于有个100*100 像素的图像,如果我们用一个神经元来对图像进行操作,这个神经元大小就是100*100=10000,单如果我们使用10*10 的卷积核,我们虽然需要计算多次,但是我们需要的参数只有10*10=100个,加上一个偏向b,一共需要101 参数,我们取的图像大小还是100*100,如果我们取的图像比较大,它的参数将会更加多,我们通过10*10 的卷积核对提现进行特征提取,就得到一个Feature Map。

一个卷积核只能提取一个特征,所以需要多几个卷积核,假设我们有6个卷积核,就会得到6个Feature Map,将这6个Feature Map 组成一起就是一个神经元,这6个Feature Map 我们需要101*6=606 个参数,这个值和10000比还是比较小的,如果像之前的神经网络,两两相连,需要28*28=784 输入层,加上第一个隐藏层30个神经元,则需要784*30 在加上30个b,中国23550个参数,多了40倍的参数。

4 用过哪些optimizer 效果如何?

1) SGD;2)Momentum; 3) Nesterov ;4)Adagrad 5)RMSprop;6)Adadelta ;7)Adam 8) Adamax 9) Nadam。

(1) 对于稀疏数据,尽量使用学习率可自适应的算法,不用手动调节,并且最好采用默认参数 (2)SGD 通常训练时间最长,但是好在初始化和学习率调动方案下,结果往往更可靠,但是SGD容易困在鞍点,这个缺点也不能忽略。(3)如果在意收敛的速度,并且需要训练比较深比较复杂的网络时,推荐使用学习率自适应的优化方法,(4)Adagrad, Adadelta和RMSprop 是比较相近的算法,表现都差不多,(5) 在能使用带动量的RMSprop 或者Adam 的地方,使用Nadam 往往能取的更好地效果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值