对百度Bingo算法的猜测

百度开发的围棋程序Bingo采用了独特的学习算法,该算法结合了在线强化学习与离线监督学习,优化了传统的UCT算法,提高了学习效率。通过引入弱化版Alpha-Beta搜索并结合大量离线学习获得的剪枝函数,有效地减少了不必要的计算,加速了在线学习的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度开发的围棋程序Bingo,由自然语言处理部门来进行。实际上,这可能是机器学习的一次小胜利。


Link:百度杨程:人工智能让系统懂得“学习”-IT168 软件专区


在原文中,关于算法的解释是这样的。


进入21世纪,基于蒙特卡洛树状搜索的UCT算法一直被业界视为解决计算机为其问题的关键,但UCT算法同样存在着取样量巨大、运行缓慢的致命问题。在UCT算法的基础上,杨程老师及其团队进行了大量的优化改进,最终提出了全新的学习算法,并成功应用于Bingo系统中。在相同时间内,新算法可以产生比UCT多若干倍的统计值,这可以大大加快Bingo的在线学习速度;其次,杨程和他的团队还定义了一种弱化形式的Alpha-Beta搜索,将其与在线强化学习和离线监督学习结合起来,并成功地嵌入到蒙特卡洛搜索当中,这使得探索更加深入地往极具前景的方向发展。“因为统计值多了,所以Bingo学习很快,而且基本上成功地实现了Rapid Action…可能的胜率在百分之七八十左右。”在谈到新算法带来的改进时,杨程说。


网络上关于这一段的资料不多,然而,从这一段中就可以略微的猜出其使用的算法了。百度抛弃了已经逐渐没落的UCT,一个很重要的原因可能是UCT的学习能力的确太慢。UCT实质上是一种在运算中不断学习的算法,从开始游戏到终止游戏都在不停的进行学习。然而,其学习的方法单一,在围棋这样项目上,学习效率不足也是致命的。百度使用的弱化的Alpha-Beta搜索,应该是在对蒙特卡罗模拟过程中,基于Alpha-Beta原理对大量表现不怎么好的节点进行快速的剪枝,这可能是基于一个由大量的离线学习而得到的剪枝函数。其主要使用的算法应该是一定的UCT+RAVE(Rapid Action Value Estimate)的变种算法,可以进行在线强化学习。同时,他在蒙特卡罗模拟过程,嵌入了一个由离线监督学习提炼出来的函数(通过大量的对比棋谱进行学习)。这个函数目的是快速的洗刷掉那些下的比较“掉价”的分支,减少整个博弈树节点的数量,也快速的提升了算法性能。所以,这是一种在线学习(UCT和RAVE结合)以及离线学习(蒙特卡罗模拟阶段清洗用的函数)的结合。


更期待百度可以把相关的技术发表出来。毕竟基于有限的信息,这猜测很可能会产生巨大的偏离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值