相关题目
- leetcode108:将有序数组转换为二叉搜索树
Paper: Bi-directional Distribution Alignment for Transductive Zero-Shot Learning
Authors: Zhicai Wang, Yanbin Hao, Tingting Mu, Ouxiang Li, Shuo Wang, Xiangnan He
Code: GitHub
Framework:
Hugo Larochelle, Dumitru Erhan, and Yoshua Bengio. Zerodata learning of new tasks. In AAAI, volume 1, page 3, 2008. 1
目标
解决训练时缺少例子或标签的问题
Conventional ZSL / Inductive ZSL
核心挑战
在存在Class Relevance的条件下,使得分类器能从 Seen Classes 提取信息迁移到 Unseen Classes 当中
Class Relevance 通常作为 Auxiliary Data 提供
Auxiliary Data 可以为人工标注、文字描述、知识图谱或 Formal Description of Knowledge(如嵌入向量)
Domain Shift Problem
仅从 Auxiliary Data 学习容易导致 Unseen Classes 的真实分布与其建模分布之间存在差异
Proposed: Transductive ZSL (TZSL)
将 seen classes 所学迁移到 unseen classes
f-VAEGAN
Level-1
Level-2
typename
;
is_tensor
; ...e
;
inf
; nan
; pi
ctypes.CDLL('vcruntime140.dll')
加载使用
C、C++编写的vcruntime140.dll
文件Paper: Achieving a Better Stability-Plasticity Trade-off via Auxiliary Networks in Continual Learning
Authors: Sanghwan Kim ; Lorenzo Noci ; Antonio Orvieto ; Thomas Hofmann
Code: https://github.com/kim-sanghwan/ANCL
Framework:
符号定义
含义
保留 PT 信息的同时,继续在 CT 中进行学习
难点:Catastrophic Forgetting 灾难性的遗忘
对于梯度更新学习的模型,在学习 CT 的过程中更倾向于覆盖 PT 学习的梯度
换而言之,Stability-Plasticity Dilemma
Martial Mermillod, Aur ́ elia Bugaiska, and Patrick Bonin. The stability-plasticity dilemma: Investigating the continuum from catastrophic forgetting to age-limited learning effects, 2013. 1
所以,如何平衡 Stability 和 Plasticity是研究的重点
任务分类
学习难度逐渐增加,ANCL 在 TIL 和 CIL 设置中进行了评估
Active Forgetting with synaptic Expansion-Convergence (AFEC) 超参控制新旧参数的融合
框架化使用 Auxiliary Network 的 CL,使得 Auxiliary Network 插件化
通过
Code of Pixel-to-Prototype Constrast
Cross Prototype Contrast
Cross CAM Contrast
Intra-view Contrast
1 | # 按通道执行L2归一化 |
cam
1 | # fea是最后一层输出的特征图 |
cam_rv_down
清洗 CAM
1 | with torch.no_grad(): |
增强 CAM
1 | # 根据像素相似度调整CAM |
cam_rv
1 | cam_rv = torch.nn.functional.interpolate(cam_rv_down, (H,W), mode='bilinear', align_corners=True) |
f_proj
1 | self.fc_proj = torch.nn.Conv2d(4096, 128, 1, bias=False) |
prototype
1 | f_proj1 = torch.nn.functional.interpolate(f_proj1, size=(128 // 8, 128 // 8), mode='bilinear', align_corners=True) |
prototype similarity
1 | n_f, c_f, h_f, w_f = f_proj1.shape |