#23 机器学习和推荐系统
13 Feb 2020 · 40 min
张一飞 explains how recommendation systems work, using a TikTok-style short-video recommender as a concrete example. He walks through data collection, feature engineering, model training with TensorFlow or PyTorch, and online serving. He also contrasts recommendation with search and advises newcomers to start at large tech firms for hands-on experience.
Chapters
从 微博到 抖音 从 视频 到 播客 从 新闻 到 购物 智能 推荐 无处不在 今天 我们 请 到 了 从事 智能 推荐 系统 相关 工作 的 资深 从业者 张一 飞来 和 我们 聊一聊 机器 学习 和 推荐 系统 如果 我们 要 山寨 一个 抖音建 一个 短 视频 推荐 系统 那 我们 需要 怎么 做 呢 让 我们 来 听 嘉宾 手把手 的 教给
我们 吧
这里 是 牛油果 烤面包 大家 好 我 是 斯特 亚特 今天 我们 非常 有幸 的 请 到 了 在 互联网 公司 从事 机器 学习 和 内容 推荐 工作 的 资深 的 工程师 张一 飞来 跟 我们 聊一聊 机器 学习 和 在 互联网 公司 如何 内容 推荐 飞哥 好像 最 开始 不是 做 机器 学习 的, 是不是?
对, 我 最 开始 是 做 后台 系统 的。
那 从 什么 时候 开始 转做 机器 学习 或者 叫 人工智能 相关 的?
大概 四年 前 吧。
那个 时候 的 情况 跟 现在 有 什么 区别 吗?
那个 时候 和 现在 还是 有 挺 大 区别 的 最 主要 的 区别 就是 四年 前 的 时候 我们 这边 做 推荐 系统 还 没有 用到 深度
学习 那 时候 为什么 想要 做 这个
转变 呢 因为 就是 我 对 广告 这个 行业 比较 感兴趣 然后 当时 就 想 就是 试一下 不同 的 这种 工作 所以 说 我 做 了 一段时间 后台 系统 之后 我 就 去
后台 学习 和 做 这个 叫 什么 机器 学习 区别 有 多 大 其实 还是 有
挺 多 不 一样 的 其实 我 觉得 最大 的 一个 区别 就是 做 后台 系统 的话 相对来说 可控性 要强 一些 就是说 你 是 跟 机器 打交道 就 机器 的 一些 行为 啊 就是 还是 比较 好 预测 的 机器 学习 的话 呢 你 是 跟 一个 模型 打交道 这个 模型 的话 呢 通常 情况 下 它 比较复杂 然后 就是 看 人品 对 就是 它 有 很多 不确定性 就是 实验
科学 是 吧 试 一千次 成功 两次
对 就是 你 要 实验 要 比较 多 然后 它 并 不是 就是
那會 不會 說 經驗 越 多 成功率 越高
也 會 有 這樣 的 情況 但是 也 有 很多 時候 就是 一些 新鮮 血液 它 可能 能夠 提供 一些 更 不 一样 的 这种 perspective 反而 还会
有 更好 的 结果 有意思 我们 回来 说 机器 学习 机器 学习 到底 是 什么 这个 我们 听 了 这么 长时间
了 机器 学习 是 什么 机器 学习 就是 让 机器 能够 像 人 一样
的 思考 飞哥 过去 是 学 图像 是 吧 在 学校 是 做 图像 的 那个 时候 图像 还 不能 特别 的 说 是 机器 学习 是不是 对
我 的 导师 当时 是 做 图形学
图形学 那 不是 图像 是 吧 但是
他 后来 也 转 做 图像 和 视频 了 对 然后 图形学 的话 跟 这个 就 差 很多 然后 因为 图形学 更 多 的 是 集合 计算 的 一些 事情 圖像 的 話 其實 就 涉及 到 很多 那個 機器 學習 的 工作 其實 是 相當 相關 的 就算
是 在 深度 學習 之前 也 都
是 相關 的 但是 就是 當時 的 那個 學習 的 那個 就 比如 說 當時 的 人 臉識別 然後當 時 的 那個 圖像 裡面 的 物體 的 識別 這個 事實 上 都 是 我們 做 圖 像 要 做 的 事情 所以
我 对 机器 学习 有 一个 特别 粗浅 的 认识, 不 知道 对 不 对, 请 专家 来看 一看, 比如说 用 最 多 的 像 监督 学习, 就是说 有 一个 输入 有 一个 输出, 输入 是 一堆 信号, 输出 是 一个 数 然后 你 给 计算机 这么 多 的 样品 这么 多 的 试验品 让 它 能够 算 出 一个 公式 来 然后 再 给 它 过 新 的 样品 它 就 能 根据 输入 弄 出 输出 来 我 这个 粗浅 的 理解
是不是 可以 理解 我 觉得 非常 正确 我们 的 机器 学习 就是 在 干
这样 的 事情 举个 例子 来说 就是 比如说 你 有 这么 多 图片 是 男 的 女 的 然后 你 就 有 很多 叫 特性 是 吧 长 头发 还是 短 头发 长胡子 没有 胡子 是 吧 有没有 裙子 还是 裤子 是 吧 大概 有 那么 多 的 特性 你 给 他 比如说 10 个 输入 据点 每 一个 里面 说 这个 人长 不 长长 头发 短 头发 胡子 没有 胡子 然后 是 男 的 女 的 让 你 计算机 学 一下 然后 你 再来一个 数据 说 这个 人长 不 长胡子 长不长 头发 看 他 能 不能 做出
一个 预测 对 类似 于 像 这
样子 的 这个 叫 监督 学习 是 吧 对 那 现在 是 我 一直 觉得 监督 学习 的 应用 是 比 像是 其他 类型 的 学习 是 多 的 这 是 对 的 吗 看
在 什么 领域 吧 就 另外 一种 就是 无 监督 学习 就是说 无 监督 学习 的话 他 就 有 一些 其他 的 方式 然后 来来 做 这个 优化 因为 你 总是 需要 最后 要 能够 有 一个 优化 函数 那 还有 就是 像 那种 reinforcementlearning 我 不 知道 中文 应该 叫 什么 强化 学习 对 对 就是说 他们 都 应用 在 不同 的 地方 比如说 像 强化 学习 他 可能 应用 在 就是 象棋 上 然后 监督 学习 的话 他 可以 用 在 比如说 我们 的 广告 然后 或者 是 像 这种 图像识别 像 这种 无 监督 学习 的话 他 可能 比如说 应用 在 一些 自然语言 处理 上面 然后 就是说 他会 有 不同 的 应用 其实 这 两年 有
一个 特别 热门 的 词汇 我 认为 是 革命性 的 叫做 深度 学习 deeplearning 我 知道 很多 业内 人 说 不 知道 你们 懂行 的 我们 这些 其他 领域 的 人 不 太 喜欢 用 这些 词 认为 是 一个 宣传 术语 他们 喜欢 叫 DeepNeuralNetwork 不 知道 你们 怎么 叫 深度 学习 深度 学习 我们
就 叫 DeepLearning 但是 DeepLearning 的话 它 在 某 一些 领域 它 的 应用 效果 会 更好 一点 而且 在 有些 领域 的话 它 的 深度 越深 他们 发现 模型 的 表达能力 会 更 强 一些 但是 在 我们 做广告 领域 的话 就是说 深度 学习 应该 是 近几年 就是 要 比 那个 图像 啊 这些 都 要 更 晚一点 近几年 我们 才 发现 就是说 一些 比较 有效 的 方法 来
利用 这种 深度 学习 深度 学习 能 简单 的 说 一下 吗 我 理解 就是 神经网络 的 层数 比较 多 对 是 的 为什么 它 是 个 革命性
的 呢 其实 神经网络 这个 概念 在 几十年 前 就 已经 有过 了 但是 在 当时 的话 就是说 它 的 那个 层数 并不多 然后 另外 一个 的话 就是 它 的 训练 的话 就 因为 在 以前 并 没有 太多 的 数据 然后 所以 说 训练 的 时候 它 的 效果 并 不是 很 好 最近 几年 深度 学习 它 比较 成功 其实 一个 原因 也 是因为 就是说 训练 的 数据 越来越 多 高层 的 这种 神经网络 的话 它 的 这个 可 表示 的 空间 也 比较 大 然后 当然 有 更 多 的 训练 数据 然后 更 有效 的 这种 训练 的 方法 然后 比如说 这种 变形 的 这种 大规模 的 这种 训练方法 然后 的话 它 的 这个 效果 就 能够 更好 地 体现 我来 总结
一下 就是 神经网络 这个 东西 它 本身 模型 能 表达 的 东西 是 更 多 的 只不过 训练 的 时候 需要
更 多 的 数据 对 需要 更 多 的 数据 然后 更 多 的 机器 然后 更 多 的 计算 然后 才能 把 它 训练 得 很 好
因为 我们 知道 就是 图像 视频 是 比较 早 的 让 深度 学习 产生 革命性 的 像 飞哥 说 的 像 这些 互联网内容 推荐 这种 东西 是 相对 比较 晚 的 这 是 为什么 呢
这个 的话 我 觉得 就是说 可能 有 很多 原因 吧 第一个 的话 就是 我 个人 觉得 就是说 像 图像识别 的话 它 比较 像是 一个 就是 让 机器 来 模拟 人 的 行为 就 因为 人 的话 我们 是 可以 很 好 的 来 识别 图像 来 识别 人类 然后 我们 让 机器 模拟 人 的 行为 的 这个 时候 我们 就 发现 它 的 这个 层次 变得 更深 的话 它 的 效果 会 更好 有 可能 是 跟 这个 人脑 的 这个 结构 有点 关系 可能 人脑 也 有 很多 那个 很深 的 这种 神经网络 但是 推荐 系统 的话 它 和 这种 问题 不 完全 一样 因为 推荐 系统 的话 它 其实 并 不是 说 就是 你 找 一个 人 他 就 可以 很 好 的 来 给 另外 一个 人 做 推荐 它 更 多 的 实际上 是 一个 统计 模型 就是说 我们 希望 就是说 通过 之前 的 我们 在 数据 里面 看到 的 这种 pattern 然后 来 对 未来 做 这个 预测 它 并 不是 要 模拟 人 的 这个 行为 然后 因此 的话 就是说 可能 我们 并 不能 说 就是 因为 人脑 里面 有 很多 层 的 这种 神经网络 然后 这样 很多 层 的 这种 群体 网络 就 可以 在 推荐 系统 里面 用 得 非常 好
这 是 第一个 原因 所以 我来 理解 一下 就是说 图形 啊 图像 啊 这些 东西 它 有 很多 的 就是 知识 它 可以 学习 出来 比如说 可能 胡子 可能 学 出来 但是 对于 互联网内容 推荐 推荐 系统 这样 的 东西 它 可能 不 一定 是 很多 的 知识 它 可能 就是 一个 统计 也 可能 它 相比 传统 的 机器 学习 可能 深度 学习 的 优势 没有 那么 大 嗯
对 然后 另外 一个 原因 我 觉得 就是说 石头 学习 在 这种 推荐 系统 上用 的 比较 晚 的 一个 原因 就是 因为 这些 推荐 系统 就是说 我 觉得 它 是 有 很大 的 经济 利益 的 然后 因此 就是说 这些 大 的 公司 啊 他们 最 开始 都 投入 了 很多 的 钱 和 精力 来 做 这个 事情 然后 因此 的话 就是说 它 的 这个 Baseline 实际上 是 挺 好 的 就是 它 已经 做 得 很 好 了 对 它 在 之前 已经 做 得 很 好 就 并 不是 说 就是 深度 学习 它 又 不行 但是 呢 就是说 它 可能 当时 最 开始 的 时候 我们 跟 之前 的 这种 模型 的 这种 做 比较 的话 它 的 优势 并 不是
很大 最 流行 的 系统 在 这个 深度 学习 之前 是 什么 呢 有
两种 嘛 一种 是 线性 模型 然后 还有 一种 就是 那种 树 的 那种 叫 GBDT 就是 BoostingTreeBoosting 什么 那个 就是
一堆 这个 决策 数 吧 放在 一起 另外 一个 就是 简单 的 比如 像 NudgeRegression 就是 深度 学习 基本上 取代 了 基本上 现在 所有 的 公司 在 这个
推荐 系统 里 都 是 用 深度 学习 嘛 是 的, 现在 的话 就是 最近 几年 的话 就 大家 的 这个 系统 就 逐渐 的 就 找回 了
就是 用 这个 深度 学习 已经 好几年 了, 最近 这 两年 的 趋势 是 什么 呢? 深度 学习 有没有 什么 新 的 革命性 的 进展 呢?
最近 的话 其实 我 觉得 从 我们 推荐 系统 来看 的话, 我们 可能 就是说 有 几个 吧, 第一个 就是说 怎么 能够 用 更 多 的 data, 然后 怎么 能够 让 这个 模型 更加 复杂, 然后 怎么 来 做 这个 attention, 对, 就是 我 看到 的 一些 我们 在 这里 说 的 东西。
这就是说 对于 模型 本身 并 没有 什么 太大 的 进展, 只不过 是 对, 可能
就是说 它 的 这种 大 的 breakthrough, 我们 并 没有 在 最近 这 几年 看到。
好 我们 说 了 这么 多 为了 给 大家 一个 非常 形象 的 认识 我们 可以 做 一个 假设 系统 比如说 我们 明天 就 开 一个 公司 开 一个 抖音 的 克隆 抖音 的 山寨 版 我们 要 给 大家 推荐 短 视频 几十万 几百万个 短 视频 要 给 大家 推荐 我们 要建 这么 一个 推荐 系统 这 需要 建 什么样 的 框架
如果 你 说 是 一个 startup 要 做 这样 的 事情 的话 其实 它 最 开始 首先 考虑 一个 问题 就是说 他 要 怎么 来 boosttrap 因为 深度 学习 它 是 需要 很多 数据 才 能够 有 比较 好 的 效果 通常 情况 下 对于 这种 新 的 这种 情况 的话 其实 并 不 适合 于 就是说 走 这个 深度 学习 不 适合
于 深度 学习 那 就 整个 架构 不光 是 模型 了 就是 整个 它 需要 搭 一个 怎么样 的 一个 系统 能够 让 整个 智能 系统 跑 起来
呢 其实 一 开始 的话 应该 首先 是 要 从 就是说 从 login 做起 就是 写 日志 然后 你 要 能够 得到 一些 相应 的 这些 数据 然后 你 需要 就 把 这些 数据 能够 很 好 的 存 起来 然后 能够 有 相应 的 这种 工具 能够 分析
这些 数据 那 我们 这个 第一步 比如说 我们 建了 一个 我们 可以 随机 推荐 比如说 那 我们 需要 什么 数据 呢
一 开始 可能 就 都 是 随机 推荐, 或者说 就是 可能 有 一些 比较简单 的 一些 规则, 比如说 一些 那种, 然后 这些 东西 做 一些 点击率 啊, 对, 然后 做 一些 这样 的 推荐, 然后 从 学习 的 角度 上 来说, 最 重要 的 就是说 我们 需要 记录 就是 用户 的 行为, 因为 推荐 的话, 它 是 总是 有 一个 目的, 就是 我们 要 推荐 这个 东西 给 这个 用户 是 希望 就是说 来 优化 一个 什么样 的 指标, 然后 这个 指标 的话 有 的 时候 是 一个 比较 明确 的 指标 有 的 时候 可能 是 有 一些 不同 的 指标 把 它 加全
比如说 我们 现在 用 一些 规则 给 用户 推荐 的 视频 我们 可以 记录 说 这个 用户 点 了 这个 看
了 多少 时间 然后 他 之后 有 什么样 的 行为 然后 这样的话 你 就 有 了 一些 最 基本 的 一些 数据 就是说 这个 用户 的 其实 第二步 的话 就是 因为 我们 是 跟 这个 用户 来 做 这个 推荐 所以 说 第二步 的话 实际上 就是 你 要 根据 这些 数据 然后 来 建立 这个 用户 的 这个 画像 然后 用 画像 就是说 这个 用户 他 的 一些 一些 属性 比如说 可能 在 注册 的 时候 你 可能 就 能 知道 就 可能 可以 问 这个 用户 他 的 性别 然后 你 可能 可以 通过 他 的 那个 IP 然后 你 可以 知道 他 的 那个 地点 然后 以及 他 的 那个 用 什么 手机 比如说 这些 东西 然后 这些 东西 的话 实际上 就是 一些 我们 可以 获得 的 这个 用户 的 一些
信息 就是 每个 用户 会 有 一些
信息 然后 包括 这个 用户 就是说 之前 看过 什么样 的 视频 然后 点 过 什么样 的 视频 这些 的话 实际上 也 都 可以 做 一个 就是说 这个 用户
的 一些 信息 这个 就是说 除了 写日记 之外 你 还要 把 它 比如说 存在 一个 数据库 里 是 吧 就是 一
开始 的 时候 就是 你 有 你 有 这个 用户 的 基本 信息 然后 有 用户 的 这个 Activity 用户 的 Activity 实际上 是 他 的 这个 是 日志 给 带给 你 的 然后 这些 Activity 的话 你 可以 对 他 做 一些 Summarization 就是 把 它 总结 一下
他 做 过 什么 对 吧 把
它 总结 一下 他 做 过 什么 比如说 这个 用户 以前 看过 多少 个 视频 然后 他点 过 多少 个 视频 那 就 大概 知道 就 这个 用户 是 一个 喜欢 点 视频 的 还是 一个 不 喜欢 点 视频 的 然后 这个 的话 是 就是说 得到 这个 用户 的 这个 画像 然 後 另外 一邊 的 話 就是 說 你還 需要 得到 就是 說 這個 視頻 的 一些 分析 因為 就是 用戶 他 看 一個 視頻 他 可能 是 因為 這個視 頻裡面 有 一些 什麼樣 的 特質然 後 比如 說 這個 視頻 他 自己 他 有 一些 metadata 比如 這個 視頻 是 誰 上 傳 的 他 有 多長 對然 後 他 的 這個 清晰度 有 多 高然 後 他 內容 大概 是 什麼 有 的 時候 他 可能 視頻 上 傳者 他 會 有 一些 文字 然后 的话 这个 视频 里面 的 内容 的话 我们 可能 也 通过 一些 其他 的 一些 方法 然后 来 知道 就是说 这个 视频 它 大概 是 讲 什么 类型 的 东西 然后 的话 当 我们 对 这个 视频 有 一些 了解 对 这个 人 也 有 一些 了解 的 时候 我们 就 可以 通过 就是说 比如说 一些 统计 的 一些 方法 或者说 实际上 就是 学习 的 方法 了 然后 就 知道 一般 情况 下 这个 模型 它 学习 的 是 什么 呢 就是说 这 一类 的 人 他 可能 对 这 一类 的
视频 他 比较 感兴趣 每个 视频 有 一定 的 信息 每个 用户 有 一定 信息 然后 有 日志 说 这个 用户 点 了 这个 点 然后 就 通过 这 三个 信息 我们 就 做出 一个
模型 吗 对 我们 就 可以 通过 这个 就 可以 像 你 刚才 说 的 就是 那个 监督 学习 的 方法 就 可以 做 一个 模型 因为 就是说 在 这个 监督 学习 里面 你 就 可以 得到 很多 这样 的 例子 就是说 OK 这个 用户 然后 这个 视频 然后 他 有 什么样 的 这个 行为 然后 这个 行为 的话 实际上 就是 你 要 学习 的 这个 函数 这个 值 那
这个 输出 在 哪 呢 我们 的 日志 只是 说 他 点 了 什么
视频 我 觉得 可能 这个 的话 是 跟 我们 广告 这边 的 这个 这种 推荐 系统 更 相关 吧 就是说 对于 广告 推荐 系统 的话 我们 是 对 用户 的 行为 做 这个 预测 然后 的话 我们 对 它 有 一定 的 valuefunction 然后 的话 我们 给 它 推荐 的 东西 实际上 是 这个 valuefunction 最高 的 那个 样本 当然 就是说 从 这种 推荐 系统 来讲 的话 其实 也 有 一些 其他 的 一些 推荐 系统 的 方式 然后 比如说 它 可以 看 就是 推荐 系统 它 有 的 时候 它 可能 不是 学习 这样 一个 model 而是 比如 他 可能 会 看 就是 就 跟 这个 用户 比较 像 的 一些 用户 他们 看到 什么样 的 视频 然后 把 这些 视频 给 推荐 给 用户 这是 另外 一种 就是说 推荐 系统 的
做法 但是 就是 有 多种 建立 这个 输入输出 通法 但是 总之 就是 这 坨 数据 然后 把 它 建 一个 模型 那 我们 说 说 技术 层面 技术 层面 要学 这么 一个 模型 它 需要 搭 一个 怎么样 的 系统 呢 我们 可以 想象 是 一个 日志 系统日志 系统 可能 放在 比如说 数据仓库 里面 是 吧 比如 Hadoop 是 吧 那 两个 用户 的 视频 信息 可能 放在 在线 数据库 里 比如说 MySQL 怎么 如何 把 这些 数据 放在 一起 建 训练 模型 呢 需要 搭 一个 怎样 的 系统 呢 比如说 我们 现在 这有 很多 著名 词汇, 像 什么 TensorFlow, 像 什么 Cafe, PyTorch, 这 怎么 能够 把 这些 数据 放在 一起, 比如说 用 这个 框架 训练 一个 模型 呢?
当 你 的 这些 基本 的 数据 都 在 这些 各个系统 里头, 通常 情况 下 我们 要 做 的 就是 把 这些 数据 给 通过 某种 方式, 就是 通过 某种 预处理, 把 它 变成 一个 就是说 这些 比如说 TensorFlow, PyTorch 这些 机器 学习 的 这些 library 这些 framework 它们 可以 识别 的 这种 格式 然后 的话 我们 就 可以 就是 在 这种 平台 上 就是 编写 就是说 这个 设计 这个 模型 然后 来 做 这个 来 在 这个 framework 来 训练 这个 模型 就是说
还是 要 做 一个 这个 一种 转换 可能 开始 手工 的 是 吧 做 一个 转块 放在 什么 地方 然后 训练 这个 模型 好 我们 模型 训练 好 了 那 我们 怎么 把 它 放去 怎么 用 呢 我们 需要 搭 一个 什么 系统 来 用 这个 其实 有
很多 系统 就 很多 framework 它 可能 都 有 这种 就是说 部署 模型 的 这种 工具 当 你 的 模型 就是 训练 好 之后 它 一般 会 通过 文件 的 形式 然后 存在 比如 存在 硬盘 里面 或者 存在 Hadoop 上 然后 这个 模型 的话 就是说 他 需要 被 你 的 产品 的 那个 后台 来 调用 就 当 你 的 产品 后台 的话 就是说 比如说 你 做 一个 抖音 的 一个 推荐 系统 然后 你 需要 一个 后台 就 在 那里 接受 这个 软件 的 请求 就 说 啊 我 现在 有个 用户 然后 有 了 这个 用户 之后 呢 那 他 就是 要 就是 首先 他 第一个 是 需要 从 之前 那些 数据仓库 里面 得到 这个 用户 的 一些 画像 啊 得到 一些 这个 视频 的 这些 属性 啊 什么 的 然后 的话 他 也 是 要 从 那个 不管 什么 地方 让 得到 这个 模型 的 这个 信息 这个 信息 一般 是 先 就 已经 得到 了 然后 他 把 它 存放 在 某些 内存 里面 然后 的话 他 再 根据 这个 用户 的 这些 信息 啊 视频 的 这个 信息 啊 以及 存在 他 内存 里面 这个 模型 的 这个 信息 来 做 这个 预测 来 做 这个 规定
试着 理解 一下 比如说 用户 来 访问 这个 网站 网站 它 有 个 服务器 请求 到 服务器 上 服务器 知道 这个 用户 是 谁 从 数据库 里 把 这个 用户 的 画像 取出 来 然后 它 可能 找 一些 预处理 的 视频 它 怎么 找 比如说 我 好几万 个 视频 我们 怎么 每个 都 要 算
一下 那个 值 吗 其实 像 我们 广告 系统 的话 我们 基本上 就 这 样子 我们 就 会 把 每 一个
网络 都 算 一个 值 比如说 我们 这个 我们 的 山寨 抖音 做 大 了 我们 有 上 亿个 视频 就是 给 每个 上 亿个 视频 都 算
一个 值 吗 对 就是说 我们 会 有 一种 就是说 叫做 Multistage 就是 有 不同 的 层次 然后 比如说 我们 会 有 那个 海选 有 预选 还有 初赛
和 决赛 就是说 总归 就是说 几级 的 智能 最终 把 每 一个 可能 的 视频 算 一个 分 根据 它 本地 存在 的 模型 算 一个 分 然后 分 最高 的 放在 最 上面 那 我们 说一说 这个 多极 选取 吧 那 你 这 肯定 也 要 有 别的 模型 因为 不是 同一个 模型 对 吧
对 不会 是 同一个 模型 就是说 在 最 开始 的 那个 可能 就 会 是 一个 一般 通常 情况 下 都 是 一个 非常简单 的 一个 模型 然后 它 可能 都 是 那种 就是 预处理 过 的 就 意思 就是说 比如 它 可能 就是 简单 的 把 这些 所有 的 视频 啊 一些 比较 大 的 这种 分类 把 它 分成 几个 大
类 这个 有点像 那个 叫 什么 clustering 吗 比如说 像 这个 就 是非 监督 级 学习 的 classroom 你 认为 用到 吗?
其实 可能 都 不 一定 是 像 这种 他 可能 就是 本身 就 tag
一样 就 本身 加 一个 算 出来
就是 实际上 他 想要 干 的 事情 就是说 能够 快速 的 把 就是 比如说 几千万 个 视频 或者 几万个 视频 给
放入 给 三星 号 就是 他 有 简单 的 几个 特征 可以 把 它
已经 分好 了 几个 例子 来说 他 可能 就 根据 就是 时间 然后 把 这些 比较 老 的 就 都 去掉 然后 或者 就是说 如果 是 比较 老 的话 他 就 一定 要 非常 非常 popular 然后 类似 于 像 这样 的 就是 一些 比较简单 的 一些 规则 比较简单
的 信息 还选 一批 对 还 选
一批 然后 也 就是 也 有 可能 他会 有 一些 random 的 一些 东西 然后 就是 为了 做 exploration 就是说 对
不要 让 overfit 是 吧 对 然后
就 用 下 一级 筛选 下 一级 筛选 的话 就 总之 来说 就是说 你 可以 有 那种 不同 精度 的 这种 模型, 然后 不同 的 模型 它 可能 运算 的 就是 它 可能 有 一些 模型 比较 比较 准确, 但是 它 可能 需要 很长 的 时间 才能 运算 下来, 然后 这些 模型 就 放在 后面。
那些 什么 深度 学习 的 最后 放 好, 先放点 什么 什么 线性 的 是 吧? Logisticregression 是 吧?
其实 那 倒也不 一定, 因为 深度 学习
的话, 你 也 可以 看到 它 的
那个 层次 少 一点 用 的 那个 空间 小 一点 这种 可能 就 也
可以 然后 这样 就 可以 海选 出来 了 我们 经常 听说 做 积极 学习 的 人 我 遇到 有 一些 人会 抱怨 说 他们 其实 是不是 一半 时间 都 在 做 什么 特性 工程 是 吧 featureengineering 是 吧 那 我们 搭 了 这么 一个 系统 我们 如何 比如说 选取 更好 的 特性 因为 我们 可以 选出 很多 特性 是 吧 那 我们 抖音 这个 山寨 做好 了 我们 想要 提高 这个 模型 我们 怎么 能够 来 提高 呢 这 肯定 是 在 模型 上 在 特性 上 肯定 都 有
的 对 吧 这 上次 我们 以前 常用 的 一个 面试题 就是说 你 会 怎么 来 设计 就是说 这些 特征 的
这种 选取 对 就是 业界 比较 通情
作法 还是 怎么 做 呢 其实 基本上 就 比如说 像 你 如果说 一个 这种 抖音 这种 系统 的话 它 就 会 有 就是说 跟 人 相关 的 这种 feature 跟 互相 关 的 feature 然后 跟 视频 相关 的 feature 然后 比如 可能 跟 时间 相关 的 feature 然后 可能 跟 他们 的 交互 相关 的 feature 就是说 它 有 一些 大 的 一些 类别 就是 不管 你 做 什么 都 可以 给 它 分 一些 类 吧 然后 有 了 这些 类 之后 呢 你 就 可以 就是说 再 在 每 一个 类 里面 你 就 可以 再 深挖 就 比如说 有些 什么样 的 东西 然后 这些 特性 的话 其实 它 就是 就 像 你 最 开始 说 我们 要 学习 一个 函数 然后 这些 特性 的话 其实 就是 这个 函数 的 输入 然后 你 要 选择 这些 特性 的话 基本上 就是说 你 要 想 就是 什么样 的 特性 会 对 这个 最后 的 结果 是 比较 有
这个 主要 是 靠 我们 对 这些 业务 逻辑 的 了解 吗 还是 靠 对于 模型
的 理解 如果 是从 特能 工程 来说 的话 其实 是 靠 对 这个 问题 的 理解 比较 多一些 就是说 你 觉得 这个 用户 他 之所以 会选 这个 视频 看 这个 视频 可能 有些 什么样 的 因素 是 相关 的 对, 比如 他 可能 今天 穿 什么样 颜色 的 衣服, 这个 可能 就 不是 特别 相关, 但是 他 是 在 哪个 地方 生活, 可能 这个 就 比较 相关, 他 可能 更想 看 本地 的 一些 东西。 就是 你 在 选择 这些 特性 的 时候, 你 可能 希望 就是 选择 就是说 跟 这个 你 要 预测 的 东西 比较 相关 的 这种 factor。 当然 他 的 关系 具体 是 什么 的话 就 可以 交给 训练 的 模型 的 framework 去 figureout, 但是 为了 让 他 能够 比较 successful 来 figureout 这个 东西, 你 希望 能够 找到 一些 相关 的 模型。 深度 學習 的 一個 優勢 就 在 於 它 降低 了 大家 對 特徵
工程 的 需求 不管 什麼 東西都給 模型
一 扔, 是 吧? 對, 深度 學習 有 很 好 的 方法 來 抽象 這個 輸入 就 比如 說 像 圖像識別 以前 可能 我们 要 看 这个 是 男 的 是 女 的 我们 说 要 看 他 有没有 胡子 他 的 脸型 什么 样子 皮肤 白不白 类似 像 这样 的 东西 但 现在 的话 可能 就是说 他 就 不 需要 你 做 这些 特征 你 可能 就 直接 把 这个 图像 的 这个 rawpixeldata 给 他 然后 的话 让 他 自己 来 学习 就是说 什么样 的 特征
比较 有用 所以 就是说 类似 的 互联网内容 推荐 也 可以 就是 我们 能 找到 的 所有 的 数据 都 放 都
认为 模型 对, 其实 深度 学习 的 一个 特点 就是 它 的 表达能力 非常 强, 因此 当 你 有 很多 数据 的 时候, 其实 你 是 可以 减轻 你 对 FutureEngineering 上面 的 要求, 但是 它 也 不 一定 所有 时候 都 能够 work 那么 好。 因为 就是 在 一个 具体 的 公司 里面 的话, 你 的 模型 不 可能 就是 无限 的 大, 然后 你 能 用 的 数据 不 可能 无限 的 多, 然后 你 也 有 很多 这种 constraint, 就是说 不能 让 这个 模型 变得 太 复杂, 因为 太 复杂 的话 它 可能 预算 就 会 特别 慢。 然后 在 这种 情况 下 的话, 有 的 时候 可能 还是 需要 一些 就是 特征 工程 的 一些 事情。
如何 减 特性 呢? 听 上去 这个 把 不 需要 特性 给 干掉 也 很 重要。
这 也 是 技术 学系 里面 的 一个 研究 方向, 就是说 我们 怎么 来 选择, 选择 就是 哪些 特性, 然后 就是说 我们 有 很多 这种 特征 的话, 然后 我们 可能 需要 知道 就是 哪个 特征 对 这个 最后 结果 的 影响 最大 然后 我们 可能 根据 就是说 我们 系统 的 一些 imitation 然后 的话 来 选择 就是说 有些 特性 我们 可能 就 没有
办法 放进去 我们 说 这个 特性 那 这个 模型 怎么 提高 呢 我们 这个 抖音 山寨 有 的 模型 还是 发现
不好 模型 怎么 提高 的话, 一种 方法 就是说 你 可以 加 更 多 的 这种 特性, 除了 就是 特设 工程 之外, 另外 一种 提高 模型 的 方法 就是说 来 设计 这个 模型 的 这个 架构, 然后 特别 像 深度 学习, 深度 学习 它 的 一个 特点 就是说 它 模型 的 这个 架构 可以 变得 很 复杂。 就是说 比如 它 可以 有 很多 不同 的 层, 然后 它 可能 有 很多 不同 的 这个 component 的 这个 就是
每层 每个 节点 是 什么 样子 的 吗?
就 它们 这些 层 里面 相互之间 是 怎么 连接 的, 比如说 这个 的话 就是说 是 也 是 一个 非常 就是 有效 的 方法 来 提高 就是说 这个 模式
的 这个 互联网 吗 肯定 要 讲 测试 了 就是 叫做 ABtesting 对 吧 所有 东西 的 ABtesting 模型 肯定 测试 就 更 重要 我们 作为 一个 抖音 是 吧 抖音 的 克隆 是 吧 如何 测试 我们 新加 的 特性 啊 或者 是 我们 新改 的 这个 模型 啊 那个 是不是 更好 呢 这个 的话
我们 一般 在 公司 里面 可能 做 的 都 是 这种 ABtesting 就是说 你 把 用户 分成 不同 的 这个 组 然后 一组 用户 用 一种 模型 另外 一组 用户 用 另外 一个 模型 然后 你 最后 再 来 衡量 他们 的 一些 行为 参数 那 我们 就是 需要
说 有 两个 夫妻 一个 或者说 是 同样 一个 夫妻 运行 两个 算法 算一算 然后 最后 看一 看看 这些 结果 我们 运行 的 比如说 几个 小时 几天 然后 看 哪 一轮 好 吗 对 对 对 而 这个 我们 说 了 这么 多 他 搭建 这么 一套 系统 在 计算资源 上面 是 需要 费 很多 资源 的 吗 还是 因为 飞哥 肯定 是 这么 多年 也 看到 这个 模型 变得 越来越 复杂 对 吧 那 计算资源 是 也 随之 变得 越来越 复杂 了 吗
还是 说 没有 对 我们 的 模型 越来越 复杂 所以 说 我们 对算 这个 模型 的 这个 花 的 时间 也 就 越来越 多 当然 就是说 我们 也 有 一些 工作 来 控制 这个 东西
对 所以 我们 的 抖音 的 这个 克隆 还 需要 花 越来越 多 的 钱 来 算 这个 模型 吗 这个 到 什么 时候 能 决定 是 个 go 我们 可以 开 这个 公司 了 看来 我们 说 了 这个 系统 最 开始 有 一个 日志 一 开始 有 一个 简单 的 规则 系统 然后 有人 的 画像 视频 的 画像 然后 建立 一个 离线 学 一下 然后 把 它 放上去 然后 更新 这个 学习 然后 进行 测试 那 这 一套 东西 是 什么 配套 系统 吗 需要 有 什么 在 这套 系统 之外 的 有 什么 系统 来 辅助 吗 比如说 我们 知道 日志 可能 就是 像 卡 杜夫、 卡夫卡 这样 的 来 搞 一 搞 什么 画像 可能 就是 数据库 就行了 那 还有 什么 别的 有 什么 配套 系统 也 要 做好 又 需要 有 什么 叫 什么 Pipeline 管理 吗 需要 有 一个 还是 需要 模型 需要 有 什么 版本 吗 有 这样 的 配套 系统
吗 其实 我 并不知道 就是 opensource 里面 有些 什么样 的 系统 可以 帮助 这个 但是 就是说 如果 从刚 开始 搭建 的 时候 其实 很多 系统 都 不 需要 就是 手动 就 可以 做 但是 随着 就是说 这个 规模 的 增大 就是 参与 的 人 越来越 多 的话 可能 相应 的 这些 办公 控制 像 这种 调度 然后 就 比如说 你 要 训练 模型 然后 你 可能 要 在 一个 机器 上 做 调度 然后 这些 扩大 管理 啊 什么 的 这些 东西 就 慢慢
就要 设计 起来 就 越来越 复杂 了 我们 这 公司 什么 时候 开始 开嘛 听 上去 这个 可以 搞定 所有 事
那 也 要 试图 来 帮忙 才行
就是 现在 有 很多 人 对于 深度 学习 是 有 批评 的 对 吧 那 我们 训练 我们 的 抖音 山寨 一定 要 用 深度 学习 吗 当然
不 一定 了 就是说 特别 是 在 一 开始 数据量 不够 大 的 时候 其实 并不一定 要 用 这种 深度 学习 很多 其他 的 模型 都 可以 就是说 工作 的 很 好
所以 在 国内 像 飞哥 这样 工作 大家 就 管 这个 叫 算法 工程师 是 吧 要 做 一个 合格 的 算法 工程师 需要 储备 什么样 的 知识 和 技能 或者 优秀 的 能够 做 一个 智能 推荐
系统 的 我 觉得 就是 要会 写
程序 就行了 真的 吗 那 就是 完全 没有 什么 需要 那 需要 懂 我行
吗 就是 这些 东西 都 可以 学嘛, 这是 一个 好 问题, 就是说 他 需要 具备 什么样 的 专业技能, 会 写 程序, 然后 能够 学习, 然后 懂 懂 模型, 然后 懂 懂 系统 设计, 是 吧, 然后 就 可以。
模型 要 懂 到 什么 程度 呢?
如果 做个 简单 的话 其实 不 需要 太 懂 因为 现在 很多 的 就是 opensource 的 一些 framework 就是说 都 把 这个 问题 碰撞 的 非常 好 你
不 需要 太 懂 那 我 也 能 上 了 是 吧 没 问题 对 没 问题 那 要是 要 做 复杂 一点 的 要 比如说 我们 抖音 身家 做 大 了 千人 公司 了
那 需要 做 什么 呢 应该 已经 有钱 去 好 的 学校 里面 找
好 的 工作 那 它 需要 什么样
的 技能 呢 其实 当 后面 就是说 做到 复杂 的 时候 到底 就是 需要 更 了解 就是说 整个 的 模型 的 优化 的 理论 然 後 這樣 的 話 你 才能 知道 就是 它 有 可能 下 一步 來 提高 它 的
這個 方向 在 哪裡 有 關理論 這個
能 在 學校學 嗎 其實 可以 的 可以 在 學校 裡面 可以 學到 一些 的 就是 說 這個 特別 是 深度 學習 的 這個 基本 的 理論 當然 另外 一個 的 話 可能 就是 說 因為現 在 的 話 就 深度 學習 它 的 很多 理論 還沒有 建立 起來 就是 它 是 一個 就 像 你 剛才 說 的 就是 一個 實驗 的 一個 科學 所以 说 就是说 也 需要 有 很多 这样 的 经验 就是说 比如说 你 在 之前 的 公司 或者 之前 的 工作 做 的 你 的 项目 的 过程 中 然后 你 不管 是 你 自己 做 的 或者 是 说 你 看到 别人 做 的 就 什么样 的 这种 操作 对 这种 模型 的 某 一些 问题 有 解决 的 这种 概率 的话 那 你 就 可以 把 它 尝试 着 用 在 你 新
的 这个 问题 上 刚才 说 的 就是说 知识 方面 那 对于 技能 方面 需要 写 python 就够 了 吗 我
觉得 会 写 python 有 的 时候 还 需要 会 写点 mysql 的 这种
语言, 数据分析, 对, 有时候 需要 学点 像 sql 啊, 可以 做 一些, 用 一些 什么 什么 hive 啊, presto 啊, 那 还是 需要 用 框架 吗? 会用 tensorflow 吗?
对, TensorFlow 就是 一个 Python 的 library
谁 都 可以 学 吗?
谁 都 可以 学 其实 他 的 学 的 要求 是 相对来说 挺 低
的 TensorFlow 这个 工作 谁 都 能
做 应该 说 谁 都 可以 开始 但是 就是说 你 要 把 它 做好 那 其实 还 挺 困难 的 那
要 做好 的 道路 上 需要 在
哪 方面 做 精进 呢? 我 觉得 就是 多 practice 吧 就是说 因为 它 是 一个 当 你 做到 后面 的 时候 你 可能 需要 更 多 的 这种 经验 然后 来看 不同 的 这种 解决 不同 的 问题, 然后 有些 什么样 的 方法 能够 比较 有效 的 来 解决。 因为 机器 学习 的话, 就是 这个 模型 本身 它 比较复杂, 然后 你 需要 有 比较 好 的 设置, 然后 能够 更 早 的 能够 看到 这个。 解决 这个 问题 的 一个 关键 所以 说 这个 需要 很多 的 这种 practice 这种 试错 然后 有 这种 experience 然后 你 才 能够 越做越 好好 我们 说
了 这么 多 关于 互联网 推荐 系统 的 这 推荐 系统 到 现在 为止 飞哥 认为 还有 多大 的 提升 空间 呢 就是 我们 的 算法 做 得 更好 比如说 抖音 推荐 的 更好 或者 我们 的 山寨 抖音 如何 能 超过 抖音 这个 空间 在 哪 呢 未来
比如说 未来 几年 我 个人 觉得 就是说 推荐 系统 还是 可以 有 很大 的 空间 为什么 这么 说 呢 就是说 因为 你 可以 看 这个 推荐 系统 的 这个 成功率 这个 成功率 实际上 现在 还 并 不是 很 高 就 比如说 如果 我们 给 你 推荐 不管 推荐 什么 东西 然后 并 不是 每 一次 你 都 会 对 这个 东西 感兴趣 然后 这个 之间 的 这个 差距 实际上 就是 它 的 这个 可以 提升 的 地方 就 另外 一个 例子 就 比如说 像 人脸识别 人脸识别 比如 现在 的话 大家 看 说 这个 人脸识别 的 这个 准确率 你 可以 到 9% 以上 那 这个 的话 他 可能 要 再 提高 可能 就 比较 困难 了 因为 最高 就 到
10% 就是 飞哥 认为 我们 推荐 内容 其实 离 能够 推荐 最好 的 内容
还是 有 差距 的 对 就是说 因为 你 可以 想象 就是 理论 上 来说 就是 他 最好 的 推荐 系统 应该 给 你 推荐 的 东西 都 是
你 想要 的 东西 那 假设 我们 有 你 想要 的 东西 对 吧
对 如果 没有 的话 那 实际上 他 就 可以 不用 做 推荐 了 因为 这个 推荐 这个 东西 他 你 如果 不 想要 的话 他 给 推荐 也
是 没有 用 的 就 会 关门 了 是 吧 我们 上 这个 抖音 山寨 一山 没有 请 去 抖音 是 吧 所以 就是 可以 是 认为 就是说 如果 推荐 不 出来 你 应该 说 推荐 不 出来 是 吧 如果 推荐 出来 就 应该 百分之百 这是 理想 系统 我们 现在 所有 公司 都 应该 离 这 还有 很大 的 差距 对 很 有意思 你 看 使用 上 我们 说 的 互联网 公司 对于 一些 非 互联网 公司 比如说 你 的 主营业务 比如说 你 是 卖 鞋 的 对 吧 卖 鞋 的 你 做 一个 网站 如果 我们 生意 不 大 的话 也 没有 那么 多人 去 做 去 建 这么 大 一个 系统对 吧 我们 的 网站 要 推荐 谁 写 有没有 专门 的 服务 或者 是 专门 的 其实 我
觉得 就是说 现在 就 比如说 像 奥巴马 说 的 大家 所有人 都 要 写 编程 然后 要学 Python, 然后 因为 就是说 他 觉得 就是说 这个 未来 的话 就是 你 需要 要 让 机器 来 做 很多 事情, 但 现在 的话 我 觉得 就是说 Python 它 它 作为 一个 programlanguage, 它 也 是 就是 迭代 了 很多年 的, 从 最 开始 的 VPN 到 什么 C语言 什么 的, 就是说 其实 一 开始 的 这些 语言 其实 是 很 难 很 难用 的, 是 需要 很多 专业 的 学习 才 能够 用 的, 但 Python 的话 经过 很 多次 迭代 之后 它 就 变得 这个 concept 就 非常简单, 然后 的话 学习 起来 也 比较 容易, 然后 大家 用 它 就 可以 解决 很多 问题。 我 觉得 机器 学习 它 也 是 在 走 这样 的 一个 过程, 就 一 开始 的话 就是 机器 学习 它 的 这个 机动 的 这个 门槛 是 非常 高 的, 现在 的话 其实 相对来说 已经 低 很多 了, 但是 可能 还 没有 到 Python 那么 低。
现在 所以 说 飞哥 认为 就算 是 一个 非常简单 的 小本生意 你 雇 一个 比较 聪明 的 小孩 比如说 学习 了 一段时间 你 应该 也 可以 做出 一个 简单 的 系统 推荐 吗 对 就是说
其实 我 觉得 就是 像 现在 的话 就是 这个 积极 学习 的 这些 框架 它 实际上 是 在 定义 另外 一种 语言 用 另外 一种 方式 然后 来 专门 用来 描述 这种 模型 的 这种 development 然后 的话 通过 路过 此地 来 的话 可能 就 会 像 这个 程序 也 一样 它 可以 变得 非常简单 易懂 然后 那个 时候 的话 就 大家 就 可能 更多人 就 可以 进入 这个 领域
所以 我们 期待 在 不远 的 未来 所有 的 人 都 可以 做出 他 自己 的 推荐 系统 是 吧 对 非常 的 棒 是 一个 就是 搜索 领域 不仅仅 是 网站 搜索 了 各种 搜索 是 一个 用 智能 其实 是 还 早 对 吧 应该 是 说 互联网 搜索 用到 人工智能 是 最早 的 所以 作为 推荐 系统 和 搜索 有 什么 相同点 和 不同点 吗 其实 我
觉得 从 广告 系统 来说 的话 广告 系统 它 的 这个 问题 的 这个 定义 是 比较清楚 的 就是说 它 是 就是 一个 对 这个 概率 的 做 一个 预测 这个 模型 搜索 的话 这 并 不是 他 唯一 要 追求 的 东西 比如说 像 在 据 我 的 粗浅 的 了解 比如说 在 广告 系统 里面 实际上 我们 这种 比较 strong 的 这种 human 的 这种 人物 是 比较 少 的 但 搜索 里面 实际上 是
有 很多 这样 的 要 保证 什么 结果 要 出来 这个 是 一个 非 自然 的 所以 就 基本上 差不多 只不过 是 有 一些 人工干预 比较 多一些 搜索 肯定 人工干预 比较 多一些 我 觉得 这
是 它 的 一个 方面 吧 然后 再 一个 方面 就是说 搜索 比如 它 可能 对 这个 infrastructure 的 这个 要求 会 更 高 一点 为什么 呢 因为 就是 它 的 这个 数量 其实 是 要 大 一点 就是说 它 的 这个 就 比如说 像 你 搜索 的 时候 你 的 candidate 有 很多 网页 是 吧 这个 网页 的 这个 candidate 没有
啊 你 有 搜索词 之后 candidate 就
少 了 呀 对 但 就是说 你 在 有 搜索词 之前 就是 你 要 把 这些 candidate 都 要 有 很 好 的 这种 index 然后 在 广告 这边 广告 或者 其他 的 一些 推荐 系统 里面 的话 就 你 的 candidate 的 地方 要少 很多 然后 有 很多 相同 的 地方 嘛 但是 也 有 很多 不 一样 的 地方 好, 非常
的 有意思 飞哥 对于 想 进入 这个 领域 的 朋友 们 有 什么 推荐 吗? 有 什么 建议 吗?
先 来 这些 大 公司 去 面试 然后 拿到 一个 offer 然后 好好 干
就 好好 那 我们 感谢 飞哥 来 参加 我们 的 节目 给 我们 介绍 了 很多 互联网 如何 推荐 内容 我们 如何 要建 一个 抖音 的 山寨 这样 的 系统 给 我们 聊 了 很多 非常 有意思 的 问题 好 感谢 收听 我们 的 牛油果 烤面包 节目 我们 的 节目 可以 在 各大泛 用型 平台 或者 是 喜马拉雅 进行 订阅 欢迎 大家 订阅 和 收听 好 我们 后会有期 好 谢谢 司徒










