大语言模型在推荐系统的实践应用

本文从应用视角出发,尝试把大语言模型中的一些长处放在推荐系统中。

01

背景和问题

传统的推荐模型网络参数效果较小(不包括embedding参数),训练和推理的时间、空间开销较小,也能充分利用用户-物品的协同信号。但是它的缺陷是只能利用数据集内的知识,难以应用open domain 的知识,缺乏此类语义信息和深度推理的能力。

大语言模型从这几个角度来看,正好跟推荐模型有一定取长补短的能力。它能够引入外部知识,能够有跨域的能力,但是它没有推荐场景下所需要的协同信号,另外它的计算成本(不管是训练还是推理)都非常高。

本次报告会尝试解答推荐模型和大模型如何取长补短。具体分两个角度:

  • 在整个推荐流程中,可以在哪些地方运用大模型?

  • 如何运用大模型?

技术交流群

建了技术交流群!想要进交流群的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

方式①、添加微信号:mlc2060,备注:技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:技术交流

本文视角是将大模型引入传统的推荐流程来做一些辅助,当然以 LLM 作为backbone 也是另外一个非常值得探索的方向。本次报告中关于现有工作的调研分析也可以从我们的综述里找到:“How Can Recommender Systems Benefit from Large Language Models: A Survey”。

图片

02

何处运用大语言模型(Where)

首先来解答第一个问题,在推荐系统流程中的何处运用大语言模型。

图片

传统的推荐流程包括:数据采集,特征工程,特征编码,打分排序,还有整个的流程控制。上图中列出了近期(从2021年开始)的将大语言模型用于推荐系统相关工作。下面我会在每个流程中选择一个代表性工作进行介绍,让大家感受LLM在推荐流程中的作用。

图片

特征工程主要聚焦于三方面:一是用户画像,是对于用户侧的理解;第二是物品画像,是对于物品内容的理解;第三是样本的扩充。已经有不同工作用 LLM 来对它们进行增强。

图片

该工作(GENRE)在新闻推荐的场景下,用 LLM 构造了三个不同的prompts,分别来进行新闻摘要的改写,用户画像的构建,还有样本增强。

首先可以看到它把新闻的title, abstract 还有category 当作输入,然后要求大语言模型来生成一个摘要,把这个摘要当作这个新闻的 new feature输入下游。

然后是用户画像,根据用户过去观看过的新闻的标题,尝试去问大语言模型是否知道这个用户的一些感兴趣的topic,也就是用户的喜好和他所在的位置。

另外,因为有一些用户看过的新闻非常少,所以用大语言模型来做一些样本的扩充。这里是把用户看过的一些新闻的category,还有 title 输入到大语言模型里面去,希望大语言模型能够根据他看过的这些新闻,生成出来一些用户并没有看过,但可能感兴趣的“伪新闻”,然后把这些“伪”交互数据也当作训练集的一部分来进行训练。

实验表明这些手段都可以增强原始推荐的效果。

图片

第二部分是用语言模型来做特征编码,丰富语义信息。这里的语言模型其实都不大,类似于 Bert ,因为它要内嵌进推荐模型一起去训练和推理,在实时性要求比较高和海量训练样本的情况下,语言模型的大小不会大。这里就聚焦在两块,一是如何用语言模型来丰富用户特征的表征,二是如何用语言模型来丰富物品特征的表征。

图片

U-BERT这个工作是用语言模型做用户特征表示,把用户写过的 review 信息经过一个类似 Bert 的结构编码出来。这个用户的 encoder 里的另一块输入是用户原始的 ID embedding,加上当前推荐 domain 的 embedding 这两部分,与用户review信息的编码一起形成用户的个性化表征,然后送到下游的推荐任务里面去。

图片

UniSRec这个工作使用语言模型做物品特征表示,把物品的 title 描述通过类似 Bert 的结构编码之后,得到物品文本信息的编码。之后经过一个预训练阶段,通过构建两个对比学习任务,将用户-物品的序列信息加入到物品的文本表征中。

第一个对比任务是把所有的用户,在不同场景下的不同类型的历史行为(如浏览、点击、下载等),全部拼成一个很长的序列,然后在这个序列里面做类似于 next token prediction 的任务;另一个对比任务就是sequence to sequence 的对比任务,从一个 sequence 里面通过 mask 或者采样的方式采样出来多个sequences。如果两个 sequence 是从同一个原始 sequence 里构造出来的,就是一对正例,否则就是负例。

通过这种预训练的方式,把序列信息和文本信息 encode 到一起,到了下游某一个具体场景做推荐的时候,做进一步基于next item prediction的fine tuning。

打分和排序阶段可以分成以下三种不同的任务,第一种是直接给 item 来进行打分;第二种是物品生成任务,直接生成用户感兴趣的下一个物品或者物品列表;第三种混合任务,用多任务的方法来建模。

图片

这是一个发表在今年的 arxiv 上的工作,它是分别在三个不同的场景下直接用语言模型来进行打分,三个场景分别是 Zero shot、Few shot和微调。

图片

Zero shot 场景,构造的prompt包括用户的历史行为包括观看的电影名称,题材和历史打分。给出某一电影的名字和题材,询问大语言模型,用户会给这部电影打多少分。

Few shot跟 Zero shot 形式略有不同,但大体思想一样,只不过是给出了一些打分的例子,把这些question和answer的pair也注入到prompt中去。

第三个场景就是微调的场景,不仅把用户-电影的交互数据当作prompt的一部分,而且通过实际分数和预测分数的残差去更新模型。这个工作提出了利用多任务的架构,一边做回归任务,一边是做多分类的任务,然后这两个loss合并后更新模型。在实验里面看到微调的方法比 Zero shot 和Few shot 效果要好很多。

图片

下面一个工作是直接进行物品生成推荐。它把整个推荐任务拆成了两部分,第一部分是来做用户画像的生成,把用户所有看过的电影全部输入当作input,然后 output 是问这个用户喜欢什么类型的电影;第二部分把第一部分的用户画像当作 prompt 的一部分输进去,同时把历史交互过的电影和待推荐候选集也输入给大语言模型,用大语言模型来生成推荐列表。

图片

大家可以思考一下为什么要把看似是一体的推荐任务拆成两部分?其实一个原因是因为通过这种拆解能够把它认为推荐系统里面最重要的一部分提示大语言模型。用LLM进行一步到位的推荐效果很有可能是不好的,因此用比较直接的方式来提示大语言模型来分步进行。第一步把用户画像输出来,然后显式地输入到第二步的商品推荐的 prompt 里面去,这样可能会达到更好的效果。这也提供了一个LLM做推荐的思路,有点类似于思维链。做推荐不一定要一步到位,因为推荐的过程还是比较复杂的,可以用人为的经验来设计拆解成多步。

拆解成多步带来的弊端就是对大语言模型的请求量增加了,本来请求一次,现在变成请求两次,未来还可能请求多次。

图片

下一个工作是P5,其实跟 M6-Rec 相似,里面具体的技术细节不一样,但是想做的事情其实是一样的,用一个统一的大语言模型在不同的推荐任务上构造不同的prompt,然后用SFT 来进行不同下游任务的微调。

图片

谷歌提出的工作是把大语言模型当作一个流程进行对话式推荐的框架。核心组件在 Dialog manager 这里,用一个大语言模型来调用其他的模块,这里面可能有ranker,可能用一个LLM来构造一个 user simulator或其他用户画像的构建,其他的模块可以用大语言模型,也可不用大语言模型。它的工作就是构造了这样一个流程和框架,用大语言模型作为核心调度来解一个比较复杂的对话式推荐任务。

通过这一章节的介绍可以看到,大语言模型在推荐的各个阶段有一些工作,比如特征工程如何构造,如何丰富 user 和item 特征,构造数据;还有 feature encoding也可以用语言模型,虽然现阶段还没用到很大的语言模型强化表达;另外,在打分模块里可以用直接打分或者生成式来推荐,或者是一种混合式的任务;最后,还可以把大语言模型当做一个调度器来进行调度。

03

如何运用大语言模型(How)

接下来分享如何运用大语言模型。

图片

我们对现有基于语言模型的推荐工作进行了分类(数据截至6月底,后面会持续更新)。这里的x 轴表示在训练阶段大语言模型是否经过了微调,左侧是大语言模型不需要微调的工作,右侧是需要微调的。y 轴是推理阶段是否完全用大语言模型、抛弃了传统推荐模型。在y 轴的上半部分是依然需要推荐模型来进行辅助,下半部分是完全把推荐模型摒弃掉,用大语言模型来搞定推荐系统的推理。这里的颜色代表每篇 paper 里面对比的 baseline 是什么?颜色越冷,说明能够击败的 baseline 越弱。颜色越暖,说明能够击败的 baseline 越强。

图片

这里可以看到第三象限的颜色是比较冷的,第三象限是训练阶段LLM不微调、推理阶段不用推荐模型,把LLM当作API去调用,完全走 prompt 的路线,从模型的名字可以看出来有很多带有ChatGPT 或者 GPT 这种单词,它们的效果其实是有待提升的,效果要弱于其他三个象限的工作。X轴左侧的模型大小普遍是比较大的,左侧的工作中LLM是不微调而直接当作API来调用的,所以可以用一些比较大的模型来做,一旦涉及到大模型微调训练,因为资源的原因模型瞬间就小下去了。

从时间来看,第一象限实际上就是很多年前已经开始做的,用 Bert 来做一些 user 和item 的encoding。最近 ChatGPT 出来之后有很多的工作直接来探索怎么用 ChatGPT 来做推荐。一些探索性的工作直接从第一象限插到了第三象限,但是它的效果是有待提升的。之后出现了两个明显的趋势,其核心就是既然直接用大语言模型无法做好推荐,那就想办法把推荐的信号加进来。第一个趋势是大语言模型依然不微调,通过模型的方式来进行补救,加入了推荐模型,主要的工作在第二象限;另一个趋势是在第四象限,认为大语言模型单独可以做推荐,把推荐的信号加进去做微调。也许未来这两个路线又可以重新回归到第一个象限。这个图是尝试把现在 基于LLM的推荐模型 进行分类,后面也会持续更新该工作。当前survey比较偏应用视角,大家也可以关注下其它偏技术视角的工作。

图片

介绍两个本团队做的工作,也是比较初步的探索。上图的工作属于第二象限,用大语言模型做API,不微调大语言模型,最终的推荐还是由传统的推荐模型来做。一句话概括这个工作就是用大语言模型来加强用户画像和物品画像的生成。

推荐系统是由封闭的训练集训练得到,相当于在一个小房子里;虽然多场景跨域推荐有一定迁移能力,但是还是相当于封闭在一个别墅中的多个小房子里。我们依然需要一条路来联通这栋别墅和外界。而大语言模型具有比较强的推理能力和对于世界知识的建模能力,非常适合当作联通小别墅和外部世界的路,这条路在这个工作里就是来做用户画像和物品画像。但如果直接用大语言模型,不加任何引导还是有问题的,因为用户的偏好比较复杂且多面,这个世界的知识也是海量的。对于一些数据集,用户 feature 和物品 feature 不那么丰富的时候,语言模型可以补充很多信息,但依然会带来很多噪音。

举例来说,之前介绍过做用户画像的工作生成的两个 feature :一是用户的兴趣;另一个是用户地域。如果我们要做电影推荐,用户兴趣是跟电影推荐相关的,但是用户地域信息可能跟这个任务没有多大关系,甚至有可能是噪音信息,那么对于这个 user feature 可能就没有必要生成。

图片

所以本团队提出来用LLM生成用户画像和物品画像,需要构造关键子因素,需要LLM来帮我们生成一些用户画像和物品画像要聚焦在在这些关键子因素上,不要偏离得太远。这个关键子因素是跟推荐场景相关的,对于电影推荐、商品推荐和视频推荐,关键子因素是不同的。

接下来的问题就变成了如何构造关键子因素。一是可以人工指定关键子因素,但我们也发现了另外一种比较自动的方法,就是去问大语言模型。比如一个电影推荐场景,能否告诉我 10 个最重要的影响推荐的因素是什么,feature 是什么,大语言模型可以告诉我是题材、演员、导演等等。换一个其它的推荐场景,大语言模型依然可以输出,人工再检查一遍,查漏补缺把关键的子因素定下来,然后把这些关键的子因素输回到下一步 user feature 和 item feature 的prompt 里面去。

把不同的 factor 输进去之后,prompt 就会引导大语言模型,不仅要扩展出我需要的信息,还要尽量focus 在现在需要的电影推荐场景。那么大语言模型的输出就会比较聚焦在这里。item也是同样的,通过问问题,比如告诉我用户的兴趣是什么。这个问题是很 general 的,把这个问题分解到多个关键子因素上去,使得回答能够更加聚焦在domain specific 的关键子问题上面。

第一步先构造这些关键子因素,并将它们加入构造用户画像和物品画像的prompt中,输入大语言模型,得到一些用户和物品的画像信息,输出到 knowledge encoder 里面去,这里可以用一些相对不那么大的模型去进行encode, 得到关于用户和物品的语义表达。最终希望把这两个表达当作两组额外的 feature 加到传统的推荐模型里来,这个传统的推荐模型可以是任意的模型。

图片

从工业视角出发,我们觉得这是一个可上线的方案。因为第一阶段可以放在离线来生成,可以把用户的长期行为输入LLM生成用户画像,这个过程比较耗时、耗资源,可以一周跑一次,看团队的资源情况。将生成的用户画像和物品画像的文本存在内存数据库中。甚至,我们可以将Reasoning Augmented Vector和Fact Augmented Vector存下来,就更节省计算资源,这两个向量输入后端的推荐模型。这个工作已经公开在ArXiv上,该版本里我们只做了一个公开数据集的实验,现在也在做更多的数据集来进行下一个版本的补充。可以看到这个用户画像和物品画像的生成过程作为一个通用模块,可以作用在很多不同的 backbone 上,加入了k AR 模块之后, AUC 和LogLoss的提升还是非常明显的。

对于可落地性,基于大语言模型推理生成可以放到离线来做,如果将LLM当作API去调用,花费时间较多,但是如果将LLM生成的用户画像和物品画像经过编码之后的向量存入数据库中,并在推理的适合实时去取,时间复杂度会大大降低。我们也和其它一些预训练模型进行了比较,我们的效果也是比较好的。

我们还做了一组ablation study,同时对用户和物品进行特征增强,或者只做其中一边,baseline 是完全不做,可以看到呈阶梯式的上升。如果用户画像和物品画像只能做一个,那么增强用户侧特征的效果好于物品侧,两侧都做的效果最好。

总结一下这项工作,把大语言模型当作用户画像和商品画像的补充,但是如果向LLM问比较general、naïve的问题,效果并不好,而是需要构造一些关键子因素,让补充出来的文本更加适配当前的推荐场景。生成的文本信息经过text encoder转化成向量,然后再经过 knowledge Adapter,将刚才生成的向量从语义空间映射到推荐空间。

图片

第二个工作叫CTRL,位于第一个象限。用语言模型和推荐模型协同,并在训练阶段也会去微调语言模型。现阶段语言模型并不是很大,我们现在也在尝试用更大的语言模型。

图片

这里把推荐系统的信息看作两个模态,第一个是表格模态或者协同模态(传统的推荐模型聚焦于这个模态),第二个是本文模态(大语言模型聚焦于这个模态),这两个模态可以用对齐方进行模态对齐,提升效果。首先我们把通过构造不同的prompt来将协同模态数据转化为本文数据模态。比如一条样本是:一个年龄为 18 岁的女性,是一名医生,过去看过某些电影,然后判断另外一部电影她是否会观看。把这样一个推荐问题转化成一个文本描述,将协同模态和文本模态输入到两个不同的模型里面去,一个是传统的推荐模型,另外一个是文本模型(我们用BERT、ChatGLM进行尝试)。把文本信息输进去之后,通过一个语言模型encoder将训练样本的文本编码成向量,然后通过细粒度对比学习的方法将两个模态编码的信息进行对比。期望通过这种方式把预训练语言模型里的一些世界知识和语义信息,传递到协同过滤模型里的 embedding 里面去。

图片

进行对比学习后,我们进入下一阶段,单独用协同模型,在一个特定的场景下做SFT,这样协同模型中embedding 里面已经有了一些语义信息,再把这些推荐的信号加进去,期望能够取得一个比较好的效果。

图片

我们在三个不同的数据集上做了实验,包括MovieLens、Amazon,还有阿里巴巴。两组对比的baseline模型,一个是完全用协同模型,一个完全用语义模型。我们的模型精度比这两组baseline都有比较明显的提升。另一方面,由于我们在推理的时候只用协同模型,因此推理时延并不增加。我们在华为的一个工业数据集上进行了离线实验,也得到一个比较好的效果,现在正在做一些线上的部署。

04

挑战和展望

最后来看一下工业应用场景下的挑战,以及对未来工作的展望。

图片

第一个大的挑战是训练效率。可能的解决方案是一些参数的高效微调,以及降低更新频率(利用推荐的协同模型来提升实时性)。

第二个问题是推理时延过高,也正是因为这个原因,前面介绍的两个工作没有在推理阶段引入LLM,而是把它的一部分结果进行预存,或者是用类似于蒸馏或者对比的方法,避免在推理阶段引入LLM。也可以用量化、蒸馏的方法来进行模型小型化部署。另外,可以避免把它用来做排序或者打分,仅作为特征工程或编码,避免直接在线上做模型推理。

第三个挑战是推荐领域的长文本建模。现在的解决方案是前面接一个召回模型或者粗排模型,把候选集聚焦到只有 10 个、 20 个或者 100 个范围内,再送入LLM。未来也有可能处理更长的文本这样可以面向更大的候选集的直接排序或打分。

最后,在推荐系统里面ID 类的特征依然是非常重要的。现在对于语言模型来说, ID 类特征的建模实际上做得并不是很好。有一篇paper做了一个探索,根据语义信息把 物品进行聚类,然后根据语义聚类的结果进行重新编码,这是一个非常好的思路。

图片

回顾一下全文,从应用视角出发,以推荐系统为核心,分析了两个核心问题:整个推荐流程里面哪里可以用到大语言模型,大语言模型与推荐模型是如何配合的。

展望未来的发展,第一个趋势是LLM已经从传统的编码器和打分器在逐步外延,外延到特征工程、一些神经网络的设计,甚至是流程的控制。第二个趋势是纯用 LLM 不 微调从现在的实验结果来看效果不佳,如果要达到一个比较好的推荐效果,有两条路,一是微调大语言模型,另一个是用传统语言模型来进行融合。

未来大语言模型用在推荐里有如下几个可以发力的场景:

第一个就是冷启动和长尾问题;

第二个是引入外部知识,现在引入外部知识的手段还比较粗糙,就是把大语言模型拿来生成,其实纯用语言模型也没有很多外部知识。相反,语言模型也需要外部的知识,比如它需要集成一些检索能力,需要集成一些工具调用的能力。现在我们只用了基础的语言模型,并没有用它的检索和工具调用的能力。未来能够更加高效地、更加完备地引入更多的外部知识,通过检索或者工具的方式,也是提升推荐体验的一个方向。

第三个改善交互体验,让用户可以主动通过交互时界面自由地描述其需求,从而实现精准推荐。

05

Q&A

Q1:预训练 LLM 需要大规模语料,推荐系统的公开数据集可以支撑 LLM 的预训练吗?

A1:现在来看,训练 LLM 需要海量语料,公开数据集从量级来说不可能支撑 LLM 来进行预训练,比较实现的方案是基于一个已经预训练好的LLM,用公开数据集做第一阶段的SFT,之后可以基于我们自己的推荐场景来做第二阶段的SFT。

Q2:图与语言模型做推荐本质上区别是什么?

A2:图更多强调的是不同节点之间的结构,但是它对外部知识的利用还是不充分的。比如构造一个知识图谱,也是某一个垂域的知识图谱,不可能构造一个世界级别的知识图谱,但是语言模型在某种程度上可以把世界知识构建进来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

问题记录2 域名解析问题

上线部署时遇到内网域名解析问题: 内网域名为xxx.cn,在ip为yyy的服务器上,ping:xxx.cn 首先在服务器:yyy /etc/hosts查找缓存记录 cat /etc/hosts 127.0.0.1 VM-4-2-centos VM-4-2-centos 127.0.0.1 localhost.local…

使用UniApp实现视频数组自动下载与播放功能:一步步指导

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

类加载的过程总结以及双亲委派模型[JVM]

类加载过程 类一共有七个生命周期:加载->验证->准备->解析->初始化->使用->卸载 加载(加载字节码文件,生成.class对象) 加载是类加载的第一个阶段。 加载阶段的任务是在类文件从磁盘加载到内存中,通常是从cl…

Aroid问题笔记 - ViewPager嵌套RecyclerView,降低ViewPager灵敏度

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

【网络协议】聊聊DHCP和PXE 工作原理

DHCP 动态主机配置协议 对于每个主机来说,只要连接了网络,那么就会配置一个IP地址,那么这个IP地址,如果是手动配置的话,对于公司内部的人员来说都要找IT进行配置,这个太浪费人力物力了,所以解决…

React18入门(第四篇)——React中的4种CSS使用方式,CSS Module、CSS-in-Js详解

文章目录 一、普通方式使用CSS1.1 元素内联 style1.2 引入 CSS 文件1.3 类名插件 -- Classnames1.4 注意事项 二、CSS Module2.1 普通 CSS 的问题2.2 CSS Module 的特点2.3 简单使用 三、使用 sass3.1 sass 简介3.2 使用 四、CSS-in-JS4.1 CSS-in-JS 简介4.2 CSS-in-JS 常用工具…

【JVM】对象内存布局

对象内存布局 文章目录 对象内存布局1. 对象的内存布局2. 对象标记(Mark Word)3. 类元信息(类型指针)4. 实例数据和对象填充 1. 对象的内存布局 在Hotspot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data…

SpringBoot面试题5:SpringBoot Starter的工作原理是什么?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot Starter的工作原理是什么? Spring Boot Starter 是一种便捷的方式来为 Spring Boot 应用程序引入一组特定功能的依赖项。它简化了项目…

Kotlin注释

一、设置注释样式 按需配置 二、单行多行注释 fun main() {// 单行注释println("单行注释") //单行注释/** 多行注释* */println("多行注释") }

ELK + Filebeat 分布式日志管理平台部署

ELK Filebeat 分布式日志管理平台部署 1、前言1.1日志分析的作用1.2需要收集的日志1.3完整日志系统的基本特征 2、ELK概述2.1ELK简介2.2为什么要用ELK?2.3ELK的组件 3、ELK组件详解3.1Logstash3.1.1简介3.1.2Logstash命令常用选项3.1.3Logstash 的输入和输出流3.1.4Logstash配…

密码学三 btc 钱包 节点 挖矿 51%攻击 双花攻击

03-BTC-数据结构_哔哩哔哩_bilibili 哈希指针并解释 比特币的每个区块都包含一个区块头和区块体两部分。 在区块头中,有一个字段是用于存储前一个区块的哈希值,我们把这个存储前一个区块哈希值的字段称为“哈希指针”。 这个哈希指针的作用是将本区块指向前一个区块,连接起整…

CentOS有IP地址,连接不上Xshell或使用Xshell时突然断开

问题原因:未在电脑主机的网络中进行IP地址配置 解决办法: 1.打开控制面板,选择‘网络与共享中心’ 2.选择“更改适配器设置” 3.右键点击以太网3“属性” 4.选择协议版本4,点击属性 5.IP地址填写CentOS的IP地址:192.…

Epoch、批量大小、迭代次数

梯度下降 它是 机器学习中使用的迭代 优化算法,用于找到最佳结果(曲线的最小值)。 坡度 是指 斜坡的倾斜度或倾斜度 梯度下降有一个称为 学习率的参数。 正如您在上图(左)中看到的,最初步长较大&#…

SpringBoot基础详解

目录 SpringBoot自动配置 基于条件的自动配置 调整自动配置的顺序 纷杂的SpringBoot Starter 手写简单spring-boot-starter示例 SpringBoot自动配置 用一句话说自动配置:EnableAutoConfiguration借助SpringFactoriesLoader将标准了Configuration的JavaConfig类…

微信小程序中如何使用fontawesome6的免费图标

一、官网下载fontawesome6 Download Font Awesome Free or Pro | Font Awesome 二、使用transfer编码成Base64 transfer打开官网:Online font-face generator — Transfonter 首先先把刚刚下载的fontawesome6解压,将文件夹中的字体上传(点…

java入参为对象的(非基本数据类型int/float等)修改属性会影响原始对象

ApiOperation("登录接口")RequestMapping(value "/login", method RequestMethod.POST)public Result<JSONObject> login(RequestBody SysLoginModel sysLoginModel){Result<JSONObject> result new Result<JSONObject>();// by wang…

禁用和开启笔记本电脑的键盘功能,最快的方式

笔记本键盘通常较小&#xff0c;按键很不方便&#xff0c;当我们外接了键盘时就不需要再使用自带的键盘了&#xff0c;而且午睡的时候&#xff0c;总是担心碰到笔记本的键盘&#xff0c;可能会删掉我们的代码什么的&#xff0c;所以就想着怎么禁用掉&#xff0c;下面是操作步骤…

面向切面:AOP

文章目录 简介相关术语①横切关注点②通知&#xff08;增强&#xff09;③切面④目标⑤代理⑥连接点⑦切入点 场景模拟代理模式静态代理动态代理 基于注解的AOP&#xff08;重点&#xff09;准备工作各种通知切入点表达式语法重用切入点表达式获取通知的相关信息 环绕通知 切面…

分类算法-逻辑回归与二分类

1、逻辑回归的应用场景 广告点击率是否为垃圾邮件是否患病金融诈骗虚假账号 看到上面的例子&#xff0c;我们可以发现其中的特点&#xff0c;那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器。 2、 逻辑回归的原理 2.1 输入 逻辑回归的输入就是一个线性…

HarmonyOS/OpenHarmony原生应用开发-华为Serverless服务支持情况(四)

文档中的TS作者认为就是ArkTS之意。 一、云存储 AppGallery Connect&#xff08;简称AGC&#xff09;云存储是一种可伸缩、免维护的云端存储服务&#xff0c;可用于存储图片、音频、视频或其他由用户生成的内容。借助云存储服务&#xff0c;您可以无需关心存储服务器的开发、…