CIKM 2021 | 淘宝多场景推荐排序模型ZEUS

2024-03-17 03:08

本文主要是介绍CIKM 2021 | 淘宝多场景推荐排序模型ZEUS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

aba6aeb5579e35613a2dc46ff8aa0fd7.gif

本文介绍大搜索算法团队发表于CIKM 2021 的论文 Self-Supervised Learning on Users' Spontaneous Behaviors for Multi-Scenario Ranking in E-commerce。论文中提出了多场景推荐排序模型ZEUS (Zoo of ranking modEls for mUltiple Scenarios),基于用户主动行为预训练,解决推荐反馈闭环、小场景和新场景训练数据不足、多场景排序模型联合学习等问题,在电商搜索多个推荐场景将CTR、CVR、GMV平均提升了6.0%、9.7%、11.7%。

9dd4c37835d80aa9aa7be33d43322e84.png

背景

  电商搜索导购与增长

搜索作为电商主要的成交场景,在电商大盘成交增长中发挥着重要的主引擎作用。搜索导购与用户增长,通过下拉推荐、Query推荐等方式为用户推荐query,对提升搜索用户搜索心智、搜索体验、搜索的增长(UV、成交、GMV等)等具有重要的长期价值。

电商搜索主要来源包括两种形式:用户主动输入(即用户在搜索框主动输入query,通过下拉推荐辅助输入)、Query推荐(即用户点击在搜索框中推荐的query)。其中Query推荐占比超过20%。

主动输入,是用户有搜索意图时的主动行为,是由用户本身的需求决定的,系统很难影响到。Query推荐是在用户没有任何输入时精准地推荐query,吸引用户进入搜索。

因此电商搜索增长的主要方法是通过通过优化Query推荐排序模型的效率,提升Query推荐来源的搜索UV。具体实现的方式是:在多个场景中,通过Query推荐在搜索框中或搜索框下自动显示一个或多个推荐的query,吸引用户点击query进入搜索结果页,进而产生点击、购买宝贝的行为。

  电商搜索多场景Query推荐

电商搜索全域多场景Query推荐,包括首页底纹、搜索发现、频道页搜索发现、大促会场、联盟APP、特价版等多个场景。其中频道主要包括聚划算、百亿补贴、红包等。

例如,如下图所示:Scenario 1为底纹场景,用户进入APP后,首页搜索框默认推荐出query;Scenario 2为频道页搜索发现,用户进入频道页,点击搜索框时,会自动显示多个推荐的query,引导用户点击;Scenario 3为联盟APP场景,比如用户从其他APP(例如抖音)点击链接进入电商APP后,我们会在合适的时机推荐一个query,进入搜索页面;Scenario 4为特价版场景。

aeacb80c3664048a48c74058acaf329d.png

我们的工作是提出多场景Query推荐排序模型ZEUS(Zoo of ranking modEls for mUltiple Scenarios),同时提升多场景Query推荐的效率(例如搜索UV,购买UV,GMV等)。

  多场景Query推荐排序模型的挑战

多场景Query推荐排序,面临的主要问题包括:

  1. 反馈闭环问题。搜索推荐广告中的排序模型,一般基于用户的隐式反馈 (implicit feedback)来训练: 模型上线后,推荐给用户多个item,然后用户会有点击或不点击这些item的反馈行为。通常我们将点击item作为正样本、未点击item作为负样本,来训练新的模型上线。这种偏向效率的训练方式,会导致排序系统展示出来的item通常具有高频的特点,很多长尾的item没有曝光的机会,马太效应严重,不利于生态的长期健康成长。

  2. 小场景和新场景训练数据不足。多个Query推荐场景中,很多场景属于小场景(例如频道页)、新场景(例如双11互动城活动),这些场景训练数据比较少,而排序模型参数量通常为千万级或亿级,直接用单个场景反馈数据训练,会导致过拟合问题,学习的模型效率较低。

  3. 多个场景联合学习。能否同时利用多个场景的数据,建模多个场景的共同点、不同点,提升多场景排序模型的效率呢?

为了解决这些问题,我们提出了ZEUS模型,借鉴Self-supervised Learning的思想,通过Pre-training预训练,实现打破反馈闭环、提升多个场景的Query推荐效率。

相关工作

  排序模型

深度学习排序模型DIN [1]、DIEN [2]、DMT [3]等,分别通过用attention, RNN, Transformer建模用户近期行为序列,取得了state-of-the-art的效果。例如,在淘宝搜索推荐商品排序中,采用Transformer建模用户行为序列,取得了很好的线上效果。

更多关于搜索推荐广告排序的模型介绍,请关注github:Awesome-Deep-Learning-Papers-for-Search-Recommendation-Advertising。

  多场景排序模型

阿里巴巴AliExpress多场景搜索模型HMoE [4] ,阿里巴巴AliExpress多场景推荐模型SAML [5],阿里妈妈多场景广告排序模型STAR [6] ,这些优秀的工作关注于多个场景联合学习,能够通过建模多个场景的相同点、不同点,来优化多场景排序模型。这些方法基于多个场景的隐式反馈数据,我们的方法主要关注于如何借助用户主动行为数据进行预训练,来改进多场景排序模型的效率,和这些方法是正交互补的。

  Query推荐

淘宝搜索Query推荐模型,2018年从GBDT升级到MEIRec [7],2019年升级到FINN [8] 模型。

Query推荐和下拉推荐(Query Suggestion)不同,因为:下拉推荐需要用户先输入query前缀并且推荐出的query要满足前缀匹配,更像一个搜索问题;Query推荐是一个纯推荐问题,对推荐出的query没有额外要求。

  自监督学习

Self-supervised Learning在NLP、CV领域取得了state-of-the-art的效果。例如NLP中,BERT [9] 和GPT [10]通过在海量无监督文本中预训练,在下游任务中取得了很好的效果;在CV中,SimSiam [11] 等自监督学习方法同样取得了很好的效果。基本思想是从海量无监督数据中,设计构造出监督任务,预训练模型,来改进后续监督任务的效果。

更多自监督学习的介绍,请关注微信公众号或知乎专栏“搜索推荐广告排序艺术”文章 自监督学习:人工智能的未来,github Awesome-Self-supervised-Learning-papers。

多场景Query推荐排序模型ZEUS

  思想

如下图右侧所示,已有的排序模型方法,利用implicit feedback反馈数据来训练排序模型 (Sequential Interest Model),输入的特征主要包括用户近期的行为序列。

自监督学习的核心思想,是从输入的一部分去预测剩余的部分。例如BERT在预训练阶段:通过Masked LM任务,从mask后的句子预测缺失的单词,预测被mask的单词;通过Next Sentence Prediction (NSP) 任务,预测是否是下一个句子。GPT基于language model预测下一个token。CV中预测图像被mask掉的部分,或预测图像旋转角度等。

将自监督学习应用到排序,自然的方法是,采取Pre-training和Fine-tuning两个阶段的方式,这两个阶段,都使用Sequential Interest Model来建模用户的行为序列。

在Pre-training阶段,如下图左侧所示,基于排序模型的输入(即用户行为序列),学习用一部分取预测剩余的部分,来完成对排序模型的预训练。我们设计的预训练任务是,类似GPT,基于用户历史行为,预测下一个用户主动输入的query,因为用户主动输入的query正是Query推荐排序模型理想的结果。例如在下图中,当用户在p1, q2, p3有行为后,分别预测用户接下来会主动输入q1, q3, qt。

在Fine-tuning阶段,如下图右侧所示,基于多场景Query推荐的implicit feedback反馈数据来fine-tune排序模型,得到多个场景的排序模型。例如在下图中,在用户在p2, q3有行为后,分别预测用户接下来会主动搜索q2, q4。

402dbe7af655f7c011eaf4d00ed51a53.png

  Sequential Interest Model

在排序模型Sequential Interest Model中,输入包括用户画像, 用户的搜索query序列、点击商品序列,待排序query,线上原有模型(GBDT, FINN)使用的dense特征, 场景特征(场景名称等)。

对于序列建模,我们采取了stage-of-the-art的排序模型DMT中的方法,利用多个Transformer分别建模用户的搜索query序列、点击商品序列。对于每个行为序列,基于Transformer的Encoder的self-attention对序列建模,建模行为间的关联关系,然后再利用Decoder和待排序的query进行target attention,得到用户行为序列的兴趣向量。我们尝试了额外加入其他的序列,例如加购序列、购买序列,但是没有显著额外增益,因为这些行为相对比较稀少。

用户行为序列的兴趣向量和其他向量拼接后,通过MLP,预测出待排序query的CTR。

0ab238933e655351409a4a886e66b81e.png

  Pre-training

在预训练阶段,借鉴BERT和GPT的思想,我们提出Next-Query Prediction (NQP)任务,来预训练排序模型Sequential Interest Model。

  • Next-Query Prediction (NQP) 任务

类似GPT,基于用户历史行为,预测下一个用户主动输入的query。


  • 损失函数

在BERT和GPT中,采用softmax函数来计算要预测的token的概率分布,然后基于cross entropy计算损失函数,但是这种方式对搜索推荐广告排序并不适用。因为BERT和GPT中的token的词表大小仅分别有30,000和40,000,但搜索推荐广告要预测下一个item (query或商品)的词表大小通常是千万级或亿级。例如,在Query推荐场景,query的词表有2亿。

借鉴Contrastive Predicting Coding (CPC) [12] 的思想,可以采样一些负样本,基于InfoNCE loss来进行优化:

03537494d6d5091a3d092dccada24c93.png

论文[14]指出InfoNCE loss可以用交叉熵损失函数来近似,我们实验中也发现了这种近似方法的有效性。

Hard Negative样本:简单地随机采样,会使得负样本过于简单,因此我们采样用户主动搜索query时曝光给用户但用户未点击的query作为hard negative examples。例如,用户在主动输入query时,下拉推荐会展示一些query给用户,我们把这些样本作为负样本。

  • 讨论

我们采取的方法,和BERT和GPT对比,主要区别如下:

  1. 我们的模型和BERT、GPT参数量规模都是亿级,但我们的参数主要是embedding,BERT和GPT的参数量主要在超过12层的Transformer。因此BERT和GPT延迟会很高,无法直接应用到排序模型,而我们的模型线只有一层Transformer,线上排序仅需要25ms。

  2. BERT和GPT需要输入数据组织成一个序列,而在排序模型中还有非序列的特征数据,例如用户画像、dense特征等。

  3. BERT仅使用Transformer的encoder, GPT仅使用Transformer的decoder,而我们的模型同时使用了encoder和decoder,可以更好地建模历史行为序列和要预测的item的关系、建模多兴趣。

我们也尝试了CV中的Simsiam [11],在预训练阶段,加入额外的对比损失函数,但是没有带来额外增益。

  Fine-tuning

在Fine-tuning阶段,可以将每个场景的排序模型学习看成BERT里的一种下游任务,直接用每个场景的隐式反馈数据fine-tuning,得到每个场景的排序模型。我们实验发现:在每个场景的隐式反馈数据fine-tuning之前,先使用所有场景的隐式反馈数据一起fine-tuning (即Multi-Scenario Fine-tuning),能取得更好的效果。

Fine-tuning阶段的具体操作如下:

加载预训练的排序模型后:

首先,同时使用多个Query推荐场景的implicit feeedback数据进行fine-tuning,来建模多个场景的共性,得到一个task-aware的排序模型,这个排序模型可以直接用到训练数据少的新场景或小场景。这个Multi-Scenario Fine-tuning的过程,也可以看成是基于多个场景Query推荐的反馈数据做任务导向的预训练。

然后,使用每个Query推荐场景的implicit feeedback数据对task-aware的排序模型继续fine-tuning,来建模每个场景的特点,得到每个场景的排序模型。

需要说明的是,由于预训练阶段没有dense features和scenario features,因此Prediction Layer的输入维度不同,所以Prediction Layer的参数没有共享,两个阶段共享的是embedding layer和Transformer序列模型的部分。这样可以共享底层表示和序列建模部分。

我们实验发现fine-tuning阶段固定住query和item embedding时,效果最好,因为这两个embedding参数量为亿级,训练数据不充分时容易过拟合。

因此,多个场景的Query推荐模型,使用这些共享的embedding参数以及联合训练来建模多个场景的共性,同时使用其他不同的参数来建模多个场景的不同点。


3d6367f1a68b1031015e47733613bb14.png

  系统架构

线上系统的架构如下图所示,在用户进入电商某个Query推荐场景时,客户端会将用户、场景信息传送到多场景Query推荐服务器 (通过DII实现),然后调用召回模块(例如基于用户点击商品、搜索query分别进行i2q, q2q召回),得到几百个query,再调用RTP模块对这些召回的query进行打分,RTP找到这个场景的排序模型进行打分,然后将得分高的query返回给客户端。

在实际部署时,多个场景的Query推荐模型部署到同一台物理机上,它们共享内存中加载的内容表(包括query和商品画像信息)。

dd84d9376e51de03506c70f407879757.png

离线实验

  Dataset

线上我们收集了Query推荐模型在场景1(底纹),场景2(搜索发现),场景3(联盟APP)一个月的训练数据。同时,收集了用户主动在搜索框输入query的数据。统计数据如下表所示。

e932852bdd8c0dc8e2e2a2f2219881fb.png

  Baselines

Baseline选取了搜索线上Query推荐用的GBDT、FINN,以及Youtube DNN,DMT模型。

  实验结果

  • 和Baselines对比

和Baselines对比结果如下表所示,可以看出:ZEUS比其他方法,都取得了明显的提升。其中ZEUS和DMT的区别在于,是否加入了Pre-training,从中可以看出:预训练对于效果提升有非常重要的作用。

a8c0e64a995a3956963489ecc9ec1aa2.png

  • Ablation Study

行为序列类型

不同行为序列的影响如下表所示,可以看出:单独的搜索query序列、商品点击序列都有明显的作用,两种序列行为联合起来使用能取得更好的效果。

1810c707d1e39bdee989abc72e79576c.png

预训练

我们分析了是否使用预训练 (下表第二列)对模型效果的影响,如下表所示。可以看出:使用预训练能显著能提升模型的效果。

62087fca91036e74910973e563352afb.png

Multi-Scenario Fine-tuning

我们分析了在Fine-tuning阶段是否使用Multi-Scenario Fine-tuning(即在Fine-tuning阶段先使用Multi-Scenario的数据Fine-tuning) (上表第三列),对模型效果的影响,如上表所示。可以看出:使用Multi-Scenario Fine-tuning,建模多个场景的共性,能提升模型在各场景的效果。

Scenario-specific Fine-tuning

我们分析了在Fine-tuning阶段是否使用每个场景的数据分别fine-tuning (即Scenario-specific Fine-tuning), 实验结果显示:使用Scenario-specific Fine-tuning, 在底纹、搜索发现、联盟APP场景,离线AUC的绝对数值分别提升0.4%,0.6%,0.7%。这说明,使用Scenario-specific Fine-tuning,建模各个场景的特点,能提升模型在各场景的效果。

线上效果

  多场景线上效果

ZEUS模型在多个场景的线上效果如下表所示,其中Scenario 1为底纹,Scenario 2为搜索发现,Scenario 3为联盟APP,Scenario 4为特价版。其中对于特价版这个新场景,我们没有使用训练数据,直接使用了其他多个Query推荐场景的反馈数据联合Fine-tuning得到的模型。UCTR指query的点击率。

从表中可以看出:对于大、中、小、新场景,ZEUS模型都能取得比原有线上大流量模型FINN更好的效果。例如对于底纹场景,FINN比GBDT提升了+1.9%,没有预训练的DMT比FINN提升了+3.6%,ZEUS模型比FINN的UCTR提升了+16.6%。

线上效果说明了预训练能够提升多个场景的Query推荐效率。

300d55ef017371747630b089b1816f20.png

  打破推荐闭环

我们分析了在每个场景,不同模型一个月内给所有用户推荐出的唯一query的个数,如下表所示,可以看出:加入预训练,可以显著提升推荐出的query个数,打破推荐闭环。

b10f583757390693c4dbf840b9f7d69d.png

  Case Study

线上随机采样底纹场景的一个实例,如下图所示。

ZEUS模型根据用户的搜索query序列和点击商品序列,推荐出query "欧式针织毛衣"。

其中搜索query序列中“法式毛衣”和“针织毛衣”和推荐出的query相似度比较高,它们的attention分数也显著高;用户点击宝贝序列中,“针织裙子”和“欧式长款毛衣”和推荐出的query相似度比较高,它们的attention分数也显著高。

模型综合考虑用户的搜索query序列和点击商品序列,得出用户的主要兴趣是“毛衣”,同时她对“法式”,“欧式”,“针织”风格感兴趣,因此推出了query"欧式针织毛衣"。

可以看出,ZEUS模型有很好的推荐效果和对推荐结果的解释能力。

d6d9f2b1e346f05950145f95806ab9ad.png

未来展望

未来主要的优化方向有:

  1. 预训练:目前我们只是采用了简单的Next-Query Prediction任务来进行预训练。未来可以进一步设计新的预训练任务、对比损失函数,来进一步提升预训练效果。

  2. 多场景联合学习:如何更好地利用多个场景的反馈数据,建模多个场景的相同点、不同点,值得更深入的研究和尝试。

  3. 多目标优化:目前我们主要考虑优化推荐query的CTR,更好地实现query点击、引导商品点击、引导商品购买、GMV等多个目标优化,也值得进一步深入研究。

参考文献

[1] Zhou, Guorui, Xiaoqiang Zhu, Chenru Song, Ying Fan, Han Zhu, Xiao Ma, Yanghui Yan, Junqi Jin, Han Li, and Kun Gai. "Deep interest network for click-through rate prediction." In KDD'18.

[2] Zhou, Guorui, Na Mou, Ying Fan, Qi Pi, Weijie Bian, Chang Zhou, Xiaoqiang Zhu, and Kun Gai. "Deep interest evolution network for click-through rate prediction." In AAAI'19.

[3] Gu, Yulong, Zhuoye Ding, Shuaiqiang Wang, Lixin Zou, Yiding Liu, and Dawei Yin. "Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender Systems." In CIKM'20.

[4] Li, Pengcheng, Runze Li, Qing Da, An-Xiang Zeng, and Lijun Zhang. "Improving Multi-Scenario Learning to Rank in E-commerce by Exploiting Task Relationships in the Label Space." In CIKM'20.

[5] Chen, Yuting, Yanshi Wang, Yabo Ni, An-Xiang Zeng, and Lanfen Lin. "Scenario-aware and Mutual-based approach for Multi-scenario Recommendation in E-Commerce." arXiv preprint arXiv:2012.08952 (2020).

[6] Sheng, Xiang-Rong, Liqin Zhao, Guorui Zhou, Xinyao Ding, Qiang Luo, Siran Yang, Jingshan Lv, Chi Zhang, and Xiaoqiang Zhu. "One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction." In CIKM'21.

[7] Fan, Shaohua, Junxiong Zhu, Xiaotian Han, Chuan Shi, Linmei Hu, Biyu Ma, and Yongliang Li. "Metapath-guided heterogeneous graph neural network for intent recommendation." In KDD'19.

[8] Yang, Yatao, Biyu Ma, Jun Tan, Hongbo Deng, Haikuan Huang, and Zibin Zheng. FINN: Feedback Interactive Neural Network for Intent Recommendation. In WWW’21.

[9] Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018).

[10] Radford, Alec, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. "Improving language understanding by generative pre-training." (2018).

[11] Chen, Xinlei, and Kaiming He. "Exploring Simple Siamese Representation Learning." arXiv preprint arXiv:2011.10566 (2020).

[12] Oord, Aaron van den, Yazhe Li, and Oriol Vinyals. "Representation learning with contrastive predictive coding." arXiv preprint arXiv:1807.03748 (2018).

[13] Mikolov, Tomas, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. "Distributed representations of words and phrases and their compositionality." arXiv preprint arXiv:1310.4546 (2013).

[14] Kun Zhou,Hui Wang,Wayne Xin Zhao,Yutao Zhu,Sirui Wang,Fuzheng Zhang, Zhongyuan Wang, and Ji-Rong Wen. 2020. S3-rec: Self-supervised learning for sequential recommendation with mutual information maximization. In CIKM’20.

团队介绍

大淘宝大搜索算法团队,负责淘宝天猫搜索排序模型 (CTR/CVR)、排序机制、召回、相关性、用户增长和导购、知识图谱、图像搜索、视频直播搜索、商家风控等业务。

欢迎对我们团队感兴趣的人才,联系jingyao.gyl#alibaba-inc.com(发送邮件时,请把#改为@)。

✿  拓展阅读

c205ee392d769cd82e4c1c041a4f7f3f.png

f6a7bed205da7a597a9724fa5e352e2e.png

作者|靖尧

编辑|橙子君

出品|阿里巴巴新零售淘系技术

f0a5e8a58528efc163415136ad0b0abe.png

a6331dcd59748decb741a20ac3b28d8f.png

这篇关于CIKM 2021 | 淘宝多场景推荐排序模型ZEUS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817612

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}