贝叶斯深度学习:一个统一深度学习和概率图模型的框架( 二 )


文章图片
具体到模型细节 , 我们将概率图模型的变量分为三类:深度变量 , 属于深度模块 , 假设产生于比较简单的概率分布;图变量 , 属于图模块 , 和深度模块没有直接相连 , 假设它来自于相对比较复杂的分布;枢纽变量 , 属于深度模块和图模块中相互联系的部分 。
下面介绍该框架是如何在实际应用中效果 。
推荐系统推荐系统基本假设是:已知用户对某些电影的喜好 , 然后希望预测用户对其他电影的喜好 。
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
可以将用户对电影的喜爱写成评分矩阵(RatingMatrix) , 该矩阵非常稀疏 , 用来直接建模 , 得到的准确性非常低 。 在推荐系统中 , 我们会依赖更多的信息 , 例如电影情节、电影的导演、演员信息进行辅助建模 。
为了对内容信息进行建模 , 并进行有效提纯 , 有三种方式可供选择:手动建立特征 , 深度学习全自动建立特征、采用深度学习自适应建立特征 。 显然 , 自适应的方式能够达到最好的效果 。
不幸的是 , 深度学习固有的独立同分布假设 , 对于推荐系统是致命的 。 因为假设用户和用户之间没有任何的关联的 , 显然是错误的 。
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
为了解决上述困难 , 我们推出协同深度学习 , 能够将“独立”推广到“非独立” 。 该模型有两个挑战:
1.如何找到有效的概率型的深度模型作为深度模块 。 希望该模型能够和图模块兼容 , 且和非概率型模块的效果相同 。
2.如何把深度模块连接到主模块里 , 从而进行有效建模 。
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
来看第一个挑战 。 自编码器是很简单的深度学习模型 , 一般会被用在非监督的情况下提取特征 , 中间层的输出会被作为文本的表示 。 值得一提的是 , 中间层的表示它是确定性的 , 它不是概率型的 , 和图模块不兼容 , 无法工作 。
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
我们提出概率型的自编码器 , 区别在于将输出由“确定的向量”变换成“高斯分布” 。 概率型的自编码器可以退化成标准自编码器 , 因此后者是前者的一个特例 。
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
如何将深度模块与图模块相联系?先从高斯分布中提出物品j的隐向量:
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
然后从高斯分布中 , 提取出用户i的隐向量:
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
基于这两个隐向量们就可以从另外高斯分布采样出用户i对物品j的分布 , 高斯分布的均值是两个隐向量的内积 。 贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
上图蓝框表示图模块 。 定义了物品、用户、评分等等之间的条件概率关系 。 一旦有了条件概率关系 , 就能通过评分反推用户、物品的隐向量 , 可以根据“内积”预测未知的背景 。
贝叶斯深度学习:一个统一深度学习和概率图模型的框架
文章图片
上图是整个模型的图解 , 其中λ是控制高斯分布方差的超参数 。 为了评测模型效果 , 我们用了三个数据集:citeulike-a、citeulike-t、Netflix 。 对于citeulike是用了每篇论文的标题和摘要 , Netflix是用电影情节介绍作为内容信息 。