《神经网络与PyTorch实战》——1.1.3 人工神经元

举报
华章计算机 发表于 2019/06/05 18:16:13 2019/06/05
【摘要】 本书摘自《神经网络与PyTorch实战》——书中第1章,第1.1.3节,作者是肖智清。

1.1.3 人工神经元

  在AlphaGo等软件使用的人工神经网络中,计算机使用人工神经元来模拟人的神经元。人的神经元是这样的一种运算:假设人工神经元有个输入,每个输入()都是一个实数,那么人工神经元的输出可以由个权值和1个非线性函数确定,确定的方法为

image.png

  图1-4表示了这样的输入/输出关系。

image.png

在这样的人工神经元中,将每个输入乘以权重,就相当于人的神经元中树突的功能;将各输入加起来再做非线性变换,就相当于人的神经元中胞体的功能;将非线性变换的结果输出出去,就相当于轴突的功能。

  下面来看一个人工神经元的例子。某个神经元有个输入,它的权值分别为、、,并且非线性函数为函数输入值和0的最大值。这个人工神经元输入和输出之间的关系是

image.png

  值得一提的是,这个神经元可以完成逻辑运算中的“与”(and)运算。与运算是一种二元运算,它的输入和输出都是取自二元集合中的元素。当两个输入满足时,与运算的输出为1;在其他情况下,与运算的输出为0。我们可以列出所有可能的输入,通过逐一验证所有可能的输出来证明这个神经元实现了与运算(见表1-1)。

表1-1 与运算中输入和输出之间的关系

image.png

  实际上,在非线性函数固定的情况下,选择不同的权重,神经元可以完成不同的运算。例如,在刚才的例子中,即使保持函数和输入范围为不变,只要将权重改为、、,神经元就变成下面的函数:

image.png

  再进一步,如果输入范围不仅限于,这个神经元采用不同的权重后,还可以表示其他很多函数,例如等。

  但是,仅仅通过改变权重,并不能实现所有的运算关系。一个不能实现的例子是“或”(or)运算。或运算是一个定义在上的二元运算,它在的情况下输出0,在其他情况下输出1,即

image.png

  可以证明,不存在权重,使得神经元的输入和输出关系为或运算。用反证法证明:反设权重为时输入/输出关系为或运算,则权重应满足①;②。由②可得

,进而,,这与①矛盾。得证。

  通过刚才的例子,我们了解到一个人工神经元可以表示多种输入/输出关系,但是不能表示所有可能的输入/输出关系,而实际的问题(比如围棋)远远比这样的形式复杂得多。这时候,就需要同时使用多个神经元,将它们连成网络。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。