基于CNN的增量学习论文的读后感
最近在阅读几篇基于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的增量学习论文的读后感相关推荐
- SICE:基于CNN的多曝光图像增强网络论文解读
目录 一. 文章摘要概述 二.多曝光数据采集 三.网络构建 (1).网络概览 (2).组件增强网络 1.Luminance Enhancement Network 2.Detail Enhanceme ...
- 【读论文】使用基于 CNN 的非局部滤波对光流进行无监督学习
使用基于 CNN 的非局部滤波对光流进行无监督学习 论文原文请看这里 文章目录 使用基于 CNN 的非局部滤波对光流进行无监督学习 一.引言 二. 相关工作 A. Variational Method ...
- 语音识别|基于CNN+DFSMN(简化版:标量+无步长因子)的声学模型实现及代码开源(keras)
由于我主要研究问答系统,因此本博客仅更新NLP及问答相关内容,最近创了一个群,如果大家感兴趣可加q群号:376564367 github:https://github.com/makeplanetoh ...
- Transformer也能生成图像,新型ViTGAN性能比肩基于CNN的GAN
©作者 | Panda 来源 | 机器之心 Transformer 已经为多种自然语言任务带来了突飞猛进的进步,并且最近也已经开始向计算机视觉领域渗透,开始在一些之前由 CNN 主导的任务上暂露头角. ...
- 基于CNN的阅读理解式问答模型:DGCNN
作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 早在年初的一文读懂「Attention is All You Need」| 附代码实现中就已经承诺 ...
- RPNet++:人脸对齐faceAlignment和基于CNN的三维人脸恢复
参考,人脸pose检测算法:https://blog.csdn.net/wishchin/article/details/51554036. 人脸的Pose检测需要一个 SolvePNP 的过程,对于 ...
- 基于 CNN 的中文对话情感分析
1 基于 CNN 的中文对话情感分析:https://www.jianshu.com/p/87ca0616f1a4 2 清华 ACL 2020 长文 | KdConv:多领域知识驱动的中文多轮对话数据 ...
- LSF-SCNN:一种基于 CNN 的短文本表达模型及相似度计算的全新优化模型
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本篇文章是我在读期间,对自然语言处理中的文本相似度问题研究取得的一点小成果.如果你对自然语言处理 (natural language proc ...
- 基于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. ...
最新文章
- 【技巧——windows】直接登陆到桌面,免去输入密码
- python中outside loop_Python: 'break' outside loop
- 风控项目-收集基础知识1
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...
- 【POJ - 2785】4 Values whose Sum is 0 (二分,折半枚举)
- Docker上部署MySQLCluster(基于mysql/mysql-cluster镜像)
- 网络合作伙伴通信协议指南:NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS
- Swift 与众不同的地方
- paip.为什么使用多线程的原因.
- Newtonsoft.Json.Compact
- 深度学习算法原理——神经网络的基本原理
- 04 用户权限管理 实验报告
- vue中使用iconfont图标
- mysql的安全性实验报告_数据库安全性与完整性实验报告
- Redux Reducer
- 百花齐放才是春 haoz1234网址大全新主张
- 快捷键,photoshop常用快捷键大全
- 2022年中级会计中级经济学法考试复习题及答案
- 电话号码及座机正则表达式检验
- Win11如何清除最近打开过的文件记录?
热门文章
- jq控制div是否展示_jQuery控制多个DIV的显示和隐藏
- 高新园区到大连计算机学校,大连高新区中心小学
- php中perl配置,Windows下 Apache、PHP和Perl的安装配置
- 计算机网络是将地理知识,计算机网络的基础知识精选.ppt
- 数据库杂谈(二)——数据模型
- Linux 系统应用编程——网络编程(TCP/IP 数据包格式解析)
- vue监听浏览器刷新和关闭;
- [react] 浏览器为什么无法直接JSX?怎么解决呢?
- React开发(116):ant design search引入
- Taro+react开发(30)引入静态资源地址