嘿,记得给“机器学习与推荐算法”添加星标
近年来,随着硬件基础以及算法能力的显著提高,以深度学习模型为代表的机器学习技术得到了学术界和工业界的广泛关注。由于出色的特征表示能力和数据拟合能力,深度学习模型已经席卷机器学习应用的各个子领域,比如计算机视觉、自然语言处理、网络科学、推荐系统等。
然而,随着学者们的深入研究发现,深度学习模型存在对抗样本攻击的可能[1],这使得模型的安全性、鲁棒性以及泛化能力得到巨大的挑战。其中,对抗样本是一种人为设计的非随机的扰动,将其添加到输入样本后与原始输入样本相比人的视觉上没有明显差异,但模型却以较高置信度判别成其他错误的类别(如下图添加扰动后,模型将熊猫以99%的置信度判别为了长臂猿)。
采用对抗学习的方式来生成对抗样本进而对模型进行攻击不是最终目的,我们最终的使命是通过将其建模为最大最小博弈问题让模型学习原始样本以及对抗样本进而增强模型的鲁棒性和安全性。对抗学习的研究始于计算机视觉[2],而后过渡于自然语言处理[3],如今也开始蔓延到推荐系统领域[4]。因此本文试图结合自己的理解对相关综述[5]进行总结,介绍下对抗机器学习技术在推荐系统中的应用和发展。
推荐系统,作为数据生产者与信息消费者之间博弈均衡的有效手段之一,逐渐得到了学术界和工业界的广泛关注。特别是,基于隐因子模型的协同过滤算法,例如矩阵分解和深度协同过滤方法,由于其出色的性能和推荐准确性而广泛用于现代推荐系统中。尽管它们取得了巨大的成功,但近年来已表明,这些方法容易受到对抗样本的攻击,即迫使推荐模型产生错误。因此,近年来,结合对抗训练以及对抗样本的机器学习技术得到了广泛关注。
对抗机器学习,顾名思义,是一种利用对抗博弈思想的机器学习技术,是一种结合了机器学习与计算机安全方向的交叉领域。通过在Google Trends上对“对抗机器学习”进行检索发现,该方向检索热度逐年上升,特别是2014年以后增长势头更是迅猛,可见对抗机器学习技术成为了研究的热点问题。
之所以2014年实现了陡峰式的增长,是因为这一年Goodfellow所提出的著名的生成式对抗网络以及对抗样本的生成算法,而这两种新发现都利用到了对抗博弈思想,因此促进了对抗机器学习领域的大发展。
由于对抗机器学习技术主要涉及两方面内容,分别是利用对抗模型的生成能力来提高样本的质量和利用对抗训练技术来提高模型的鲁棒性和安全性。因此本文的目的也是两类,即一方面展示对抗机器学习技术在推荐中的生成能力;另一方面展示对抗机器学习技术在推荐系统领域安全方面的最新进展(即攻击和防御的推荐模型)。
推荐算法分类
首先总结下自推荐系统诞生后到现阶段该领域的发展与分类,在此之前梳理过一篇一文尽览推荐系统模型演变史。如下图所示,根据作者理解将推荐系统的发展主要分为了两个时代,即专注于提升推荐精度的时代(绿色部分,专注于提高推荐准确性等评价指标),和后深度学习时代(粉色+黄色部分,从经典的学习范式到对抗机器学习过渡)。