August 05, 2014

这篇博客做的工作非常impressive,我花了陆陆续续大概一周之间将它翻译成中文。作者是比利时根特大学毕业,博士期间一直在做music information retrieval的工作,现在他是Deepmind的一名研究科学家。

前言

今年夏天,我在纽约Spotify实习,我的实习工作是使用卷积神经网络基于音乐内容做音乐推荐,在这篇博客中,我会解释我的方法和展示一些初步的结果。

Overview

这篇博客很长,这里提供一个博客各个部分的一些概览。如果你想跳过一些部分,直接在下面选择章节标题就可以到达。

  • 协同过滤

    非常简单的介绍一下协同过滤的优缺点

  • 基于内容的推荐

    当没有可用的数据时该如何做?

  • 使用深度学习来预测用户的偏好

    基于音乐音频信号的音乐推荐

  • 拓展部分

    我在Spotify训练的网络细节

  • 分析:卷积神经网络学到了什么?

    当使用很多音乐音频样本来训练卷积神经网络时,它学到了什么有关于音乐的东西?

  • 这项研究能够用来做什么?

    潜在的应用

  • 未来工作

  • 总结

Collaborative filtering

Spotify传统的音乐推荐非常依赖于协同过滤算法来提升推荐准确度。协同过滤的主要思想是从用户的历史行为数据决定用户的偏好。比如说,如果两个用户听了大量相同的歌曲,那么这两位用户的音乐品味可能是相似的,如果两首歌被相同的用户群体听过,那么这两首歌听起来也是相似的。这种信息能够用来做推荐

纯粹的协同过滤方法不使用任何和被推荐物品内容有关的信息,只使用和被推荐物品有关的消费行为信息,换句话说,这些信息是与被推荐物品内容无关的。这使得这种方法能够被广泛使用:同样的模型能够被用来推荐书,电影,音乐等。

不幸的是,这种方法也被证明有很大的缺陷。由于这种方法非常依赖于用户的行为数据,越流行的物品比不那么流行的物品会被更加容易被推荐,因为对于流行的物品来说,有更多的可用的用户行为数据。这个问题通常不是我们想遇到的。同样出于这个原因,推荐的物品可能让用户觉得无聊和重复的。

这种方法存在另外一个问题在因为推荐上尤为明显。那就是有着相似用户行为的物品往往内容却非常不相同(the heterogeneity of content with similar usage patterns)。比如说,用户可能一次收听一整张专辑,但是一张专辑也许包括intro tracks,outro tracks,interludes,cover songs,remixes。

但是最大的问题是新的和不流行的歌曲不能够被推荐,如果没有可用的用户行为数据分析,那么协同过滤算法就会失效。这也就是所谓的冷启动问题(cold-start problem ). 我们想要能够推荐刚刚发布的音乐作品,我们想要给用户推荐他们不知道的非常棒的乐队,想要完成这个目标,我们需要用不同的方法!

全文链接

作者语:
出于某种原因,我不想将本篇博客的完整内容放到CSDN上来。一个可能的原因是日后我写硕士论文如果使用了我翻译的这个博客内容,那么可能会被查重查到。不给自己挖坑,我只放了一部分在这里。

本篇文章转载前,请与我联系!!!!

在Spotify使用深度学习做音乐推荐(Recommending music on Spotify with deep learning)相关推荐

  1. 基于协同过滤算法和深度学习的音乐推荐

    基于协同过滤算法和深度学习的音乐推荐 协同过滤 音乐推荐 深度学习 音乐检索 文章目录 基于协同过滤算法和深度学习的音乐推荐 Github 地址 微信小程序版实现 介绍 参考项目 技术栈 Docker ...

  2. 深度学习-LeCun、Bengio和Hinton的联合综述-Deep Learning一篇nature综述论文

    深度学习-LeCun.Bengio和Hinton的联合综述 原文摘要:深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示.这些方法在许多方面都带来了显著的改善,包括最先进的语音 ...

  3. 图像去噪的深度学习最新综述论文,36页pdf,Deep Learning on Image Denoising

    图像去噪是学术工业关注的问题.最近广东深圳哈工大分院的研究人员撰写了最新图像去噪深度学习的综述论文,非常值得学习! 关注文章公众号 对话框回复"paper29"获取本篇论文 地址: ...

  4. 《神经网络与深度学习》(Michael Nielsen)Neural Networks and Deep Learning习题解答汇总

    <神经网络与深度学习>(Michael Nielsen)1.6节完整程序解析 第二章改进神经网络的学习方法 <神经网络与深度学习>Neural Networks and Dee ...

  5. 深度学习在三维点云上的应用(Deep Learning for 3D Point Clouds: A Survey)

    深度学习在三维点云上的应用 摘要 最近,点云由于在计算机视觉.自动驾驶和机器人技术等许多领域的广泛应用而受到越来越多的关注.深度学习作为一种主要的人工智能技术,已经成功地用于解决各种二维视觉问题.由于 ...

  6. 关于深度学习在生物学领域的应用分析Applications of Deep Learning in Biomedicine

    申明:本文来源于对论文"Applications of Deep Learning in Biomedicine"的理解. 深度学习研究及其在生物医药领域的潜在应用 深度学习已经在 ...

  7. 生物学深度学习的十个技巧(Ten quick tips for deep learning in biology)

    本文是文献Ten quick tips for deep learning in biology的阅读报告,该文章讲述了在将深度学习方法应用于生物学研究时应该考虑的十个关键因素:本文不是纯粹.完全的文 ...

  8. 实时SLAM的未来及与深度学习的比较The Future of Real-Time SLAM and “Deep Learning vs SLAM”

    The Future of Real-Time SLAM and "Deep Learning vs SLAM" Last month's International Confer ...

  9. 2018深度学习在个性化推荐中的应用

    深度学习在个性化推荐中的应用 结论 得益于深度学习强大的表示能力,目前深度学习在推荐系统中需要对用户与物品进行表示学习的任务中有着不错的表现,但优势不如图像与文本那么显著[1]. 深度学习与分布式表示 ...

最新文章

  1. java web.xml 监听器_【JAVA 核心技术】java web 中的监听器
  2. 解决: Client does not support authentication protocol requested by server; consider upgrading MySQL
  3. 447. Number of Boomerangs
  4. 连接linux工具Mtr,Linux常用网络工具:路由扫描之mtr
  5. 蓝桥杯大赛青少年创意编程C++ 资料集
  6. 使用Django的models创建mysql数据库
  7. 京东:618 期间遭「黑公关」恶意抹黑;Adobe 回应“杀死Flash”;Bootstrap 5.0 Alpha 发布 |...
  8. Windows访问Linux下的共享目录的配置方法(user安全级别)
  9. Navicat for my sql 数据结构导出(制作数据字典)
  10. 一用就会Cron表达式生成器
  11. matlab 三阶段dea模型,三阶段DEA模型SFA二阶段剔除过程
  12. 3dmaxvray的使用方法有哪些?
  13. java Web中实现QQ邮箱验证以及验证码注册用户
  14. JavaWeb项目打包上线简单流程
  15. 泛函,变分与变分不等式
  16. feign 传 MultipartFile Error converting request body 序列化 错误
  17. 马云的至暗时刻:支付宝事件、十月围城 | 阿里巴巴20年
  18. Project Management
  19. jdk,jre的下载安装教程
  20. 人生之路 — 三十而立

热门文章

  1. 蓝桥杯单片机 | 特训案例【进阶03】24C02的基本读写操作
  2. QCM2290 PM-3 fastboot不识别USB
  3. Linux DNS配置权限不够,Linux下配置DNScrypt避免DNS污染
  4. wow转服服务器不显示,《魔兽世界》部分服务器开启免费转服 解决负载过高问题...
  5. ChatGPT搭建语音智能助手
  6. It’s Only Natural: An Excessively Deep Dive Into Natural Gradient Optimization
  7. oracle中sql 正则怎么写?
  8. CoinCola可盈可乐区块链行业周报第十一期(1.1-1.15)
  9. 支付宝接口学习踩坑记(2)——基于SpringBoot的Alipay-EasySDK配置及网页支付接口简单示例
  10. .Invoke((MethodInvoker)delegate