【JSTAR2022】《Few-Shot Transfer Learning for SAR Image Classification Without Extra SAR Samples》译读笔记

Few-Shot Transfer Learning for SAR Image Classification Without Extra SAR Samples

摘要

基于深度学习的合成孔径雷达(Synthetic Aperture Radar, SAR)图像分类在训练样本稀缺时是一个未解决的问题。基于迁移学习的 few-shot 方法通过将知识从EO(electro–optical)迁移到SAR域,可以有效地解决此问题。这类方法的性能依赖于额外的SAR样本,例如:未标注的新类别样本或者已标注的相似类样本。然而,在某些应用场景中收集足够额外的SAR样本是无法实现的,即 few-shot case。在这种case(情况)下,这类方法的性能会严重下降。因此,降低额外数据依赖的 few-shot 方法是至关重要。基于此动机,本文提出了一种新的 few-shot(小样本)迁移学习方法,用于SAR图像分类。本文提出了 connection-free attention module 来选择 transfer features(迁移特征),以选择性地从源网络向目标网络迁移EO和SAR样本之间的共享特征,从而补充由额外SAR样本带来的信息损失。基于Bayesian卷积神经网络,本文提出了一种用于 the extreme few-shot case 的训练策略,重点在于准确更新重要参数。在三个真实SAR数据集上的实验结果证明了本文方法的优越性。

I. 引言

SAR(Synthetic Aperture Radar)成像能够在遮挡天气或夜间通过传播雷达信号获益。来自移动天线的雷达信号和反射信号被收集起来进行后续信号处理,在任何气象条件和遮挡情况都可以生成高分辨率图像。因此,SAR成像作为一种强大的技术用于多种应用中,例如:连续环境监测、大规模监视、地球遥感和军事调查。图像分类则是这些应用中的基本任务之一。
  随着大量带标注训练样本的出现,DL成为了SAR图像分类流行且有效的解决方案。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
量子行为差分进化算法(Quantum-behaved Differential Evolution,简称QDE)是一种新型的差分进化算法,其核心思想是引入了量子力学的思想,将个体看作粒子,根据量子力学中的概率幅度来调整个体的位置。 在MATLAB中实现QDE算法,可以按照以下步骤进行: 1. 定义适应度函数,即需要优化的目标函数。 2. 初始化种群,设定变量范围和种群大小。 3. 定义差分进化算法的参数,如交叉概率、变异概率等。 4. 进行迭代计算,根据量子力学的概率幅度来调整个体的位置。 5. 不断更新种群,直到满足停止准则为止。 下面是一个简单的QDE算法MATLAB代码示例: ```matlab % 定义适应度函数 fitness = @(x) sum(x.^2); % 初始化种群和参数 nPop = 50; % 种群大小 nVar = 10; % 变量个数 VarMin = -10; % 变量下限 VarMax = 10; % 变量上限 MaxIt = 100; % 最大迭代次数 alpha = 0.5; % 量子力学参数 beta = 0.5; % 量子力学参数 gamma = 1; % 量子力学参数 mu = 0.1; % 变异概率 CR = 0.9; % 交叉概率 % 初始化种群和适应度 pop = repmat(VarMin, nPop, nVar) + rand(nPop, nVar) .* repmat(VarMax - VarMin, nPop, 1); fit = fitness(pop); % 进行迭代计算 for i = 1:MaxIt % 计算概率幅度 P = exp(-gamma * fit / max(fit)); % 计算平均位置和标准差 Mean = sum(repmat(P, 1, nVar) .* pop) / sum(P); Std = sqrt(sum(repmat(P, 1, nVar) .* (pop - repmat(Mean, nPop, 1)).^2) / sum(P)); % 量子力学调整位置 for j = 1:nPop % 计算量子态 q = (pop(j,:) - Mean) ./ Std; q = alpha * q; % 变异操作 k = randi([1 nPop], 1, 3); x = pop(k(1),:) + mu * (pop(k(2),:) - pop(k(3),:)); x = max(min(x, VarMax), VarMin); % 交叉操作 jStar = randi([1 nVar], 1); for k = 1:nVar if rand <= CR || k == jStar y(k) = x(k); else y(k) = pop(j,k); end end % 量子力学更新位置 y = y .* Std + Mean; p = exp(-beta * fitness(y) / max(fit)); if rand <= p pop(j,:) = y; fit(j) = fitness(y); end end % 更新最优个体 [bestFit, bestIdx] = min(fit); bestSol = pop(bestIdx,:); % 显示迭代过程 disp(['Iteration ' num2str(i) ': Best Fitness = ' num2str(bestFit)]); end ``` 以上代码中,fitness函数定义了适应度函数,pop和fit分别表示种群和适应度,P表示概率幅度,Mean和Std表示平均位置和标准差,q表示量子态,x表示变异后的个体,y表示交叉后的个体,bestFit和bestSol分别表示最优适应度和最优个体。在迭代过程中,不断更新种群和适应度,直到满足停止准则为止。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值