意识到一个问题:那个除以临时最大我们前前后后都考虑到了。

而he初始化的推导,我们只做了forward方向上的考虑,而back中没有考虑。

昨天回过头去又看了一下,结果与forward一致,所以做一次he初始化,就可以了!

详细推导,打算放在后头,看上去有点难度,估计我们反向推导完之后,问题就估计能迎刃而解!

还有就是(一)中的最后疑问?

能想明白的事情,还是推导一下比较好!结果如下:

使用却不一样:

w1固定roi[i, j] = randomNormalDistribution() /(float) Math.Sqrt(size / 2f);

我们再看:

1/2*nl*\delta(wl) ^{2}=1;

实际是:(Sqrt(size / 2f)*\delta (wl))^2=1;看上去:真的不好看!

(\sqrt{nl/2}*\delta (wl))^{2}=1;

也就是说wl是要初始化为标准正态分布N~(0,1)的时候,默认是({\delta }')^{2}=1=(\sqrt{nl/2}*\delta (wl))^{2},显然,你要{\delta }'/\sqrt{nl/2}=\delta (wl),我们要的就是\delta (wl)

ok,结束。

relu以及leaky relu我们前面讲到了,这里掠过!

关于softmax和交叉熵请参考,讲的非常好:

一文详解Softmax函数 - 知乎

这里穿插一个观察到的现象,为什么费这么大神,搞这些东西?

用bpnet三层网络不就ok了吗?

手写数字识别,使用bpnet三层网络,学习训练6万次,可上97.

也不用he初始化+relu+softmax+交叉熵。

实际,在手写数字识别十个数字分类上,人们的视线不在是bpnet,而是卷积核,卷积核神经网络cnn。

你要cnn,我们就要增加隐层,我用了bpnet的4层网络和5层网络,卷积核也用上了,学习训练6万次,很难上95,平均93,很恼火,去年就是这个情况。

在手写数字识别十个数字分类上,使用he初始化+relu+softmax+交叉熵已经很稳定的在96.8分,平均分哦。

很显然,加个卷积核,是指日可待的!

你看,科学家为了上升这3.8分,数学模型做了多大改变!

在手写数字识别十个数字分类上,上97分很难!

在这个空挡上,我就把bpnet三层网络的97分优势发挥到极致,降维到单输出,10类变一类!

bpnet三层网络在一类的识别上很容易突破97这个界限,那么我们能不能用到机器视觉匹配上?

恰好,实现了,97界限在一分类的识别和精细定位匹配上,差错很大,这个界限要到达996,997的样子,匹配识别效果,才能显现!另一个就是速度问题,异步并发,就ok了,一般cpu就够用了,我还用的是i7-3代。

其实也不用学六万次,针对十个数字,其实6千次就可以了(精细匹配中我就学5000次,3千,2千次都试过,还是5千次训练学习较好,毕竟一分类嘛!),回归简单。

为什么做这个不看好的事情,或许是机器视觉的热情吧!

那么现在转人工智能的热情在什么地方?就在这个卷积核上!

你要知道,机器视觉图像处理上,这个卷积核用过无数遍了!

已经很普通,神经元已经意识不到他的存在了,为什么又有了热情?

原因很简单,我们用的卷积核是人们(把数学引入图像处理的先驱们)在图像处理中经验的总结!

而cnn中的卷积核,是机器自己产生的!

这个就是人工智能,他像核弹一样,点亮夜空!

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐