| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 旧版本YouTube之sequence_mask -> 正文阅读 |
|
[人工智能]旧版本YouTube之sequence_mask |
hi各位大佬好,我是小明哥,温故而知新,因此有些代码就是要常看,说不定会有意想不到的收获。本文是在旧版本YouTube的代码理解上进一步解析,查看sequence_mask的含义。尽管之前已经有了初步理解,但仍旧不够。 For Recommendation in Deep learning QQ Second Group 102948747 ?1-pad_sequences补零的方法 一般user点击序列为[1,2,3,4,5,6],按照先后顺序点击了6个,如果设置的是长度最大为10的seq,那么后面要补零操作,train_seqs=[1,2,3,4,5,0,0,0,0,0],target=[6],mask=[1,1,1,1,1,0,0,0,0,0],这是新版本所用的方法,然鹅旧版本是倒序的,train_seqs=[5,4,3,2,1,0,0,0,0,0],其他不变
这是两个例子,意思是越靠近现在的点击越重要。 2-mask理解,假设max_len=10
u_hist_len是用户点击的item个数,embedding_size是item embedding维度(假设为16) 到此,可以看出与之前的理解并无二致,只不过之前是取代了sequence_mask的作用,而是手动写出的mask 3-聚合方式 上述得到的mask与seq_input点乘得到序列embedding,然后除以点击item的个数u_hist_len
据此得到的item序列emb与user_emb拼接得到user_emb(初步),然后经过三层左右的dense得到最终的user_emb,这就是旧版YouTube的思想。 这个玩意之前ComiRec中也是同样的操作,事实说明是一样的。融会贯通只在一刹那!
5-获取user_emb向量 训练完成后,之前的新版YouTube及SRGNN,ComiRec等模型中,均是采用分批过模型的方式得到user_emb,这就比较Low了,而旧版YouTube则无需分批,直接由输入到输出,相当牛逼。 分析后发现,只是采用了下面的做法,输入和输出指定即可,这种看起来稍微高端点,哈哈
愿我们终有重逢之时,而你还记得我们曾经讨论的话题。【tf1结果】
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:37:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |