人工智能人工智能·

最新研究指出人工智能的根本性弱点:不可能开发出始终稳定的算法

发布时间:2024-08-27 09:53:49阅读量:33
普通文章
转载请注明来源

哥本哈根大学的研究人员在世界上首次用数学方法证明,除了简单的问题之外,不可能开发出始终稳定的人工智能算法。ChatGPT 和类似的基于机器学习的技术正在兴起。然而,即使是最先进的算法也面临着局限性。

哥本哈根大学的研究人员有了一个突破性的发现,他们用数学方法证明,除了基本问题之外,不可能开发出始终稳定的人工智能算法。这项研究可以为改进算法测试协议铺平道路,凸显机器处理与人类智能之间的内在差异。

描述该成果的科学文章已获准在国际领先的理论计算机科学会议上发表。

机器能比医生更准确地解读医学扫描图像,翻译外语,不久还能比人类更安全地驾驶汽车。然而,再好的算法也有弱点。哥本哈根大学计算机科学系的一个研究小组试图揭示这些弱点。

以自动驾驶汽车读取路标为例。如果有人在路标上贴了标签,这不会分散人类驾驶员的注意力。但机器可能会很容易分心,因为现在的路标与它接受过训练的路标不同。

"我们希望算法是稳定的,即输入稍有变化,输出几乎保持不变。"该小组负责人阿米尔-耶胡达约夫(Amir Yehudayoff)教授说:"现实生活中存在着各种各样的噪音,人类习惯于忽略这些噪音,而机器却会感到困惑。"

讨论弱点的语言

作为世界首例,该研究小组与其他国家的研究人员一起用数学方法证明,除了简单的问题外,不可能创建始终稳定的机器学习算法。描述这一成果的科学文章已被批准在计算机科学理论的主要国际会议之一《计算机科学基础》(FOCS)上发表。

"我想指出的是,我们并没有直接研究过自动驾驶汽车的应用。不过,这似乎是一个过于复杂的问题,算法不可能始终保持稳定性。"阿米尔-耶胡达约夫说,并补充说,这并不一定意味着会对自动驾驶汽车的发展造成重大影响:如果算法只在极少数情况下出错,这很可能是可以接受的。但如果它在大量情况下都出错,那就是坏消息了"。

业界无法利用这篇科学文章来识别其算法中的漏洞。教授解释说,这并不是他的本意:

"我们正在开发一种讨论机器学习算法弱点的语言。这可能会导致制定描述如何测试算法的指南。从长远来看,这可能会再次促进更好、更稳定算法的开发。"

从直觉到数学

一个可能的应用是测试保护数字隐私的算法。

"有些公司可能声称已经开发出绝对安全的隐私保护解决方案。首先,我们的方法可能有助于确定解决方案不可能绝对安全。其次,它还能找出弱点,"Amir Yehudayoff 说。

不过,科学文章首先要对理论有所贡献。他补充说,尤其是数学内容具有开创性:"我们凭直觉就能理解,一个稳定的算法在受到少量输入噪声影响时,应该能像以前一样正常工作。就像贴了贴纸的路标一样。但作为理论计算机科学家,我们需要一个确定的定义。我们必须能够用数学语言来描述这个问题。如果我们要承认算法是稳定的,那么算法究竟必须能够承受多少噪音,输出又应该有多接近原始输出?这就是我们提出的答案"。

牢记局限性很重要

这篇科学文章引起了理论计算机科学领域同行的极大兴趣,但科技行业却没有。至少目前还没有。

阿米尔-耶胡达约夫笑着补充说:"你总是应该预料到,在新的理论发展和应用人员的兴趣之间会有一些延迟:而有些理论发展将永远不被关注"。

不过,他认为这种情况不会发生:"机器学习的发展日新月异,但重要的是要记住,即使是在现实世界中非常成功的解决方案也有其局限性。机器有时看似能够思考,但毕竟不具备人类的智慧。这一点必须牢记。"

编译自/scitechdaily

评论区

暂无评论,来发布第一条评论吧!

弦圈热门内容

Djano云服务器部署 uwsgi+nginx+https部署

Django启动服务器的命令runserver,其实也是启动了一个自带的uwsgi服务。如果想要一直在后台不停的运行django项目,需要部署uwsgi服务器。uwsgi安装官方文档:安装uWSGI — uWSGI 2.0 文档 (uwsgi-docs-zh.readthedocs.io)可以直接用pip安装uwsgi:pip install uwsgi在django项目根地址,即跟manage.py同目录下新建配置文件uwsgi.ini,如:mysite1/uwsgi.iniuwsgi.ini必须以[uwsgi]开头,内容如下:[uwsgi] chdir=/mysite1 module=mysite1.wsgi:application socket=127.0.0.1:8000 master=True pidfile=uwsgi.pid vacuum=True max-requests=5000 daemonize=uwsgi.logchdir为django项目根地址,socket为django启动服务器的ip地址,daemonize为日志地址。注意,每个django项目中自动生成一 ...

token简介以及python计算token的方法

后端登陆实现需要用到token机制或者cookies机制。Token和cookies都可以用来存放用户信息。但是token可以将信息存放在浏览器中的localstorage中,不占用服务器内存,而cookies则需要在每次请求中送往服务器中,吃服务器资源。同时,token作为一种比cookies更新的技术,有更多的优势,可以参考token和cookie的区别。每个用户都可以对应一个token值。Token可以由用户名+密码+时间,经过哈希加密得到,也可以直接由用户名和密码经过加密算法加密后得到。复杂程度取决于自己。加密后得到的token值,存放在会话session中。Python使用哈希算法进行加密,计算token值:import hashlib md5 = hashlib.md5() md5.update((username+password+"1258"+str(time.time())).encode()) token = md5.hexdigest()也可以使用python的pip库pyjwt来实现加密,计算token值。$ pip install pyjwtJwt输入的是字 ...

Python time模块与datetime模块的区别

时间方面的编程在开发过程中是很常见的,而Python提供了datetime 和 time这两个关于时间的模块。接下来,我们将讨论这两个模块中的函数有什么区别。1. time模块:如果你想要获取当前的本地时间,那么首先你需要运行time.time()来获取当下的时间戳。import time #获取目前的时间戳 time.time() #输出: 1715254313.7382145需要注意的是,该时间戳单位是秒(s),不是毫秒(ms)。然后你需要格式化得到的时间戳,最后才能得到你想要的时间格式,比如%Y-%m-%d %H:%M:%S。time.localtime(time.time()) #输出: time.struct_time(tm_year=2024, tm_mon=5, tm_mday=9, tm_hour=19, tm_min=34, tm_sec=54, tm_wday=3, tm_yday=130, tm_isdst=0) time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) #输出: '2024-0 ...

为什么有了uwsgi 还要 nginx 服务器?

有关nginx的简单介绍,详见Nginx服务器反向代理。uwsgi是python的一个通信协议,同时也是一种web服务器,而nginx则是高性能反向代理的web服务器。在Django项目服务器部署中,uwsgi几乎是不可替代的。然而部署好了uwsgi,其实django接口已经能够响应请求,为什么还要额外配置nginx服务器?因为,相比于直接将真实地址暴露在公网上,在外面套一层nginx安全性更高,具体如下:安全问题,程序不能直接被浏览器访问到,而是通过nginx,nginx只开放某个接口,uwsgi本身是内网接口,这样运维人员在nginx上加上安全性的限制,可以达到保护程序的作用。负载均衡问题,一个uwsgi很可能不够用,即使开了多个work也是不行,毕竟一台机器的cpu和内存都是有限的,有了nginx做代理,一个nginx可以代理多台uwsgi完成uwsgi的负载均衡。静态文件处理效率问题,用django或是uwsgi这种东西来负责静态文件的处理是很浪费的行为,而且他们本身对文件的处理也不如nginx好,所以整个静态文件的处理都直接由nginx完成,静态文件的访问完全不去经过uwsg ...