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

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

1.1.4 人工神经网络

  人工神经网络是由多个神经元组成的网络。在神经网络中,某些神经元的输出会作为另外一些神经元的输入。

  我们来看一个例子。图1-5是一个由两个神经元组成的神经网络。

image.png

第1个神经元就是上节提到的与运算神经元,它可以将输入转化为输出。第2个神经元有3个输入,前2个输入直接取自第1个神经元的输入,第3个输入是第1个神经元的输出。第2个神经元可以将输入转化为输出。这两个神经元组成的神经网络可以将输入转化为输出

image.png

仿照之前对与运算的分析,我们可以列表验证,当输入时,输入和输出如表1-2所示。这就是1.1.3节提到的或运算。在该节中,我们知道了单个神经元不可能实现或运算,但是现在,我们用两个权重不同的神经元搭成的神经网络实现了或运算。

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

image.png

  上面的例子告诉我们:多个神经元可以实现单个神经元不能完成的运算。这已经暗示了神经网络有可能实现各种各样的运算。那么,神经网络是否能模拟所有可能的运算呢?答案是肯定的。

  为了体现神经网络强大的表达能力,下面来说明。由非线性函数为的神经元组成的神经网络可以模拟任意闭区间上的连续分段线性函数。下面就来证明这一点。考虑一个任意满足以下性质的函数:①函数只有1个输入,输入范围是闭区间;②函数连续;③;④区间被分划点()划分为许多小区间,在每个小区间()上函数都是线性的,且斜率为。下面就来构造一个神经网络模拟这个输入/输出关系。为了模拟函数,将表示成个只有一个分段点的分段线性函数的线性组合,即(见图1-6):

image.png

每一个都可以用一个单输入的神经元来表示,而个这样的神经元的输出都输入到同一个神经元。这样,我们就得到了如图1-7所示的神经网络。

image.png

通过上面的分析,我们知道这个神经网络的输入/输出关系与分段线性函数完全相同。虽然图1-7中的神经网络只针对仅有一个输入的情形,但是可以将它扩展到更多的输入,不再赘述。

  因此,如果输入和输出直接的关系不是分段线性函数,那么它还能不能用神经网络来模拟呢?答案是肯定的。直观来看,任意一个输入/输出关系都可以用分段线性函数来近似。只要分段点足够多,就可以非常精确地用分段线性函数来近似这个函数。而前面我们已经知道分段线性函数可以通过人工神经网络搭建得到,所以只要人工神经网络中神经元的个数足够多,神经元之间的连接关系足够复杂,我们就可以非常精确地模拟任意的输入/输出关系。这被称为万能近似定理(universal approximation theorem)。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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