Neural Networks and Deep Learning习题解答--神经网络结构

神经网络与深度学习习题解答

Neural Networks and Deep Learning(作者 Michael Nielsen)书中第二章Using neural nets to recognize handwritten digitsA simple network to classify handwritten digits一节,该节简单说明了神经网络原理并给出一些启发式的思考。该节给出了一个问题

  • There is a way of determining the bitwise representation of a digit by adding an extra layer to the three-layer network above. The extra layer converts the output from the previous layer into a binary representation, as illustrated in the figure below. Find a set of weights and biases for the new output layer. Assume that the first 3 layers of neurons are such that the correct output in the third layer (i.e., the old output layer) has activation at least 0.99, and incorrect outputs have activation less than 0.01.
  • 通过在上述的三层神经网络加一个额外的一层就可以实现按位表示数字。额外的一层把原来的输出层转化为一个二进制表示,如下图所示。为新的输出层寻找一些合适的权重和偏置。假定原先的3层神经网络在第三层得到正确输出(即原来的输出层)的激活值至少是0.99,得到错误的输出的激活值至多是0.01。

这里说的三层神经网络是用来对手写数字进行识别对网络,输入为784(28*28)个神经元,输出有10(0~9)个神经元,被激活的神经元所在的序号表示该网络输出对结果,比如输出为0010000000表示识别数字为2。现在的问题是如果再添加一层只有四个神经元的网络,那么原来有10个神经元的网络与这只有4个神经元的网络有什么关系,即如何设计这个网络,如何设计权重。

网络见上图,分析见下图。我们将0到9的4位二进制表示分别写出,4位从高位到低位分别用a、b、c和d表示。分析可知a位的数字仅仅由数字8和9决定,即当识别的数字位8或者9的时候,输出层的a位为1,是不是找到联系了!

而8和9在原来的输出层表示的是什么呢,8为0000000010,9为0000000001,那么是不是第三层的第8个神经元和第9个神经元对输出层的a位(即第一个神经元)对激励有积极作用。我们把这种积极作用用权重1表示,将其他没有积极作用对连接用权重-1表示。如下图所示。下面让我们来验证下。

a位的计算公式为$$output_a = \sigma(\sum_{n=1}^N w_n x_n$$),当输出为8的时候,我们需要研究的神经元部分的输入则为0000000010,故$$\sum_{n=1}^N w_n x_n=1$$,故$$\sigma(z)>0.5$$,这里通过阈值实现输出为1,则a位为1。当然,由题可知,1可能为0.99,0也可能为0.01,最坏的情况是 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.99 0.01,这样$$\sum_{n=1}^N w_n x_n=0.99-0.01*9=0.90$$$$\sigma(z)>0.5$$仍成立,因而结果仍然跟预期一致。当输出为4时,则10位神经元为0000100000,故$$\sum_{n=1}^N w_n x_n=-1$$$$\sigma(z)<0.5$$,通过阈值实现输出为0,则a位为0,和预期一致。这样10个神经元到输出层的第一个神经元的权重就确定来,依此类推,可以算出这10个神经元到其他3个输出神经元的权重。

上面的图给出了a、b、c和d位激励的影响数字分别是什么,那么就可以得出所有的权重关系

a    -1  -1  -1  -1  -1  -1  -1  -1   1   1

b    -1  -1  -1  -1   1   1   1   1  -1  -1

c    -1  -1   1   1   -1  -1  1   1  -1  -1   

d    -1   1  -1   1   -1   1 -1  1   -1   1   

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 《Neural Networks and Deep Learning》这本书被许多人评价为是关于深度学习的一本非常好的入门书。它以清晰易懂的方式解释了深度学习的核心概念,并且使用大量的图片和代码来帮助读者理解。如果您对深度学习感兴趣,那么这本书是一个不错的选择。 ### 回答2: 《Neural Networks and Deep Learning》是一本非常出色的书籍。它由Michael Nielsen撰写,提供了关于神经网络深度学习的详细而清晰的介绍。 这本书以易于理解和深入的方式解释了神经网络深度学习的基本概念和原理。它从基础知识开始,逐步引导读者了解神经元、多层神经网络、反向传播和激活函数等关键概念。通过直观的解释和简单的数学推导,读者可以很好地理解这些复杂的概念。 书中还包含了许多实例和示例,帮助读者将理论应用到实际问题中。例如,它详细介绍了如何使用神经网络解决手写数字识别的问题,并提供了相关的代码实现。这些实例不仅使得理论更加易于理解,也为读者提供了实际操作的经验和技能。 此外,《Neural Networks and Deep Learning》还提供了大量的引用文献和进一步阅读的建议,帮助读者进一步深入学习和探索相关领域的研究。这为读者进一步拓宽知识领域提供了便利。 总体而言,这本书不仅适合对神经网络深度学习感兴趣的初学者,也适合那些已经有一定了解但希望进一步加深理解的读者。它以简洁明了的方式传递了复杂的概念,提供了大量的实例和引用文献,是一本极具价值的学习资源。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值