这个月趁着双十一买了几本关于深度学习理论与TensorFlow等深度学习框架的书。
首先是日本斋藤康毅学者著(陆宇杰译)的《深度学籍入门-基于Python的理论与实现》。
该书的主旨是通过简单的工具形象地介绍神经网络的基础理论,然后过渡到深度学习。仅适用了Python的基础函数与numpy库。
以下是每章节的内容:
- 介绍Python语言,简述了基本语法。(这里简单介绍没什么好说的,Python基本语法可以花几天时间看《Python基本编程》过一遍,有其他语言基础的可能一两天看完了)。但是我总感觉自己看了一年基本语法的感觉,迟迟无法入门-_-|||
- 介绍感知机
- 传统的感知机,感知机只有‘0/1’两种取值,两个输入,一个输出。
线性系统(权值w为一次方)y=f(x1,x2),f=w1x1+w2x2,当f>γ,输出1;当f<γ,输出0。
想象在直角坐标系中,分布着四个点,当四个点或者三个点均是同种类型输出时,能很轻易用一条直线将其分开。在其中两个点为同种类型时,两个点处于同一边,则同样用一条直线可以分开,但如果是呈对角分布,则为一个非线性系统,即无法通过一条直线将其分开。 - 传统的与门,与非门,或门均可以使用简单一层感知机实现,但是异或门为非线性系统,需要使用两层感知机进行划分,即通过X1与X2分别计算或门S1和与非门S2,再用S1和S2构造与门得到结果。这就是多层感知机的实现。
1 def XOR(x1,x2): 2 s1=NAND(X1,X2) 3 s2=OR(X1,X2) 4 result=AND(s1,s2) 5 return result
但是这些感知机都是阶跃函数的表示结果,只有0/1两种状态,后面会说到sigmod函数、relu函数等激活函数(即转换输出函数)用于神经网络中神经元的表达。
下一章节说感知机到神经网络的过渡,并推理一下神经网络的前进学习推理过程,然后阐述误差反向传播更正权值的实现。2018/11/23