一时学习一时爽,持续学习持续爽


一只小狐狸带你解锁NLP/ML/DL秘籍

作者:小鹿鹿鹿 

net~net~你围棋下的这么好,斗地主应该也不错吧

不敢当不敢当

但是人家柯洁才得了欢乐斗地主全国第一呢

那让老夫也学习学习吧~巴拉巴拉小魔仙Training。。。

net net stop!你怎么斗地主还没学会,就忘了怎么下围棋了呢o(╥﹏╥)o

net net 我不要你打斗地主了,net你快回来。。

画外音:就这样,小夕的net再也没有回来了。这真是一个机器学习史上的灾难呀。

问题定义

众所周知,柯洁是超级厉害的围棋高手。

众所周知,小夕是超级厉害的卖萌小能手斗地主民间高手。

燃鹅,如果这时候把斗地主的规则教给柯洁,那么柯洁凭借已有的围棋知识,可以轻松的与小夕大战一场。并且战完后依然是那个能与阿法狗大战到天亮的围棋高手。

我们人类有能够将一个任务的知识用到另一个任务上的能力,学习后一个任务时也不会忘记如何做前一个任务。这种能力叫持续学习 (continual learning/ life-long learning) 。而这个能力归结起来主要有两个问题:

 

  • 如何能把之前任务的经验用上,使得更快更好的学习当前任务;

  • 学习当前任务时,不会忘记之前已经学会的任务。

用更专业的术语来讲就是可塑性(学习新知识的能力)和稳定性(旧知识的记忆能力)。

 

可是,神经网络不同于人类,由于其自身的设计天然存在灾难性遗忘问题。当学习一个新任务的时候,需要更新网络中的参数,但是上一个任务提取出来的知识也是储存在这些参数上的呀。于是,神经网络在学习新任务的时候,旧任务的知识就会被覆盖。所以如果你试图教阿法狗去打斗地主,那么当它能与小夕一战的时候,它就再也不是柯洁的对手了。

用已有的斧头解决问题

神经网络算法的灾难性遗忘在黑早黑早以前就有研究关注这个问题了,众所周知(最近发现这个词超好用诶)的大佬Goodfellow在2013年的时候针对训练方法(是否使用dropout)和不同的激活函数(logistic sigmoid/ rectified linear/ LWTA/ Maxout)对灾难性遗忘问题的影响做了详尽的实验分析。

 

那年的实验

让神经网络学习两个任务(新任务和旧任务),两个任务的关系有三种:

  • Input reformatting:任务目标一样,只改变数据输入格式。类比不同语言的学习,意大利语和西班牙语非常接近,有相似的语法结构。最大的不同是输入单词的形式,比如你好,意大利语是buon giorno,西班牙语是Hola。如果神经网络能学会从buon giorno映射到Hola,就能轻松的基于意大利语学习西班牙语啦~~基于这个假设,作者以MNIST数字识别为例,旧任务是原始的数字分类任务,新任务是将32*32像素打乱的数字分类任务。

  • Similar tasks:任务目标不一致,但是相似。这个就非常好理解啦,符合我们对持续学习最自然的认知。用对不同商品评价的情感分类作为新旧两个任务,比如旧任务是对手机评论的情感分类,新任务是对扫地机器人评论的情感分类( •̀ ω •́ )y。

  • Dissimilar tasks:任务目标不相似。设定旧任务为评论的情感分类,新任务是MNIST数字识别,完全风马牛不相及的两个任务。

对每一个task pair,我们有2×4组实验设置(是否加dropout和四种不同的激活函数)。针对每一个设置,跑25组实验(随机初始化超参数),记录新旧两个实验的test error。

 

实验结果和结论

  • dropout

相信训练过神经网络的小伙伴都知道,dropout是一个提高模型准确性和鲁棒性的一个利器。dropout的原理非常简单,就是网络中有非常多的连接,我们在每一次参数更新的时候,随机的对这些连接做mask,mask掉的权重参数置零,不参与网络更新。dropout可以理解成一个简易的assemble,每次更新一个子网络,最终的预测结果是所有子网络预测的均值。

              

以相似任务为例,在8种试验设置下的25组试验结果如上图所示。我们可以得到一条经验性的结论:Dropout有助于缓解灾难性遗忘问题(无论使用哪种激活函数和不同的任务关系)。

 

为什么呢?一个比较简单的理解是dropout强迫网络把每一层的模式相对均匀的记忆在各个神经元中(不加dropout时容易导致网络退化,一层中的神经元可能真正起作用的只有几个)。这样相当于增加了模型的鲁棒性,后续任务对其中的小部分神经元破坏时,不会影响整体的输出结果,对比之下,如果不加dropout,那么一旦关键的神经元被后续任务破坏,则前面的任务就完全崩了。使用dropout训练的模型size远大于不加dropout的模型大小。

              

  • 激活函数

但是遗憾的是激活函数的选择没有一致的结论。在三种不同的task pair下,激活函数的选择排序是不同的,大佬建议我们使用cross-validation来选择网络中使用的激活函数。(是的,这也可以作为一个结论????)

       

造新斧头解决问题

持续学习方法

当前主流的针对神经网络模型的持续学习方法可以分为以下五类:

  • Regularization:在网络参数更新的时候增加限制,使得网络在学习新任务的时候不影响之前的知识。这类方法中,最典型的算法就是EWC。

  • Ensembling: 当模型学习新任务的时候,增加新的模型(可以是显式或者隐式的方式),使得多个任务实质还是对应多个模型,最后把多个模型的预测进行整合。增加子模型的方式固然好,但是每多一个新任务就多一个子模型,对学习效率和存储都是一个很大的挑战。google发布的PathNet是一个典型的ensembling算法。

  • Rehearsal:这个方法的idea非常的直观,我们担心模型在学习新任务的时候忘了旧任务,那么可以直接通过不断复习回顾的方式来解决呀(ง •_•)ง。在模型学习新任务的同时混合原来任务的数据,让模型能够学习新任务的同时兼顾的考虑旧任务。不过,这样做有一个不太好的地方就是我们需要一直保存所有旧任务的数据,并且同一个数据会出现多次重复学习的情况。其中,GeppNet是一个基于rehearsal的经典算法。

  • Dual-memory:这个方法结合了人类记忆的机制,设计了两个网络,一个是fast-memory(短时记忆),另一个slow-memory(长时记忆),新学习的知识存储在fast memory中,fast-memory不断的将记忆整合transfer到slow-memory中。其中GeppNet+STM是rehearsal和dual-memory相结合的一个算法。

  • Sparse-coding: 灾难性遗忘是因为模型在学习新任务(参数更新)时,把对旧任务影响重大的参数修改了。如果我们在模型训练的时候,人为的让模型参数变得稀疏(把知识存在少数的神经元上),就可以减少新知识记录对旧知识产生干扰的可能性。Sensitivity-Driven是这类方法的一个经典算法。

这个方法的idea确实是挺合理的,当有效知识储存在少数的节点上,那么新知识我们就大概率可以存储在空的神经元上。

等等!

还记得前面我们说过,dropout是说我们把信息备份在更多的神经元上,当我们在学习新任务的时候就算破坏了其中的几个也不会影响最终的决策。那么这两个推论不就自相矛盾了么??所以到底应该是稀疏还是稠密,还得通过实验才能知道呀~~

 

实验设计

  • 数据集

       

作者使用了三个数据集,MNIST就不用说了,CUB-200(Caltech-UCSD Birds-200)同样也是一个图片分类数据集,不过比MNSIT更加复杂,里面有200类不同种类的鸟类。而AudioSet则是来源于youtube的音频数据集,它同样也是一个分类数据集,有632个类。

 

  • 任务

  • Data Permutation Experiment:和前文设置一样,新任务就是将旧任务的输入数据做置换。

    Incremental Class Learning:实际中我们总是会有这样的诉求,就是当模型可以对花????进行分类的时候,希望通过持续学习可以认识各种类别的树????。所以这个任务设计就是不断增加模型可分类类别。以MNSIT数字分类为例,先让模型学习一次性学习一半的类别(识别0-5),再逐个增加让模型能够识别6-9。

    Multi-Modal Learning:多模学习是希望模型能够实现视觉到听觉的转换。作者分别尝试让模型先学习图像分类CUB-200再学习音频任务AudioSet,以及先学习AudioSet再学习CUB-200。(大概是作者觉得MNSIT任务太简单,就直接忽略了╮( ̄▽ ̄"")╭)

 

  • 评估

                 

前文提到持续学习的两个主要问题是学习能力记忆能力,所以作者用Omiga_new来评估模型学习新任务的能力,Omiga_base评估模型的记忆能力,Omiga_all是这种两个能力的综合考量。alpha_new,i是模型刚学完任务i对任务i的准确率,alpha_base,i是模型刚学完任务i,对第一个任务(base任务)的准确率,ahpha_all_i是模型刚学完任务i,对学习过的所有任务的准确率。为了保证不同任务之间的可比性,作者用不使用任何持续学习方法,直接学习base任务的准确率做了归一。

 

实验结果和结论

              

上表中除了上面提到的五种持续学习方法以外,还有MLP是不加持续学习方法的baseline。

 

在数据输入格式变换任务下,GeppNet和GeppNet+STM能保持记忆但是丧失了学习新任务的能力;FEL学习新任务能力强,但是不能保持记忆;PathNet和EWC都能一定程度改善灾难性遗忘问题,pathnet比ewc要稍好一些~~

               

在逐渐增加分类类别实验下,随着分别数的增加(新任务的不断学习),已学习过的分类类别平均准确率在不断的下降,其中EWC算法完全失效,准确率曲线和baseline重合,而其他持续学习算法,GeppNet 优于 GeepNet+STM 优于 FEL。但是在多模实验下,EWC却又是唯一一个方法在两个顺序下都有效的。(刚被打脸又长脸了emmm)

               

最终实验结论!!在实验了各大主流方法的经典算法之后,发现。。并没有一个统一的方法可以一致的解决不同场景下的问题。╮(╯▽╰)╭

 

由此可知,解决灾难性遗忘问题还是非常任重而道远的呀。后续小夕和小伙伴们还会更加详细的介绍文中提到的以及没有提到的持续学习方法更为具体的算法细节。希望大家多多支持鸭~~

  • 跨平台NLP/ML文章索引

  • RL核心问题与Bandit老虎机

  • 机器学习模型的可解释性    

  • EM算法详解-理论篇

不要忘了关注小夕~星标⭐小夕哦~

参考文献

[1] An Empirical Investigation of Catastrophic Forgetting in Gradient-Based Neural Networks

[2] Measuring Catastrophic Forgetting in Neural Networks

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

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

相关文章

基于“大中台+小前台”思想的电商系统总体架构设计

一、架构总原则 1. 大中台小前台的架构思路 2. 业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进。 3. 平台化定位,进行了业务隔离设计,方便一套系统支撑不同玩法的业务类型和便…

论文写作葵花宝典

一只小狐狸带你解锁NLP/DL/ML秘籍作者:小鹿鹿鹿论文写作套路老板说:写论文是有套路的老板说:introduction写好了,论文就成功了一半老板说:你的motivation是什么,contribution又是啥?小夕说&…

李涓子 | 机器智能加速器:大数据环境下知识工程的机遇和挑战

本文转载自公众号:数据派THU。 导读:知识图谱已经成为推动人工智能发展的核心驱动力之一。本文选自清华大学计算机科学与技术系教授、清华-青岛数据科学研究院科技大数据研究中心主任李涓子老师于201…

【HTML/CSS】CSS盒模型及其理解

1 盒模型 概念:CSS盒模型本质是一个盒子,包括:外边距margin、边框border、内边距padding、内容content 分类:标准盒模型(W3C)和怪异盒模型(IE) 标准盒模型:width的值就是…

Netty异步非阻塞事件驱动及原理详解

本文基于 Netty 4.1 展开介绍相关理论模型、使用场景、基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。 Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服…

文本预处理跑得慢?抱抱脸团队又放福利,1GB文本语料分词只需20s!

一只小狐狸带你解锁NLP/DL/ML秘籍正文素材来源:量子位缘起BERTBERT带来的并不是只有一大波paper和嗷嗷上线,还带火了一个NLP团队——Huggingface(中文译作抱抱脸)。抱抱脸团队是一个创业团队。他们的Transformers是github上最火的…

基于深度学习的FAQ问答系统

| 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎,问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用…

基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构

一、项目总体架构图 二、功能介绍 2.1、统一认证功能 支持oauth2的四种模式登录 支持用户名、密码加图形验证码登录 支持手机号加密码登录 支持openId登录 支持第三方系统单点登录 2.2、分布式系统基础支撑 服务注册发现、路由与负载均衡 服务降级与熔断 服务限流(url/方法级别…

征文通知 | 2018年全国知识图谱与语义计算大会

2018年全国知识图谱与语义计算大会China Conference on Knowledge Graph and Semantic Computing (CCKS 2018)2018年8月15日-18日,天津征稿截止: 2018年5月18日全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Comp…

如何让聊天机器人懂情感?这是一篇来自清华的论文

原载:Paperweekly作者:黄民烈,清华大学老师关注自然语言处理、人机对话情感分析等方向aihuangtsinghua.edu.cn当你悲伤的时候,机器人可以安慰你;当你高兴的时候,机器人为你高兴。悲你所悲,喜你所…

戴着口罩也要开心过年吖!

一只小狐狸带你解锁NLP/ML/DL秘籍素材来源于网络新的一年????就要到来了作为超(bu)高(shan)智(yan)商(ci)的程序员如何向亲朋好友证明我们是人群中最靓的仔呢小夕为你准备了专属程序员的新春祝福~~普天同庆for (;;) { print("鼠年快乐"); }(满屏的新年…

【HTML/CSS】margin塌陷和合并问题

1 margin塌陷问题 1.1 示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>margin塌陷</title…

集群、分布式、微服务的概念及异同

一、什么是集群&#xff1f; 集群是指将多台服务器集中在一起&#xff0c;每台服务器都实现相同的业务&#xff0c;做相同的事&#xff1b;但是每台服务器并不是缺一不可&#xff0c;存在的主要作用是缓解并发能力和单点故障转移问题。 集群主要具有以下特征&#xff1a;&…

论文浅尝 | Complex Embeddings for Simple Link Prediction

The ́o Trouillon, Johannes Welb, Sebastian Riedel, ÉricGaussier, Guillaume Bouchard . Complex Embeddings for Simple Link Prediction. In Proceedings of the 33ndInternational Conference on Machine Learning, pages 2071– 2080 (ICML2016)论文链接&#xff1a;…

详解医学顶刊《柳叶刀》最新发表新型冠状病毒研究论文

我是夕小瑶&#xff0c;一只热爱科研的小狐狸作者&#xff1a;夕小瑶&#xff0c;小鹿鹿鹿&#xff0c;QvQ前言新型冠状病毒&#xff08;2019-nCoV&#xff09;的突发恰逢春节&#xff0c;千家万户都对疫情十分关注。令人心痛的是&#xff0c;病毒带来的不止有病痛&#xff0c;…

AI学习笔记--人机对话的四种形态

AI学习笔记--人机对话的四种形态 ><div class"show-content-free"><p>最近在筹备转行 AI PM 由于之前的产品线也有做过类似 AI 的智能客服产品&#xff0c;所以打算先从人机对话这个角度入手。</p><p>以下文章结合了一些 case&#xff0c…

Spring Cloud简介,为什么需要Spring Cloud?

一、为什么需要Spring Cloud&#xff1f; 从分布式/微服务的角度而言&#xff0c;就是把我们一个大的项目分解成多个小的模块&#xff0c;这些小的模块组合起来&#xff0c;完成功能&#xff1b;而拆分出多个模块以后&#xff0c;就会出现各种各样的问题&#xff0c;而Spring C…

论文浅尝 | 「知识图谱」领域近期值得读的 6 篇顶会论文

本文转载自公众号&#xff1a;PaperWeekly。CIKM 2017■ 论文 | Hike: A Hybrid Human-Machine Method for Entity Alignmentin Large-Scale Knowledge Bases■ 链接 | https://www.paperweekly.site/papers/1528■ 解读 | 罗丹&#xff0c;浙江大学硕士1. Motivation 随着语义…

NLP最佳入门与提升路线

一只小狐狸带你解锁NLP/ML/DL秘籍作者&#xff1a;夕小瑶&#xff0c;小鹿鹿鹿&#xff0c;QvQ前言对突如其来的长假感到惶恐和不安&#xff1f;紧盯2019-nCoV的最新消息却依然感觉很空虚&#xff1f;腰酸萎靡脖子僵甚至怀疑自己有点发烧&#xff1f;这是长时间没学习的症状。 …

揭秘任务型对话机器人(下篇)

本文来自专栏语言、知识与人工智能&#xff0c;作者腾讯知文实验室 近年来比较热门的任务型对话的研究主要集中在端到端的框架的研究&#xff0c;基本跟传统任务型算法框架——语言理解模块&#xff08;Spoken Language Understanding&#xff0c;对话管理模块(Dialogue Manage…