我们将介绍下一场演讲的演讲者,来自Facebook人工智能研究院的田延东博士。[掌声] 大家下午好,非常高兴看到在围棋讲座之后,现场还有这么多观众。我是来自Facebook AI研究院的研究科学家田延东。DarkForest是一个开源的计算机围棋引擎,由我和同事们开发。我们利用深度学习技术打造了一个强大的引擎,虽然它肯定不如AlphaGo强大,但它是开源的,任何人都可以下载代码,研究围棋引擎的工作原理。今天我将主要讲解计算机围棋方面,即如何设计计算机围棋系统,使其变得强大。

众所周知,围棋是一门“一分钟就能学会,一生都无法精通”的艺术,这是围棋的魅力所在,希望大家都能享受围棋的乐趣。围棋有趣之处在于它有两个不同的方面。大家熟知规则,我就不重复了。棋盘是19x19的,你可以在任何交叉点落子。但如果问职业棋手为何下得如此强大,他们绝不会说“我计算了所有可能的解并找到了最佳着法”。人们往往有一种直觉,觉得某步棋好,某步棋坏,从而选择好棋。

这种选择既源于直觉,也源于某种计算证明该着法确实良好。这使得计算机围棋变得非常有趣,因为它将模式匹配与搜索相结合,还将推理、逻辑和直觉融合在一起。如何对这种模式进行建模,实际上决定了计算机围棋程序的水平。计算机围棋的发展已经约有50年。起初,人们使用基于规则的系统和Alpha-Beta剪枝算法,但这只能产生非常低水平的计算机围棋程序。

我所说的“基于规则”是什么意思呢?在座可能并非所有人都是计算机科学背景。如果让没有计算机背景的人写一个围棋程序,他会说:“我是强手,我知道所有规则,让我把它们一条条写下来,让计算机理解并遵循这些规则。”但这样做其实并不好,因为围棋大师的直觉和规则太多,无法手动枚举,因此遵循这种范式得到的程序水平很低。

那么,如果改变搜索算法呢?传统上使用Alpha-Beta剪枝,即从当前局面出发,枚举所有可能的着法,并使用巧妙的剪枝技术来排除明显糟糕的着法。例如,如果对手有反击手段,一旦找到该反击,就不必再寻找其他反击,从而判定该着法为坏棋并排除。这能在一定程度上减少搜索量,但并不能根本解决问题。

2006年,蒙特卡洛树搜索(MCTS)的研究取得了突破,这是围棋领域更好的方法。直观地说,蒙特卡洛方法本质上是一种随机化的Alpha-Beta剪枝。它不再枚举所有着法,而是找出几个非常有希望的候选着法,然后通过随机采样游戏搜索空间来扩展树,从而确定最佳着法。这产生了非常优秀的程序,达到了顶尖业余水平,但仍未达到职业水平。

此后,人们认为为了改进蒙特卡洛树搜索,仍需回归基于规则的系统。但人们无法再做出更多改进。自2014年以来,我们看到了一种新的建模趋势,即计算机应如何下棋。我们使用了卷积神经网络。一旦使用卷积神经网络,就提供了一种新的数据建模方式,使得大量的内部连接或关系可以从数据中自动提取,而非依靠人工劳动。这实际上带来了更强大、更好的围棋引擎。

该引擎的水平从6段提升到了超越职业九段,即目前AlphaGo的水平。在介绍DarkForest的架构之前,我先谈谈这个项目的概况。该项目由我提出,去年我与一名实习生共同开发。项目始于去年五月,历时半年,达到了强大的业余水平。昨天我们与AlphaGo团队交流时提到,我们使用了80到90个GPU来训练模型。

我问他们有多少GPU,他们说是机密。我又问是否可以说我们使用的GPU数量是他们的一小部分,他们回答说可能不到1%。这大概就是DarkForest与AlphaGo在资源上的差异。尽管如此,我仍然很自豪,尽管资源差异巨大,我们仍能取得进展。我们是第一个将基于深度卷积神经网络的围棋引擎部署到KGS(韩国围棋服务器)上的团队,让所有人都能体验与新一代围棋引擎对弈的乐趣。

关于引擎的名字,DarkForest(绝艺)源自刘慈欣的小说《三体》中的“黑暗森林”概念,因为我是该小说的忠实粉丝。如果纯粹使用深度卷积神经网络,其水平约为KGS 3段;如果将DCNN与传统搜索结合,水平可达KGS 5段左右。但这波动很大,有时它非常强大,有时犯错时会变得很弱。这仍然是我们需要在未来解决的问题。它在KGS锦标赛中获得了第三名。

它在计算围棋竞赛中获得了第二名。最近,我们还让两子击败了六名非职业棋手,但我认为这相当幸运,能取得这样的成就。DarkForest的历史如下:正如我之前提到的,2015年5月,我们开始了代码收集工作,发现这是一个有趣的方向,可以着手研究。我们实际上看到纯深度卷积神经网络(DCNN)起作用,并于去年八月将其部署到KGS(韩国围棋服务器)上。随后,我们在2015年11月让蒙特卡洛树搜索(MCTS)开始工作。

我想那时AlphaGo应该已经完成了他们的《自然》论文并送审。所以基本上,在这半年里我们一直在追赶。我们的论文于二月被接受,但在此之前,我们看到了其他围棋新闻。此后我们做了一系列改进,现在以BSD许可证开源,因此广受欢迎。该许可证意味着你可以出于任何原因使用代码,没有特别限制,可用于商业软件,也可用于任何你想要的软件,甚至保持秘密不公开。

整个代码依赖极少,安装和运行应该很容易。它还附带了一个预训练的CNN模型KJ 3D。我认为使用这个模型,你可以轻松达到KGS 3段水平,而且运行速度非常快,只需几分之一秒。我想在下一次比赛中,所有参赛者至少都会使用KJ 3D模型。我们还开源了基于学习的默认策略,并正在训练新的价值网络,但尚未发布,训练代码也未开源,但很快会发布。

接下来我将谈谈围棋引擎的工作原理。在座各位都是围棋高手,但不一定是围棋引擎的优秀程序员。大家熟悉人类如何下棋,但不一定知道计算机如何下棋,这与人类下棋非常不同。我想让你们记住的第一句话是:计算机不是神。即使拥有超级计算机,也不可能搜索整个空间,因此必须在效率和强度之间做出权衡。

假设我们从当前的棋局形势开始,计算机能做的就是从当前局面扩展搜索树。这里的根节点是当前形势,从根节点出发,你可以尝试几种不同的下一步走法,形成一系列连续的走法,然后你可以再次扩展下一个节点以扩大你的树。这是穷举搜索的状态,但正如我提到的,不可能对所有分支都一直搜索到游戏结束。

当你达到某个步骤时,例如到达这里,在某个时刻你需要停止,并评估当前的棋局形势直到游戏结束。这个评估步骤会直接给出游戏的后果。例如,顶部的节点显示黑棋获胜,底部的节点显示白棋获胜。这种受限的搜索策略使得引擎既足够强大,又不会消耗过多的计算资源。

在第二阶段,你需要思考如何设计这两个部分。对于穷举搜索部分,你需要考虑如何扩展节点,这称为树策略。从这里开始,可能有数百种放置棋子的可能性,但只有少数几步特别有趣,也符合人类的直觉。人类从不考虑游戏中所有可能的走法,而是认为这里可能是突破口,你需要在这里下棋,从而形成一个关键点。

因为这一切取决于你如何扩展节点,这也决定了你搜索树的样子。第二个问题是扩展哪个节点。我们使用蒙特卡洛树搜索(MCTS)来确定可以扩展哪个状态或节点。这里有太多状态,但与每个状态相关联的都有一个胜率估计。蒙特卡洛树搜索几乎总是找到具有最高胜率加上一些探索分数的节点。

在第二部分,即评估部分,也有几种不同的方法。你可以做两件事:一是使用默认策略模拟节点直到游戏结束,看看后果。什么是模拟?我们从这个节点开始,知道不会以树的方式扩展节点,但我们可以模拟玩家每一步的走法,直到游戏结束。通过这种方式,你可以在不扩展游戏树的情况下找到游戏的最终局面。

另一种方法是使用价值函数。例如,训练一个模型,直接将该局面作为输入,让模型给出一个数值。这个数值可能表示黑棋获胜或白棋获胜。这两种方法都可以实现。接下来我将详细谈谈什么是蒙特卡洛树搜索(MCTS)。MCTS聚合胜率,并朝着好的方向进行搜索。

在蒙特卡洛树搜索中,理解起来相当简单。它从一棵存在的树开始,每次选择时,你选择胜率较高的节点进行探索。例如,这里胜率高,然后你直观地这样做,直到到达一个叶子节点。一旦到达叶子节点,你就根据树策略扩展该叶子。然后使用默认策略或价值函数评估该叶子。

如果价值函数说黑棋获胜,那么你就将黑棋获胜的信息反向传播回根节点。通过这种方式,你会在树的每个节点上累积胜率。下次当你想要进一步扩展树时,你会倾向于选择高胜率的节点。蒙特卡洛树搜索的好处是,它不会在所有分支上投入相等的精力。

游戏引擎仅在所有最具潜力的分支上投入精力,因此你会看到某些分支相当浅显,而其他分支则会深入探索,因为计算机认为该分支极具潜力,需要进一步发展。也许过一段时间后,计算机发现该分支中存在反击手段,这将摧毁你之前的所有努力,导致该分支及整个分支树的权重迅速降低,随后计算机将尝试探索其他分支。这就是引擎的工作原理。

围棋之所以困难,是因为策略和价值函数的估算非常复杂。与国际象棋相比,围棋更需要直觉。在国际象棋中,良好的评估函数可以通过计算棋子数量来判断局势,如果你落后一个马或车,很可能处于劣势并输掉比赛。但在围棋中,即使损失了十几颗棋子也无所谓,你可以在棋盘的另一侧获得巨大的领地,因此简单地计算捕获的棋子数量并不是评估棋局的正确方式。

此外,围棋中一颗棋子的差异会完全改变局势,甚至行棋顺序也会在当前局面下产生巨大影响,这使得传统建模极其困难。在深度学习出现之前,人们采用人工方法,即拥有围棋知识的人将思维转化为纸面规则,然后让计算机遵循这些指令来判断好坏。这种方法非常缓慢且难以调整,因为可能存在数千条相互冲突的规则,需要找到权重来确定哪条规则优先,这是一个极其缓慢的过程,且需要极强的围棋经验。

解决这一问题的答案目前是深度学习。我们可以使用端到端训练,利用大量数据训练模型,而不是让人类编写规则,而是让计算机从数据中发现规则。我认为这是建模此类复杂问题结构的更好方式,它需要极少的人工干预和对围棋知识的依赖。即使像我这样围棋水平很差的人,也能开发出相当不错的引擎,并且其性能惊人。

新网络尝试的想法并非全新,早在20世纪90年代,人们就尝试使用小型和浅层网络,但因性能不如手动调参或加入更多规则的系统而失败,被认为缓慢、难调且不如现有系统。然而,随着深度学习的兴起,人们开始使用多层模型,情况发生了变化。爱丁堡大学在ICML 2015上发表的论文显示,深度神经网络达到了4K至5K的水平,这在该阶段相当不错,因为人们传统认为仅靠直觉很难达到此水平,但他们证明无需搜索也能实现。

随后,DeepMind的论文使用了12层CNN,在与Pachi的对决中以11%的胜率获胜。虽然这一数字并不出色,但仍显示出良好的趋势。我们因此开始在这一方向工作,这也是Dark Forest诞生的原因。正如我们在Nature 2016年1月所见,DeepMind通过围棋AI最终击败了李世石4比1。

关于架构概览,我将详细讨论如何训练和测试深度神经网络,如何实现蒙特卡洛树搜索,以及基于学习的默认策略的性能。在Dark Forest中,如前所述,策略网络(预测下一步棋)至关重要。我们目前使用一个12层网络,将当前棋盘作为输入,提取25个特征平面。这些特征易于提取,例如黑白棋子的位置、黑白棋块的 liberties 等,将其输入网络,让网络学习不仅预测下一步,还预测接下来三步棋。

我们在包含17万手棋的KGS数据集上进行了训练,取得了高准确率和胜率。这里的胜率实际上是指引擎预测正确步数与职业或强力棋手相比的比例。一旦我们将训练好的模型部署到KGS上,人们很快发现它迅速降段,且行棋速度极快。这就是DCNN策略,也是该论文的主要贡献。

在之前的工作中,人们尝试预测下一步棋,但我们发现预测下一步三棋更好。如图所示,在相同的模拟次数下,预测下一步三棋比预测下一步棋能带来更高的胜率。与当时的其他方法相比,Dark Forest在胜率方面更强。不过,我认为AlphaGo的数值可能更高,大约在80%左右,这得益于其网络、自我对弈以及使用策略梯度增强等技术。关于蒙特卡洛树搜索,我们已提及工作原理,以下是其实现细节。

关于细节,我们使用了蒙特卡洛树搜索(MCTS)的并行版本。所谓并行,是指现代计算机通常拥有多个CPU,每个CPU可以同时运行不同的模拟。因此,我们可以让多个CPU同时运行多个模拟,而不是让单个CPU一次只运行一个模拟然后返回。这实际上大大提高了模拟速度。

此外,我们还使用了同步评估机制。这意味着有两个独立的程序:一个是蒙特卡洛树搜索,另一个是深度卷积神经网络(DCNN)。我们采用客户端-服务器架构。蒙特卡洛树搜索会发送一个需要评估的节点请求,然后等待深度卷积神经网络返回评估结果,之后继续搜索。

为了简化计算,我们使用管道通信。不过,我们也使用了一种同步版本。所谓同步版本,是指当蒙特卡洛树搜索将节点发送给DCNN服务器时,它并不会停止。相反,它会利用一个更快的、虽然可能不太准确的评估方法来评估当前局势。

我们首先使用这种快速评估来评估当前局势,同时让蒙特卡洛树搜索继续运行,直到GPU服务器返回正确的走法,然后更新该节点。我认为这种方法效率更高,但实现起来也更为复杂。

我们的十二月版本采用了100%的同步机制,并从DCNN中选取前3到5步。这句话的基本意思是,我们将DCNN推荐的走法进行排名,然后选取前3或前5步作为蒙特卡洛树搜索中的树策略,用于搜索。

此外,我们在探索阶段添加了一些噪声,以区分不同的威胁,但这实际上并不是一个好主意。我们后来对此进行了修改,并使用了Pari默认策略。Pari是一个来自开源社区的开源软件,其中包含一个默认策略。

我们将该策略移植到我们的系统中,并在M版本中对其进行了修改。我们通过编写自己的版本去除了Pari的默认策略。此外,我们在蒙特卡洛框架方面也进行了各种更改,使其性能更好。

最后是棋盘评估。人们可能会好奇,在KGS平台上,计算机如何知道哪些棋子是死的,哪些是活的。这其实非常简单。你可以运行默认策略100次,如果棋子存活的概率很低,它们就会被判定为死棋。

默认策略的好处在于,每次它都会通过不同的路径运行到游戏结束。因此,有时你会发现某些棋子状态不好,有时状态好。将所有概率汇总后,你会发现某些棋子极有可能死亡,从而被视为死子。

在我们的系统中,有三种默认策略:一种是仅包含规则的简单策略;一种来自Pari;最后一种是我们自己实现的策略,结合了规则和基于学习的方法。将这两者结合后,其效果实际上比单纯使用DCNN的方法更好。

关于运行默认策略的想法,我们借鉴了AF Go在AlphaGo论文发表后的做法。对于当前的Dark Forest,我们有一个默认策略,每步运行耗时6微秒,准确率为30%。AlphaGo论文中提到的默认策略准确率为24.2%,但我认为实际上是30%左右。

我认为这两者大致相同,但将其放入系统后,Dark Forest的默认策略与AlphaGo之间仍存在差距。图中显示,Dark Forest仍有大量案例需要修复。

这里有一张借用于DeepMind的图表。该图表展示了在大量职业对局中,将游戏运行到一定步数(例如15步后),应用默认策略来检查胜率或哪一方会获胜。理想情况下,最好的默认策略应给出如下曲线。

可能在20或30步后,默认策略应能明确判断黑棋或白棋获胜。但由于其不完美,你会看到一条逐渐下降的曲线。曲线上升越快,系统性能越好。

图中显示了DeepMind的AlphaGo快速策略和Dark Forest的策略。两者之间仍存在差距,我不确定AlphaGo是如何克服这一点的。Zen和Cystone的作者也指出,他们花费了5到10年时间研究规则。

他们检查了游戏中许多情况下的错误。计算机引擎可能显示有80%的胜率,但人类认为这是必败局面。这种差异的原因是计算机错误地判断了游戏的某些部分。

为了解决这个问题,你必须通过默认策略和模拟来查看哪部分出错。一旦找到出错的部分,就可以打补丁来修正这些特殊情况。但由于特殊情况太多,Zen和Cystone的作者花费了5到10年时间在此。

这是其中的一个差距。目前没有好的方法来自动学习这一点,这是Zen作者的观点。但我认为肯定会有有趣的新想法来解决这个问题。AlphaGo提到这可以通过纯学习完成,但他们拒绝透露细节。

我相信人们最终会发现这一点,从而开发出比AlphaGo更好的引擎。最后是价值网络部分,我们尚未将其整合到系统中。但从AF Go的演示来看,价值网络对于AlphaGo达到超职业水平至关重要。

价值网络的理念非常简单:你有一个棋盘,然后有一个神经网络。

网络然后神奇地将这些事物结合在一起,并给出一个胜率。我认为这也包含了许多职业棋手的直觉,当他们第一次看到棋局时,并不真正去推演,就已经知道谁在获胜。这基本上是让引擎变得更强的关键,也是当前引擎克服我之前提到的问题的关键,即你需要处理所有的边缘情况。如果估值网络足够强大,你就不需要处理所有的边缘情况,只需给出估值,你就可以根据该数值进行移动。

如果你查阅AlphaGo的论文,你会发现策略网络与没有网络的情况相比,性能有着巨大的差异。如果你使用估值网络加上你原始的 rollout 或原始默认策略(这基本上是指同一实体的不同名称),你会发现性能提升了大约500目,这在AlphaGo中大约相当于两子。我怀疑当时如果没有默认策略和估值网络,可能无法击败Fu,这只是我的猜测。这就是它的重要性所在。

我们取得了一些进展,表明确实存在可以从数据中训练的网络,并且它实现了约0.15的错误率(抱歉,之前说的0.5有误)。但在训练方面仍然存在一些问题,我认为数据不足以训练出一个比现有 rollout 性能更好的模型,但我们仍在尝试进行相关实验。

最后,我将通过与我们的系统进行简短比较来总结。他们的系统肯定强大得多,其策略网络来自他们2015年IC的基线网络,并且他们利用他们的 play 实际上实现了更强的网络,拥有高质量的 rollout 策略。这大约占30%,他们每步棋花费两微秒,而我们花费六微秒。最后,他们在比我们要多得多的数据上进行了训练,这显然是差异所在。

人们可能会说AI很软,但这并非仅仅是开始,我们仍然有很多事情需要思考。首先,我们并不需要求解器来解决所有问题,我们尚未解决推理问题。因此,如果你回顾整个演示,你会发现计算机倾向于使用直觉和暴力搜索的组合来解决围棋问题。

众所周知,当我们进行推理时,并不是单纯的暴力搜索。当人们下围棋时,实际上学到了许多概念,而这些概念从何而来?你在计算机围棋引擎的架构或交叉点中看不到任何痕迹。这是我们需要深思的问题之一。其次,我们还不知道深度规划是如何工作的。你将数据输入,几天后它给你一个神奇的分类器或回归器,给出胜率或下一步,看起来像人类一样自然,但没人真正知道这里发生了什么。

这确实令人不安,因为也许未来人们开始使用系统进行生活批判任务,在某种程度上它可能有效,但我们无法追溯根源。这实际上极其重要,我们仍在该方向上努力工作。最后,我们还不知道如何无监督地训练。我们都需要人类的围棋对局记录来开始拥有好的策略网络,然后我们可以开始自我对弈,魔法般的事情由此产生。

但没有数据,完全监督地做到这一点非常困难。这基本上意味着没有直觉,仅通过AlphaGo自身的对弈,我们能否训练出非常强大的引擎,使其强大到甚至超过人类,目前尚不清楚。希望DeepMind的人能给我们带来好消息。这是我的介绍,如果有任何问题,请告诉我。

速度比MCTS搜索慢,我是说训练模型已经存在,为什么比搜索慢?是的,如果你从人类的时间尺度来看,它并不慢。如果你通过深度网络,通常需要毫秒级,即10的负3次方秒。但如果你运行MCTS搜索,每次 rollout 从每次 play out 来看,需要微秒级,即10的负6次方量级。这是100到1000倍的数量级差异。

但从人类的角度来看,一切都很快。但如果你想在每秒运行大量模拟,这就变得关键,需要不同的架构来处理。在棋盘位置之间是否有缓存,还是你在每个新棋盘位置都重新开始搜索?我认为在研究中,你可以看到确实有缓存,因为整个树实际上存储在内存中。

每次你遍历MCTS树并开始新的树搜索时,你从这里开始。这是现有的树搜索,你从这里开始,所有这些节点都存储着,以及它们的下一步棋。所以你不需要再次请求策略网络来获取所有的好棋。

你提到你最初在训练迭代中放入噪声,并发现不在训练迭代中注入噪声更好,这是因为你没有遇到过拟合和局部最大值等问题吗?哦,我明白了,这是深度学习社区中的一个开放问题。我的意思是,整个函数是非凸的,我们当前优化的基本上是使用梯度下降,基本上是说:是的,我在这里看到局部方向,我可以向下走,让我们就向下走。

但也许这里有一个山谷,而在整座山中,有另一个更深的山谷我们从未见过。现在人们只是说,是的,让我们跟随局部地形到底部山谷,但这神奇地运作良好。所以这确实是深度学习社区的一个开放问题,我们仍在努力解决。

你有没有特殊使用时钟,让某些步有更多时间搜索,而其他步快速完成,还是仅仅是一种平坦的时间策略?好的,我认为因为围棋引擎中有不同类型的计时管理。一种管理是说,是的,让我们固定我们要使用的时间。我相信这可能是……

所以AF围棋引擎的工作方式是:我们大约有一分钟的时间,利用这一分钟搜索整个树。当时间耗尽时,系统会发出停止信号。一旦停止,我们截取顶部几个候选招法的快照,找出最佳招法并下出该步,以此回答刚才的问题。

好的,接下来可能需要问AR,他们有不同的做法。我认为整个引擎基本上是基于深度卷积神经网络(DCNN)结合蒙特卡洛树搜索(MCTS)。这正是目前的做法。每次扩展节点时,实际上都会向GPU DCNN服务器请求最佳招法。

基本上,如果计算机算力足够强大,特别是像AlphaGo那样,与其在KGS上学习60或70段的棋谱,不如直接移除人类围棋数据,尝试从AlphaGo的自我对弈数据开始训练,这会是另一个方向吗?

我认为这绝对是一个正确的方向。但有一点,DeepMind声称他们的数据非常珍贵,因此他们从未发布代码,也从未发布所有数据。如果我们有像AlphaGo那样的一亿条自我对弈数据集,我认为所有引擎都会变得更强。

但这主要是因为资源稀缺,很难获取。所以目前人们开始使用顶级职业棋手或顶级业余棋手的对局来训练模型。因为模型训练的一个必要部分是我们需要大量数据。

在当前的技术条件下,让AlphaGo和Leela Zero之间进行海量对局来训练网络是不可行的。但也许在未来,这是可行的。

在训练价值网络时,你假设了一个固定的贴目,比如七目半,或者是固定的贴目数,对吗?是的。所以如果你想用不同的贴目来下棋,你就必须完全重新训练模型。

我认为确实如此。所以在当前阶段,因为你赢或输的概率取决于贴目,所以如果改变贴目,你就必须从头开始改变一切。但策略网络可以复用,而价值网络则需要从头训练。

从数学角度来看,关于你如何训练模型以及你知道它会收敛,是否有一些关于收敛性的理论?

我认为有一些理论论文可以用于证明收敛性。我的意思是,它以概率1收敛。有一篇论文实际上可以向我展示这一点。你基本上可以证明,因为阻碍收敛的唯一原因是陷入局部最优。当你到达局部最优时,很难找到你将要前进的方向。

局部最优是平坦的,所以我只是待在这里。但实际上,如果你往那个方向走,会有一个非常缓慢的坡度可以下降,但计算机没有看到它,所以你被困在这里。但有一篇论文表明这种情况发生的可能性非常小。

所以在大多数情况下,你会一直走到局部最小值,基本上是一个看起来不错的局部山谷。如果你看到局部最优,我不确定我的意思是,也许在一百万英里外,有一个更深的山谷。这基本上是我们目前的状况。

我们要再问两个问题,可以吗?

好的,我们尝试过,但似乎效果不太好。动态贴目,然后叫我?

是的,哦,我认为之前的问题是关于如果你使用价值网络,是否需要训练模型。答案是肯定的,因为价值网络需要根据当前局势给出胜率。这实际上涉及贴目计算。但如果你只使用价值网络,比如使用带有蒙特卡洛树搜索的策略网络,如果你改变贴目,你不需要重新训练模型。

还有两个问题。

是的,我认为这是一个非常好的想法。但我们尝试过循环神经网络,它可以模仿你的搜索过程,但性能似乎不如预期。但我仍然认为这是一个非常值得探索的有趣方向。

最后一个问题,好的,抱歉,我可能给了这边太多的机会。

你好,作为一名建筑师,我非常感兴趣的是,我们能否训练价值网络系统来识别什么是美,什么是丑,然后代替人类建筑师,它可以设计建筑。在未来这有可能吗?

我认为对于艺术应用来说,这绝对是可能的。人们见过Prisma,我想每个人都可能用过Prisma。它可以将真实的图片或图像变成素描画。这在以前是不可能的,但现在只要等待几秒钟,它就变得可能了。

我认为在未来,你肯定可以使用深度网络来训练一个区分美与丑的模型。所以我认为这实际上比我们想象的更容易。起初人们说,是的,这是一件神秘的事情,因为我们无法告诉计算机什么是丑,什么是美。

我们基本上是从我们的感知部分告诉它。但似乎现在这种感知可以通过深度神经网络更好地建模。所以我认为这是一个非常有前景的方向。谢谢田博士。

谢谢,我有一个后勤公告。下午4:00到4:15是……