Make Your Own Neural Network(六)-----通过神经网络的信号

Make Your Own Neural Network

构建你自己的神经网络

https://blog.csdn.net/lz0499

作者:lz0499


 

声明:

1)Make Your Own Neural Network翻译自Tariq Rashid编写的神经网络入门书籍。作者的目的是尽可能的少用术语和高深的数学知识,以图文并茂的方式讲解神经网络是如何工作的。任何拥有高中数学水平的人就能够理解神经网络的工作方式。强烈推荐初学者以这本书作为神经网络入门书籍。

2)本文仅供学术交流,非商用。翻译的初衷是一边翻译一边加深对神经网络的理解。

3)由于刚刚接触神经网络这方面的知识,翻译过程中难免有些错误。若发现错误,还请各位前辈指正。谢谢!

4)由于工作原因,我将有选择的按照原文的章节不定期的进行翻译更新。

5)此属于第一版本,若有错误,还需继续修正与增删。


目录:

第一部分:神经网络是如何工作的

一种简单的预测机

分类即是预测

训练一个简单的分类器

单个分类器似乎远不够

神经元,自然界的计算机

通过神经网络的信号

矩阵很有用

利用矩阵计算三层神经网络的输出结果

从多个节点更新权重

从多个节点中反向传递误差

多层神经网络层反向传输误差

利用矩阵乘法计算反向传输误差

实际上是如何更新权重(一)

实际上是如何更新权重(二)

权重更新实例

通过神经网络的信号

三层神经网络中,每一层的节点与它前一层的所有节点和后一层的所有节点相连,看起来比较复杂。

从输入层到输出层计算信号如何被处理的看起来比较复杂。

确实是一项艰巨的任务。但是解释神经网络如何工作同样重要,这将有助于我们理解神经网络内部实际发生了什么,即使今后我们将利用计算机帮助我们计算。所以,我们从比较简单的两层神经网络开始,阐述神经网络将是如何工作的。两层神经网络如下图所示:


让我们假设输入信号分别是1.0和0.5。下图中描述了这两个信号输入到两层较小神经网络的过程。


就像之前讨论的,每一个节点把输入信号的和输入到激活函数进行,最后输出一个结果。我们将使sigmoid函数作为激活函数。其中x是节点中所有输入信号的和,y为输出节点的输出值。

哪么权重改如何设置呢?这是衣蛾很好的问题。权重值应该从哪个之开始呢?就像我们之前计算预测器和分类器直线一样,我们把权重值先设置为随机值。

从随机值开始并不是一个很糟糕的想法。如下图所示:这个两层神经网络有四个权重值。每一层的节点相互连接。


权重已经有了,让我们开始计算吧!

第一层节点为输入层,这些节点仅仅表示输入信号,不做其他任何事情。就是说,这些输入节点不会输入到激活函数中处理。神经网络的第一层是输入层,这一层的节点仅仅表示输入信号。

第一层节点不做任何处理。但是第二次节点我们需要做些相关计算。对这一层的每个节点我们需要处理该节点的输入信号和。还记得sigmoid函数,x表示的是节点中所有输入信号的组合,这些组合是前一层各个相连节点经过加权之后的数值。下图表示输入信号加权的过程。


让我们从第二层的节点1开始计算。第一层的所有节点都与它相连,第一层的输入节点值分别为1.0和0.5。第一层的第一个节点以0.9的权重与它相连;第一层的第二个节点以0.3的权重与它相连。因此,其加权和为:

X=(第一层的第一个节点*相对应的权重)+(第一层的第二个节点*相对应的权重)

 =(1.0*0.9+0.5*0.3)

 =1.05

所以,第一层的各个节点输入到第二层的第一个节点的加权和为1.05。现在我们把x=1.05带入到激活函数,可得y=1/(1+0.3499)=1/1.3499=0.7408。

相当不错,我们已经计算出了第二层第一个节点的输出信号值了。让我们继续计算剩下的节点输出信号值大小。

 

X=(第一层的第一个节点*相对应的权重)+(第一层的第二个节点*相对应的权重)

 =(1.0*0.2+(0.5*0.8)

 =0.6

同理,将x带入到激活函数中,得到y=1/(1+0.5488)=1/1.5488=0.6457.

下图表示刚刚神经网络经过计算的值。


这个对于简单的两层神经网络来说,计算还算是简单。但是,对于有100 10000甚至更大的大型神经网络来说,用手算是多么可怕呀!那么,有没有一种比较简洁的方法计算其输出信号值呢?

虽然计算机可以帮助我们计算其输出信号值。但是我依旧不是很想写出计算机计算2层或是4层甚至100层的神经网络输出信号值。因为,我可能会写错指令也可能写错权重值等,发生一些不可避免的错误。

幸好,数学上我们有一种比较简洁的书写方式,帮助我们理解。同时,这种方式也能够被计算机所理解,因此能够用较短的计算机代码快速的进行计算。

这种书写方式就是矩阵。我们下一小节会详细讲解其原理。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值