最近在阅读几篇基于CNN的增量学习的论文。

《INCREMENTAL LEARNING WITH PRE-TRAINED CONVOLUTIONAL NEURAL NETWORKS AND BINARY ASSOCIATIVE MEMORIES》

09-19 阅读

第一篇论文是《INCREMENTAL LEARNING WITH PRE-TRAINED CONVOLUTIONAL NEURAL NETWORKS AND BINARY ASSOCIATIVE MEMORIES》,这篇论文的实现思路算是比较简单,利用预训练的CNN作为特征提取器,然后使用PQ对特征编码,然后使用 Binary associative memories 进行存储和分类。

首先是介绍了增量学习的四个定义:
1. 新样本可以学习新的信息;
2. 不需要旧的数据,减少内存使用;
3. 保留学过的信息,避免灾变性失忆;
4. 适应新类别数据。

而过去的工作主要使用的方法有:
1. 为新的数据训练新的分类器,比如 learn++方法;
2. 加入新数据后训练旧模型得到新的模型;
3. 结合SVMs和learn++的“SVMlearn++”方法,但每次有新数据仍然需要训练一个新的SVM,并且会丢失部分旧信息。

为了解决这些方法的固有问题,需要重新训练模型,并且会丢失部分信息,本文的方法就是利用预训练的CNN作为特征提取器,然后使用PQ对特征编码,然后使用 Binary associative memories 进行存储和分类。

整体实现如下图所示:

这里比较关键的是第二步,即特征编码,作者使用的是PQ(Product Quantization)[1]方法,实现代码可以参考[2]和[3],这个方法应该是有个比最近邻搜索方法要更加高效的方法。

这个方法的做法是对于第一步提取的特征向量xmx^m,用随机挑选的K个参考点,相互独立的量化成P个大小相等的子矩阵xmp,1≤p≤Px_p^m, 1\le p \le P。这里的参考点Yp=yp1,yp2,......,ypKY_p = y_{p1}, y_{p2}, ......, y_{pK},且有∃xm∈X,xmp=yKp\exists x^m\in X, x_p^m = y_p^K。

第二步最终是将特征向量都通过一个字母表(也就是参考点的字母表)转换成一个固定长度的单词qmp,1≤p≤Pq^m_p, 1\le p \le P,然后通过一个二进制稀疏的联合内存(binary sparse
associative memory)[4]将这些点一一联系到一个输出的类别,也就是需要将一个对应于qmpq^m_p的神经元npkn_{pk}关联到对应输出类别cmc^m的ηc,1≤c≤C\eta_c, 1\le c \le C,C是类别的数量。这里就是对应上图中步骤三的步骤了。

这里第二步的特征编码方法,其实非常类似于Bag of Words,同样也是一种特征编码方法,使用的是kmeans方法,而kmeans需要设置k个中心,这个等同于K个参考点,最终将特征向量变成m∗km*k大小的矩阵,m是样本数量,而论文的方法,应该是得到P∗KP*K,或者应该是P个大小为K的向量,但这只是根据上图和论文的表达猜测得到的。

此外,训练过程不会改变预训练的CNN网络,而联合内存会在得到新的样本或者新类别的样本后进行修改。

论文选择了Cifar10和两个ImageNet的子数据集进行实验,类别分别从0到10增加,然后也对比使用了最近邻搜索的方法,最近邻搜索的方法是比论文使用的PQ的结果要好一些,但是PQ计算更快,内存使用更少,实用性更高。

读后感:
大概了解整个方法的实现流程,但是还是有些疑惑,如何实现这个增量学习的步骤,训练部分肯定是按照上图来一遍的,但是出现新数据后,也是继续用CNN提取特征,然后特征编码,再用这个二进制联合内存来分类,或者是修改这个分类器,如果是这样的话,其实也就是重新训练模型了,还是说,修改的是一种映射关系呢,即npkn_{pk}和ηc\eta_c的对应关系。

参考文献:
1. Product Quantization for Nearest Neighbor Search
2. Product Quantization for Nearest Neighbor Search论文实验
3. Github-yahoo/lopq: Training of Locally Optimized Product Quantization (LOPQ) models for approximate nearest neighbor search of high dimensional data in Python and Spark.
4. Sparse Neural Networks With Large Learning Diversity

基于CNN的增量学习论文的读后感相关推荐

  1. SICE:基于CNN的多曝光图像增强网络论文解读

    目录 一. 文章摘要概述 二.多曝光数据采集 三.网络构建 (1).网络概览 (2).组件增强网络 1.Luminance Enhancement Network 2.Detail Enhanceme ...

  2. 【读论文】使用基于 CNN 的非局部滤波对光流进行无监督学习

    使用基于 CNN 的非局部滤波对光流进行无监督学习 论文原文请看这里 文章目录 使用基于 CNN 的非局部滤波对光流进行无监督学习 一.引言 二. 相关工作 A. Variational Method ...

  3. 语音识别|基于CNN+DFSMN(简化版:标量+无步长因子)的声学模型实现及代码开源(keras)

    由于我主要研究问答系统,因此本博客仅更新NLP及问答相关内容,最近创了一个群,如果大家感兴趣可加q群号:376564367 github:https://github.com/makeplanetoh ...

  4. Transformer也能生成图像,新型ViTGAN性能比肩基于CNN的GAN

    ©作者 | Panda 来源 | 机器之心 Transformer 已经为多种自然语言任务带来了突飞猛进的进步,并且最近也已经开始向计算机视觉领域渗透,开始在一些之前由 CNN 主导的任务上暂露头角. ...

  5. 基于CNN的阅读理解式问答模型:DGCNN

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 早在年初的一文读懂「Attention is All You Need」| 附代码实现中就已经承诺 ...

  6. RPNet++:人脸对齐faceAlignment和基于CNN的三维人脸恢复

    参考,人脸pose检测算法:https://blog.csdn.net/wishchin/article/details/51554036. 人脸的Pose检测需要一个 SolvePNP 的过程,对于 ...

  7. 基于 CNN 的中文对话情感分析

    1 基于 CNN 的中文对话情感分析:https://www.jianshu.com/p/87ca0616f1a4 2 清华 ACL 2020 长文 | KdConv:多领域知识驱动的中文多轮对话数据 ...

  8. LSF-SCNN:一种基于 CNN 的短文本表达模型及相似度计算的全新优化模型

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本篇文章是我在读期间,对自然语言处理中的文本相似度问题研究取得的一点小成果.如果你对自然语言处理 (natural language proc ...

  9. 基于CNN的动态手势识别:Real-time Hand Gesture Detection and Classification Using Convolutional Neural Networks

    Real-time Hand Gesture Detection and Classification Using Convolutional Neural Networks论文解读 1. 概述 2. ...

最新文章

  1. 【技巧——windows】直接登陆到桌面,免去输入密码
  2. python中outside loop_Python: 'break' outside loop
  3. 风控项目-收集基础知识1
  4. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...
  5. 【POJ - 2785】4 Values whose Sum is 0 (二分,折半枚举)
  6. Docker上部署MySQLCluster(基于mysql/mysql-cluster镜像)
  7. 网络合作伙伴通信协议指南:NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS
  8. Swift 与众不同的地方
  9. paip.为什么使用多线程的原因.
  10. Newtonsoft.Json.Compact
  11. 深度学习算法原理——神经网络的基本原理
  12. 04 用户权限管理 实验报告
  13. vue中使用iconfont图标
  14. mysql的安全性实验报告_数据库安全性与完整性实验报告
  15. Redux Reducer
  16. 百花齐放才是春 haoz1234网址大全新主张
  17. 快捷键,photoshop常用快捷键大全
  18. 2022年中级会计中级经济学法考试复习题及答案
  19. 电话号码及座机正则表达式检验
  20. Win11如何清除最近打开过的文件记录?

热门文章

  1. jq控制div是否展示_jQuery控制多个DIV的显示和隐藏
  2. 高新园区到大连计算机学校,大连高新区中心小学
  3. php中perl配置,Windows下 Apache、PHP和Perl的安装配置
  4. 计算机网络是将地理知识,计算机网络的基础知识精选.ppt
  5. 数据库杂谈(二)——数据模型
  6. Linux 系统应用编程——网络编程(TCP/IP 数据包格式解析)
  7. vue监听浏览器刷新和关闭;
  8. [react] 浏览器为什么无法直接JSX?怎么解决呢?
  9. React开发(116):ant design search引入
  10. Taro+react开发(30)引入静态资源地址