2021年,信息技术发展突飞猛进。人工智能、大数据、开源、虚拟现实(VR)、增强现实(AR)……每个领域的发展几乎都可圈可点。 在人工智能领域,人工智能的语言大模型、图文大模型乃至多模态大模型的基本能力已得到了充分展现。例如,阿里巴巴达摩院公布多模态大模型M6最新进展,参数从万亿跃迁至10万亿;鹏城实验室与百度联合发布全球首个知识增强千亿大模型——鹏城—百度·文心,参数规模达到2600亿。 不仅如此,人工智能与其他科学领域的交叉融合也擦出火花。在《科学》近日公布的2021年度科学突破榜单上,AlphaFold和RoseTTA-fold两种基于人工智能预测蛋白质结构的技术位列榜首。 在人机交互领域,扎克伯格将Facebook公司更名为“Meta”时,特斯拉和SpaceX首席执行官埃隆·马斯克则将注意力放在脑机接口上。马斯克认为脑机接口装置将更有可能改变世界,帮助四肢瘫痪或有身体缺陷的人更好地生活和工作,“复杂的脑机接口装置可以让你完全沉浸在虚拟现实中”。此外,今年5月,斯坦福大学开发出一套皮质内脑机接口系统,可以从运动皮层的神经活动中解码瘫痪患者想象中的手写动作,并将其转换为文本。 在超算领域,最值得一提的是,今年11月,我国超算应用团队凭借“超大规模量子随机电路实时模拟”成果斩获国际高性能计算应用领域的最高奖项“戈登贝尔奖”。 在开源方面,RISC-V开源指令集及其生态快速崛起;由华为公司牵头,中国科学院软件研究所、麒麟软件等参与的openEuler操作系统开源社区业已汇聚了7000名活跃开发者,完成8000多个自主维护的开源软件包,催生了10多家厂商的商业发行版…… 回望2021年,信息技术版邀请业内专家梳理上述四个领域的发展脉络,展望未来发展趋势。 作者 张双虎AlphaFold或是2021年人工智能(AI)领域的“一哥”。 近日,《科学》杂志公布了 2021 年度科学突破榜单,AlphaFold 和 RoseTTA-fold 两种基于人工智能预测蛋白质结构的技术位列榜首。 此前几天,由中国工程院院刊评选的“2021全球十大工程成就(近5年全球实践验证有效、有全球影响力的工程科学和技术重大成果)”中,AlphaGo和AlphaFold亦榜上有名。 在接受《中国科学报》采访时,数位专家回望今年人工智能领域取得的成就时,均谈到了AlphaFold。 “面向科学发现的AlphaFold和中国正在构建的人工智能发展生态不能不说。” 浙江大学人工智能研究所所长吴飞对《中国科学报》说。 中科院自动化研究所模式识别国家重点实验室研究员王金桥则提名“用AI进行新冠诊断”“人工智能与生物、制药、材料等科学融合(AI for Science)”和“三模态大模型紫东太初”。 在医学领域,AI识别咳嗽声早已用于肺炎、哮喘、阿尔茨海默氏症等疾病检测。美国麻省理工学院研究人员研发出可以通过分析咳嗽录音识别新冠患者的AI模型,识别出新冠患者咳嗽的准确率为98.5%,其中识别无症状感染者的准确度高达100%。日前,有报道称该模型已用于识别奥密克戎病毒。 “紫东太初首次实现了图—文—音语义统一表达,兼具跨模态理解和生成能力。” 王金桥说,“目前与新华社共同发布的‘全媒体多模态大模型研发计划’,实现对全媒体数据理解与生成的统一建模,打造全栈国产化媒体人工智能平台,已 探索 性地应用于纺织业和 汽车 行业质检等场景。” 12月7日, 科技 部官网公布3份函件,支持哈尔滨、沈阳、郑州3地建设国家新一代人工智能创新发展试验区。至此,我国已经有18个国家新一代人工智能创新发展试验区,这将引领带动中国人工智能创新发展。 “我国正在推动人工智能生态发展,构建良好生态。”吴飞说,“目前已有15个国家新一代人工智能开发创新平台、18个国家新一代人工智能创新发展试验区、8个人工智能创新应用先导区和高等学校设置的人工智能本科专业和交叉学科等人才培养载体。” “一是大模型,二是人工智能和基础学科的结合。”孙茂松对《中国科学报》说,“语言大模型、图文大模型乃至多模态大模型的基本能力已得到了充分展现,确定了它作为智能信息处理基础软设施的地位。同时,它并非简单地扩大规模,而是对数字资源整合能力和计算能力都提出了挑战。虽然它的局限性也很明显,但它所表现出的某些‘奇特’性质(如少样本学习、深度双下降、基于提示的任务调整等),使学者产生了超大参数规模或会引发质变的期待,从而为新的突破埋下了伏笔。” 今年,人工智能领域从“大炼模型”走向“炼大模型”阶段,从千亿量级到万亿量级,在大模型领域,似乎没有最大,只有更大。 3月,北京智源人工智能研究院发布我国首个超大规模人工智能模型“悟道1.0”。6月,智源就改写了自己的纪录,发布悟道2.0,参数规模达到1.75万亿;9月,浪潮人工智能研究院推出了中文巨量语言模型——源 1.0,参数量达2457亿;11 月,阿里巴巴达摩院公布多模态大模型 M6 最新进展,参数从万亿跃迁至 10 万亿;12月,鹏城实验室与百度联合发布全球首个知识增强千亿大模型——鹏城—百度·文心,参数规模达到2600亿。 与此相应,最近快手和苏黎世联邦理工学院提出了一个新的推荐系统Persia,最高支持100万亿级参数的模型训练。 另一方面,人工智能在基础学科领域不断攻城略地。 7月,DeepMind公司人工智能程序Alphafold2研究成果又登顶《自然》,在结构生物学研究领域,人工智能或带领生物学、医学和药学挺进新天地;11月,美国南加利福尼亚大学研究人员通过脑机连接设备,让猴子玩 游戏 和跑步机,从而进行神经活动数据研究;12月,DeepMind开发的机器学习框架,已帮助人们发现了纯数学领域的两个新猜想,展示了机器学习支持数学研究的潜力。 “今年人工智能在各行业应用方面也取得不小的成绩。”孙茂松说,“人工智能与基础学科结合已显示出巨大潜力,发表了多篇顶级论文,已展露出某种较强的趋势性,即‘人工智能+基础科学’大有可为。” 作者 张双虎脑机接口、AR眼镜、智能语音、肌电手环、隔空手势识别……2021年,从基础研究到应用落地,人机交互领域风起云涌。不管是智能 健康 、元宇宙,还是自动驾驶领域的蓬勃发展,似乎都表明,人机交互正站在产业化落地的门口。 “我们研发的高通量超柔性神经电极已通过科研临床伦理审批,即将开展脑机接口人体临床试验。”中科院上海微系统所副所长、传感技术联合国家重点实验室副主任陶虎对《中国科学报》说,“安全稳定地大规模采集人体大脑的神经元信号并进行闭环调控,将实现病人感知和运动功能的修复。” 脑机接口技术给患者带来越来越多的便利。今年5月,斯坦福大学研究人员在《自然》发表封面论文,开发出一套皮质内脑机接口系统,可以从运动皮层的神经活动中解码瘫痪患者想象中的手写动作,并将其转换为文本。借助该系统,受试者(因脊髓损失瘫痪)每分钟可以打出近百个字符,且自动更正后的离线准确率超过了 99%。 不久前,马斯克表示,希望明年能在人类身上使用Neuralink 的微芯片装置。该芯片将用于治疗脊髓损伤、帕金森氏症等脑部疾病和神经系统疾病。目前,相关技术正在等待美国食品药品监督管理局的批准。 “脑机接口领域已经蓄积了相当的技术,有望成为解决大脑疾病的利器。”陶虎说,“大家都在抢占临床应用的先机,明年可能会实现技术落地应用。预计两三年内,国内会出现可媲美马斯克Neuralink的独角兽企业。” “人机交互将引申出新的万亿级市场。”福州大学特聘教授严群这句判断,也囊括了元宇宙这个巨大的市场。 有人称2021年是“元宇宙元年”,也有人认为这不过是“旧瓶装新酒”。但无论如何,元宇宙已是今年人机交互领域绕不开的话题。 “元宇宙是虚拟现实、增强现实和混合现实的综合,它实际上并非新的东西。”北京邮电大学人机交互与认知工程实验室主任刘伟告诉《中国科学报》,“元宇宙是现实世界和虚拟世界跨越未来的发展方向,但还有些技术问题未能很好地解决。” 在真实世界里,人机交互问题和人机环境系统的混合问题未能很好地解决。真实世界的人机交互中,不管是输入、处理还是输出过程中,客观数据、主观信息和知识依然不能完美融合。 刘伟认为,无论真实世界还是虚拟世界,人类和机器决策都有“快决策”和“慢决策”过程。人类决策有时依靠逻辑决策多些,有时直觉决策多些,这种“混合决策”不断变换,而且很难找到变化规律。这方面的问题机器决策目前还未能解决。 “元宇宙还处在画饼的前期阶段。”刘伟说,“因为它的底层机理没有解决——人在真实世界里未能完美解决人机交互的问题,带到元宇宙里同样不能解决。” 谈到人机交互,刘伟认为第二个不能不说的问题是“复杂领域”。 “今年的诺贝尔物理学奖,也给了复杂系统预测气候变化模型的提出者。”刘伟说,“人机交互也是一个复杂系统,它既包括重复的问题,还包括杂乱的、跨域协同的问题。” 刘伟认为,从智能的角度说,复杂系统包括三个重要组成部分,一是人,二是装备(人造物),三是环境。这其实是多个事物之间相互作用,交织在一起、既纠缠又重叠的“人机环系统”问题。 “在人机交互中,机器强在处理‘复’的问题,人擅长管‘杂’的事——跨域协同、事物间平衡等。因为人们还没找到复杂事物的简单运行规律,所以解决所有智能产品、智能系统问题,要从人、机、环这个系统里找它们的结合、融合和交互点。而且,人要在这个系统中处于主导地位。” 人机交互领域引起刘伟重视的第三个现象,是“人工智能帮数学家发现了一些定律”。“最近,DeepMind研发了一个机器学习框架,能帮助数学家发现新的猜想和定理。”刘伟说,“人工智能是一个基本的数学工具,同时,数学又反映了一些基本规律。如果人工智能可以帮助数学家处理一些数学问题,那么,人们将更好地认识复杂系统的简单规律,人机交互方面就可能会取得新突破。” 作者 张云泉(中国科学院计算技术研究所研究员) 今年是我国超算应用实现丰收的一年。 11月中旬在美国举行的全球超算大会(SC21)上,中国超算应用团队凭借基于一台神威新系统对量子电路开创性的模拟(“超大规模量子随机电路实时模拟”),一举摘得国际上高性能计算应用领域的最高学术奖——“戈登贝尔奖”。 同时,在SC 21大学生超算竞赛总决赛上,清华大学超算团队再次夺得总冠军,实现SC竞赛四连冠。这些大规模应用软件可扩展性和性能调优方面的成绩表明,我国在并行软件方面的发展方兴未艾。 回到超算对产业的驱动来看,我们要重提“算力经济”一词。早在2018年,我们提出“算力经济”概念,认为以超级计算为核心的算力经济将成为衡量一个地方数字经济发展程度的代表性指标和新旧动能转换的主要手段。 综合近几年的发展趋势,我们认为高性能计算当前发展趋势已充分表明,随着超算与云计算、大数据、AI的融合创新,算力已成为当前整个数字信息 社会 发展的关键,算力经济已经登上 历史 舞台。 通过对2021年中国高性能计算机发展现状综合分析,可以总结出当前高性能计算正呈现出以下几个特点。 首先,高性能计算与云计算已经深度结合。高性能计算通常是以MPI、高效通信、异构计算等技术为主,偏向独占式运行,而云计算有弹性部署能力与容错能力,支持虚拟化、资源统一调度和弹性系统配置。 随着技术发展,超级计算与容器云正融合创新,高性能云成为新的产品服务,AWS、阿里云、腾讯、百度以及商业化超算的代表“北龙超云”,都已基于超级计算与云计算技术推出了高性能云服务和产品。 其次,超算应用从过去的高精尖向更广、更宽的方向发展。随着超级计算机的发展,尤其是使用成本的不断下降,其应用领域也从具有国家战略意义的精密研制、信息安全、石油勘探、航空航天和“高冷”的科学计算领域向更广泛的国民经济主战场快速扩张,比如制药、基因测序、动漫渲染、数字电影、数据挖掘、金融分析及互联网服务等,可以说已经深入到国民经济的各行各业。 从近年中国高性能计算百强排行榜(HPC TOP100)来看,超算系统过去主要集中于科学计算、政府、能源、电力、气象等领域,而近5年互联网公司部署的超算系统占据了相当大比例,主要应用为云计算、机器学习、人工智能、大数据分析以及短视频等。这些领域对于计算需求的急剧上升表明,超算正与互联网技术进行融合。 从HPC TOP100榜单的Linpack性能份额看,算力服务以46%的比例占据第一;超算中心占24%,排名第二;人工智能、云计算和短视频分别以9%、5%和4%紧随其后。 可以看出,人工智能占比的持续增加与机器学习等算法和应用的快速崛起,以及大数据中的深度学习算法的广泛应用有很大关系。互联网公司通过深度学习算法重新发现了超级计算机,特别是GPU加速的异构超级计算机的价值,纷纷投入巨资建设新系统。 综合来看,目前的算力服务、超算中心、人工智能、科学计算等领域是高性能计算的主要用户,互联网、大数据,特别是AI领域增长强劲。 再次,国家层面已经制订了战略性的算力布局计划。今年5月,国家发展改革委等四部门联合发布《全国一体化大数据中心协同创新体系算力枢纽实施方案》,提出在京津冀、长三角、粤港澳大湾区、成渝以及贵州、内蒙古、甘肃、宁夏建设全国算力网络国家枢纽节点,启动实施“东数西算”工程,力促把东部的数据送到西部进行存储和计算,同时在西部建立算力节点,改善数字基础设施不平衡的布局,有效优化数据中心的布局结构,实现算力升级,构建国家算力网络体系。 最后,人工智能的算力需求已成为算力发展主要动力。机器学习、深度学习等算法革新和通过物联网、传感器、智能手机、智能设备、互联网技术搜集的大数据,以及由超级计算机、云计算等组成的超级算力,被公认为是人工智能时代的“三驾马车”,共同掀起最新一轮的人工智能革命。 在人工智能蓬勃发展这一背景下,虚拟化云计算向高性能容器云计算演进,大数据与并行计算、机器学习融合创新就成为了产业发展的最新方向。 此外,在智能计算评测方面,我国已经提出了包括AIPerf 500在内的众多基准测试程序,这是对传统Linpack测试标准的有力补充。 这些发展表明超算技术向产业渗透的速度加快,我们已经进入一个依靠算力的人工智能时代,这也是未来发展的必然趋势之一。随着用户对算力需求的不断增长,算力经济必将在未来 社会 发展中占据重要地位。 作者 武延军(中国科学院软件研究所研究员)开源发展可圈可点并非只是今年的事。最近几年,开源领域发生了很多重要的事情。 例如,RISC-V开源指令集及其生态的快速崛起。这与上世纪90年代初Linux诞生一样。当时,UNIX和Windows是主流,很少有人能够预料到今天以Linux为内核的操作系统已经遍及人们生活的方方面面。 如今,人们每天使用的App,超过80% 概率是运行在以Linux为内核的安卓操作系统上,而且,支撑其业务的后端服务器上运行的操作系统很大概率也是Linux发行版。 所以,今天的RISC-V也同样可能被低估,认为其不成熟,很难与ARM和X86抗衡。但也许未来RISC-V就像Linux一样,最终成为全球范围内的主流指令集生态,产品遍及方方面面。 仅2020年,RISC-V International(RVI,RISC-V基金会迁入瑞士之后的新名称)的会员数增长了133%。其实RVI迁入瑞士这件事情本身也意义重大,是一次开源领域面对大国竞争保持初心不“选边站”的经典案例,值得全球其他开源基金会参考。 在国内,2019年底,华为公司牵头,中国科学院软件研究所、麒麟软件等参与的openEuler操作系统开源社区正式成立。在短短的两年内,社区已经汇聚了7000名活跃开发者,完成8000多个自主维护的开源软件包,催生了10多家厂商的商业发行版。 这是中国基础软件领域第一个真正意义上的“根社区”,虽然与20多年 历史 的Debian、Fedora还有差距,但迈出了重要一步,对学术研究、技术研发、产业创新来说,终于有了国内主导的、可以长期积淀的新平台。 同时,华为在遭遇安卓操作系统GMS(谷歌移动服务)海外断供之后,推出了鸿蒙操作系统HarmonyOS,并在开放原子开源基金会下启动开源项目OpenHarmony。 目前OpenHarmony短时间内已经吸引了国内众多厂商参与,也侧面反映了国内产业界对新一代万物互联操作系统的旺盛需求。尽管其在生态规模和技术完整程度方面与安卓仍有差距,但毕竟迈出了打造自主生态的第一步。 这相当于为源代码合理使用划定了一个边界,即合理使用仅限于接口,一旦深入到接口的实现代码,则需要遵守相关许可。这对开源知识产权的法律界定具有重要参考意义。 今年5月,《2021中国开源发展蓝皮书》重磅发布。它不仅系统梳理了我国开源人才、项目、社区、组织、教育、商业的现状,并给出发展建议,而且为国家政府相关管理部门制定开源政策、布局开源战略提供参考,为科研院所、 科技 企业以及开源从业者提供更多的案例参考和数据支撑。 而不论是开源软件向围绕开放指令集的开源软硬件生态发展,还是开源有严格的法律边界约束,抑或是国内龙头企业正尝试通过开源 探索 解决“卡脖子”问题,且已经取得了一定的效果……众多案例都指向一个方向——开源趋势不可阻挡。因为它源自人类分享知识、协同创造的天性,也是人类文明在数字时代薪火相传的重要模式。 当然,不可否认的是,开源还存在很多问题,例如,开源软件供应链安全的问题。这里的安全既有传统意义上软件质量、安全漏洞的问题,也有开源软件无法得到持续有效维护的问题(如OpenSSL在出现HeartBleed问题时只有两位兼职维护者,log4j出现问题时只有三位兼职维护者),更有大国竞争导致的“断供”问题(如GitHub曾限制伊朗开发者访问)。 随着开源软件向GitHub这类商业平台的集中,这一问题会更加突出,甚至演变为重大风险。开源软件这一本应属于全人类的智慧资产,可能变为实施“长臂管辖”的武器。为了避免这一问题,开源代码托管平台、开源软件构建发布平台等公共基础设施需要“去中心化”。世界需要多个开源软件基础设施,以最大程度消除政治力量对开源社区的威胁。 对于中国来说,随着开源软件成为众多科研、工业等重大基础设施的重要支撑部分,开源软件本身也要有一个基础设施,具备代码托管、编译、构建、测试、发布、运维等功能,保证开源软件供应的安全性和连续性,进而增强各行各业使用开源软件的信心。 未来,核心技术创新与开源贡献引领将成为国内企业发展的新动力,或将我国开源事业推向另一个高潮。
本文将介绍如何利用深度学习技术生成3D模型,使用了PyTorch和PolyGen。
有一个新兴的深度学习研究领域专注于将 DL 技术应用于 3D 几何和计算机图形应用程序,这一长期研究的集合证明了这一点。对于希望自己尝试一些 3D 深度学习的 PyTorch 用户,Kaolin 库值得研究。对于 TensorFlow 用户,还有TensorFlow Graphics。一个特别热门的子领域是 3D 模型的生成。创造性地组合 3D 模型、从图像快速生成 3D 模型以及为其他机器学习应用程序和模拟创建合成数据只是 3D 模型生成的无数用例中的一小部分。
然而,在 3D 深度学习研究领域,为你的数据选择合适的表示是成功的一半。在计算机视觉中,数据的结构非常简单:图像由密集的像素组成,这些像素整齐均匀地排列成精确的网格。3D 数据的世界没有这种一致性。3D 模型可以表示为体素、点云、网格、多视图图像集等。这些输入表示也都有自己的一组缺点。例如,体素尽管计算成本很高,但输出分辨率很低。点云不编码表面或其法线的概念,因此不能仅从点云唯一地推断出拓扑。网格也不对拓扑进行唯一编码,因为任何网格都可以细分以产生相似的表面。PolyGen,一种用于网格的神经生成模型,它联合估计模型的面和顶点以直接生成网格。DeepMind GitHub 上提供了官方实现。
现在经典的PointNet论文为点云数据建模提供了蓝图,例如 3D 模型的顶点。它是一种通用算法,不对 3D 模型的面或占用进行建模,因此无法单独使用 PointNet 生成独特的防水网格。3D-R2N2采用的体素方法将我们都熟悉的 2D 卷积扩展到 3D,并自然地从 RGB 图像生成防水网格。然而,在更高的空间分辨率下,体素表示的计算成本很高,有效地限制了它可以产生的网格的大小。
Pixel2Mesh可以通过变形模板网格(通常是椭圆体)从单个图像预测 3D 模型的顶点和面。目标模型必须与模板网格同胚,因此使用凸模板网格(例如椭圆体)会在椅子和灯等高度非凸的物体上引入许多假面。拓扑修改网络(TMN) 通过引入两个新阶段在 Pixel2Mesh 上进行迭代:拓扑修改阶段用于修剪会增加模型重建误差的错误面,以及边界细化阶段以平滑由面修剪引入的锯齿状边界。如果你有兴趣,我强烈建议同时查看AtlasNet和Hierarchical Surface Prediction。
虽然变形和细化模板网格的常用方法表现良好,但它始于对模型拓扑的主要假设。就其核心而言,3D 模型只是 3D 空间中的一组顶点,通过各个面进行分组和连接在一起。是否可以避开中间表示并直接预测这些顶点和面?
PolyGen 通过将 3D 模型表示为顶点和面的严格排序序列,而不是图像、体素或点云,对模型生成任务采取了一种相当独特的方法。这种严格的排序使他们能够应用基于注意力的序列建模方法来生成 3D 网格,就像 BERT 或 GPT 模型对文本所做的那样。
PolyGen 的总体目标有两个:首先为 3D 模型生成一组合理的顶点(可能以图像、体素或类标签为条件),然后生成一系列面,一个接一个,连接顶点在一起,并为此模型提供一个合理的表面。组合模型将网格上的分布 p(M) 表示为两个模型之间的联合分布:顶点模型 p(V) 表示顶点,面模型 p(F|V) 表示以顶点为条件的面。
顶点模型是一个解码器,它试图预测以先前标记为条件的序列中的下一个标记(并且可选地以图像、体素字段或类标签为条件)。人脸模型由一个编码器和一个解码器指针网络组成,该网络表示顶点序列上的分布。该指针网络一次有效地“选择”一个顶点,以添加到当前面序列并构建模型的面。该模型以先前的人脸序列和整个顶点序列为条件。由于 PolyGen 架构相当复杂并且依赖于各种概念,因此本文将仅限于顶点模型。
流行的ShapeNetCore数据集中的每个模型都可以表示为顶点和面的集合。每个顶点由一个 (x, y, z) 坐标组成,该坐标描述了 3D 网格中的一个点。每个面都是一个索引列表,指向构成该面角的顶点。对于三角形面,此列表长 3 个索引。对于 n 边形面,此列表是可变长度的。原始数据集非常大,因此为了节省时间,我在此处提供了一个更轻量级的预处理数据集子集供你进行实验。该子集仅包含来自 5 个形状类别的模型,并且在转换为 n 边形后少于 800 个顶点(如下所述)。
为了使序列建模方法发挥作用,数据必须以一种受约束的、确定性的方式表示,以尽可能多地消除可变性。出于这个原因,作者对数据集进行了一些简化。首先,他们将所有输入模型从三角形(连接 3 个顶点的面)转换为 n 边形(连接 n 个顶点的面),使用Blender 的平面抽取修改器合并面。这为相同的拓扑提供了更紧凑的表示,并减少了三角剖分中的歧义,因为大型网格并不总是具有唯一的三角剖分。为了篇幅的缘故,我不会在这篇文章中讨论 Blender 脚本,但有很多资源,包括官方文档和GitHub 上的这套优秀示例,很好地涵盖了这个主题。我提供的数据集已经预先抽取。
要继续进行,请下载此示例 cube.obj 文件。这个模型是一个基本的立方体,有 8 个顶点和 6 个面。以下简单代码片段从单个 .obj 文件中读取所有顶点。
其次,顶点首先从它们的 z 轴(在这种情况下为垂直轴)按升序排序,然后是 y 轴,最后是 x 轴。这样,模型顶点是自下而上表示的。在 vanilla PolyGen 模型中,然后将顶点连接成一维序列向量,对于较大的模型,该向量最终会得到一个非常长的序列向量。作者在论文的附录 E 中描述了一些减轻这种负担的修改。
要对一系列顶点进行排序,我们可以使用字典排序。这与对字典中的单词进行排序时采用的方法相同。要对两个单词进行排序,您将查看第一个字母,然后如果有平局,则查看第二个字母,依此类推。对于“aardvark”和“apple”这两个词,第一个字母是“a”和“a”,所以我们移动到第二个字母“a”和“p”来告诉我“aardvark”在“apple”之前。在这种情况下,我们的“字母”是按顺序排列的 z、y 和 x 坐标。
最后,顶点坐标被归一化,然后被量化以将它们转换为离散的 8 位值。这种方法已在像素递归神经网络和WaveNet中用于对音频信号进行建模,使它们能够对顶点值施加分类分布。在最初的WaveNet论文中,作者评论说“分类分布更灵活,并且可以更容易地对任意分布进行建模,因为它不对它们的形状做任何假设。” 这种质量对于建模复杂的依赖关系很重要,例如 3D 模型中顶点之间的对称性。
顶点模型由一个解码器网络组成,它具有变压器模型的所有标准特征:输入嵌入、18 个变压器解码器层的堆栈、层归一化,最后是在所有可能的序列标记上表示的 softmax 分布。给定一个长度为 N 的扁平顶点序列 Vseq ,其目标是在给定模型参数的情况下最大化数据序列的对数似然:
与 LSTM 不同的是,transformer 模型能够以并行方式处理顺序输入,同时仍使来自序列一部分的信息能够为另一部分提供上下文。这一切都归功于他们的注意力模块。3D 模型的顶点包含各种对称性和远点之间的复杂依赖关系。例如,考虑一个典型的桌子,其中模型对角的腿是彼此的镜像版本。注意力模块允许对这些类型的模式进行建模。
嵌入层是序列建模中用于将有限数量的标记转换为特征集的常用技术。在语言模型中,“国家”和“民族”这两个词的含义可能非常相似,但与“苹果”这个词却相距甚远。当单词用唯一的标记表示时,就没有相似性或差异性的固有概念。嵌入层将这些标记转换为矢量表示,可以对有意义的距离感进行建模。
PolyGen 将同样的原理应用于顶点。该模型使用三种类型的嵌入层:坐标表示输入标记是 x、y 还是 z 坐标,值表示标记的值,以及位置编码顶点的顺序。每个都向模型传达有关令牌的一条信息。由于我们的顶点一次在一个轴上输入,坐标嵌入为模型提供了基本的坐标信息,让它知道给定值对应的坐标类型。
值嵌入对我们之前创建的量化顶点值进行编码。我们还需要一些序列控制点:额外的开始和停止标记分别标记序列的开始和结束,并将标记填充到最大序列长度。
由于并行化而丢失的给定序列位置 n的位置信息通过位置嵌入来恢复。 也可以使用位置编码,一种不需要学习的封闭形式的表达。在经典的 Transformer 论文“ Attention Is All You Need ”中,作者定义了一种由不同频率的正弦和余弦函数组成的位置编码。他们通过实验确定位置嵌入的性能与位置编码一样好,但编码的优势在于比训练中遇到的序列更长。有关位置编码的出色视觉解释,请查看此博客文章。
生成所有这些标记序列后,最后要做的是创建一些嵌入层并将它们组合起来。每个嵌入层都需要知道期望的输入字典的大小和输出的嵌入维度。每层的嵌入维数为 256,这意味着我们可以将它们与加法相结合。字典大小取决于输入可以具有的唯一值的数量。对于值嵌入,它是量化值的数量加上控制标记的数量。对于坐标嵌入,对于每个坐标 x、y 和 z,它是一个,对于上述任何一个(控制标记)都不是一个。最后,位置嵌入对于每个可能的位置或最大序列长度都需要一个。
PolyGen 还广泛使用无效预测掩码来确保其生成的顶点和面部序列编码有效的 3D 模型。例如,必须强制执行诸如“z 坐标不递减”和“停止标记只能出现在完整顶点(z、y 和 x 标记的三元组)之后”之类的规则,以防止模型产生无效的网格. 作者在论文的附录 F 中提供了他们使用的掩蔽的广泛列表。这些约束仅在预测时强制执行,因为它们实际上会损害训练性能。
与许多序列预测模型一样,该模型是自回归的,这意味着给定时间步的输出是下一个时间步的可能值的分布。整个序列一次预测一个标记,模型在每一步都会查看先前时间步骤中的所有标记以选择其下一个标记。解码策略决定了它如何从这个分布中选择下一个Token。
如果使用次优解码策略,生成模型有时会陷入重复循环或产生质量较差的序列。我们都看到生成的文本看起来像是胡说八道。PolyGen 采用称为 核采样 的解码策略来生成高质量序列。原始论文在文本生成上下文中应用了这种方法,但它也可以应用于顶点。前提很简单:仅从 softmax 分布中共享 top-p 概率质量的标记中随机抽取下一个标记。这在推理时应用以生成网格,同时避免序列退化。有关核采样的 PyTorch 实现,请参阅此要点。
除了无条件生成模型外,PolyGen 还支持使用类标签、图像和体素进行输入调节。这些可以指导生成具有特定类型、外观或形状的网格。类标签通过嵌入投影,然后添加到每个注意力块中的自注意力层之后。对于图像和体素,编码器创建一组嵌入,然后用于与转换器解码器的交叉注意。
PolyGen 模型描述了一个强大、高效和灵活的框架,用于有条件地生成 3D 网格。序列生成可以在各种条件和输入类型下完成,从图像到体素到简单的类标签,甚至只是一个起始标记。表示网格顶点分布的顶点模型只是联合分布难题的一部分。我打算在以后的文章中介绍面部模型。同时,我鼓励你查看DeepMind 的 TensorFlow 实现,并尝试生成条件模型!
原文链接:
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间.
Google's artificial intelligence-driven AlphaGo sofare program will challenge Ke Jie, the world's top professional Go player, at China's Future of Go Summit in May. The prospect of this petition beeen human and artificial intelligence has captured the attention of the Chinese public, where the game was invented more than 2,500 years ago, and driven interest in Google's DeepMind machine learning method that developed AlphaGo.We believe a machine could never replace a person as an adversary in future.It's a cold machine without blood, while we have spiritual power.
谷歌非常有谋略,先让阿尔法狗连赢三次,奠定胜利的事实,展示人工智能的厉害!让人恐慌! 然后,谷歌让阿尔法狗输棋给李世石,以明白无误的方式告诉恐慌的人们:不要害怕,我们掌控着人工智能的! 如果人工智能把人逼上绝路,人工智能产业就会遭到人们的封杀! 谷歌输一局,缓和局面。
中日韩还有成千上万围棋学习者和相关从业人员,Google是商业公司,当然不会把事情做绝,肯定会考量这方面的因素。
比赛结束,alphago四比一完胜李世石,仅胜利的一局有很多人认为是谷歌为了让alphago有世界排名而故意输的一局,因为如果一个棋手一直连胜,是没有世界排名的,输了一局才有排名,按照官方发布目前alphago排名世界第二,中国小将柯杰世界第一。
AlphaGo能够战胜李世石的确证明了他是有职业顶尖的水平,也就是的职业九段,其计算能力与局部分析能力超越职业九段!可是,AlphaGo要想拿到职业冠军是基本不可能的,因为它不会自主学习,需要输入对方的棋谱才能占优优势。
此外,在局部与大局的判断上,AlphaGo是有缺陷的,如果是遇到巅峰时期的李昌镐或是聂老聂卫平先生,折现缺点就会被无限放大。
总而言之,现在它的对局还是太少了,需要更多的对局与研究,看不同的棋风与派别对它的胜率的影响,究竟综合实力是多少,还需要考究!
机器人还是不一样,完全不受外界与情绪的任何干扰,坐下便拼杀起来。
它的芯片经历了十年换代,几乎对所有围棋套路了如指掌,面对我的每一步棋,都能识破我的意图,找到最合适的解决方法,更别提失误了,而我却并不急躁,慢慢悠悠,心中早已打好了算盘。
这盘棋下得出奇得慢,半个月,1个月,我也并不着急,AlphaGo作为一个高智商机器人也能准确捕捉到我的所有需求,我们不仅棋下得有条不紊,它更是端茶倒水,冷风热气,无微不至。
这棋转眼便下了三个月,我打定主意,心中不急,这AlphaGo作为机器人便更不知着急了,倒是观众们耐心早已磨完,他们催促也好,咒骂也罢,我自不动,每日只想一步棋,每日只下一步棋,但我内心却从未平静。
我等待着机会,更等待着灵感,后来已无人有心再关注这场比赛,我的心中也越发平静了。
直到那一天,我依如往常早早起床,一边诵读着道德经,一边在园中散步。
突然,一个灵感穿过我的头脑,一个阴阳卦象图转变为了一幅棋盘,“我若击杀这个未曾关注过的棋点,他岂不再无机会?”我哈哈大笑,回到棋盘前,下了这一步我等了许久的棋,不出所料,AlphaGo一筹莫展,投子认输。
世界轰动,人们重新将关注点拉到了我身上,我也不过多解释,手放背后:“道可道,非常道……”我先人一盘棋能下几个月,参悟世间之道,下的是道,而非棋,这岂是一个机器人能理解的?”从此之后,人们不再挑战AlphaGo,亦不再过度追求棋中胜负,他们好像也沉静了下来,回归了这项运动最本质的精髓,思考人生,思考自然,思考世界,找到了心中的那片桃花源。
柯洁经历了英雄般的战斗后,依然第二局输给AlphaGo。
最有价值的信息可能来自AlphaGo之父萨比斯,中盘阶段他评论说:“不可思议,根据AlphaGo的评估,柯洁现在下得很完美。
”赛后萨比斯则评论:“这是一场惊心动魄的令人惊奇的比赛,柯洁几乎把AlphaGo逼到了极限。
”柯洁今天的最大收获是测出阿法狗的真实水平。
期望这次比赛能够验证。
当然它有两个前提条件,一是柯洁把最好水平发挥出来,二是AlphaGo能够经受真正的考验,而不是表面看它只赢一两个子,实际上后台胜率显示根本没有机会。
前天的第一局,AlphaGo赢了1.5目。
这是一个很小的差距,但柯洁下得谈不上多出色,因为从头到尾他基本没什么机会。
AlphaGo并不是一个赌徒,能赢100目绝不赢99;它是根据胜率估算来行棋的,如果赢1目而它认为胜率是100%,就没必要去下赢100目而胜率只有99%的棋。
所以,第一局柯洁远远没有逼出AlphaGo的真正实力。
昨天AlphaGo方面的消息,认为这次虽然只是一个单机版,但棋力已经比去年赢李世石的时候提高了三子。
这是一个挺吓人的消息,因为它会让人类棋手觉得,目前这个版本至少比人类强三子以上。
老实讲这挺绝望的,三子以上,四子。
那等于彻底宣布人类棋手跟AlphaGo已经是天壤之别。
知道,面对一个可以让四子的对手,这是职业和业余的差距,比赛已经失去意义,准确地说那叫戏耍。
它可以只赢1目甚至半目,但不说明任何问题,就像柯洁也可以让只输半目,但那又能说明什么。
难道会跑大街上喊,快看,柯洁只赢了半目。
谁都知道,柯洁想怎么赢就怎么赢,半目和100目没差别。
今天的比赛,由于“几乎把AlphaGo逼到了极限”,虽然不是让子棋,但基本可以猜出,在人类棋手高水平发挥的前提下,目前AlphaGo让不到人类三子,可能是二子或者略多。
挂盘讲解的李世石也做出这种判断:AlphaGo并没有提升三子的实力,估计大概有二子。
至此,本次比赛人类棋手的目标或者说心愿已经达到:测试出AlphaGo的真正实力。
否则,AlphaGo就永远是上帝般的存在。
知道它强,但不知道它到底多强,所以它就是上帝。
知道,没有上帝。
如果由于无法评测AI(人工智能)的水平,而把它视为上帝一样的存在,这不是人类进化或者说发展的方向。
等于把命运交给未知,哪怕这个未知是人类创造出来的,也有理由疑虑甚至恐惧。
所以要感谢柯杰,不愧围棋第一人,他今天的勇气和表现,至少让暂时可以从外部角度了解到AlphaGo的真实水平。
这是比胜负更重要的事情。
题目:《人工智能》3月15日,举世瞩目的“人机大战”尘埃落定,人工智能“阿尔法狗围棋”(AlphaGo)以4:1的比分战胜人类围棋顶尖高手李世石九段,为世人留下一个不愿接受又不得不接受的事实。
面对“阿尔法狗围棋”(AlphaGo),有人不服,如中国的超级围棋新星柯洁九段,就公开向“阿尔法狗围棋”(AlphaGo)叫板:“你赢不了我!”有人叹息:人类智慧最后的尊严在一只“小狗”面前丢失。
有人甚至悲观地认为,机器统治人类的时代即将来临。
其实,所谓人类尊严、所谓机器人的统治时代,只是我们一些人的臆想,“阿尔法狗围棋”(AlphaGo)的胜利,说到底就是一次技术革命的胜利,是人类对自身的一次超越。
正如西安交通大学副校长、国家重点基础研究计划(973)“基于视认知的非结构化信息处理基础理论与关键技术”首席科学家徐宗本说的:“任何人工智能技术的成功一定是当代最新技术综合运用的成功,片面说成谁战胜谁是不公平的,也是无意义的,说人类智慧的最后壁垒被攻破,这都是无稽之谈。
”“阿尔法狗围棋”(AlphaGo)的胜利,背后的最大价值在于,它激励人们持续不断地探索过去人工智能领域一直看似难以实现的人类智能级别。
从这一点上看,人工智能的胜利也有非凡的意义,甚至可以说具有划时代的意义。
是的,翻开人类历史,哪一次技术革命不带来人类社会翻天覆地的变化?蒸汽机的发明、使用,使人类从农业手工业时代进入了工业社会;电动机的诞生,使人类从工业社会跨入了现代化。
而以原子能、电子计算机、空间技术和生物工程的发明与应用为主要标志的信息技术革命,更让人类从此进入了自动化、信息化时代。
每一次技术革命,伴随的都是生产力的发展和人类自身的解放。
“阿尔法狗围棋”(AlphaGo)的 胜利,是不是会掀起又一次技术革命,我们还需拭目以待。
然而,人工智能的进步,却可以让我们展望到人类美妙无比的前景。
我们似乎可以看到,不久的将来,到 处都是机器人在人们的指令下为人们服务;我们似乎可以看到,那些对于目前医术来说几乎无解的人类大脑和神经疾病,如自闭症、老年痴呆症这样的国际医学难 题,随着人工智能的进步,一切都会迎刃而解;我们似乎可以看到,有了人工智能的协助,人类真正步入了大同的理想社会。
是的,“阿尔法狗围棋”(AlphaGo)的胜利,是人类的智慧向前迈出的又一步,有了这一步,我们的世界将更加美好。
当然,面对这些进步,我们不能只是围观、娱乐和敬仰,我们应该用我们的智慧,去促成人工智能更大的进步!
AlphaGo一般指阿尔法围棋阿尔法围棋(AlphaGo)是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能程序。
其主要工作原理是“深度学习”。
阿尔法围棋(AlphaGo)是一款围棋人工智能程序。
其主要工作原理是“深度学习”。
“深度学习”是指多层的人工神经网络和训练它的方法。
一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。
这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。
最强AlphaGo Zero怎样炼成刚刚,Deepmind在Reddit的Machine Learning板块举办了在线答疑活动AMA,Deepmind强化学习组负责人David Silver和其同事热情地回答了网友们提出的各种问题。
由于在AMA前一天Deepmind刚刚发表了《Mastering the game of Go without human knowledge》(不使用人类知识掌握围棋)的论文,相关的提问和讨论也异常热烈。
什么是AMA?AMA(Ask Me Anything)是由Reddit的特色栏目,你也可以将其理解为在线的“真心话大冒险”。
AMA一般会约定一个时间,并提前若干天在Reddit上收集问题,回答者统一解答。
本次Deepmind AMA的回答人是:David Silver:Deepmind强化学习组负责人,AlphaGo首席研究员。
David Silver1997年毕业于剑桥大学,获得艾迪生威斯利奖。
David于2004年在阿尔伯塔大学获得计算机博士学位,2013年加盟DeepMind,是AlphaGo项目的主要技术负责人。
Julian Schritieser:Deepmind高级软件工程师。
此前有多位机器学习界的大牛/公司在Reddit Machine Learning版块开设AMA,包括:Google Brain Team、OpenAI Research Team 、Andrew Ng and Adam Coates、Jürgen Schmidhuber、Geoffrey Hinton、Michael Jordan 、Yann LeCun、Yoshua Bengio等。
我们从今天Deepmind的AMA中选取了一些代表性的问题,整理如下:关于论文与技术细节Q: Deepmind Zero的训练为什么如此稳定?深层次的增强学习是不稳定和容易遗忘的,自我对局也是不稳定和容易遗忘的,如果没有一个好的基于模仿的初始化状态和历史检查点,二者结合在一起应该是一个灾难...但Zero从零开始,我没有看到论文中有这部分的内容,你们是怎么做到的呢?David Silver:在深层增强学习上,AlphaGo Zero与典型的无模式算法(如策略梯度或者Q学习)采用的是完全不同的算法。
通过使用AlphaGo搜索,我们可以极大改进策略和自我对局的结果,然后我们会用简单的、基于梯度的更新来训练下一个策略及价值网络。
比起基于简便的基于梯度的策略改进,这样的做法会更加稳定。
Q:我注意到ELO等级分增长的数据只与到第40天,是否是因为论文截稿的原因?或者说之后AlphaGo的数据不再显著改善?David Silver:AlphaGo已经退役了!这意味着我们将人员和硬件资源转移到其他AI问题中,我们还有很长的路要走呐。
Q:关于论文的两个问题:Q1:您能解释为什么AlphaGo的残差块输入尺寸为19x19x17吗?我不知道为什么每个对局者需要用8个堆叠的二进制特征层来描述?我觉得1、2个层就够了啊。
虽然我不是100%理解围棋的规则,但8个层看起来也多了点吧?Q2:由于整个通道使用自我对局与最近的/最好的模型进行比较,你们觉得这对于采用参数空间的特定SGD驱动轨迹对否会有过拟合的风险?David Silver:说起来使用表征可能比现在用的8层堆叠的做法更好!但我们使用堆叠的方式观察历史数据有三个原因:1)它与其他领域的常见输入一致;2)我们需要一些历史状态来表示被KO;3)如果有一些历史数据,我们可以更好地猜测对手最近下的位置,这可以作为一种关注机制(注:在围棋中,这叫“敌之要点即我之要点”),而第17层用于标注我们现在究竟是执黑子还是白子,因为要考虑贴目的关系。
Q:有了强大的棋类引擎,我们可以给玩家一个评级——例如Elo围棋等级分就是通过棋手对局的分析逐步得出的,那么AlphaGo是否可以对过去有等级分前的棋手的实力进行分析?这可能为研究人类的认知提供一个平台。
Julian Schritieser:感谢分享,这个主意很棒!我认为在围棋中这完全可以做到,或许可以用最佳应对和实际应对的价值差异或者政策网络给每一手位置评估得到的概率来进行?我有空的时候试一下。
Q: 既然AlphaGo已经退役了,是否有将其开源的计划?这将对围棋社区和机器学习研究产生巨大的影响。
还有,Hassabis在乌镇宣称的围棋工具将会什么时候发布?David Silver:现在这个工具正在准备中。
不久后你就能看到新的消息。
Q:AlphaGo开发过程中,在系统架构上遇到的最大障碍是什么?David Silver:我们遇到的一个重大挑战是在和李世石比赛的时候,当时我们意识到AlphaGo偶尔会受到我们所谓的“妄想”的影响,也就是说,程序可能会错误理解当前盘面局势,并在错误的方向上持续许多步。
我们尝试了许多方案,包括引入更多的围棋知识或人类元知识来解决这个问题。
但最终我们取得了成功,从AlphaGo本身解决了这个问题,更多地依靠强化学习的力量来获得更高质量的解决方案。
围棋爱好者的问题Q:1846年,在十四世本因坊迹目秀策与十一世井上幻庵因硕的一盘对局中,秀策下的第127手让幻庵因硕一时惊急两耳发赤,该手成为扭转败局的“耳赤一手”。
如果是AlphaGo,是否也会下出相同的一首棋?Julian Schritieser:我问了樊麾,他的回答是这样的:当时的围棋不贴目,而AlphaGo的对局中,黑棋需贴7.5目。
贴目情况不同造成了古今棋局的差异,如果让AlphaGo穿越到当年下那一手,很有可能下的是不同的另一个地方。
Q:从已发布的AlphaGo相互对局看,执白子的时间更为充裕,因...
AlphaGo这个系统主要由几个部分组成:走棋网络(Policy Neork),给定当前局面,预测/采样下一步的走棋。
快速走子(Fast rollout),目标和1一样,但在适当牺牲走棋质量的条件下,速度要比1快1000倍。
估值网络(Value Neork),给定当前局面,估计是白胜还是黑胜。
蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上这三个部分连起来,形成一个完整的系统。
我们的DarkForest和AlphaGo同样是用4搭建的系统。
DarkForest较AlphaGo而言,在训练时加强了1,而少了2和3,然后以开源软件Pachi的缺省策略 (default policy)部分替代了2的功能。
以下介绍下各部分。
1、走棋网络走棋网络把当前局面作为输入,预测/采样下一步的走棋。
它的预测不只给出最强的一手,而是对棋盘上所有可能的下一着给一个分数。
棋盘上有361个点,它就给出361个数,好招的分数比坏招要高。
DarkForest在这部分有创新,通过在训练时预测三步而非一步,提高了策略输出的质量,和他们在使用增强学习进行自我对局后得到的走棋网络(RL neork)的效果相当。
当然,他们并没有在最后的系统中使用增强学习后的网络,而是用了直接通过训练学习到的网络(SL neork),理由是RL neork输出的走棋缺乏变化,对搜索不利。
有意思的是在AlphaGo为了速度上的考虑,只用了宽度为192的网络,而并没有使用最好的宽度为384的网络(见图2(a)),所以要是GPU更快一点(或者更多一点),AlphaGo肯定是会变得更强的。
所谓的0.1秒走一步,就是纯粹用这样的网络,下出有最高置信度的合法着法。
这种做法一点也没有做搜索,但是大局观非常强,不会陷入局部战斗中,说它建模了“棋感”一点也没有错。
我们把DarkForest的走棋网络直接放上KGS就有3d的水平,让所有人都惊叹了下。
可以说,这一波围棋AI的突破,主要得益于走棋网络的突破。
这个在以前是不可想像的,以前用的是基于规则,或者基于局部形状再加上简单线性分类器训练的走子生成法,需要慢慢调参数年,才有进步。
当然,只用走棋网络问题也很多,就我们在DarkForest上看到的来说,会不顾大小无谓争劫,会无谓脱先,不顾局部死活,对杀出错,等等。
有点像高手不经认真思考的随手棋。
因为走棋网络没有价值判断功能,只是凭“直觉”在下棋,只有在加了搜索之后,电脑才有价值判断的能力。
2、快速走子那有了走棋网络,为什么还要做快速走子呢?有两个原因,首先走棋网络的运行速度是比较慢的,AlphaGo说是3毫秒,我们这里也差不多,而快速走子能做到几微秒级别,差了1000倍。
所以在走棋网络没有返回的时候让CPU不闲着先搜索起来是很重要的,等到网络返回更好的着法后,再更新对应的着法信息。
其次,快速走子可以用来评估盘面。
由于天文数字般的可能局面数,围棋的搜索是毫无希望走到底的,搜索到一定程度就要对现有局面做个估分。
在没有估值网络的时候,不像国象可以通过算棋子的分数来对盘面做比较精确的估值,围棋盘面的估计得要通过模拟走子来进行,从当前盘面一路走到底,不考虑岔路地算出胜负,然后把胜负值作为当前盘面价值的一个估计。
这里有个需要权衡的地方:在同等时间下,模拟走子的质量高,单次估值精度高但走子速度慢;模拟走子速度快乃至使用随机走子,虽然单次估值精度低,但可以多模拟几次算平均值,效果未必不好。
所以说,如果有一个质量高又速度快的走子策略,那对于棋力的提高是非常有帮助的。
为了达到这个目标,神经网络的模型就显得太慢,还是要用传统的局部特征匹配(local pattern matching)加线性回归(logistic regression)的方法,这办法虽然不新但非常好使,几乎所有的广告推荐,竞价排名,新闻排序,都是用的它。
与更为传统的基于规则的方案相比,它在吸纳了众多高手对局之后就具备了用梯度下降法自动调参的能力,所以性能提高起来会更快更省心。
AlphaGo用这个办法达到了2微秒的走子速度和24.2%的走子准确率。
24.2%的意思是说它的最好预测和围棋高手的下子有0.242的概率是重合的,相比之下,走棋网络在GPU上用2毫秒能达到57%的准确率。
这里,我们就看到了走子速度和精度的权衡。
和训练深度学习模型不同,快速走子用到了局部特征匹配,自然需要一些围棋的领域知识来选择局部特征。
对此AlphaGo只提供了局部特征的数目(见Extended Table 4),而没有说明特征的具体细节。
我最近也实验了他们的办法,达到了25.1%的准确率和4-5微秒的走子速度,然而全系统整合下来并没有复现他们的水平。
我感觉上24.2%并不能完全概括他们快速走子的棋力,因为只要走错关键的一步,局面判断就完全错误了;而图2(b)更能体现他们快速走子对盘面形势估计的精确度,要能达到他们图2(b)这样的水准,比简单地匹配24.2%要做更多的工作,而他们并未在文章中强调这一点。
在AlphaGo有了快速走子之后,不需要走棋网络和估值网络,不借助任何深度学习和GPU的帮助,不使用增强学习,在单机上就已经达到了3d的水平(见Extended Table 7倒数第二行),这是相当厉害的了。
任何使用传统方法在单机上达...
转载请注明出处作文大全网 » alphago是什么语言开发的
164 浏览 4 回答
120 浏览 5 回答
354 浏览 3 回答
294 浏览 3 回答
221 浏览 4 回答
147 浏览 2 回答
327 浏览 2 回答
115 浏览 3 回答
344 浏览 2 回答
138 浏览 3 回答
241 浏览 3 回答
240 浏览 6 回答
207 浏览 3 回答
330 浏览 5 回答
253 浏览 3 回答