卷积神经网络图像识别_围棋AI之残差神经网络

在之前的文章中分享了BP神经网络和CNN卷积神经网络,这一篇来分享残差神经网络(Resnet).

在实际的应用中,卷积神经网络的结构大体是这样的:

卷积层 – 池化层- 卷积层 – 池化层 – 卷积层 – 全连接层

一般来说,神经网络层数设计的越深,图像识别率越高。但神经网络设计的太深了,容易出现梯度衰减等各种问题让网络的性能大幅度下滑。为了解决这个问题,微软研究院的何恺明等人提出了残差卷积神经网络(resnet). 从而解决了因网络设计的太深而导致的性能下降的问题。

在Resnet之前,神经网络最多可以设计到22层,而采用了resnet的思想,神经网络可以设计到1000层。

5efa9034159ed56e43633b0589d3c959.png

从上图可以看出,残差单元的输出由多个卷积层级联的输出和输入元素间相加(保证卷积层输出和输入元素维度相同),再经过ReLU激活后得到。将这种结构级联起来,就得到了残差网络。

围棋AI 40b的权重就有40个这样的block. Talk is check, showme the code.

如下是围棋AI建立残差神经网络的tensorflow代码 :

fb600595b62b8e797936ad320c2e8748.png

以上代码首先建立输入层的卷积块,然后建立残差块。建立残差块的代码如下:

be0447a05b1d40ee954d134464c86e45.png

通过以上的代码建立的神经网络如下:

79e5b4871527a647f48b05043846d8b2.png

b3939ec19f541d2e5bb9e3364a198f33.png

残差神经网络建立起来以后,然后就需要根据自对弈的棋谱在预处理,归一化后进行学习训练。

93ba5989aa5642364242bacc82fee442.png

神经网络的权重训练好后,保存成文件。

在下棋时,当引擎启动后,会把权重读入内存。在蒙特卡洛搜索树搜索时,会去访问这个神经网络,从而拿到当前棋形的胜率和每个点的策略值。蒙特卡洛搜索树将会在以后的文章中分享。

如下代码是引擎去神经网络拿胜率和策略。

bef168f5e3e8fbbb73d582adbdfaaa55.png

 今天就先分享到这里吧,有些复杂,需要慢慢理解 f54272d8e59d426971722d2078fa85de.png

博弈是人工智能领域的重要研究主题,人工智能技术的发展在很多方面得益于博弈的发展。围棋作为博弈研究的主要内容之一,因其具有搜索空间大和难以建立评价函数的难点,使得传统的搜索方法很难获得令人满意的对弈性能。近年来,基于卷积神经网络围棋棋步预测方法逐渐成为解决围棋博弈问题的一种有效途径。这是因为,第一,棋步预测方法通过监督学习来预测人类高水平棋手的走棋,该过程并不需要进行深度搜索,因此能够避免围棋分支因子高的问题;第二,棋步预测方法与人类棋手在对弈时的思考方式相一致;第三,由于卷积神经网络能够直接从原始图像中识别出视觉模式,并通过逐层的特征提取来提升分类的准确性,故可对围棋棋局进行有效地评估,从而克服对围棋中的模糊概念建立可计算模型的困难。利用卷积神经网络构建围棋棋步预测模型极大地促进了围棋博弈的发展,但就目前的研究现状来看仍有很大的发展空间。本文针对基于卷积神经网络围棋棋步预测方法开展了以下三个方面的研究工作:1)对基于卷积神经网络围棋棋步预测方法进行了综述。首先,简要介绍了围棋博弈的难点,通过对蒙特卡洛树搜索方法的分析,指出围棋棋步预测方法才是解决围棋博弈问题的有效途径;然后,从卷积神经网络的整体结构、各层子结构以及网络的训练三个方面阐述了与围棋棋步预测相关的卷积神经网络基础知识
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值