教机器遗忘或许比学习更重要:让AI健忘的三种方式

640?wx_fmt=png大数据文摘出品

编译:臻臻、Shan LIU、龙牧雪


大部分人不会喜欢遗忘的感觉。


回到家顺手把钥匙丢在一个角落就再也想不起来放在哪儿了,街角偶遇一个同事却怎么拍脑袋也叫不出他的名字……我们害怕遗忘,讨厌遗忘。


然而,生而为人,健忘其实是种关键能力。


对于人类而言,遗忘绝不仅仅是“想不起来”,而是一个帮助大脑吸收新信息并锻炼有效决策的积极过程。


现在,数据科学家们正在尝试应用神经科学原理来改进机器学习,并且坚信人类大脑能够解锁图灵完备的人工智能。


人脑为什么需要遗忘


我们的大脑被普遍认作为信息过滤器。先放入一大堆乱七八糟的数据,筛选有用的信息,然后清理任何不相关的细节,用以陈述故事或作出决策。清除没用的细节是为了给新数据腾出储存空间,类似在计算机上运行磁盘清理。


640?wx_fmt=png


用神经生物学的术语来说,遗忘发生于神经元之间的突触连接减弱或者消失之时,同时随着新神经元的发育,他们又会重新连接海马回路,覆盖现有记忆。


对于人类来说,遗忘有两个好处:


  • 通过减少过时信息对我们决策的影响来增强灵活性


  • 防止过度拟合过去的特定事件和促进概括能力


为了有效地适应环境,人类需要有策略性遗忘的能力。


计算机也需要遗忘?


计算机的遗忘与人类的不同,这是人工智能面临的一大挑战。深度神经网络在完成机器学习任务方面非常成功,但它们的遗忘方式也与我们不一样。


举一个简单的例子,如果你教一个讲英语的孩子学习西班牙语,这个孩子会在学习过程中应用英语学习的技巧,比如名词、动词动态、句子建立方法等。同时他会忘记那些不相关的部分,比如口音、嘟囔、语调等。如此,这个孩子可以在策略性遗忘的同时逐渐学习和建立新的思维方式。


640?wx_fmt=png


相比之下,如果你已经训练了一个神经网络去学习英语,那么它的参数则已经适应了英语问题的解法。此时你要教它学习西班牙语,它就会生成新的适应系统并覆盖以前为学习英语所获得的知识,删除所有内容并重新开始。这被称作“灾难性遗忘”,并被认为是“神经网络的一个根本局限”。


虽然这还是一个新领域,最近科学家们已经在探索克服这种限制的潜在理论,并取得了长足的进步。


3个方法教AI学会遗忘


长短期记忆网络(LSTM)


LSTM是一种循环神经网络,它使用特定的学习机制来决定在任意一个节点哪些信息需要记住,哪些需要更新,哪些需要关注。


LSTM工作机制如何?一个简单的解释是拿电影来做类比:假设一个计算机正在尝试通过分析先前的场景来预测电影中接下来会发生的事。一个场景是一个女人拿着一把刀,计算机会猜测她是一个厨师还是凶手呢?另一个场景中,一个女人和一个男人在金色拱门下吃寿司:计算机会猜他们是在日本还是麦当劳呢?或者其实他们是在圣路易斯?


640?wx_fmt=png

大拱门是美国圣路易斯的标志性建筑


LSTM通过以下3步提升神经网络:


遗忘/记忆


“当场景结束,模型应该忘记当前场景的位置,所处时间,并重置任何特定场景的信息;然而,如果场景中的一个角色死亡了,机器则应该继续记住他不再活着的事实。因此,我们希望机器能学习掌握一个相互独立的遗忘/记忆机制,这样当新信息进来时,它知道什么观念该保留什么该丢弃。”

——Edwin Chen


保存


当模型看到一张新图像,它需要了解这个图像是否有什么信息值得被使用和保存。如果一个女人在某个场景中路过广告牌,机器应该记住这个广告牌还是将其视作噪声数据忽略掉呢?


划重点


我们可能需要记住电影中的这个女人是个母亲这一信息点,因为我们稍后会看见她的孩子们,但是这个信息在她不出现的场景里可能并不重要,所以在那些场景里我们不需要重点关注。同样,并非所有存储在神经网络的长期记忆中的内容都是立即相关的,所以LSTM所做的就是在安全保存所有信息备用的同时,帮助决定哪一部分在哪一时刻被重点关注。


弹性权重固化(EWC)


EWC是由谷歌旗下DeepMind的研究人员于2017年3月创建的一种算法,旨在模拟一种被称为突触整合的神经科学过程。在突触整合过程中,我们的大脑评估一项任务,计算许多用于执行任务的神经元的重要性,同时权衡哪些神经元对正确执行任务更为重要。


这些关键的神经元被编译为重要的,并且在随后的任务中相对不可能被覆盖。同样,在神经网络中,多个连接(如神经元)被用于执行任务。EWC将一些连接编译为至关重要的,从而保护他们不被覆盖/遗忘。


在下面的图表中,你可以看到研究人员将EWC应用于Atari游戏时发生了什么。蓝线表示标准的深度学习过程,红线及棕线则由EWC提供以显示改进后的结果:


640?wx_fmt=png


瓶颈理论


瓶颈理论由耶路撒冷希伯来大学的计算机科学家和神经科学家Naftali Tishby在2017年秋提出。这个构想是,网络摆脱了嘈杂的无关细节的输入数据,就好比用瓶颈将信息挤压,只保留与基本概念最相关的特征。


Tishby解释说,神经网络经历了两个阶段的学习——拟合与压缩。在拟合过程中,网络标记其训练数据;而在更漫长的压缩过程中,它“丢弃关于数据的信息,只跟踪最强大的特征”,也即是那些最能帮助它泛化的特征。通过这种方式,压缩成为策略性遗忘的一种方式,掌控这一瓶颈也可能成为AI研究人员用于构建未来更强大神经网络的新目标和体系的一个工具。


正如Tishby所说:“遗忘才是学习过程中最重要的一部分。”


人类大脑和遗忘的过程中,有可能藏着通往强AI的密码。但科学家们仍在上下求索。



相关报道:

https://hackernoon.com/machine-un-learning-why-forgetting-might-be-the-key-to-ai-406445177a80


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

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

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

相关文章

代码精进之路~自明的代码

中间变量 Matcher matcher headerPattern.matcher(line); if (matcher.find()) {headers.put(matcher.group(1), matcher.group(2)); } 优化后 Matcher matcher headerPattern.matcher(line); if (matcher.find()) {String key matcher.group(1);String value matcher.g…

OpenCV图像或视频显示在VC对话框中的方法

转自&#xff1a;我思故我在 在MFC界面上添加一个picture控件&#xff0c;假设其ID为IDC_STATIC_PIC&#xff0c;类型设置为"增强图元文件" 首先包含OPENCV里的头文件&#xff1a; #include <cv.h> #include <stdio.h> #include <highgui.h> 在相应…

一套价值十万的微信公众号采集解决方案

From&#xff1a;http://www.blog2019.net/post/138 原文地址 相关阅读&#xff1a; 一套价值十万的微信公众号采集解决方案(免费送) 数据采集采集架构中各模块详细分析 基于大数据平台的互联网数据采集平台基本架构 教你一种1分钟下载1万个网页的方法&#xff0c;你学吗&a…

2018 年全球人工智能与机器人峰会将在深圳举办

来源&#xff1a;雷锋网摘要&#xff1a;第三届 CCF-GAIR —— 2018 年全球人工智能与机器人峰会&#xff0c;深圳&#xff0c;2018 年 6 月 29 日至 7 月 1 日。2018 年&#xff0c;AI 学术界与工业界的核心议题已演变为“基础理论技术创新”和“行业解决方案落地”&#xff0…

ASP.NET使用数据库存储、读取并修改图片

在SQL SERVER中建立这样结构的一个表&#xff1a;列名类型目的IDInteger主键IDIMGTITLEVarchar(50)图片的标题IMGTYPEVarchar(50)图片类型. ASP.NET要以辨认的类型IMGDATAImage用于存储二进制数据 using System;using System.Collections;using System.Configuration;using…

Grafana 使用教程 --- 开源的度量分析与可视化套件

原文链接&#xff1a;https://blog.csdn.net/bbwangj/article/details/81109615 Linux下使用GrafanaInfluxDBMongoDB实现爬虫可视化动态监控【附代码及详细教程】 https://www.jianshu.com/p/9de223e05a5e Grafana是一个开源的度量分析与可视化套件。经常被用作基础设施的时间…

美国重夺超算“头把交椅”,专家建议中国加快E级超算研制

“顶点”超算 橡树岭国家实验室网站图来源&#xff1a;科技日报摘要&#xff1a;美国能源部下属橡树岭国家实验室6月8日正式宣布&#xff0c;已研发出被命名为“顶点”的超级计算机。美国能源部下属橡树岭国家实验室6月8日正式宣布&#xff0c;已研发出被命名为“顶点”的超级计…

安卓逆向_9 --- log 插桩、Toast 弹窗、smali代码编写和植入 ( 好搜小说 )

From&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p36 如果仅仅用 Smali 来分析代码&#xff0c;效果其实不如用 dex2jar 和 jd-gui 更直观&#xff0c;毕竟看反编译的 java 代码要更容易一些。 但 Smali 强大之处就是可以随心所欲的进行插桩操作。何为插桩&…

调试opengl程序出错

今天要做opengl实验 打开一个示例程序&#xff0c;结果编译不过。错误大概如下&#xff1a; d:\vc98\include\gl\gl.h(1152) : error C2054: expected ( to follow WINGDIAPI d:\vc98\include\gl\gl.h(1152) : error C2085: APIENTRY : not in formal parameter list d:\vc98\i…

代码精进之路~函数

职责单一 一个方法只做一件事情。 eg.给员工发工资 public void pay(List<Employee> employees) {for (Employee e : employees) {if (e.isPayDay()) {Money pay e.calculateDay();e.deliverDay(pay);}}} 实际上做了3件事&#xff1a;遍历所有雇员、检查是否该发工资…

智能哲学:“学习机器”与“机器学习” ——解读图灵思想中的人工智能

周剑铭&#xff0c;自由学者。研究方向为中西文化比较研究&#xff0c;智能哲学&#xff0c;算法、不确定性和不确定性问题(NP)理论。柳渝&#xff0c;法国儒勒凡尔纳公立综合大学计算机&#xff08;Dpartement Informatique, UFR des Sciences, Universit de Picardie Jules V…

【分享】关于对象关系映射的理解

对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称ORM&#xff09;是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说&#xff0c;ORM是通过使用描述对象和数据库之间映射的元数据&#xff0c;将java程序中的对象自动持久化到关系数…

安卓逆向_10 --- Log 日志的插入和分析、toast方法、栈跟踪

From&#xff1a;https://blog.csdn.net/weixin_42680210/article/details/90384358 在安卓逆向中&#xff0c;常常用到 栈跟踪、toast方法、Log日志的插入 等&#xff0c;以便于我们更好的分析代码&#xff0c;下面就演示下这三个方法的使用及简单的分析。。。 1. 插入 Log 信…

事实--思维导图笔记

事实--思维导图笔记 https://www.processon.com/view/5d330846e4b058ef96ae5529?fromnew1#map 完整版

未来20年内,无人驾驶将颠覆这33大行业

来源&#xff1a;智车科技在未来的20年里&#xff0c;无人驾驶汽车将在美国广泛使用&#xff0c;这几乎是必然的。包括谷歌、苹果和梅赛德斯-奔驰在内的二十多家大型企业都在努力打造自己的无人驾驶汽车品牌。特斯拉的Model S已经推出了一种可以在高速公路上形式的无人驾驶车型…

C# GridView单元格合并.

使用int[] 列索引集合将第1列的单元格格一样的数据合并..GroupRows(GridView1,newint[]{0}); 全部代码///<summary>///GridView合并行 zgkesina.com qq:116149///</summary>///<param name"p_GridView">Grid控件</param>///<param name&q…

安卓逆向_11 --- methodprofiling(方法分析)【在 smali 代码中打印信息 --- 协议分析常用】

From【修改 smali 代码打印信息】&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p38 【Android】开发优化之 --- 调优工具&#xff1a;TrackView、Method Profiling&#xff1a;https://blog.csdn.net/fcly2013/article/details/38080333 TrackView、Method Prof…

Getting Started with Google Guava--思维导图笔记

Getting Started with Google Guava--思维导图笔记 分享地址&#xff1a;https://www.processon.com/view/link/5d413527e4b020861117eb7b

德国科学院院士:传统企业寻求变革,向智能制造靠近

来源&#xff1a;亿欧摘要&#xff1a;中新人工智能高峰论坛上&#xff0c;德国科学院院士汉斯乌思克尔特详细介绍了AI在工业上的概念和具体运用案例。他把“AI工业”原理分为三层&#xff0c;由内到外分别是&#xff1a;生产层、运行层和数据结合层。经由这三层&#xff0c;智…

kernel部分数据结构列表三(inode)

kernel部分数据结构列表三(inode) /**索引节点对象由inode结构体表示&#xff0c;定义文件在linux/fs.h中*/struct inode { struct hlist_node i_hash; /* 哈希表 */ struct list_head i_list; /* 索引节点链表 */ …