深度学习论文笔记(增量学习)——fearnet: brain-inspired model for incremental learning

前言

我将看过的增量学习论文建了一个github库,方便各位阅读地址

主要工作

提出一种无需examplar的增量模型——FearNet


motivation

对于人类大脑而言,近期记忆存储在海马复合体中,而长期记忆存储在内侧前额叶皮层,在睡眠阶段,近期记忆会整合转变为长期记忆中,从海马复合体中转移至内测前额叶皮层。

受大脑记忆方式启发,FearNet采用了一种双记忆系统,利用PNN(概率神经网络)存储短期记忆,可理解为存储最近几次增量学习的知识。利用AutoEncoder存储长期记忆,可理解为存储前几次增量学习的知识。在”睡眠阶段“,PNN中存储的知识会”转移“至AutoEncoder中,PNN中存储的所有类别信息被清空。


method

采用一个预训练好的ResNet网络作为特征提取器,将图片映射为Feature Embeded。这么做其实有点打擦边球了,增量应该连着特征提取器一起增量才对,不过本文工作的新意主要体现在旧知识的存储上。

FearNet的结构如下:
在这里插入图片描述

mPFC network

AutoEncoder,用于存储长期记忆,Encoder将feature embeded映射为大小为m的向量,接着接一个fc分类器,用于分类。Decoder将Encoder输出的大小为m的向量映射回feature embeded。Encoder用于分类,Decoder用于存储记忆信息。Encoder与Decoder层数相同。

mPFC network训练的loss如下:
在这里插入图片描述
L c l a s s L_{class} Lclass为标准的分类损失函数,例如交叉熵, L r e c o n L_{recon} Lrecon定义如下:
L r e c o n = ∑ j = 0 M ∑ i = 0 H j − 1 λ j ∣ ∣ h e n c o d e r , ( i , j ) − h d e c o d e r , ( i , j ) ∣ ∣ 2 L_{recon}=\sum_{j=0}^M\sum_{i=0}^{H_j-1}\lambda_j||h_{encoder,(i,j)}-h_{decoder,(i,j)}||^2 Lrecon=j=0Mi=0Hj1λjhencoder,(i,j)hdecoder,(i,j)2
M M M为Encoder的层数, H j H_j Hj为第 j j j层隐藏层神经元的个数, h e n c o d e r , ( i , j ) h_{encoder,(i,j)} hencoder,(i,j)为Encoder第 j j j层第 i i i个神经元的输出, h d e c o d e r , ( i , j ) h_{decoder,(i,j)} hdecoder,(i,j)同理, λ j \lambda_j λj为超参数, λ 0 \lambda_0 λ0取值最大,深度越深, λ j \lambda_j λj取值越小。


HC network

PNN,用于存储短期记忆,PNN存储有最近几次增量学习训练数据的feature embeded,其分类依据如下(其实PNN有点冷启动算法的味道):
在这里插入图片描述
x x x表示训练数据的feature embeded, u k , j u_{k,j} uk,j表示k类别第j个样本的feature embeded。


BLA

由于HC network与mPFC network均具备分类的功能,假设目前有 M M M类,HC network可以预测 m m m M M M类,mPFC network可以预测0到 m − 1 m-1 m1类,两个网络预测的类别不重合,对于测试数据的feature embeded,由BLA决定采用哪个网络的输出作为最终输出。

BLA的输出取值为0~1之间,表明取mPFC作为最终输出的概率,设 A ( x ) A(x) A(x)表示BLA的输出,x表示测试图片的feature embeded,预测公式如下:
在这里插入图片描述


Consolidation

该阶段用于训练mPFC网络,分为首次训练与增量训练,首次训练,利用训练数据训练AutoEncoder,训练完毕后,对每一个类别,利用训练数据分别计算其Encoder输出的均值与方差。

增量训练,依据每个类别的均值与方差,从对应的混合高斯分布采样,将其输入到decoder中得到与旧类别feature embeded类似的pseudo-examples,与HC中存储的feature embeded构成训练集微调mPFC网络,训练完毕后,利用训练数据重新计算其混合高斯分布的均值与方差。此时mPFC可以生成每个类别(包括HC中存储的类别)的feature embeded,因此,清空HC network中的类别信息,相当于短期记忆转换为长期记忆。


Training/Recall

训练阶段只训练BLA,mPFC network与HC network是固定的,从每个类别的混合高斯分布中采样,利用Decoder,将其转变为feature embeded,并标记为1,将HC中的feature embeded标记为0,训练BLA,BLA的损失函数论文没说,可以是交叉熵等分类损失函数,如下图:
在这里插入图片描述


整体算法

在这里插入图片描述
每隔K个极端,进行一次Consolidation,即睡眠阶段

实验部分并没有太有意思的地方,在此不做过多总结,有兴趣可以浏览原文。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值