例如下面这个例子,使用电路理论,计算逻辑输出:
y=x1⊕x2⊕x3⊕⋯⊕xn
y=x1⊕x2⊕x3⊕⋯⊕xn
其中,⊕⊕表示异或操作。对于这个逻辑运算,如果使用深度网络,深度网络的结构是每层将前一层的两两单元进行异或,最后到一个输出,如下图左边所示。这样,整个深度网络的层数是log2(n)log2(n),不包含输入层。总共使用的神经元个数为:
1+2+⋯+2log2(n)−1=1⋅1−2log2(n)1−2=2log2(n)−1=n−1
1+2+⋯+2log2(n)−1=1⋅1−2log2(n)1−2=2log2(n)−1=n−1
可见,输入个数是n,这种深层网络所需的神经元个数仅仅是n-1个。
如果不用深层网络,仅仅使用单个隐藏层,那么需要的神经元个数将是指数级别那么大。Andrew指出,由于包含了所有的逻辑位(0和1),则需要2n−12n−1个神经元。
————————————————
版权声明:本文为CSDN博主「红色石头Will」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/red_stone1/article/details/78062345