Google团队在DNN的实际应用方式的整理

全文共917个字,预计阅读时间5分钟。


很荣幸有机会和论文作者Emre Sargin关于之前发的Deep Neural Networks for YouTube Recommendations进行交流,梳理如下:

提问对话汇总:


如何进行负采样的?


构造了千万量级热门视频集合,每个用户的负采样结果来源于这个集合,会有一些筛选的tricks,比如剔除浏览过的商品,负采样的数量Google在200万条。(也就是说,在计算loss的时候,google的label是一个200万长度的向量,瑟瑟发抖.jpg。)


推荐算法应用上有什么评估方式和评估指标?


主要基于线上进行小批量的abtest进行对比,在考虑ctr指标的同时也会综合全站的信息加以分析,同时对新颖程度和用户兴趣变换也是我们考察的对象。


冷启动的解决方式?从来没有被点击过的video如何处理?新上的video如何处理


google的推荐基于多种推荐算法的组合,YouTubeNet主要解决的是热门商品的一个推荐问题,冷启动或者没有被点击的video会有其他算法进行计算。换句话说,解决不了。


example age如何定义?


user+vedio的组合形式,train过程中,是用户点击该vedio的时间距离当前时间的间隔;predict过程中,为0。该部分对模型的鲁棒性非常重要。


是否遇到神经元死亡的问题?


有,解决方案很常规,都是大家了解的,降低learning_rate,使用batchnormalization。


是否预到过拟合?


没,youtube的用户上亿,可以构造出上千亿的数据,过拟合的情况不明显。但是会存在未登录用户,我们会通过一些其他CRM类的算法补充构造出他们的基本信息,比如gender、age...


vedio vecter在哪边进行构造与修正?


history click部分进行vedio embedding,并进行修正。另外,50是我们尝试的历史点击长度,20-30也有不错的效果。


会有工程计算压力么?


不存在,建议在GPU上计算,后面由于VPN网络信号抖动没听清,大概就说Google在训练模型的时候会有大量GPU支持,每天大概更新2-3模型,没有遇到什么计算瓶颈。

(以上为我个人针对提问结果的理解及总结)


原文链接:https://www.jianshu.com/p/0337751221c7


查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org


请关注人工智能LeadAI公众号,查看更多专业文章

640?wx_fmt=jpeg

大家都在看

640.png?

LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

### 深度学习手写数字系统毕业论文的研究方法、步骤及措施 #### ### 文献综述 文献综述是研究的基础,用于总结和分析当前领域内的研究成果。在深度学习手写数字识别领域,已有研究主要集中在卷积神经网络(CNN)的应用上[^1]。例如,LeNet-5 是最早应用于手写数字识别的经典 CNN 模型之一,其通过多层卷积与池化操作提取图像特征[^2]。此外,现代研究还探索了数据增强技术对模型性能的影响,以及如何通过迁移学习优化小样本场景下的识别效果[^3]。 #### ### 瀑布模型开发流程 瀑布模型是一种线性开发方法,适用于结构化项目管理。在深度学习手写数字系统的开发中,可以将其划分为以下几个阶段: 1. **需求分析**:明确系统的功能需求和技术指标,例如准确率要求和运行效率。 2. **系统设计**:选择合适的深度学习框架(如 TensorFlow 或 PyTorch),并设计模型架构。以 LeNet-5 为例,其包含两层卷积层、两层池化层和全连接层[^4]。 3. **实现与训练**:基于选定框架编写代码并进行模型训练。以下是一个简单的 LeNet-5 实现示例: ```python import tensorflow as tf from tensorflow.keras import layers, models def create_lenet(): model = models.Sequential() model.add(layers.Conv2D(6, (5, 5), activation='relu', input_shape=(28, 28, 1))) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(16, (5, 5), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Flatten()) model.add(layers.Dense(120, activation='relu')) model.add(layers.Dense(84, activation='relu')) model.add(layers.Dense(10, activation='softmax')) return model ``` 4. **测试与验证**:使用 MNIST 数据集的测试集评估模型性能,并记录准确率等关键指标[^5]。 5. **部署与维护**:将模型集成到实际应用中,并持续优化。 #### ### 试验验证法 试验验证法通过实验设计和数据分析验证模型的有效性。在本研究中,可以通过以下方式实现: - **数据划分**:将 MNIST 数据集划分为训练集、验证集和测试集,比例通常为 6:2:2。 - **超参数调优**:调整学习率、批量大小等超参数,观察对模型性能的影响。 - **结果对比**:将不同模型(如 DNN 和 LeNet-5)的识别准确率进行对比,验证 CNN 的优越性[^6]。 #### ### 验收测试法 验收测试法用于确认系统是否满足预定的技术指标。具体措施包括: - 定义测试用例:设计多种输入场景,包括清晰图像、模糊图像和噪声图像。 - 测试执行:运行模型并对输出结果进行统计分析。 - 结果评估:根据预设标准(如准确率达到 98%)判断系统是否合格[^7]。 #### ### 对比分析法 对比分析法通过对不同方案的比较得出最优解。例如,在手写数字识别任务中,可以对比以下几种方法: - **传统机器学习方法**:如支持向量机(SVM)或 k 近邻算法(KNN)。 - **深度学习方法**:如多层感知机(MLP)、卷积神经网络(CNN)和循环神经网络(RNN)。 - **混合方法**:结合传统特征提取与深度学习的优势[^8]。 #### ### 可行性分析 可行性分析从技术、经济和时间三个方面评估项目的可行性: - **技术可行性**:现有硬件资源(如 GPU)和软件工具(如 TensorFlow)能够支持深度学习模型的训练和部署。 - **经济可行性**:考虑到计算资源的成本,可以通过云服务平台(如 Google Colab)降低开销。 - **时间可行性**:根据项目规模和团队能力,合理规划开发周期,确保按时完成[^9]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值