IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 论文阅读--Multi-Attention Multiple Instance Learning -> 正文阅读

[人工智能]论文阅读--Multi-Attention Multiple Instance Learning

注意力机制背后的最初想法是取代简单的平均输出
简单的平均输出: y ? = n ? 1 ∑ i = 1 n y i y^*=n^{-1}\sum\limits_{i=1}^{n}y_i y?=n?1i=1n?yi?
引入回归模型后 x x x的标签的预测值为:
y ? = ∑ i = 1 n α ( x , x i ) y i y^*=\sum\limits_{i=1}^{n}\alpha(x,x_i)y_i y?=i=1n?α(x,xi?)yi?
其中的加权为: α ( x , x i ) \alpha(x,x_i) α(x,xi?)表示 x i x_i xi? x x x的相关性, x i x_i xi?属于训练集的向量, y i y_i yi?表示训练向量的对应标签。

权重的原始形式之一是由核K定义的,它可以被视为一个得分函数,估计向量 x i x_i xi? x x x的相关性。权重公式如下:
α ( x , x i ) = K ( x , x i ) ∑ j = 1 n K ( x , x j ) \alpha(x,x_i)=\frac{K(x,x_i)}{\sum_{j=1}^{n} K(x,x_j)} α(x,xi?)=j=1n?K(x,xj?)K(x,xi?)?

符号含义
X X X
I I I实例
N N N包个数
m k m_k mk? k k k个包中实例的个数
( x i , y i ) (x_i,y_i) (xi?,yi?) i i i个实例在包中的坐标
N i ? M \mathcal{N}_i\subset\mathcal{M} Ni??M i i i个小块的邻居的索引集
P = P 1 , … , P C \mathcal{P}={P_1,\dots,P_C} P=P1?,,PC?模板的集合

开局一张图

在这里插入图片描述

  • 最左边的图片表示一个包,其中的每一个小块表示包中的每一个实例,假设其中有 m m m个实例,使用两个不同颜色的高亮色块表示第 i i i个实例 I i I_i Ii?和第 j j j个实例 I j I_j Ij?

  • 所有小块(实例)都被输入经过训练的神经网络,使用一维卷积计算其嵌入 F i F_i Fi?,目的是降低实例 I i I_i Ii?的维度:
    F i = C o n v ( I i ) , i = 1 , … , m . F_i=Conv(I_i),i=1,\dots,m. Fi?=Conv(Ii?),i=1,,m.

  • 我们使用 ( x i , y i ) (x_i,y_i) (xi?,yi?)表示在整个图像中第 i i i个小块的坐标。
    使用 M = { 1 , … , m } \mathcal{M}=\{1,\dots,m\} M={1,,m}表示整幅图像中所有小块的索引集。
    i i i个小块的邻居的索引集 N i ? M \mathcal{N}_i\subset\mathcal{M} Ni??M为:
    N = { j ∈ M ∣ 0 < max ? ( ∣ x i ? x j ∣ , ∣ y i ? y j ∣ ) ≤ d } \mathcal{N}=\{j\in \mathcal{M}|0<\max(|x_i-x_j|,|y_i-y_j|)\leq d\} N={jM0<max(xi??xj?,yi??yj?)d}
    d d d可以是任意值,在本实验中 d d d的取值为1。并且值得注意的是,邻居是在包内找的。

  • 邻居的使用可以改善分类结果,这里我们引入注意机制,计算 I i I_i Ii?邻居联合嵌入 B i B_i Bi?为:
    B i = ∑ j ∈ N i α j ( i ) F j B_i = \sum\limits_{j\in\mathcal{N}_i}\alpha^{(i)}_{j}F_j Bi?=jNi??αj(i)?Fj?

  • 根据第实例 I i I_i Ii?的第 j j j个邻居的权重 α j ( i ) \alpha_j^{(i)} αj(i)?
    α j ( i ) = s o f t m a x ( s ( i ) ) = e x p ( s j ( i ) ) ∑ t e x p ( s t ( i ) ) \alpha_j^{(i)}=\mathbf{softmax}(s^{(i)})=\frac{exp(s_j^{(i)})}{\sum_texp(s_t^{(i)})} αj(i)?=softmax(s(i))=t?exp(st(i)?)exp(sj(i)?)?
    其中 s j ( i ) s_j^{(i)} sj(i)?是将两个向量 F i F_i Fi? F j F_j Fj?映射到标量的注意力评分函数:
    s j ( i ) = s c o r e n b ( F i , F j ) = F T t a n h ( V n b F j ) s_j^{(i)}=\mathbf{score}_{nb}(F_i,F_j)=F^Ttanh(V_{nb}F_j) sj(i)?=scorenb?(Fi?,Fj?)=FTtanh(Vnb?Fj?)
    其中 V V V是可学习参数的矩阵

  • 总之,我们为每个 F i F_i Fi?得到一个嵌入 B i B_i Bi? B i B_i Bi?中包含了关于邻居的信息。将第 i i i个实例的嵌入与邻域 B i B_i Bi?的联合嵌入串联起来,得到嵌入 T i T_i Ti?:
    T i = ( F i , B j ) T_i=(F_i,B_j) Ti?=(Fi?,Bj?)
    串联操作在图中用符号⊕表示. 现在每个包都由一组嵌入向量 T i T_i Ti?表示。

该算法提出的另一个重要概念是一组嵌入模板,这些模板被视为可学习向量。此外,模板数量 C C C,其值决定分类质量。模板可以被视为应用于嵌入 T i T_i Ti?集的多重关注的实现。由于神经网络的初始化规则不同,它们是不同的网络。????
使用 P = P 1 , … , P C \mathcal{P}={P_1,\dots,P_C} P=P1?,,PC?表示模板的集合,然后,每个模板产生相应的聚合嵌入 E k E_k Ek?
E k = ∑ i = 1 m β k ( k ) T i , k = 1 , … , C E_k=\sum\limits_{i=1}^{m}\beta_k^{(k)}T_i,k=1,\dots,C Ek?=i=1m?βk(k)?Ti?,k=1,,C

其中:这个公式不懂没有说score是怎么算的
β k ( k ) = s o f t m a x ( ? s c o r e ( P k , T i ) ? i ) \beta_k^{(k)}=\mathbf{softmax}(\langle score(P_k,T_i)\rangle_i) βk(k)?=softmax(?score(Pk?,Ti?)?i?)

这里引入softmax进行归一化操作,第 k k k个聚合嵌入 E k E_k Ek?是图像中具有邻域的所有小块(实例)嵌入的加权平均值,其权重由第 k k k个模板定义。换句话说,第 k k k个聚集嵌入相对于第 k k k个模板对整个图像或包进行特征化。有关所有面片及其相邻面片的信息包含在 C C C个向量 E 1 , … , E C E_1,\dots,E_C E1?,,EC?中。

  • 与所有 C C C个模板相对应的聚合嵌入 E k E_k Ek?被分组到与整个图像或袋子和所有模板相对应的总向量 Z Z Z中, Z Z Z是包最后被映射为的向量。
    Z = ∑ k = 1 C γ k E k Z=\sum\limits_{k=1}^{C}\gamma_kE_k Z=k=1C?γk?Ek?
    其中:
    γ k = s o f t m a x ( ? s c o r e ( G , E k ) ? k ) \gamma_k=\mathbf{softmax}(\langle score(G,E_k)\rangle_k) γk?=softmax(?score(G,Ek?)?k?)
    G G G是训练向量的全局模板。
    模板 G G G和相应的最终注意 final attention决定了哪些聚合嵌入 E k E_k Ek?和模板 P k P_k Pk?是重要的,并且,在分类器之前使用注意机制可以使得模型具有可解释性。

建议使用带有参数 θ \theta θ的分类层 g θ ( Z ) g_\theta(Z) gθ?(Z),该参数定义了包级别(整个图像级别)上分类标签为1的概率。

上述描述了处理 I i I_i Ii?的步骤,真正的实现假设以相同的方式处理包的所有 I I I

整个神经网络使用随机梯度下降和Adam优化器进行端到端的训练。在每个步骤中,从训练集中选择一个图像(一个包),然后将其划分为多个面片。这些面片被用作神经网络的输入。使用神经网络的结果是对一类概率的估计,例如,这意味着图像是否包含恶性细胞。根据得到的估计和整个图像标签确定损失函数。为了更新神经网络权重,使用自动微分算法为每个训练参数确定损失函数的偏导数值。然后以标准方式更新训练参数值。

损失函数:

L = 1 N ∑ k = 1 N B C E ( Y k , f ( X k ) ) + 2 C ( C ? 1 ) ∑ i < j ( P i T ? P j ) 2 L=\frac{1}{ N}\sum\limits_{k=1}^{N}BCE(Y_k,f(X_k))+\frac{2}{C(C-1)}\sum\limits_{i<j}(P_{i}^{T}\cdot P_j)^2 L=N1?k=1N?BCE(Yk?,f(Xk?))+C(C?1)2?i<j?(PiT??Pj?)2

这里的第一项是标准二分类交叉熵(BCE)损失函数 f ( X k ) f(X_k) f(Xk?)是整个神经网络的输出。 Y k Y_k Yk?是真实标签

BCE损失函数: l o s s ( x , y ) = ? [ y log ? x + ( 1 ? y ) log ? ( 1 ? x ) ] loss(x,y)=-[y\log x+(1-y)\log(1-x)] loss(x,y)=?[ylogx+(1?y)log(1?x)] 其中 x x x是模型输出, y y y是真实标签。

在第二项中,当 P i P_i Pi? P j P_j Pj?的差距越大时,损失就越小,因此损失函数中的第二项旨在使得 P i P_i Pi? P j P_j Pj?尽可能不同。

计算包中实例的重要性

根据上述的步骤,一个包最终被映射成了一个向量的表示: Z = ∑ k = 1 C γ k E k Z=\sum\limits_{k=1}^{C}\gamma_kE_k Z=k=1C?γk?Ek?
可以通过如下公式推导出:
在这里插入图片描述
在这里可以把 w i = ∑ k = 1 C γ k β i ( k ) w_i=\sum_{k=1}^C\gamma_k\beta_i^{(k)} wi?=k=1C?γk?βi(k)?看作是实例 I i I_i Ii?在它的邻居中的重要性。并且 ∑ i = 1 m w i = 1 \sum_{i=1}^{m}w_i=1 i=1m?wi?=1,包中所有的实例的重要性之和为 1 1 1

注意!前面已经提到过,第实例 I i I_i Ii?的第 j j j个邻居的重要性为 α j ( i ) \alpha_j^{(i)} αj(i)?。因此我们可以考虑将实例邻居的重要性和实例本身的重要性联系起来。
如果我们假设向量 T i T_i Ti?的所有元素都是等价的,那么它的两部分的重要性度量是相等的。但是,如果指数为 i i i j j j的图像小块是相邻的,则 B i B_i Bi?的值可能会与 T j T_j Tj?有关联。因此我们定义第 i i i个图像小块的最终重要性 v i v_i vi?为:
v i = w i + ∑ j ∈ N i α j ( i ) w j v_i=w_i+\sum\limits_{j\in N_i}\alpha_{j}^{(i)}w_j vi?=wi?+jNi??αj(i)?wj?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:06:59  更:2022-06-25 18:08:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:50:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码