聊一聊计算机视觉中的KL散度

聊一聊计算机视觉中的KL散度

B站:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com)

博客:肆十二-优快云博客

问答:(10 封私信 / 72 条消息) 肆十二 - 知乎 (zhihu.com)

KL散度的定义:

KL散度(Kullback-Leibler Divergence,库尔贝克-莱布勒散度)是一种用于衡量两个概率分布之间差异的非对称度量。给定两个概率分布 (P(x)) 和 (Q(x)),其中 (P(x)) 是真实分布,(Q(x)) 是近似分布,KL散度的定义为:
D K L ( P ∣ ∣ Q ) = ∑ x P ( x ) log ⁡ ( P ( x ) Q ( x ) ) D_{KL}(P || Q) = \sum_{x} P(x) \log\left(\frac{P(x)}{Q(x)}\right) DKL(P∣∣Q)=xP(x)log(

### Attention机制中的交并比与KL #### 交并比(IoU) 在Attention机制中,交并比通常被用于评估目标检测或分割任务的效果。对于注意力图而言,交并比可以帮助量化预测的注意力区域与真实标签之间的重叠程。 设 \( A \) 表示真实的关注区域,\( B \) 是由模型产生的注意力建议,则交并比如下定义: \[ \text{IoU}(A,B)=\frac{|A∩B|}{|A∪B|} \] 其中,分子表示两个集合共同覆盖的部分面积;分母则是两者联合所占总面积。此比例越接近于1表明匹配越好[^1]。 #### KL 相比之下,在涉及连续型数据分布的任务里,如图像特征提取过程中生成的概率热力图对比时,KL能更好地捕捉到细微差别。给定两个离概率分布P(x) 和 Q(x),其间的KL可表达为: \[D_{KL}(P||Q)=∑_x P(x)\log{\left(\frac {P(x)}{Q(x)}\right )}\] 当应用于Attention机制时,如果我们将输入序列的不同位置视为随机变量,并假设存在某种理想化的“黄金标准”注意力权重分配方案作为参考分布P,那么通过优化使得实际得到的关注强模式尽可能贴近这理论最优解的过程就可以看作是在最小化二者间KL的过程[^2]。 ```python import torch.nn.functional as F def kl_divergence_loss(output_distribution, target_distribution): output_log_softmax = F.log_softmax(output_distribution, dim=-1) target_softmax = F.softmax(target_distribution, dim=-1) return F.kl_div(output_log_softmax, target_softmax, reduction='batchmean') ``` 上述代码展示了如何利用PyTorch框架来计算两组向量形式下的软最大值转换后的KL损失函数,这有助于训练期间调整网络参数以获得更好的注意力效果[^3]。 #### 应用场景比较 - **交并比** 更适合处理边界清晰的对象定位问题; - **KL** 则适用于那些需要精确描述复杂结构内部细节变化情况的情形,特别是在自然语言理解和计算机视觉等领域内的高级语义分析任务上表现出色[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆十二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值