Tag: AI

  • 简单说下机器学习的算法

    简单说下机器学习的算法

    上个月的时候,我借着ChatGPT的风头,写了一篇《从ChatGPT开始说起》,其中简单回顾了一下我对AI的认识,其中没有谈到很多技术的东西,特别是机器学习的基本算法。在这篇文章里,我想结合我目前还能想得起来的在大学/研究生(大概是30年前)时学到的一些知识,简单说说机器学习的算法。

    一、实际问题引入

    假定有如下的表格,显示了一名学生在一个学期中某个科目的四个评分标准中各5次的成绩。

    评分标准 第一次 第二次 第三次 第四次 第五次 最终成绩
    A 4 6 5 6 6
    B 2 3 4 5 6
    C 4 5 6 5 6 ?
    D 2 2 4 5 5 ?

    我们需要得到这些学生的期末成绩(1最低,8最高)。

    二、解决问题

    一种很粗暴的方式,自然是用平均权重,也就是每次成绩都有20%的权重,得到平均成绩后四舍五入。这样得到的表格如下:

    评分标准 第一次 第二次 第三次 第四次 第五次 最终成绩(四舍五入后的平均成绩)
    A 4 6 5 6 6 5
    B 2 3 4 5 6 4
    C 4 5 6 5 6 5
    D 2 2 4 5 5 4

    这位同学在这个科目上的最终得分是18分,大致可以换算到IB 7分制的4分。

    直觉告诉我们,这张表格中,

    1. A标准的评分略偏低,可以考虑6分。
    2. C标准的成绩比较“正确”,但也可以考虑6分。
    3. B/D标准的成绩有点“不公平”。这位同学在学期初无论出于什么原因,这两个评分标准的成绩不理想。但是他进步非常明显,简单的平均法没能充分考虑该生在这学期在该科目上的进步。

    三、有经验的IB老师给出的分数

    我们来看下一位有经验的IB老师面对这张成绩单,会给这位同学给出怎样的分数:

    评分标准 第一次 第二次 第三次 第四次 第五次 最终成绩(经验评分)
    A 4 6 5 6 6 6
    B 2 3 4 5 6 5
    C 4 5 6 5 6 6
    D 2 2 4 5 5 5

    这样,这位同学的总分就是22分。可以得到IB成绩中的5分(接近上限的5分)。如果最后得分要到6分,那么总分最低需要到24分。而从上面的评分可以看出,即使我们给这位同学的B项得分再加1分,也只有23分,到不了6分的最低要求。所以,这位学生该科目的最后得分在5分是非常合理的。

    四、让机器来打分

    有了之前的讨论,我们可以来考虑是不是可以用机器来打分。

    简单的一个模型可以是:

    [latex]S_{final}=a_1*S_1+a_2*S_2+a_3*S_3+a_4*S_4+a_5*S_5=\sum_{i=1}^5a_i*S_i[/latex]

    也就是我们用线性方程,对5个成绩授予不同的权重,然后得到最后的分数。如果我们简单地从最开始(二)中提到的平均主义出发,我们就可以先为每个a_i赋值0.2,得到了一个值,然后和(三)中比较“正确”的数值进行比较。两者的差异就是我们的模型和“正确”结果之间的差异:

    平均法 “正确”结果 差异
    5.4 6 0.36

    所以,平均法和“正确”结果之间的差异是0.36。这个差异还是太大了一些。

    注意:为了避免数值相减出现正负值,在计算差异时,我们会将数值差异进行平方,然后再加总。

    五、罚函数

    在我读书的时候,我学过所谓的“罚函数”法。它的简单原理是:

    1. 我们有一个目标。在本例中,就是根据算法得到的成绩要和“正确”结果一致;再进一步翻译成数学语言,就是这两个成绩的差异要最小。(因为我们对实际差异进行了平方,所以这个差异的最小值应该是0)。换句话说,算法得到的结果和我们的“正确”结果的差异,就是这个算法带给我们的“惩罚”。
    2. 通过一些算法,我们不断调整a_i的数值,直到差异能降低到我们能接受的一个比较小的数值。也就是我们要把“惩罚”降低,最好是没有。

    比如,如果我们针对上述成绩,人肉进行几次测试,我们可能可以得到这样的过程:

    尝试 a_1 a_2 a_3 a_4 a_5 预测结果 “正确”结果 差异
    1 0.2 0.2 0.2 0.2 0.2 5.4 6 0.36
    2 0.1 0.1 0.1 0.2 0.5 5.7 6 0.09
    3 0.0 0.0 0.2 0.3 0.5 5.8 6 0.04
    4 0.0 0.0 0.1 0.2 0.7 5.9 6 0.01

    如果我们满足于0.01这个差异(或者说精度),那么用人肉测试的方式,我们可以很快得到结果。于是,我们可以说现在的权重分配(0.0, 0.0, 0.1, 0.2, 0.7)就已经满足了我们的要求。

    但有两个问题,限制了我们不能采用人肉的方式继续这么做下去。

    首先,这个权重分配对于上表中的B行就不适用。对于某一个科目来说,虽然可以有4个不同的考核指标,但是得到最后分数的“公式”应该是一致的。

    其次,随着数据量的增加,用人工的方式来进行这个操作的话,我们很快就累死了,而且容易出错,效率极低。

    六、AI来帮忙

    如果我们把上面的过程与现在的机器学习加以对照,会发现有很多共通的地方:

    1. 都有一个目标,以及对应的“惩罚”。
    2. 都可以建立一个数学模型。
    3. 都有一些供训练的数据。
    4. 都可以通过数学方法,根据训练数据求解最优,也就是把“惩罚”降到最低。

    机器学习的好处就是,可以预存各种不同的模型:线性的、二元的、高元的;预存各种不同的优化方法,并快速地进行计算;没有感情,不会抱怨。

    这只是一个有关机器学习(Machine Learning)很粗略的讨论,目的一是做些小小的科普;目的二是做些reflection,回忆一些过往学到的东西——人老了,毕竟是怀旧的。

  • 从ChatGPT开始说起

    从ChatGPT开始说起

    这段时间,在刷我的朋友圈的时候,要是没有看到关于ChatGPT的东西,就是很奇怪的事情了。

    所以,我决定蹭一蹭热度,从ChatGPT开始说说我对AI的理解。

    (BTW,我这个订阅号目前订阅人数到了643位。在此感谢各位的支持!)

    我想通过这篇文字,整理一下我对AI的认识和一些前瞻的判定。

    先说一些快速的结论吧。

    ChatGPT酷不酷?

    答案当然是很酷!简直酷毙了。可惜的是,我没有海外手机,也不想通过什么手段去激活账号,所以到现在我也没有试用这个AI系统。

    ChatGPT有没有用?

    从我目前看到的一些截图来看,我感觉没啥用。

    我猜想中的ChatGPT的构架,应该是一个自然语言处理系统(NLP)+带有深度学习的搜索系统+自然语言生成系统(NLG)。

    NLP在很多年前就有了很厉害的应用,我印象中最出名的是IBM在2011年左右搞出来的Dr Watson。它在美国的一个知识问答竞赛Jeopardy中,击败了水平顶尖的人类选手,一战成名。(有兴趣的同学可以去搜索一下相关介绍和视频。)Watson通过聆听主持人的提问,与另外两位人类选手抢答。而且,Watson在竞赛中同样表现出了高超的局面判断能力和选题策略。

    IBM对Dr Watson寄予了众望,但一直到今天,这个系统还没有找到很大的应用空间。正如这篇文章中提到的:

    Watson has not remade any industries…the original objective — to do pioneering work that was good for society — was laudable. It just wasn’t realistic. 华生并未能改造哪个行业……最初的目标——做有利于社会的开创性工作——是值得赞许的。但这个目标并不现实。

    深度学习方面的典型,我会想到DeepMind的AlphaZero——国际象棋、围棋、将棋方面的最顶尖引擎。这方面的介绍就比较多了,我就不重复了。有兴趣的同学可以看看我2021年12月写的一篇文章

    对于此类深度学习的AI,我很早就有一个判定:

    这些AI的学习目标是很明确的,也就是说有一个明确的目标让AI去加以“接近”。围棋中,是围的地多少;国际象棋中,是将死对方的王。而且,在信息全对称的决策类型游戏(比如围棋和国际象棋)中,这些AI的表现要好于不完全对称的游戏(比如星际争霸)。

    上面那篇我的文章中,特别提到:

    将近沉寂一年后,DeepMind又抛出了一个重磅新闻。4天前(2021年12月1日)的《自然》杂志上刊登了一篇文章,题为“DeepMind’s AI helps untangle the mathematics of knots”。 我认为,这次的DeepMind开始展现出真正的“人类”思考模式:从众多已知的现象中,开始进行归纳,并历史性地为人类提供思路:它一次性提出了两个数学猜想:一个涉及纽结的几何特征和代数特征之间的关联;一个涉及表示论。

    这是我认为的真正的AI。

    回到ChatGPT,我认为它的问题有两个。

    第一,它不能给予我们任何新的知识。这里我说的“新”的知识,不是说那些你不知道、但肯定已经存在的知识。比如,刚果金这个国家是哪一年成立的?这不是新的知识,只是我在进行一些搜索之前并不知道而已。

    当然,通过ChatGPT获得更多的知识肯定是好事。

    第二,它限制了知识(答案)的多样性。这是一个更大的问题。

    通过问答,你获得了答案。但这个答案就是唯一的吗?人类在学习知识的时候,可以是归纳——这就隐含了从不同的渠道获得所谓“答案”的前提,但更伟大的是演绎——从一些基本公理出发,推演出新的东西。

    我一直认为,演绎才是人类特有的能力,所有的AI到目前在这方面都还非常弱,也就不是我能接受的真正的AI。

  • DeepMind这几年

    DeepMind最近又搞了个大新闻,所以我觉得应该根据能看到的资料,为大家稍微介绍一下这家我个人认为十分了不起的公司。

    创始人和公司简介

    创始人之一是Demis Hassabis(1976/07/27——),就是下面这位老兄:

    DH应该是属于天才这样的人物,他从小开始学习编程。16岁的时候开始为Bullfrog公司工作,开发了“主题公园”这款游戏。他自己也是一位国际象棋好手。

    DeepMind公司由他和另外两位联合创始人一起在2010年成立。2014年公司被Google收购,2015年成为Google母公司Alphabet Inc下的全资子公司。

    公司的重要作品

    2016年

    2016年,DeepMind公司开始为人所知,因为在那一年,公司开发的AlphaGo在围棋正式比赛中击败了当时的世界顶尖选手李世石。五番棋的结果是4-1。

    长久以来,围棋一直被认为是最不可能由“机器”来下出真正顶级水平的智力运动。AlphaGo之前,一些围棋机器人大概也只有业余几段的水平,根本不能和职业选手相对抗。

    但AlphaGo横空出世,彻底颠覆了人类的成见。我承认,我当时是希望李世石能击败AlphaGo的。

    2017年

    2017年,AlphaGo又在3局比赛中击败了柯洁。

    此时的引擎还是要依靠学习人类的比赛和经验(比如开局指南等)来获得“经验”。

    2017年,AlphaGo的升级版出现,可以与人类顶级高手进行全对称信息对弈类游戏的竞争。这个升级版被命名为AlphaZero,可以进行国际象棋、围棋和日本将棋的对弈。

    更令人震惊的是,这个版本完全是通过自我学习而在短时间内达到了人类难以企及的水平。AlphaZero的前一版本AlphaGo Zero只自学了3天,而且用了更加少的计算量,就在一次内部比赛中以100:0的可怕优势击败了AlphaGo。

    AlphaGo Decision Tree

    另外值得一提的是,这一年也可以说是国际象棋引擎的爆发之年。在AlphaGo的激励下,全球出现了众多水平也极高的国际象棋引擎,如Stockfish, LeelaChess Zero, Komodo等等等等。

    如今的国际象棋人类选手,已经习惯于用引擎来帮助自己训练。一旦在对弈中下出令职业选手都叹为观止的下法,人们也习惯用“Engine Move”来形容这一手。

    2018年

    这一年,基于DeepMind之前的研究,Google推出了第一个商用TTS产品:Cloud Text-to-Speech。它基于DeepMind的WaveNet项目。

    2019年

    这一年1月,DeepMind推出了AlphaStar,用来与人类高手进行星际争霸 II的对决。经过不断改进和限制“作弊”1的举动,在这一年10月,AlphaStar已经在三个星际II种族的天梯比赛中,都达到了大师级别。

    星际争霸和围棋、国际象棋不同,它是非对称信息的对战:你知道自己的兵力、科技树,但不可能完全知道对手的兵力、科技树;换句话说,对方在某种程度上是“隐形”的。

    2020年

    2020年的14届CASP会议上,DeepMind推出了AlphaFold,一个专注于蛋白质折叠的引擎。在43个蛋白质中,它最精确地预测出了其中25个蛋白质的空间折叠结构,达到了“实验室”精度。

    AlphaFold

    蛋白质的空间折叠具有重要的现实应用价值。蛋白质只有在折叠成一个特定的空间结构时,才具有其作用;如果折叠后的结构不对,就会出问题,而且是涉及生命体健康的大问题!

    如果我们能在AlphaFold的帮助下,快速、准确、低价地预测出蛋白质的空间结构,那必将大大造福于人类。

    2021年

    将近沉寂一年后,DeepMind又抛出了一个重磅新闻。4天前(2021年12月1日)的《自然》杂志上刊登了一篇文章,题为“DeepMind’s AI helps untangle the mathematics of knots”。

    我认为,这次的DeepMind开始展现出真正的“人类”思考模式:从众多已知的现象中,开始进行归纳,并历史性地为人类提供思路:它一次性提出了两个数学猜想:一个涉及纽结的几何特征和代数特征之间的关联;一个涉及表示论。

    搜狐的这篇报道说得很对:

    首先我们要知道,证伪一个猜想相对简单,只需要找出一个反例即可。 但从零开始提出一个全新猜想这种工作,AI还是 首次参与进来。

    人类的直觉(以及由此而来的归纳、演绎、推理)一直以来都是AI的难点,DeepMind跳出了之前(无论是全对称信息还是非全对称信息)游戏中还存在的由(卑微的)“人类”设置的规则,开始为人类发现、制定规则。这真的是“不明觉厉,细思恐极”的一步。

    这才是人工智能的正确方向。


    1. 一开始,AlphaStar是能马上看到全部地图的,但人类选手不行而必须通过“探路”、“侦察”才能逐步“点亮”地图。这个bug给引擎带来太大的优势,因此在后续的改进版本中,这个不合理的”作弊“行为被修正了。 

  • 来自KI的再次拷问

    石黑一雄的《克拉拉与太阳》(Klara and the Sun)是我收藏的他的第二本作品(第一本是《被掩埋的巨人》)。这本书在豆瓣的评价总算比《巨人》高了。

    Kazuo Ishiguro

    来自KI的拷问

    “你相信有‘人心’这回事吗?……某种让我们每个人成为独特个体的东西?”

    这个问题很难回答,尤其是如今。请允许我稍后回到这个问题。

    Klara and the Sun

    乔西和里克

    作为小说中重要的角色,乔西的塑造略显苍白。唯一让我印象深刻的,是她对里克锲而不舍的鞭策。这样的鞭策更多地是基于两人从小到大的共同生活经历带来的信任和期盼,而不是基于爱情而对未来有着怎样的承诺和责任担代。

    相比之下,里克的塑造很成功。他让我想起那位“树上的男爵”。他和乔西母亲可能正好相反,“别人怎样就怎样,我就不怎样”。

    在书中,他俩交往的高光时刻必然是两人间才能玩得起来的“泡泡游戏”。我很喜欢这样的描写。这样的交流又让我想起马可波罗和忽必烈汗在《隐形的城市》中的那种交流。

    但是,两人有着“本质”的不同。

    里克没有经过升级,所以只有2%的机会才能进入清北交复,但是他健康。

    乔西经过了升级,所以有更大的机会进入清北交复,但是她差点没命——她的姐姐就是有极大的可能因为升级而丧命。

    KI在这里竭力地颂扬少男少女之间的纯真感情,但又像《巨人》中那位船夫一样,隐隐地提出更严肃的问题:他们的未来在哪里?

    如果说,在当前的处境下,两人还算可以配得上的话,那么在乔西康复后,两人又将如何?乔西或者里克会不会变“心”呢?书中没有给出答案,只有各种观察和事实。KI从来不会那么直截了当地、以文学意义上的不可辩驳性为我们解答这个问题,就像他没有告诉我们《巨人》中的那对老夫妻最终是不是重聚那样。

    母亲

    母亲这个角色的塑造很成功、很鲜明。为了乔西,她可以赌上一切,而且相信“赌得越大,收获越大”,对她来说,风险是永远可控的,别人(特指那些“升过级”的人)身上发生的事情,是可复制的。因此,她的行事路径就很清晰:别人如何,我的孩子就要如何。只是因为乔西的身体状况,她才暂时不再逼迫——但乔西还是要上家教课。

    她为什么要“复制”一个乔西?延续对乔西的爱,可能;延续自己为乔西设定好的发展路径,根本。

    这不是爱,是控制。我们要小心了,有多少“控制”借着“爱”的名义而肆虐!

    画师和父亲

    画师是个彻底的还原论者:将人体拆成器官、组织、细胞,你找不到“某种让我们每个人成为独特个体的东西”。在他看来,两个“人”,只要外貌、行为、性情……任何可被观察到的东西达成“一致”,那他们就是同一个“人”。Period.

    因此,他愿意也必然地将“人”看成“机器”:构造、原理就可以还原一个“人”。其他?没有其他了。

    从直觉出发,我们知道他不对。直觉告诉我们,人有自己的“思想”和“意识”。但是,对“意识”起源的讨论,目前还没有定论;即便采用量子力学中“自观察”的观点,也不过是将同一个问题换到另一个层次上而已。

    于是,我们陷入了困境。“狡猾”的KI回到开篇的问题:“你相信有‘人心’这回事吗?……某种让我们每个人成为独特个体的东西?”他是要逼着我们不情不愿地回答说:“没有”但骨子里却知道自己回答错了。

    或许,这个问题的另一个意义可以这样来理解:如果没有“人心”——我们先不去精确定义这个东西,那么我们不仅将不再成为“自我”,也许也就和别的东西没有什么区别了。那么,问题就不再是“我”和“你”有什么不同,而是所有的东西都可以被认为是“一样”的了。

    父亲的出场很晚,但出现之时就给我带来很好的印象。他叫乔西是“小野兽”,和她说一些父女间的独特对话。人都说“多年父子成兄弟”,多年父女应该也可以。他虽然和母亲离婚,也没有得到乔西的赡养权,但我觉得他还是个很不错的父亲。

    父亲和画师正好相反。他对“人心”的看法,很有朴素的唯物主义的味道。人心就是一个有好多好多房间、很多房间套在房间里构成的“东西”。你以为看过了所有的房间,但总有一间房间是你没有看过的;也就是因为至少存在这么一间房间,任何“克隆”、“拷贝”的行为就注定会失败,所以他强烈反对母亲和画师的计划。

    由此出发,他认为,现在就是如此,珍惜当下,就是最好的对策和手段。Carpe Diem!

    如果你问他那个问题,他的答案一定是:有的!一定是有的!既然如此,那么所有的“拷贝”、“复制”的工作就注定要失败、注定会带来更多的灾难。

    升级(复制)还是不升级(不复制),这是一个必须考虑的问题。

    能这样提问的人,是幸运的——因为他们至少还能提问、还有得选择;更不幸的,是这样的人:他们没法提问、也无从选择

    只要有选择,“人心”就会变,选择对自己更有好处的选项(“自私”)。 但机器人没有选择。 所以,机器人没有“人心”。

    Klara

    终于,我们要谈到本书的主角:Klara。她是一个AF(Artificial Friend),其设计用来作为小孩子成长中的伴侣——所以可以想见的一件事是,未来的社会里,独生子女还是占据绝大多数。

    对于她,我有很多想讨论的。

    第一个问题,Klara看似奇怪的网格状观察方式

    在书中,有多次提到Klara观察周围事物时采用的独特方式,初看起来很奇怪。比如第33页第一次出现的如此方式的描述:

    “我们此时面对着商店,我的视线能一直延伸到后排的玻璃桌,可店内的空间却被分割成了十个方格,因此我眼前呈现的不再是一幅统一的画面。前区壁龛在我最右边的那一格中,这符合预期;而最靠近壁龛的杂志桌则被划分到了不同的方格中,桌子的一部分甚至都出现在了我最左边的那一格里。这时店里的灯光已被调暗,我看到其他的AF在几格画面的背景中,靠着商店中区的两面墙,准备入睡。可我的注意力却被引向了中间的那三格,它们呈现的是经理的不同侧面,她此刻正在做出转身面向我们的动作。在一格中我只能看到她从腰到脖颈上半段的身体,而紧挨它的另一格却几乎完全被她的两只眼睛占据了。靠近我们的那只眼比另一只要大上许多,但两只眼睛中都满是善意和悲伤。第三格中展现的则是她的一部分下颌和大半张嘴,在那里我察觉到了愤怒和沮丧。接着她完全转过身来,走向我们,商店重新变回了一整幅画面。”

    我想说,这种方式符合计算机对动态图像的处理方式。通过合理的分割,计算机对某个方格内的图像的变化可以进行快速的处理,而不用每次处理图像时都去参照所存储的前一幅整体的图像,可以大大提高处理速度和响应速度。

    第二个问题:Klara的AI水平到底有多高?

    照理说,Klara的AI水平应该很高,至少要高出我们现在能制作出来的所有机器人的水平。但是在某些方面,她又出乎意料地“弱智”,比如说:她的运动能力非常一般,以至于需要里克的帮助才能顺利到达麦克贝恩先生的谷仓。

    Klara的逻辑推理能力非常强。比如,她从太阳先生的光辉能让乞丐人和他的狗“起死回生”这一现象进行推理,并自主采取了后续的一连串行动。同时,她判定“库廷斯”制造的噪音是太阳先生不愿伸出援手的根本原因,因此决定捐献出对她而言万分重要的PEG9溶液来“消灭”库廷斯——当然她不一定完全清楚这么做的后果——但我们知道,在捐献出PEG9溶液后,她的各项机能确实是衰减了。

    整篇小说中,Klara第二次来到谷仓向太阳先生做出的祈祷(344-346页),是全篇最最感人的一段文字。

    KI用近乎“儿戏”的方式,向我们描述了信仰的力量。作为理性客观的“俗人”,我们自然知道这样的奇迹不可能存在。但KI想说的是,也许正因为我们不信,所以奇迹才没有出现。Klara的“意识”中,对这样的奇迹表示充分信任——因为如前所述,她的逻辑系统明白无误地向她表明:太阳的照耀与病人的康复之间存在明白无误的因果关系。

    其实,我们再怎么再确定奇迹并不存在,但我敢说我们还是愿意相信(在我们的祈祷、奉献、求肯之下)也许还是会有奇迹出现的。Klara不认为有(我们认为的)奇迹,她只进行推理,所以(我们认为的)奇迹就是(她所认为的)因果关系。

    这么看来,Klara的AI水平其实不高。制造商之所以这么设定,大概是因为她只是作为孩子的陪伴而出现,如果她太过理性,会失去作为孩子伙伴而应该带来的乐趣吧?

    第三个问题:Klara有“人心”吗?

    这个问题答案的一部分在上一个问题以及前面的节中已经有了,即,只要Klara认为奇迹等于因果关系 + 只要Klara没有选择,那么她就不能被认为具有“人心”。我们来看这个问题答案的第二部分。

    本书的译后记中,译者提出了一个很重要的观点:

    那么,我们的克拉拉呢?说到底,她究竟有没有一颗人类的心呢?答案恐怕是否定的。的确,克拉拉拥有人类引以为豪的所有美好品质;……然而,有一样人类共有的特质却是克拉拉所缺失的,那便是自私-因为她是一个完全利他的存在。……这也就注定了克拉拉的一切品质与情感都是无法用人类的纬度去衡量的,因为,正是由于自私的欲望与升华的渴望并存,人类的心中才会充满了矛盾、彷徨与痛苦;没有了自私那下坠的重力,一切崇高、向上的人性也就虚无缥缈得失去了分量。自私是人类沉重的负担,但也许在并不遥远的未来,也会是人之所以为人的一个最重要的锚点吧。

    这段话非常精要。说出了几个重要的点:

    1. 具备人类引以为豪的所有美好品质<>人;
    2. 不具备人类痛恨的所有恶劣品质也<>人;
      1. 自私就是这么一个具有标记性的人类的品质。
  • This is Game Changer, this is real AI

    《Game Changer》是一本关于国际象棋目前最强的引擎AlphaZero的书。

    根据推算,AlphaZero的等级分在3480分左右;而目前的国际象棋男子世界冠军马格努斯·卡尔森(Magnus Carlsen)的等级分也不过在2860分上下。也就是说,AlphaZero可以轻松吊打卡尔森。

    这本书目前国内还没法买到,也没有翻译。好朋友Vera帮我下单并顺便买单,她实在是一个好人!

    我曾试着和出版社联系,但他们听到这是一本关于国际象棋的书后,就表示很难出版——毕竟说来,虽然人工智能这个话题很热门,但国际象棋这个话题太冷门了。

    我国际象棋水平不高,但是很喜欢下。它能运动的子力以及子力的运动范围和作用都比中国象棋大了很多,所以其变化也就更加多样。

    国际象棋的AI(或者说人机大战)出现得很早。我们都熟知深蓝和卡斯帕罗夫的对战。自此之后,其实国际象棋引擎已经树立了全面超越人类棋手的地位:顶尖的人类棋手已经无法打败一个顶尖的国际象棋引擎

    那么,既然如此,DeepMind的各位老兄为什么还要钻到国际象棋引擎里来?

    我们必须知道一点,在AlphaZero出现之前,所有的顶级国际象棋引擎(乃至包括围棋引擎)都有一个共同点:有关该领域的人类知识的基础

    比如说,国际象棋引擎会被人教导说:开局一般不要重复走一个子(特别是大子)、叠兵一般是不好的、能易位就要尽量易位、双象一般比双马或者马象的结合要好等等……然后,也会被人教导说:后值9分,车是5分,马象是3分,兵是1分……;还有诸如开放线、通路兵之类的“价值”;甚至还有开局手册、终局指南等等。围棋引擎也是如此。

    但是:

    1. AlphaZero的学习不依靠任何与该领域(国际象棋)相关的或者人类的知识
    2. AlphaZero对局面的判定是或然性的(基于它认为赢或者平的机会多大)而不是以领先多少兵来判定——而这是当时所有引擎的判定方式。
    3. AlphaZero搜索它认为最有前途的走法,它的评估是多个可能序列的平均而不是试图找到单一的最佳路线。
    4. AlphaZero的评估函数结构非常灵活并允许它考虑位置因素的组合。

    这是和所有引擎都不同的地方。

    AlphaZero横空出世,在经过4个小时的训练后,DeepMind认为它已经超过了当时最强的引擎Stockfish 8的等级分,在训练了9个小时后,它和Stockfish 进行了100盘的对战,最终取得了压倒性的胜利:28胜,72平,0负。这100盘棋的棋谱得以公开,也正是本书分析的重点。

    作者通过分析这100局对战,总结出了很多AlphaZero的“风格”,比如:它倾向于瞄准对方的王;让自己的王安全;在削弱自己的王翼结构以打开进攻路线前,它会确保中心局势稳定等等等等。这些都是所谓的“后知”分析,是人类根据AlphaZero的下法得出的结论,并不是说AlphaZero“知道”这样下比较好——它根本不知道。它只知道如此这般的下法可以让自己有更多的赢棋机会。

    如今的国际象棋高手都已经习惯于通过某个引擎甚至多个引擎来帮助自己提高。AlphaZero的一些下法完全颠覆了人类多年来的固有下法和定式。这对国际象棋本身的发展是具有革命性意义的。棋手通过向“机器”学习,拓展自己的思路和对国际象棋的理解。国际象棋界甚至专门创造了一个术语“Engine Move”来特指那些几乎无法由人类棋手想到、但顶级引擎一定能想到的“神之一手”。

    DeepMind很有野心,他们是想将AlphaZero做成一个通用的引擎,可以用来下国际象棋(西方主流)、围棋(中国主流)以及将棋(日本主流)。不过,AlphaZero也有局限:它只能进行目标明确、双方对弈、信息全对称的游戏,而如炉石、星际争霸之类的信息非对称游戏下,它就无能为力了。

    这才是AI的正确的发展姿势。

    DeepMind公司并没有停步,就在今天我看到一条爆炸性新闻:他们公司的AlphaFold 2在所谓的CASP14蛋白质折叠竞赛中,拿到了接近90分的高分。

    这才是AI的正确的发展姿势。

    确定蛋白质的空间结构到底有多大的意义,我就不说了。有兴趣的可以自行搜索。

    我总是忍不住地想,只要人类中还有这样的科学家,人类发展的前景就将是美妙的。

  • 从AlphaGo到Master

    这几天网上最热闹的,应该是Master的横空出世。横扫中日韩三国顶尖围棋高手,60胜0负。

    这样的胜率放到哪里去看都是吓死人的。

    我和几位朋友闲聊中也聊到了这个。我不是AI的专家,就随便说几句。

    AlphaGo刚出现的时候,人们对围棋AI还是抱着嗤之以鼻的态度,直到李世石九段败北后,人们才痛快地承认:AI已经有了和人类中顶尖高手进行所谓“最不可能被AI学到”的围棋的较量。

    这个耳光打在了所有人的脸上,于是另一种态度开始出现了:人类已经毫无尊严可言,已经一败涂地。

    我从来不会如此认为。

    先不说无论是AlphaGo还是Master都还是人类科学和工程学的杰作。我只想举一个物理学上的经典例子来进行类比。

    爱因斯坦的狭义相对论出现之前,人们生活在牛顿力学的范畴内。牛顿用力学三定律在令人无法反驳的精度上解释了“几乎”所有的物理现象,以至于波普在牛顿去世后写道:

    自然和自然界的规律, 隐藏在黑暗里。 上帝说:让牛顿去吧! 于是,一切成为光明。

    于是,人类沉浸在一切都已经被解决的幻象中。到了20世纪初,甚至很多人都认为,物理学的发展已经到了“只有在小数点六位以后进行参数修正的任务”的地步。

    但是,爱因斯坦发现了相对论,将牛顿力学打到了只是一个在相对论体系中,低速运动下的一个特例的地位。

    牛顿错了吗?不能这么说,因为它曾经是对的,而且如今在绝大多数情形下也是足够准确的。那么是什么地方错了?其实没有哪里错,只是思考的方式不同罢了。

    如今的Master(和AlphaGo)和几千年来围棋高手总结发扬出来的理论和体系,在我看来,就是相对论和经典力学间的对照。

    我小时候学过一段时间的围棋。必须承认,那些定式、形势、味道、厚薄都是有道理的。

    人的局限在于不可能像Master那样在几个小时内完成上百万种棋局的演化,而且牢牢地“记住”。于是,人类下围棋,只能开局从定式出发,中盘加以“精确”的判断,对杀和官子靠“精确”的计算。 一个围棋AI也逃不开这样的套路——否则计算量会太大。但是,它的可怕之处在于它的运算速度和记忆。

    但是,Master横扫人类高手,更需要依靠的是围棋的根本规则:围地。

    这个规则是很容易从各种终局局面中得以判断并加以形式化的。

    对规则的理解越深,就越是能胜利。

    我们人类几千年来对围棋理论的研究,得到了重要的成果。但是AI用十几年的时间证明,它才是对围棋规则(或者用我最喜欢的术语说,就是“元规则”)理解更深的存在。

    我们过去几千年的围棋理论只是AI目前围棋算法的低强度下的一个模拟。当我们发出“原来围棋还能这么下”的惊叹时,我们已经默默地承认了这一点。

    可是,我们还有理论上的希望。哥德尔的不完备性定律表明,任何形式化的系统都是不完备的,一定至少存在一个在该系统中无法证伪也无法证真的命题。人类在碰到这样的问题时,可以借助所谓的“不可理喻而证明(证伪)”来规避,但是计算机做不到。也许这是AI的唯一软肋。当然,这样的情形要在现实中出现,也只是存在理论上的可能性。


    回头说说IBM这家公司。1984年乔布斯推出Macintosh的时候在超级碗赛场做的广告,针对的就是IBM这位当时的“老大哥”。《2001太空漫游》中那台杀人机器HAL也是在暗暗指示着IBM(将IBM的三个字母按照字母表顺序向前移一位就能得到HAL)。如今看来,IBM确实掌握了足以威胁人类的力量。这个威胁也许一直存在:从Deep Blue,到Watson,到AlphaGo和Master。我们最该祈祷不要作恶的公司恐怕不是Alphabet,而应该是IBM了呢。

  • 《西部世界》第一季观后

    终于看完《西部世界》第一季,感觉这是一个巨大无比的坑。

    20160927213624_654_tumb4

    按照我的理解,阿西莫夫三定律不可被违背。这也是所有牵涉机器人、人工智能题材片子必须要遵守的。所以,在第一季的最后,机器人(所谓的“接待员”)开始奋起反抗,大肆屠杀的时候,他们所杀死的“人”也必定是机器人。

    于是,这个系列不可避免地陷入我多年前阅读《基地》三部曲写下的读后感中所描述的那个“循环”。

    不过,在这个系列剧中,编剧引入了一个新的概念,那就是:机器人的等级。显然,这个世界中有管理者,有被管理者。管理者有不同的层次,比如Bernard权限就很高,Ford的权限就更高。在我看来,权限高的意思就是:我可以在适当的时候告诉你,你不过是个机器人。

    再看看第二季就应该很清楚了。

  • 字母狗击败李世石

    今天真的是一个不平凡的日子:谷歌制造的AlphaGo围棋程序(昵称阿法狗,字母狗)再次击败李世石,在5番棋大战中,3:0取胜。

    多少年来,人们一直认为,围棋作为最复杂的游戏,计算机或者说人工智能要像职业高手那样玩出相当的水平还需要相当的年头。可是,这样的想法在字母狗的实力面前轰然倒塌。

    第一盘李世石的失利也许还能归咎于他不够认真,不够投入;第二盘字母狗37手天马行空且华丽无比的肩冲,第三盘角部的劫争,让我们对它最后一丝的怀疑也当然无存。

    围棋,也许到了重新被认识的时候。这么多年来形成的理论基础、定式、所谓的“俗手”……也许都要再次被重新判断一次。 这是AI了不起的胜利和里程碑,更是人类智慧了不起的胜利和里程碑。

    而我们,还在努力建设着一堵墙,努力地加快加剧和最新科技的距离。