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

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

最近有个三天小长假,也没有什么繁琐的事儿,正好用来学点东西。自己根据自己的特点,找了本实践和理论结合的深度学习的书,也不想那么多,看完再说。

以前喜欢做笔记,但是发现找起来太麻烦,所以这次尝试着些博客吧。

书籍链接:http://neuralnetworksanddeeplearning.com/about.html

代码链接:https://github.com/mnielsen/neural-networks-and-deep-learning

序章开始:

    正如在学一个东西总会先了解它是什么,了解深度学习,其实要最先了解神经网络。书中开头便将神经网络赞美为最美的编程范例,其实我感觉他赞美的是它机器学习的特性:可以根据数据自动提升性能。而且,这位大佬可能把调参这件事儿给忽略了。

   下面没什么剖析的,基本就是我找到这本书的原因。不过最让人有点无奈的是大佬用的py2.7,我.......感觉以后在改代码上会很恶心。(3与2之间的大战)

 关于练习和问题:

     书里面有作业

 

使用神经网络识别手写数字(深度学习的Hello world )

1.感知

 

 

                             

文中举了个例子很形象,效率原因不打了。最重要的认清楚,权重意味着这个因素的重要程度就好了。

 

接着重新巩固了一个概念,每一个感知器都在做决策,同时第二层决策在第一层决策基础上,因而更加抽象。接着解答了一个疑惑,上文说感知器是多个输入一个输出,那时候条件反射想到上图,现在理清楚了,那唯一的输出是给圆圈附了值,而圆圈后又进行的多的线条其实在表示他的输入。

                  

对照上面那个图,此处加了b来简化。就是替换了阈值。 (我突然联想到以前看视频里面的偏置,好像就是这么个意思)

用了“与或非”那个逻辑概念来表示这个决策的过程。 

针对此图,说明了两个很有趣的思路:1.一个神经元两次输入同一个神经元等价以此输入双倍(很简单)2.既然我们讨论了感知机,那输入层算不算感知机?文中给的思路是:不能将输入层当作真正的感知机。

 文中表明,NAND门是计算通用门,因此也是感知器计算通用门(我验证了上图,确实实现了加法运算)。但还是有点说不清的疑惑(不清楚深度神经网络是不是也是有这个原理) 

         

将感知器看成计算器的想法很巧妙

 

 额,报告,为什么我感觉如果神经网络的结构是自己定的话,和布置电路没区别.......

Sigmoid神经元

以前看sigmoid,只看到了它将Z压缩至0到1之间,今天突然发现,他的平滑性也是有用的。

神经网络的体系结构:

额,其实我认为,作者在说,加了sigmoid以后的感知器不再是真正的感知器了,作者不希望我们弄混。

接着,举了图片输入的例子,我突然想到了图片大小必须确定的重要性,因为网络结构的输入层是和它对应的。

简单网络——手写数字识别 

作者将分割问题转化为识别问题。

(建议谷歌翻译看完看英文原版,因为他翻译的这段实在是....)作者论述了神经元个数的由来。隐藏层是尝试出来的,而output为什么是10个,不是4个(二进制表示)。作者表明,经过尝试,10个的确实比4个好,原因: 作者去论述了一种神经网络的工作方式(以前看到过类似的,当然第一次看到的话也是非常惊叹),正是这种工作方式,决定了10比4好。

                                                                                                                                       ——作者的谦虚之词 

 

梯度下降的原理我会,所以跳过。

随机梯度下降感觉差不多。

 

(照着数中代码,自己打了一遍,Network类,对整个框架又了整体认识,但是由于反向传播算法的具体实现自己忘了,所以这部分没太看懂,但作用自己知道,最最关键,突然间明白,自己以前可能没有把一种认知搞清楚:其实调参调的是超参数,而不是权值和偏置,这些都是自动学习的) ————(python3的同学要淡定,需要改的地方不多)

 

(所给的载入数据的代码也很简单,不过挺意外的,见到了对压缩包的操作,以及原来将一幅图片转换成一列是一个reshape()函数就能搞定的事儿)

 

文章中简单又说了两个例子,1.可以计算灰度来对图片进行分类。2.SVM,支持向量机,当然,这是一个你用起来很方便但是理论巨恶心的东西......推导一遍简直是。当然,作者也肯定,对于设计完美的神经网络,效果可以优于它。

 

序章终于结束,Hello world!

 

 

 

 

 

展开阅读全文

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