深度学习——入门笔记(3)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40240102/article/details/83240268

此处是硬着头皮跳过得(反向传播,因为我发现我看的懂每一句话,每一个推导,但是去细想很多东西却有种轰然崩塌得感觉,所以继续进行)

改善神经网络的方式:(其实就是将结果优化的方式)

1.交叉成本熵函数

错误的定义是无意义的,因为人类是从错误中学习的,但是根据常识,人犯的错误越大,学习效果越好,可对神经网络而言却不一定。

(文章举了两个例子)

(原因也很简单:sigmod导数变化率小)

 

因而引出交叉熵。相比于二次代价函数,交叉熵代价函数的优点是:误差越大,学习速度越快。

对于交叉熵理解:(https://blog.csdn.net/zxhm001/article/details/63684323

作者在证明过程中的连等让人有一种证明错的感觉.....(另找了一篇验证:https://blog.csdn.net/oppo62258801/article/details/73294764)

两篇综合,其实发现交叉熵的证明挺简单的。而这样做的目的,最终其实就是把cost成本函数给换了。

 

softmax函数

(依旧先看了篇博文:https://blog.csdn.net/sinat_28002567/article/details/79398328)

(个人觉得文章中有点错误,他的损失函数不像是交叉熵,更像是书中提到的:对数似然成本函数)

大致了解了softmax函数:在这个过程中,你会发现用了softmax函数之后,梯度求导过程非常非常方便!

定位:softmax和sigmod是二选一

 

正则化(用缺陷换来泛化,一叶知秋):

感觉直接去看书,有点接受不了,所以(1.http://www.iqiyi.com/w_19rvegwajh.html,爱奇艺的一个视频,全面讲解了一下正则化

(2.莫凡的一个视频:https://www.bilibili.com/video/av16009446?from=search&seid=14901592125808388484

两个视频基本上将涉及到的东西说了一遍,与书中对比,其实感觉书中对为什么要用正则化,这部分的叙述还是不够打动人....可能是我要求太高。

最后,所谓正则化也可以理解为加入惩罚项——来自众多博客中的一句话(问:为什么看视频。答:博客看不下去了)。

 

权重初始化:

额,太菜......书里面英文我没太看懂。

所以(1.     step1: https://blog.csdn.net/crazy_scott/article/details/80343312 ,大致知道权重的原因)

(2. step2:  https://blog.csdn.net/dugudaibo/article/details/77318847,和原文很像的中文版本,然而但是,我可能上了一个假大学..........看不懂他对初始化的论述)

此处-----------------------------------------------------------分割-----------------------------------------------------------------------

感觉一直再搬运一些东西,所以开始尝试去写自己的理解吧。其实博客的思路很简单,他就想说明如果我证明出 Z的正态分布的概率函数是:

那我完全可以说,我的Z值(横坐标)经过例如sigmod函数的修正后(想象一下sigmod函数图像),神经元输出就会有很大可能接近0或1(纵坐标),达到所谓的神经元饱和。

而在这个过程中,有两个东西我一直不理解:

1.文章中:

由于概率底子薄,这句话的出现我是一脸懵逼。

(1)https://wenku.baidu.com/view/0c67f2710a1c59eef8c75fbfc77da26925c5960d.html(随机变量的和的方差是每个独立随机方差的和的证明) 说实话,这个证明我又没看懂。

(2)http://open.163.com/movie/2011/6/N/P/M82IC6GQU_M83JCRBNP.html (这是一个可汗学院的视频,很可惜,他恰巧没有证明上述式子,但却让我复习了相关知识)

好了,我不清楚你是否还有这样的疑惑,X不是独立随机变量吗?为什么有方差和均值?如果是大佬的话看到这句会笑的....但是我还真就一下子懵了。(https://blog.csdn.net/vincent_hbl/article/details/79175310),简单看看这个,其实你会发现,你应该把注意力从独立,变量,这些词上移开,而应该关注随机。不同的随机对成不同的分布,当然也有离散和连续的区分,如果每当你想到X,你同时想起了一个:

你便不会疑惑了。

(3)好了,言归正传,那个证明到底是什么,其实最最关键的,是:

就是这个等式,他为什么可以写成这样?是对于这个疑惑最后的疑问。(由于网上回答不尽人意,身边有没有概率书,此处先埋个坑,其实找了半天,最大的感叹就是,有的时候还是概率教科书好啊。。。https://www.zybang.com/question/0ef08592c13e5b8ca27d4fe88022f8a4.html,网上有那么一丝意思参考价值的回答,但我看着好像错了)

最终,有了这个结论,我们又知道均值0,(其实这个我不太清楚他怎么得到的?猜测感觉是继承了初始化的),但其实对于正态分布而言,最重要的不是均值,因为均值只是决定了他的位置,而决定其高度(大小)的是标准差,用上述定义证明,我勉强相信是上述那个图。

 

那好了,如果真是上面按个图,那按照signod函数图:

Z(横坐标)很容易(等同于很大概率)就比-6或6大,那输出神经元的值很容易接近0或1。

2.隐藏神经元会饱和

额,说实话,我目前是真不知道这个名词是什么鬼,查也没查到。然后(心虚,其实我对sofmax和反向传播掌握的还不好,所以文中的论述让我大伤脑筋),但是,但是,在我纠结要不要问老师(问了可能对被怼一顿,而且可能还是让我查百度)的纠结时刻,我突然想到,神经元饱和,对于sigmod意味着什么。意味着求导他的变化率会超级超级小,这不就是我们为什么要用交叉熵的原因吗。哇塞.....一下子,醍醐灌顶。

 

 

 

(注释:无限查看百度的过程中,翻到的:http://www.365yg.com/a6437735667681624322/#mid=52457700910,闲着没事可以科普看)

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页