AlphaGo 背后的人工智能:机器学习和神经网络

news2025/1/13 15:55:07

文章目录

  • 一、说明
  • 二、背景
  • 三、围棋游戏
  • 四、AlphaGo 算法
  • 五、神经网络
  • 六、AlphaGo 的未来
  • 七、人工智能的未来
  • 八、结论

在这里插入图片描述

一、说明

棋盘游戏围棋被视为人工智能最具挑战性的任务之一,因为它“复杂、基于模式且难以编程”。计算机程序 AlphaGo 战胜李世石成为人工智能和计算机工程史上的重要时刻。我们可以看到 AlphaGo 的巨大能力,但人们对它如何“思考”知之甚少。AlphaGo 的规则是学习而来的,而不是设计出来的,它运用机器学习以及多个神经网络来创建学习组件,使围棋水平更高。从与英国国家医疗服务体系的合作可以看出,AlphaGo 在其他领域也有着广阔的应用前景。

二、背景

2016 年 3 月 9 日至 3 月 15 日,世界排名第二的职业棋手李世石与谷歌 DeepMind 公司开发的计算机程序 AlphaGo 进行了一场围棋比赛。AlphaGo 以 4-1 战胜李世石,成为人工智能历史上的重要时刻。这是计算机首次在围棋比赛中击败人类专业棋手。韩国大多数主要电视网络都转播了这场比赛。在中国,有 6000 万人观看了比赛;美国围棋协会和 DeepMind 在 YouTube 上对比赛的英文直播吸引了 10 万观众。数百名媒体记者和专家评论员一起观看了比赛 [1]。是什么让这场比赛如此重要?要理解这一点,我们必须首先了解围棋的根源。

三、围棋游戏

围棋,在中国称为weiqi ,在日本称为igo,是一种抽象的双人棋盘游戏,已有 3000 年历史。它是一种在 19*19 的棋盘上进行的抽象策略棋盘游戏。围棋从空棋盘开始。每轮,玩家在棋盘上放置一块黑色或白色的棋子 [2]。游戏的总体目标是使用棋子围住比对手更多的领地。虽然规则非常简单,但它创造了一个有深度和细微差别的挑战。因此,棋盘游戏围棋因其复杂性和基于模式的状态而被视为人工智能最具挑战性的任务之一。

在常见的计算机游戏中,人工智能通常使用游戏树来根据对手可能采取的行动来确定游戏中的最佳下一步行动。游戏树是一个有向图,将游戏状态(位置)表示为节点,将可能的移动表示为边。树的根表示游戏开始时的状态。下一级表示后续移动后的可能状态 [3]。以简单的游戏井字游戏为例,可以在图 1 中直观地表示所有可能的游戏状态 [3]。

在这里插入图片描述

图 1:井字游戏的完整博弈树[3]。

然而,对于像围棋这样复杂的游戏,在游戏中找到最佳下一步很快就变得不可能了,因为围棋的游戏树将包含 10^761 个节点,这对于计算机来说是一个庞大的数字(宇宙中只有 10^80 个原子,仅供参考)[4]。这也解释了为什么围棋长期以来一直被视为人工智能面临的最大挑战之一。大多数棋盘游戏的人工智能都使用人工智能工程师手工创建的规则。由于这些规则可能不完整,它们通常会限制人工智能的智能。例如,对于围棋的某个阶段,设计者认为计算机应该选择十个选定步骤中的一个,但这些步骤对于专业玩家来说可能是愚蠢的。设计者的围棋游戏水平会影响人工智能的智能水平。

四、AlphaGo 算法

那么 AlphaGo 是如何解决围棋的复杂性以及设计者游戏水平所施加的限制的呢?之前所有的围棋人工智能方法都依赖于某种博弈树搜索,并结合手工制定的规则。然而,AlphaGo 大量使用机器学习来避免使用手工制定的规则并提高效率。机器学习是一种人工智能,它使计算机能够无需明确编程即可学习。机器学习专注于开发计算机程序,这些程序可以教会自己在接触新数据时成长和改变。机器学习系统搜索数据以寻找模式。但它不是像数据挖掘应用程序那样提取数据供人类理解,而是使用数据来检测模式并相应地调整程序操作 [4]。AlphaGo 还使用深度学习和神经网络来教自己下棋。就像iPhotos能够帮你把照片按照不同的角色分成不同的相册,是因为它存储了无数经过像素级处理的角色图像一样,AlphaGo的智能,也是建立在它已经学习了数百万个人类下过的围棋位置和走法的基础上的。

AlphaGo 的智能依赖于两个不同的组成部分:博弈树搜索程序和简化树搜索程序的神经网络。树搜索程序可以看作是一种蛮力方法,而卷积网络则为游戏玩法提供了一定程度的直觉 [5]。神经网络在概念上类似于其他人工智能中的评估函数,只是 AlphaGo 的评估函数是学习而并非设计的,从而解决了设计者的游戏水平影响人工智能智能水平的问题。

五、神经网络

一般来说,AlphaGo 内部主要训练两种神经网络:策略网络和价值网络。这两种网络都将当前游戏状态作为输入,通过不同的公式对每个可能的下一步动作进行评分,并输出获胜概率。一方面,价值网络提供了对当前游戏状态价值的估计:在当前状态下,黑方最终获胜的概率是多少?价值网络的输出是获胜概率。另一方面,在当前游戏状态下,策略网络提供了选择哪种动作的指导。输出是每个可能的合法动作的概率值(网络的输出与棋盘一样大)。概率值较高的动作(动作)对应于更有可能导致获胜的动作。AlphaGo 最重要的方面之一是学习能力。深度学习使 AlphaGo 能够通过与自己进行大量游戏来不断提高其智能。这训练了策略网络,以帮助 AlphaGo 预测下一步动作,这反过来又训练了价值网络来确定和评估这些位置 [5]。 AlphaGo 会展望可能的走法和排列,考虑各种可能发生的情况,然后选择它认为最有可能成功的走法。

总体而言,两个神经网络的结合让 AlphaGo 避免了过多的工作:策略网络关注当前并决定下一步,以节省搜索整个博弈树的时间;价值网络关注长远,分析整体情况以减少博弈树中可能出现的走法。然后,AlphaGo 会平均两个网络的建议以做出最终决定。AlphaGo 之所以如此重要,是因为它不仅遵循博弈论,还涉及学习部分。通过与自己对弈,AlphaGo 的围棋水平自然而然地越来越高。

六、AlphaGo 的未来

围棋比赛固然精彩,但更重要的是 AlphaGo 展示了人工智能算法将如何影响我们的生活;人工智能将使人类变得更好。在第二场比赛的第 37 步,AlphaGo 做出了一个非常令人惊讶的决定。一位欧洲围棋冠军说: “这不是人类的棋步。我从来没见过人类下出这步棋。太漂亮了。”这位通过与 AlphaGo 对弈帮助训练 AlphaGo 的欧洲围棋冠军说,虽然他几乎输掉了所有的比赛,但由于程序的不寻常的下法,他对围棋的理解得到了很大的提高。这也反映在他世界排名的跃升上 [6]。

据数据显示,在美国,每年有约40500名患者因误诊而死亡。医疗信息量巨大,医生不可能对每一件小事都进行梳理。像AlphaGo这样的人工智能能够收集系统中所有的医学文献历史以及医疗案例、医学图像和其他数据,并输出最佳解决方案来帮助医生。最近,AlphaGo与英国国家医疗服务体系(NHS)展开合作,以数字解决方案改善医疗服务流程。AlphaGo利用其计算能力分析健康数据和记录。[6]这将为患者开辟新的治疗机会,并协助医生治疗患者。效率的提高也将降低保险公司的成本[6]。

七、人工智能的未来

人们已经从最优秀的人类身上学到了很多东西,但现在从人工智能身上可以学到更多的知识。[6] 人工智能在某些情况下可以超越人类的能力,这可能会让一些人感到不舒服。人工智能除了以 AlphaGo 为代表的棋盘游戏人工智能外,还运用了许多技术,包括视觉识别和语音识别等多个技术领域。人工智能在某一专门领域超越人类并不奇怪。但在综合智能和学习能力方面,人类比人工智能要好得多。虽然深度学习取得了很大进展,但机器学习仍然依赖于人工设计的过程。而且,深度学习需要大量数据作为训练和学习的基础,学习过程不够灵活。

所谓全面人工智能将控制人类,对人类社会造成毁灭性影响的说法纯属虚构,人工智能超越人类并非不可能,但那一天还很遥远,而“超越”仍是在人类的控制之下。

八、结论

无论是 AlphaGo 还是李世石获胜,总体而言胜利属于人类。AlphaGo 背后的人工智能利用机器学习和神经网络,通过与自己对弈不断提高技能。这种人工智能技术也为我们的生活带来了改善的潜力。

人工智能赢得了围棋比赛,但人类赢得了未来。

参考
[1] “谷歌的 AlphaGo 如何击败围棋世界冠军” The Atlantic。网络。2016 年 3 月 28 日 < http://www.theatlantic.com/technology/archive/2016/03/the-invisible- opposite/475611/>

[2] “围棋”维基百科。网页。https://en.wikipedia.org/wiki/Go_(game)

[3] “游戏树”维基百科。网页。https://en.wikipedia.org/wiki/Game_tree

[4]“机器学习的定义” WhatIs.Web .2016年2月 <http://whatis.techtarget.com/definition/machine-learning?

[5] “Google DeepMind 的 AlphaGo:工作原理” The tastehit。网络。2016 年 3 月 16 日 https://www.tastehit.com/blog/google-deepmind-alphago-how-it-works/

[6] “AlphaGo 可以塑造医疗保健的未来” TMF。网站。2016 年 4 月 5 日 http://whatis.techtarget.com/definition/machine-learning

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1895756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秋招突击——7/4——复习{}——新作{最长公共子序列、编辑距离}

文章目录 引言复习新作1143-最长公共子序列个人实现 参考实现编辑距离个人实现参考实现 贪心——买股票的最佳时机个人实现参考实现 贪心——55-跳跃游戏个人实现参考做法 总结 引言 昨天主要是面试&#xff0c;然后剩下的时间都是用来对面试中不会的东西进行查漏补缺&#xff…

xxl-job集成SpringBoot

安装xxl-job客户端一般有很多方式&#xff0c;我这里给大家提供两种安装方式&#xff0c;包含里面的各项配置等等。 前期需要准备好MySQL数据库。复制SQL到数据库里面。 # # XXL-JOB v2.4.2-SNAPSHOT # Copyright (c) 2015-present, xuxueli.CREATE database if NOT EXISTS x…

代码动态编译

背景 开发环境下新加代码、改代码时要重启后生效&#xff08;耗时间&#xff09;&#xff1b;需求:不用重启且支持springboot 、spring、MyBatis。 实现 下地地址&#xff1a;https://github.com/JetBrains/JetBrainsRuntime/releases 1.根据系统类型下载压缩包 2.解压后配…

手动将dingtalk-sdk-java jar包打入maven本地仓库

有时候,中央镜像库不一定有自己需要的jar包,这时候我们就需要用到该方法,将jar打入maven本地仓库,然后项目中,正常使用maven的引入规则。 mvn install:install-file -Dmaven.repo.local=D:\software\maven\apache-maven-3.6.3-bin\apache-maven-3.6.3\repo -DgroupId=ding…

生态共建 | 华宇TAS应用中间件与新华三服务器完成兼容互认证

近日&#xff0c;华宇TAS应用中间件完成与新华三技术有限公司的R4930系列和R4970 G7服务器的兼容适配&#xff0c;认证测试报告显示&#xff0c;双方产品兼容性良好&#xff0c;运行稳定、安全&#xff0c;可以满足用户对双方功能的要求。 新华三技术有限公司 新华三技术有限公…

《Winodws API每日一练》8.2 static控件

在 Windows 编程中&#xff0c;"Static" 控件是一种常见的用户界面元素&#xff0c;用于显示静态文本或图像&#xff0c;而无法进行用户交互。它通常用于显示标签、标题、说明文本或静态图像等信息。Static 控件是一种静态的、只读的显示元素&#xff0c;不接受用户的…

ConsiStory:无需训练的一致性文本到图像生成技术

随着大规模文本到图像&#xff08;T2I&#xff09;扩散模型的发展&#xff0c;用户可以更自由地通过文本指导图像生成过程。然而&#xff0c;要在不同的提示中保持同一主题的视觉一致性仍然是一个挑战。现有的方法通常需要对模型进行微调或预训练&#xff0c;以教授新词汇来描述…

信息安全驱动汽车行业快速向数字化转型

开发一款安全性良好的软件是困难的&#xff0c;它需要专业知识的积累以及对常见编程缺陷和规则的了解&#xff0c;例如检查输入范围、管理内存分配和回收、寻址字符串格式、避免悬空指针等等。通常情况下&#xff0c;编写安全代码与开发人员编写“流畅”代码的自然愿望形成了对…

滤波算法学习笔记

目录 引言 一、定义 二、分类 三、常见滤波算法 四、应用与优势 五、发展趋势 例程 1. 均值滤波&#xff08;Moving Average Filter&#xff09; 2. 中值滤波&#xff08;Median Filter&#xff09; 3. 高斯滤波&#xff08;Gaussian Filter&#xff09; 4.指数移动…

新技术 高效的碳捕捉技术设计

网盘 https://pan.baidu.com/s/1mUlEhbQ6LBHYdmfg-du9bw?pwdc7gk 一种用于高效捕集CO_Sub_2__Sub_的生物炭颗粒吸附剂及其制备方法和应用.pdf 基于双相离子溶液的高效碳捕集及节能再生装置.pdf 基于水合物法低温液化的高效碳捕集系统及其操作方法.pdf 碳捕集系统及方法.pdf 高…

Feign远程调用,请求头丢失情况

现象 解决方案 import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolde…

一篇文章说清楚Filter(过滤器)、Interceptor(拦截器)和AOP(切面儿)

文章目录 前言一、Filter&#xff08;过滤器&#xff09;1.说明2.实现filterChain.doFilter() 3.order优先级4.解决跨域5.拦截返回错误信息JSON 二、Interceptor&#xff08;拦截器&#xff09;1.说明2.实现preHandlepostHandleafterCompletion 3.执行顺序图4.排除特定路径拦截…

C#/.NET/.NET Core编程技巧练习集

DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库练习集&#xff0c;配套详细的文章教程讲解&#xff0c;助你快速掌握C#/.NET/.NET Core各种编程常用语法、算法、技巧、中间件、类库等等。 GitHub开源地址&#xff1a;https://…

MedCLIP:CLIP + 医学语义匹配策略,解决模型误将不同患者同病症视为不相关

MedCLIP&#xff1a;CLIP 医学语义匹配策略&#xff0c;解决模型误将不同患者同病症视为不相关 提出背景流程图解法拆解子解法1&#xff1a;知识提取子解法2&#xff1a;视觉和文本编码器子解法3&#xff1a;语义匹配损失 提出背景 论文&#xff1a;https://arxiv.org/pdf/22…

【SkiaSharp绘图15】SKPath属性详解:边界、填充、凹凸、类型判断、坐标、路径类型

文章目录 SKPath 构造函数SKPath 属性Bounds 边界(宽边界)TightBounds紧边界FillType填充方式IsConcave 是否凹/ IsConvex 是否凸IsEmpty是否为空IsLine是否为线段IsRect是否为矩形IsOval是否为椭圆或圆IsRoundRect是否为圆角矩形Item[] 获取路径的坐标LastPoint最后点的坐标Po…

JavaScript——while类型

目录 任务描述 相关知识 while类型 编程要求 任务描述 质数的定义如下&#xff1a;大于1的自然数&#xff0c;且除了1和本身外没有别的因数。如2、3、5、7。 本关任务&#xff1a;利用循环结构求质数的和。 相关知识 在选择结构中&#xff0c;条件会被测试一次&#xff…

第一百四十三节 Java数据类型教程 - Java Boolean包装类

Java数据类型教程 - Java Boolean包装类 布尔类的对象包装一个布尔值。 Boolean.TRUE和Boolean.FALSE是布尔类型的两个常量&#xff0c;用于表示布尔值true和false值。 我们可以使用构造函数或valueOf()工厂方法创建一个布尔对象。 当解析字符串时&#xff0c;此类将处理“t…

复现centernet时,报错RuntimeError: CUDA error: out of memory

运行 python test.py ctdet --dataset coco --exp_id coco_dla --load_model /root/CenterNet/exp/ctdet/coco_dla/model_last.pth --gpus 0 --test_scales 1 报错下面&#xff1a; RuntimeError: CUDA error: out of memory明明显存是够用的 解决办法&#xff1a; 找到自己…

RK3568平台(opencv篇)ubuntu18.04上安装opencv环境

一.什么是 OpenCV-Python OpenCV-Python 是一个 Python 绑定库&#xff0c;旨在解决计算机视觉问题。   Python 是一种由 Guido van Rossum 开发的通用编程语言&#xff0c;它很快就变得非常流行&#xff0c;主要是 因为它的简单性和代码可读性。它使程序员能够用更少的代码行…

LVS-DR负载均衡

LVS-DR负载均衡 LVS—DR工作模式 原理 客户端访问调度器的VIP地址&#xff0c;在路由器上应该设置VIP跟调度器的一对一的映射关系&#xff0c;调度器根据调度算法将该请求“调度“到后端真实服务器&#xff0c;真实服务器处理完毕后直接将处理后的应答报文发送给路由器&#xf…