《神经网络与PyTorch实战》——1.1.5 神经网络的设计和权重的学习
1.1.5 神经网络的设计和权重的学习
到目前为止,我们已经知道神经网络可以实现各种各样的输入/输出关系。但是很多时候,我们并不知道一个问题最优的输入/输出关系是什么。比如,对于围棋程序AlphaGo而言,并没有已知函数能表示最优的下棋策略。那么,AlphaGo中神经网络的结构和权重是如何确定的呢?
神经网络结构的确定。一般而言,神经网络中神经元的个数越多、神经元之间的连接越复杂,能够表示的输入/输出关系就越多,对特定输入/输出关系的表示就越精确。但是,只有在恰当选取神经网络中各神经元权重的情况下,神经网络才能发挥出强大的威力。一般而言,神经元个数越多,神经元之间的连接越复杂,就越难找到合适的权重。因此,这里存在着折中关系。神经元之间如何连接,也是有讲究的。本书的后续章节会介绍如何设计神经网络的结构。
神经网络中神经元权重的确定。前面提到,只有神经元中的权重都合适时,神经网络才能得到正确的输入/输出关系,那么AlphaGo如何确定神经网络中神经元的权重呢?事实上,权重的选取可以看作一个优化问题。对于每一组确定的权重值,我们可以确定出优化问题的收益或损失。当权重不合适时,优化问题的收益小、损失大;当权重合适时,优化问题的收益大、损失小。通过调节权重,最大化收益、最小化损失,我们就可以得到合适的权重,使得神经网络发挥预期的功能。例如,我们可以用神经网络来评估棋局的形势。如果神经网络的权重合适,那么这个形势评估器的评估就比较准;如果神经网络的权重不合适,那么这个形势评估器的评估就不准。通过调节权重使得评估器尽量准一些,这样就有希望得到比较好的形势评估器。
- 点赞
- 收藏
- 关注作者
评论(0)