Embarrassingly Simple Binary Representation Learning论文翻译

出奇简单的二进制表示学习

摘要

        近年来的二进制表示学习模型通常需要复杂的二进制优化、相似性度量甚至生成模型作为辅助。然而,人们可能会思考:这些非同寻常的技术对于形成实用有效的哈希模型是否是必须的?

        在本文中,我们通过提出一种出奇简单的二进制表示学习方法来回答该问题。通过简单的分类目标,我们的模型只在任意backbone网络的顶部加上两个额外的全连接层,同时在训练过程中遵守二进制约束。该模型降低了数据样本及其语义之间的信息瓶颈(IB),并且可以与许多最近的“哈希学习”范式相联系。我们的研究表明,如果设计得当,即使是这样一个简单的网络也可以生成有效的二进制码,通过充分探索数据语义,而不需要任何held-out的交替更新步骤或辅助模型。在传统的大型基准数据集(包括CIFAR-10、NUS-WIDE和ImageNet)上进行的实验显示,我们的模型效果优于最先进的方法。我们的代码在https://github.com/ymcidence/JMLH 。

1. 导言

        基于二进制表示的近似最近邻搜索被认为是大规模多媒体数据检索的一种有效的解决方案。这类技术通常被称为哈希学习,其旨在(a)缩小数据的embedding大小和(B)产生二进制特征以加速基于距离的成对数据相关性的计算。与许多其他机器学习任务类似,哈希学习可以是无监督的,也可以是有监督的。前者需要更少的标记工作进行训练,而后者能在检索中获得更好的性能。我们专注于监督哈希,以充分利用数据的语义信息。

        该领域最近的研究通过引入深度学习技术大大提高了所产生的哈希码的性能。深度哈希模型通常对encoding网络顶层采用sign激活函数。研究者们已经提出了各种方法来使编码器具有在汉明空间中正确定位数据的能力。

        典型的方法是采用held-out编码学习器作为神经网络训练的补充[11,29,40]。held-out编码学习器通过离散优化更新基于语义的目标码(译者注:也就是神经网络的输出)以控制encoding网络。这种方法通常需要更长的训练时间,因为held-out离散优化步骤不能有效地并行,并且在每一轮更新期间需要消耗额外的存储器来缓存目标码。还有一些其它的方法,例如,通过向encoder网络引入基于相似性的惩罚来解耦不相关的数据表示 [7, 42, 43, 44],但为了用这种惩罚训练encoder网络,通常需要对编码的连续放松,这可以说降低了训练质量。深度哈希的一种最新方式是使用生成对抗模型[5,13,34,45]。通过将生成数据与真实数据区分开来,编码器自然地确认了相应的数据分布。

        然而,这些精细的方法引出了另一个问题:如何在增加最少辅助的情况下构建的有效监督哈希模型?

        我们试图通过仔细考虑哈希学习的主要痛点来找到答案:

- 保持二进制码的离散特性。在参数化模型中,二元约束通常导致NP-hard优化问题,不能直接用基于梯度的方法求解。这通常通过使用held-out离散优化或松弛技术的常规方法来解决。

- 丰富二进制码所表达的信息。使encoder网络感知数据的语义信息(例如,label或tag)总是至关重要的。

        因此,在本文中,我们提出了一个简单但强大的深度哈希网络。在我们的模型中,我们通过一个二进制表示瓶颈来把数据和其语义联系起来,以解决上述问题,该二进制表示瓶颈被用作最终的哈希码。我们对训练应用单个识别惩罚。通过合理的正则化项,最终的学习目标形成了观测数据及其语义之间的信息瓶颈(IB)[2,36]的变分下界。重要的是,可以在二进制瓶颈上施加随机性以保持二进制约束并在训练期间应用梯度估计方法。因此,整个框架可以用随机梯度下降(SGD)进行端到端优化。为此,我们发现我们的设计导致了一个出奇简单的解决方案,它基本上形成了一个单一的分类神经网络。

        不考虑正则化,所提出的模型只是最大化数据的标签似然。因此,我们将模型命名为最大似然哈希(JMLH)。本文的贡献总结如下:

- 我们提出了一种简单新颖的深度哈希模型,即JMLH方法,并将其理论基础创建在变分信息瓶颈(VIB)[2] 方法上。据我们所知,JMLH是深度哈希中使用IB方法的第一次尝试。

- 我们的研究表明,经过适当的设计和训练,分类神经网络+离散瓶颈就已经能产生有效的二进制表示。因此,该模型不需要辅助部分,可以直接进行优化。

- 详细讨论了JMLH与许多现有哈希模型之间的关系。

- JMLH在几个benchmark数据集(CIFAR-10 20、NUS-WIDE 9和ImageNet 28)上的表现优于最先进的哈希技术。

        本文的其余部分内容如下:首先第2节详细描述了我们的模型。随后,第3节中阐述了JMLH与现有研究之间的关系。第4节介绍了实现细节和实验结果,并在第5节给出了简要结论。

2. 模型

        哈希学习的目标是找到一个最佳的编码函数f: X \rightarrow\{0,1\}^{m}来表示数据。这里X为数据观测的变量空间,m为哈希码空间B的长度。在监督哈希中,训练通常基于数据的标签Y。我们使用大写符号,即,XYB表示(随机)变量空间,并且用小写字母表示每个相应的变量实例,即xyb

2.1. JMLH一览

        JMLH包括随机编码器q(B \mid X)和分类器q(Y \mid B)。还使用了一个附加的确定性分布p(B)作为B的先验。 该模型在图1中被示为有向图形模型。具体地,每个数据\mathbf{x} \in X首先根据q(B \mid X)与潜在二进制码\mathbf{b} \in B相关联,然后可以用bq(Y \mid B)预测相应的标签y .因此,B可以看作是XY之间的瓶颈。根据上述程序形成了一个单任务神经网络,中间有一个二进制层,这使得JMLH变得极其简单。

图1:JMLH的有向图形模型。我们将哈希码b视为数据x及其标签y之间的潜在瓶颈。虚线定义了q(B \mid X)的随机编码过程,实线表示近似似然q(Y \mid B)n为观测数据点的总数。注意,各自的参数\theta\phi 被联合学习,形成一个极其简单的训练模型。

        我们首先描述上述概率模型,然后讨论如何将它们作为一个整体进行有效的端到端训练。

2.1.1 概率模型的参数化

        给定一个训练对(\mathbf{x}, y),其相应概率模型q(\mathbf{b} \mid \mathbf{x})q(y \mid \mathbf{b})在JMLH中被定义为:

                   \begin{aligned}q(\mathbf{b} \mid \mathbf{x}) &=\mathcal{P}(\mathbf{b} \mid \kappa(\mathbf{x} ; \theta)) \\q(y \mid \mathbf{b}) &=\operatorname{Cat}(y \mid \pi(\mathbf{b} ; \phi)) \text { or } \mathcal{P}(y \mid \pi(\mathbf{b} ; \phi)) \\p(\mathbf{b}) &=\mathcal{B}(\mathbf{b} \mid m, 0.5)\end{aligned}              (1)

这里的\mathcal{P}(\mathbf{b} \mid \kappa(\mathbf{x} ; \theta))表示泊松二项分布,其参数由神经网络\kappa(\mathbf{x} ; \theta)决定:

                    \mathcal{P}(\mathbf{b} \mid \kappa(\mathbf{x} ; \theta))=\prod_{i=1}^{\prime \prime \prime} \kappa_{i}^{\mathbf{b}_{i}}\left(1-\kappa_{i}\right)^{1-\mathbf{b}_{i}}                             (2)

        另一方面,p(y \mid \mathbf{b})可以是\operatorname{Cat}(y \mid \pi(\mathbf{b} ; \phi))这样的单一标签分类的概率模型,或是用于多标签分类的泊松二项式,即\mathcal{P}(y \mid \pi(\mathbf{b} ; \phi)),该模型是通过另一个网络\pi(\mathbf{b} ; \phi)实现的。我们还引入了二项分布\mathcal{B}(\mathbf{b} \mid m, 0.5)的概率模型p(\mathbf{b})作为二进制码的先验来实现正则化的目标。

        注意,我们为B选择离散概率模型,以避免使用连续松弛。也就是说,分类器\pi(\cdot)的输入已经被二值化。这里不考虑用使用连续松弛(如sigmoid非线性函数)来激活神经元,因为它使分类器的观察偏斜,将有偏差的语义信息测量传播回编码器。

2.1.2  形成单一网络

        依次堆叠\kappa(\mathbf{x} ; \theta)\pi(\mathbf{b} ; \phi)从而形成具有二元瓶颈B的分类神经网络,其简要结构如表1所示。可以看出,JMLH只在任意网络主干的顶部引入了两个额外的层,这使得它易于被不同的预训练模型所采用,便于实现。

表1 .JMLH的网络设置是顺序施加所有层

        然后我们将这个单个网络的n个给定训练对\{(\mathbf{x}, y)\}^{n}的学习目标定义为

               \mathcal{L}=\frac{1}{n} \sum_{(\mathbf{x}, y)} \underbrace{\mathbb{E}_{q(\mathbf{b} \mid \mathbf{x})}[-\log q(y \mid \mathbf{b})]}_{\text {classification objective }}+\underbrace{\lambda \mathrm{KL}(q(\mathbf{b} \mid \mathbf{x}) \| p(\mathbf{b}))}_{\text {regularization }}        (3)

其中\lambda是超参数。所有的概率模型都由公式(1)定义。我们首先在本小节中阐述它的每个组成部分,然后在第2.2.1节中说明该学习目标得到了VIB[2]的支持。

        公式(3)右侧的第一项-\log q(y \mid \mathbf{b})实际上是负对数似然分类惩罚,因为q(y \mid \mathbf{b})是类别函数。这部分loss代表了在训练期间传递了多少数据的语义标签信息给其二进制码。公式右侧第二项起着正则化的作用,通过最小化后验q(\mathbf{b} \mid \mathbf{x})和先验p(\mathbf{b})之间的Kullback-Leibler(KL)散度,保留B所携带的信息熵。由于先验和后验都是服从二项分布,KL散度可以通过两个熵项\mathcal{H}(\cdot)来明确计算:

                 \mathrm{KL}(q(\mathbf{b} \mid \mathbf{x}) \| p(\mathbf{b}))=\mathcal{H}(q(\mathbf{b} \mid \mathbf{x}), p(\mathbf{b}))-\mathcal{H}(p(\mathbf{b}), p(\mathbf{b}))        (4)

        JMLH整个网络仅需要使用公式(3)来训练。这使得优化变得极为简单,不需要辅助模块或额外的复杂损失函数。唯一的问题是计算关于\theta的期望负对数似然函数的梯度,这点我们将在2.1.3.讨论。

2.1.3  JMLH的简便性

        计算负对数似然期望项\nabla_{\theta} \mathbb{E}_{q(\mathbf{b} \mid \mathbf{x})}[-\log q(y \mid \mathbf{b})]的梯度是一个棘手的难题,对于每个样本x,需要遍历B的潜在空间,以精确地获得损失和相应的梯度。受[10]的启发,我们使用以下B的重新参数化:

                         \widetilde{\mathbf{b}}_{i}=\left\{\begin{array}{ll}1 & \kappa_{i}(\mathbf{x} ; \theta) \geqslant \epsilon_{i}, \\0 & \kappa_{i}(\mathbf{x} ; \theta)<\epsilon_{i},\end{array} \quad\right. \text { for } i=1 \ldots m                   (5)

其中每个\epsilon_{i} \sim \mathcal{U}(0,1)是一个很小的随机信号。公式(5)通常被称为随机二元神经激活。通过这种重新参数化,\mathcal{L}相对于编码器参数\theta的梯度可以通过分布导数估计器[10]来估计:

                         \begin{aligned}\nabla_{\theta} \mathcal{L}=\frac{1}{n} \sum_{(\mathbf{x}, y)}\left(\mathbb{E}_{\epsilon}[-\right.&\left.\nabla_{\theta} \log q(y \mid \widetilde{\mathbf{b}})\right] \\&\left.+\lambda \nabla_{\theta} \operatorname{KL}(q(\mathbf{b} \mid \mathbf{x}) \| p(\mathbf{b}))\right)\end{aligned}          (6)

        有了这个估计器,可以用SGD端到端训练JMLH的网络。注意\nabla_{\phi} \mathcal{L}可以确定地获得,并且不需要近似,因为\pi(\mathbf{b} ; \phi)不涉及随机性。

        整个训练过程如算法1所示,相应的变量通过路径如图2(a)所示。这里我们用(·)表示梯度缩放器,本文中使用Adam优化器[18]。可以看出,在训练期间,JMLH的与普通的神经分类网络并无差异。唯一的附加步骤只是对随机信号ε 进行采样。

算法1:JMLH的训练步骤。输入:数据观测值X和对应标签Y,最大迭代次数T。输出:网络参数\theta。重复过程以下过程直到收敛或达到最大迭代次数T:从训练数据中随机抽取一个batch的\{(\mathbf{x}, y)\};为每个数据取样一个\epsilon \sim \mathcal{U}(0,1)^{m};根据公式获得(\theta, \phi) \leftarrow\left(\theta-\Gamma\left(\nabla_{\theta} \mathcal{L}\right), \phi-\Gamma\left(\nabla_{\phi} \mathcal{L}\right)\right)...
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351