top of page
アンカー 1

一、前文回顾

上一节我们通过一个简单的神经网络(↓图)模拟了逻辑异或门,并且为它命名为小D。


但是你会发现小D只有一个输出,这意味着它的大脑里面只认识一个东西(假如是肉夹馍),那么你不管问它想吃什么,它的回答都永远是肉夹馍。。所以我们需要对它进行改进一下。


二、小D的构造

在这里我们为小D设计了一个四层神经网络,从左到右分别为输入层,中间层,输出层。每一层的神经元都与下层的每个神经元连接。

①输入层:负责输入数据,比如一张图片,一个声音等等(输入层可以是很多个神经元)

②中间层:负责识别输入层的数据,或者进行自我学习。(输入层可以是很多层很多个神经元,这里只用了两层)

③输出层:负责输出结果,比如告诉你今天该吃凉皮还是肉夹馍。


三、小D会对刺激做出何种反应

在这里先回顾一下神经元的构造:

我们可以稍微转换下写法:


OK,天空传来一声巨响,激活函数闪亮登场。这里的函数h(x)就是所谓的激活函数。激活函数有什么用呢?专业的说法就是把线性输出转化为非线性输出。通俗点理解就是神经网络对刺激(输入信号)做出的反应,比如你给小D个肉夹馍小D会很高兴,或者它压根不理你等等。

※线性函数就是在二维平面可以用一条直线表示的函数,否则为非线性。神经网络为什么要线性转非线性?因为如果都是线性函数的话,无论你网络有多深,输出和输入都是线性关系,这就会导致深度学习的《深度》两个字完全失去存在的意义。。。


为了把神经网络稍微画的更直观一点,首先把上面的公式分解为下面两个公式:

神经网络也因此如下图所示:

完成!这样子小D就有了大脑(目前智商为0),并且会对外界的刺激产生反应。


四、总结

我们为小D打造了一个四层神经网络,并赋予它激活函数,让它知道接收到刺激以后要给出个反应。事实上激活函数有很多种,种类不同会导致做出的反应不同,所以下节的主题便是【激活函数】

※这里设计四层神经网络的理由是为了能够在以后更加容易理解神经网络的构造以及它的工作方式。我们最终目的是为了让小D能够认识0-9的数字,所以将来这个神经网络会更加庞大。(输入层784个神经元,中间层单层50个神经元,输出层10个神经元)



bottom of page