工程师如何解决穿衣搭配烦恼?——滴搭平台与算法

摘要: 阿里工程师们推出了一个滴搭平台,基于千万时尚达人的优质搭配,已经学习出了一套比较成熟的算法,帮你找到最合适的穿搭。不信?下面一起来深入了解“滴搭”背后的算法。

作为一名工程师,每天与代码打交道,往往没有时间注意自己的打扮。试想,如果身边出现一位有品味的搭配高手,为你量身打造形象,岂不美哉?

如今,阿里工程师们推出了一个滴搭平台,基于千万时尚达人的优质搭配,已经学习出了一套比较成熟的算法,帮你找到最合适的穿搭。不信?下面一起来深入了解“滴搭”背后的算法。

 

image

自从去年“鹿班”AI设计师完成了1秒8000张海报的壮举,团队的小伙伴们开始思考如何让海报变得更加美观丰富。其中一部分同学尝试用AI产出更加丰富的图文内容,成为陈列师、内容运营的好帮手,这部分工作,取名“滴搭”。

滴搭,是图文算法平台化运维的一次大胆尝试和稳定落地。它以深度学习网络为基础,以开放式的生产平台为载体,赋能运营、赋能达人,支撑以多商品搭配形式为主的图文内容生产。从2017年2月开始,滴搭的算法技术陆续在淘宝、天猫的多个业务上落地,横跨多个行业,并在大促中承担使命;辅助数万名达人生产搭配几千万套,覆盖商品数百万,服务商家数十万。

滴搭在三个方面做出了贡献:

  1. 内容化生产:以深度学习网络为基础,广泛收集商品信息、用户信息、运营知识作为输入,协助内容生产,生成质量和达人相当。图文算法应用到多个行业的多个业务中。
  2. 平台赋能:算法和工程结合,运营可在滴搭平台选品、生成搭配、个性化投放,一站式管理。
  3. 效率提升:全站达人日均生产几千套搭配,算法小时生产百万套搭配,生成效率数量级提升。算法搭配扩充了投放总池子,使得个性化效果得到提升。

下面,我们来详细地介绍滴搭平台。

一、滴搭平台简介

滴搭是运营前台、算法平台、合图平台、个性化投放等等多个平台和算法的统一称谓。

运营在前台做完选品,经过深度图像处理和搭配算法,学习出可搭配商品的特征表示。当一件或多件商品作为触发请求搭配时,可以从百万级的商品库中找出与之可搭配的、符合一定运营规则的其它商品,并根据触发商品和产出商品的信息,生成描述性标题。最后经过智能排版技术,合成符合视觉审美的展现形式。生成好的搭配经过推荐算法,个性化地投放给用户。以下为滴搭后台的部分效果展示:

 

image

滴搭平台经历了几次较大的算法改版,现在基于淘内的优质搭配已经学习出了一套比较成熟的算法。除了保证一套搭配中的个体风格、颜色、配饰等等做到贴合,滴搭还吸取了运营、达人的经验,严格按照成套规则进行产出,例如在服饰领域,上衣+下衣是合理的,但是下衣+裙装是不合理的;在登山场景,帐篷+手电筒+登山服是一个合理的组合,而烧烤架不是必须。

接下来,我们将重点介绍滴搭的算法。由于我们涉及的行业很广,图文算法的应用业务非常多,为了更好地聚焦于算法本身,以下介绍若无特别说明,将以服饰行业的搭配业务为例。

二、滴搭算法

滴搭需要完成搭配图片生成、搭配描述生成两部分工作,因此我们分别在图、文上设计算法框架。底层的数据是公用的,包括商品图片、商品标题、运营输入以及其他side information。在这个数据之上,我们先完成搭配图片的生成,再对该搭配进行文本描述。

在图搭配的算法中,我们用CNN(Convolutional Neural Networks)进行图片预处理,以DSSM(Deep Semantic Similarity Model)作为基本框架,在此基础上尝试了两种搭配逻辑算法:第一种是基于LSTM(Long Short Term Memory)的序列化搭配生产,第二种是基于DAN(Deep Aggregated Network)的无序列化搭配生产。在产出图搭配后,我们将产出结果结合文案输入语料,输入文案描述模型CPGN(Context aware Pointer-Generator Networks),产出文本描述。最终的结果里包含图文内容,是搭配的整体化描述。

 

image

以下我们将分别介绍图文算法。

2.1 图搭配算法

2.1.1 相关工作

服饰类搭配在近些年的学术圈有了比较快速的发展。生成一套搭配,总体上有两种思路:

  1. 利用传统图像处理方法,将图像底层切割,利用专家知识构成细粒度的、可解释的搭配关系;
  2. 基于深度学习方法,利用图像和文本技术做深层抽取和表示,用深层网络去隐式地学习搭配关系。

在这些工作中,[1]试图给一套搭配打分,使用基于深度学习的多模态、多实例作为特征,质量分作为标签。[2]用双向LSTM网络模拟搭配的序列化过程,可以生产搭配、或者给一套搭配打分。[3]虽然不是服务于搭配业务,但它将图像和文本结合起来,利用搭配里商品风格相近的原则,学习出商品的风格表示。[4]用到了蒸馏网络的方法,将Teacher-Student网络巧妙地嫁接在特征表示后,使得搭配能够遵循知识图谱规约。

这些文章在学术上都给予我们很多启发,但是目前,据我们所知,在电商平台还没有一个完全智能化的搭配平台,可以在线实时地产出内容并进行投放。线上生产的难点,一是数据量非常庞大,二是对于可投放的质量要求极高。滴搭吸取了前人工作的优点,并在网络核心(DAN)和向量对齐(DSSM)两方面做出了独创性的工作。这两个网络在拿到更好效果的同时,也解决了数据庞大和线上效果保证两大难题。

滴搭的整体框架是第二种方法。我们选择深度学习方法作为模型基础的原因是,深度学习的发展使得网络的高层特征已经能够比较详尽地涵盖图片的多种信息。比如我们对白底图的CNN高维向量进行K-means聚类,会发现相同形状和风格的图片聚在一起。这使得我们有信心可以利用深度学习网络的高层特征直接进行计算。另一方面,滴搭不是专门为某一行业定制的平台,专家知识无法跨行业通用,且目前除了几个大行业之外,很多行业并没有开源出足够丰富的知识图谱。为了满足线上业务要求,滴搭又融合了专家知识作为约束条件,因此对于结果具有部分解释性。

2.1.2 准备工作

数据:我们最开始的训练数据来源于Polyvore网站,该网站下有大量用户提交的搭配样例,并且提供其他用户点赞和评论。在迁入淘内业务后,我们收集了淘内达人产出的几十万套优质搭配,对训练数据进行了重新整理。

特征表示:首先,我们需要对商品进行表示化。最直接能展现一个商品信息的来源是其图片,我们依靠鹿班千万级的白底图库,对进入商品池的商品抽取特征。这里我们用的是CNN技术,具体模型为inception v3。具体做法如下:

  • 以类目作为label,对pre-trained模型进行fine-tune,抽取倒数第二层的向量表达作为该商品的图片表征。
  • 将第一步的所有图片的向量表示进行带类目约束的K-means聚类。考虑到搭配中的类目关系以及不同类目下商品数量分布的不同,我们针对性地对K-means做了优化,使得聚类结果更加集中且分布平衡。一个类目下会有多个聚类结果,聚类结果用cluster表示。该步骤后,每个商品都被聚类到其中一个cluster下。
  • 将第二步得到的cluster作为label,重新用inception v3进行fine-tune,抽取高维向量表达作为最终的图片特征。

在CNN的基础上增加K-means的原因在于,我们希望图像上相似的图片能在向量表示上有更加接近的距离。而CNN在K-means之后的分类结果也的确比最开始得到了提升,视觉上更加相似。聚类后结果部分展示如下:

 

image

此外,由于图片有时候并不能涵盖所有信息,我们加入了side information作为信息补充。目前加入的side information包括商品的类目和风格。

2.1.3 模型一:基于LSTM的序列化搭配生产

 

image

首先,我们将准备工作中通过CNN得到的高维向量,和side information的向量,经过embedding和stacking的变换,作为模型的输入层。

其次,输入向量经过一层MLP,分成两路:一路进入LSTM网络进行序列化学习,一路进入进入DSSM网络进行向量对齐。

LSTM网络:我们将搭配的构成看成一个时序过程,每件搭配物品的产生为一个时序步骤。从第一件商品开始,每一件新产生的商品需要和之前的所有商品有相关性。LSTM网络天然的时序关系使之成为可能。LSTM是RNN(Recurrent Neural Network)的一种衍生,它增加了功能门,能更好地捕捉长期依赖。令S表示一套搭配,是第t个商品的CNN特征表示,则表示一个搭配序列。根据最大似然估计原理,我们期望最大化:

 

image

DSSM网络:我们希望可搭配的商品在向量空间上具有更接近的距离,于是参考了DSSM网络的方法。我们从线上日志和优质搭配两方面获取正向样本,即收集日志里点击率高的搭配和达人高质量的搭配样例,拆成pair对,作为DSSM网络的正向样本;同时将线上点击率低的搭配作为负向样本。

从图中看出,当一个(或多个)商品组合经过MLP之后,我们先拿到所有商品在进入LSTM之前的向量表示。当LSTM每一步产出商品X时,我们将X也经过一个MLP变换,和每个进入LSTM之前的其他商品进行距离计算,其他商品的正样本样例表示为,负样本样例表示为。我们希望正向样本之间的距离小,负向样本之间的距离大,因此loss表示为:

 

image

其中,sim函数采用的是cosine相似度,θ表示参数,目标是最大化Δ。在GPU上,我们用mini-batch SGD来优化θ。

2.1.4 模型二:基于DAN的无序化搭配生产

我们在LSTM模型一的基础上完成了第一版的投放,效果还是不错的。在后续的研究中,我们发现了一个更好的模块:DAN,在以上的框架图中,它仅仅将LSTM模块做了替换,其他部分保持不变。我们看到了更低的loss和更好的输出结果。

DAN的核心在于,它将搭配看成一个组合模式,而不是序列模式。在日常生活中,我们会给上衣搭配裤子,也会给裤子搭配上衣,因此在训练LSTM网络的时候,我们其实需要构造两条不同顺序的训练数据:上衣+裤子,裤子+上衣。而在DAN网络中,上衣和裤子是无序列差别的输入,它们以组合的形态输入网络中。

如下图所示,同一套搭配的训练数据在经过CNN和side-information embedding之后,输入到DAN网络。首先经过非线性变化,变化后的向量进入池化层。我们尝试了sum-pooling和max-pooling,发现sum-pooling有更好的结果。

 

image

DAN网络在训练的过程中,获得了比LSTM更低的loss。且在训练数据构造中,不再需要考虑全排列,而只需要组合数据就够了。训练数据的减少大大缩减了训练时间,使得周期性迭代模型成为可能。

2.1.5 基于context graph的预测过程

怎样称为一套搭配?运营往往有不同的定义。女装的运营可能认为,上衣+下衣+鞋是一套完整搭配,裙装+配饰+包是一套完整搭配,而连衣裙和牛仔裤是一定不能同时出现的。又或者,家居的运营希望,一个卧室的场景里需要有床、床头柜、灯具、壁画,缺了其中一个都不是一个合格的卧室搭配。实际上线过程中,运营往往还有场景氛围的需求,对于风格、季节等等有额外的限制。如何将运营的诉求传递给搭配算法,我们设计了context graph来解决这个问题。

context graph是结构化的运营规约,包括类目搭配的约束、风格的约束、季节的约束,等等。在搭配预测阶段,所有商品池的商品和它们的side-information经过Embedding、Stacking和全连接之后,存入商品池(item pool)。以DAN网络为例,当一个活动发起请求时,作为触发的商品经过DAN网络,如果不考虑约束,则我们会将MLP的输出结果到商品池中去做向量检索(sim search),获取下一个商品。如果考虑约束,则根据context graph的规约,先在向量检索的基础上做一层过滤,仅让满足运营规约的商品作为预测结果的候选集,再在候选集里挑出TopK。在每产出一个搭配商品之后,算法重新计算当前满足的搭配约束情况,推动下一个商品的产生及圈定新的候选集。

我们将context graph打包到模型里,因此搭配的预测过程是完全实时的。context graph保证了成品率,即每一套产出的搭配都符合运营的输入条件,降低了人工筛选的成本。

 

image

2.2 文本算法

2.2.1 相关工作

随着深度网络的发展,文本应用在近两年有着非常迅速的落地。在机器翻译、阅读理解、摘要生成等文本工作中,sequence-to-sequence的框架被广泛应用,为不同应用目的而设计的attention网络也蓬勃发展。

我们将文案生成看成一个摘要生成问题,原始输入语料可以是商品原始标题、商品其他信息等等,而文案需要在原始语料中抽取出关键信息,进行总结甚至拓展描述。Pointer-Generator网络(PGN)[6]做到了这一点。它本质上是一个encoder-decoder加attention的混合模型,但通过一个平衡参数,使得模型既可以从原始语料中抽取文字(pointing),也可以生成原始语料中没有的新词(generator)。[7]同样采用了encoder-decode加attention的基本框架,但是通过蒙特卡洛采样缩小了目标词库,提升效果的同时也加快了预测速度。

在我们的场景下,除了从原始语料中生成,运营往往还会增加一些额外需求。比如运营希望文案的描述中有偏向性,突出风格,突出颜色,或者突出利益点,我们称为搭配tag。因此这部分我们也作为输入,加入到attention网络中。

2.2.2 准备工作

数据:我们用达人搭配的几十万搭配描述作为训练数据。训练数据的输入为商品的标题、搭配tag,训练数据的输出为达人撰写的标题。我们将词作为基本单位。

2.2.3 CPGN模型

在PGN的基础上,我们加入了运营输入信息,使得文案、商品、运营要求三者之间建立强关联,因此新方法命名为CPGN,其算法框架如下:

 

image

整个框架由encoder-decoder构成。自底向上看,首先,我们对原始语料和运营输入分别做encode,其中原始语料逐词进入单层、双向LSTM网络,隐层向量表示为;运营输入可以是连续的一句话,也可以是关键词,若为前者,则仍然用LSTM处理,若为后者,则直接对关键词做embedding,用表示。以i表示第i个输入,以t表示decode的步数,则attention的分布和context向量表示如下:

 

image

 

image

 

image

其中,η是一个以tanh为激活函数的多层MLP,表示第t步decoder的状态。attention分布可以看作是decode产生过程中,对encode每个源词的重视概率。和是对attention分布的带权求和,是当前步下从源语句获得的信息的表达。在此基础上,我们得到下一个词在整个词典上的概率分布:

 

image

其中,g为两层全连接。这样我们就得到了generate部分的概率。如何平衡pointing和generator呢?我们设计一个参数,它是一个概率软开关,和当前decoder的状态、context向量、以及decoder输入相关。我们既可以在词典中generate下一个词,也可以利用attention的权重在输入中copy下一个词。假设从中得到词典中每个词的预测概率为,则:

 

image

 

image

 

image

其中σ是sigmoid函数。现在的P(w)不但包括整个词典,还包括某些在输入中出现、但不在词典中的词,因此缓解了OOV的问题。在训练阶段,假设第t个目标词为,则loss表示为:

 

image

 

image

最后,我们加入了coverage算法解决重复词问题。在每一步decode中,我们对之前步的所有attention分布求和,记为。表现了当前为止,原输入中的词被attention体现出来的覆盖程度,它被带入到中进行计算,因此当前步的decoder将被通知并避免重复之前出现过的词。此外,loss的计算中也引入covloss,它是和的最小值之和。coverage算法不仅作用在原始语料上,也作用于运营输入上。由于我们的算法直接投放到线上,在做过算法的去重之后,我们在工程上最后还加了一层正则匹配,确保万无一失。

三、滴搭工程平台

3.1 算法平台XTF

为了能让整个滴搭平台真正面向运营,我们需要一个稳定、能支持快速迭代和实时计算的机器学习平台来支撑我们训练模型以及在线输出。为此,我们参与了工程团队的共建工作——基于Porsche blink的分布式Tensorflow训练及在线打分平台,我们称该平台为XTensorflow,简称XTF。在这个平台上,滴搭涉及到的LSTM模型、CNN模型、CPGN模型、DAN模型天级别地训练与更新,快速响应训练数据的变化;在线预测过程中,共建了CNN的实时打分、context graph的实时查询、DSSM的实时检索,使得业务的实时响应成为可能。

 

image

3.2 智能排版平台

算法生成的搭配最终投放给用户,图片的美观非常重要。这里面急需解决多商品的排版问题,包括大小比例、顺序、页面留白等等。鹿班团队在合图工程上有着多年的经验,我们共建了搭配商品的排版工作,完成了成图的最后一步。

滴搭布局算法支持设计师上传模板,也可以根据积累的模板进行合图匹配。

四、滴搭业务实例

滴搭的图文算法本身是很底层且通用的,它可以应用于所有拥有多商品逻辑关系的行业,可以投放于所有有场景定义的业务中。我们在日常业务和大促业务中都有过很多次的合作与尝试,接下来将重点介绍几个。

4.1 iFashion搭配

iFashion是一个以搭配为主要心智的场景。无论是在内容质量本身,还是视觉呈现,iFashion都很好地承接了图文算法的产出。我们周期性地为iFashion的选品产出图搭配和文字描述,极大地补充了原仅有达人搭配的池子。算法搭配和达人搭配在瀑布流中混排,个性化地推荐给用户。算法搭配参与生产的优势包括成本低、成品效果好、转化数据高等等。

 

image

4.2 手淘首焦

手淘首焦是一个强运营需求区块,一张焦点图背后是一个活动页,展现内容包括该活动下的商品图片以及文案。我们的推荐算法会给用户千人千面的展现,即在个性化投放中,我们会给每个用户投放他感兴趣活动下的感兴趣内容。在图文算法产生之前,我们仅仅对活动下的单个商品做了个性化,而且文案还是固定不变的。

我们尝试了服饰行业的多商品搭配,搭配的组合态使得首焦的图片展示更加丰富,不再拘泥于单商品的模式。

 

image

我们也尝试了多行业的文案生产。以下图为例,传统的做法,运营输入固定文案,包括主文案:运动健身狂欢购,副文案:大牌精选好货钜惠,以及利益点:抢大额券。固定文案千篇一律,很容易被忽视。在我们的模型中,原始语料是商品标题、描述、属性等等(该例中,是瑜伽砖头的相关信息),运营输入的是文案词和利益点(该例中,运营输入了精选好货、大牌、狂欢购等等关键词)。最后产出的智能文案,主文案:瑜伽砖头精选好货(分别从商品标题和运营输入中抽词),副文案:大牌钜惠满就减(从运营输入中抽词,并衍生出了“满就减”)。由于我们产出的文案能够和商品、活动一一对应,因此文案上也是千人千面的,不但描述了用户感兴趣的这个商品,还突出了活动的特点,使得个性化的效率得到了提升。

在首焦的图文生产上,我们在CTR和UCTR上都拿到了超过两位数的提升。

 

image

4.3 有好货

有好货是首页流量主力频道,其主打的“好货”心智深入人心。目前的版本中,由于排版的限制,达人生产的标题有的太长,显示不全,有的由于截断,表述不清,非常影响用户对商品的信息读取。我们和有好货合作,利用文案算法,对标题进行重新抽取,在限制长度的情况下提取重点信息,帮助用户更好地决策。

 

image

五、未来工作

我们的算法工作、工程工作是紧跟着业务发展的,所以很多的想法也是深入了解业务之后思考建设起来的。接下来也有一些想要尝试的方向:

首先,我们希望建设一个端到端的算法模型。现在由于图像网络比较重,模型中还是用CNN进行预处理,再到LSTM或者DAN网络中产出的。我们希望以后图像的处理网络能够融入到整体框架中。
其次,我们希望能够在个性化上做更多的努力,配合产出更多的UGC内容玩法。

欢迎与我们交流

阿里巴巴推荐算法团队目前主要负责阿里电商平台(包括淘宝、天猫、海外版淘宝、Lazada等)的商品及feeds流推荐,其中手机淘宝首图个性化、猜你喜欢、购买链路等场景每天服务数亿用户,涉及流量效率提升、用户体验、提高商家及达人参与淘宝的积极性,优化商业生态运行机制。

原文链接

本文为云栖社区原创内容,未经允许不得转载。 

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

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

相关文章

Linux下搭建 kafka集群 + zookeeper集群部署 安装、启动、停止

文章目录一、环境部署总览1. 软件版本选型2. 服务器软件部署总览二、软件部署手册2.1. JDK2.2. kafka2.3. Kafka Eagle2.4. mysql2.5. zookeeper2.6. maven三、kafka集群部署3.1. 启动zk集群3.2. 启动kafka集群3.3. 启动Kafka Eagle一、环境部署总览 1. 软件版本选型 软件版本…

刷爆了!GitHub标星1.6W,这个 Python 项目太实用!

GitHub上,一份用Python开发的12306 购票助手火了!这个用 Python 开发的 12306 购票助手,已经有 1.6w star,作者也一直在维护。它实现了自动打码,自动登录,捡漏,候补等功能。用 Python 帮你抢票&…

flexcell控件 许可证信息没有找到_报表控件 ActiveReports 全面迎来 .Net Core 时代

报表控件ActiveReports全面迎来 .Net Core 时代!一键创建 .Net Core MVC 项目近期,葡萄城报表控件ActiveReports V14.0 正式发布,全面支持 .NET Core平台。同时,在本次更新中 ActiveReports的桌面报表设计器UI得以全面增强&#x…

彻底卸载acer软件保护卡_宏碁(Acer)传奇 14英寸 新一代7nm六核处理器 真香机 高性能宏基笔记本电脑(R5-4500U 7纳米 16G 512GSSD )...

拜托朋友帮忙推荐的一款4k左右笔记本,要求:简单办公学习,看视频娱乐即可。然后朋友帮忙推荐了两款。一款是荣耀magic。另一款就是这款宏碁传奇预售款。京东标题如下:【宏碁(Acer)传奇 14英寸 新一代7nm六核处理器 真香机 高性能 轻…

图解集成学习中的梯度提升思想

摘要: 本文讲述集成学习中的梯度提升方法的思想,以简单算术及图片的形式展示整个过程,一看就懂! 简介 机器学习(ML)中的一个关键步骤是选择适合数据的最佳算法,根据数据中的一些统计数据和可视…

AI助手智商测评Siri进步最大,无人驾驶打车服务已在美国试行

摘要: 万年老幺Google Assistant稳坐AI助手第一的位置,siri屈居老二可进步倒是不小!无人驾驶打车已经成为现实,就问你敢坐不敢坐!最接地气儿的CEO马斯克,变身快递员送货到家只为卖车......支付宝小程序也来…

Kafka 监控 Kafka Eagle 精简版本

文章目录一、Kafka Eagle 下载、编译流程1. Kafka Eagle下载2. 解压Kafka Eagle3. 进入解压的目录4. 编译项目5. 添加编译环境6. 运行脚本编译项目二、Kafka Eagle 正式配置流程2.1. 进入编译获得web目录2.2. 将编译后的tar解压到/app目录2.3. 在/app目录下面查看2.4. 配置文件…

arcgis python实例_ArcGIS Python编程案例(14)-五个常用Python处理任务

我们将在本章介绍以下案例: 从分隔符文本文件中读取数据 发送电子邮件 访问FTP服务器中的文件 创建ZIP文件 读取XML文件 引言 在本章中,你将学习如何编写Python脚本来执行常用的处理任务。这些任务包括读写分隔符文本文件,发送电子邮件&#…

c 最大子序列和_最大连续子序列

最大连续子序列&#xff1a;是指序列中所有子序列中元素和最大的一个例如{-2,11&#xff0c;-4,13&#xff0c;-5.-2}中最大连续子序列为{11&#xff0c;-4,13}其和为20若所有k个元素都为负数&#xff0c;则定义其最大和为0&#xff0c;输出整个序列的首尾元素#include<iost…

【只有光头才能变强,文末有xx】分享一波Lambda表达式

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Java3y责编 | 阿秃前言只有光头才能变强。学了一下Java的函数式编程&#xff0c;给大家整理了一下&#xff0c;一起学习&#xff01;一、Lambda用法之前写Optional这个类的时候&#xff0c;简单说了一下Lambda是怎么用的&am…

因为阿里,他们成了“杭漂”

摘要&#xff1a; 这是你吗——有人在回北京的飞机上赶时间写周报&#xff1b;有人全家在美国&#xff0c;孤身从硅谷回杭州工作&#xff1b;有人每周回北京为了赶末班飞机快速过安检&#xff0c;周末从不系皮带。 阿里正在从杭州走向全世界&#xff0c;也有越来越多的人才&am…

如何提高一个研发团队的“代码速度”?

摘要&#xff1a; 蚂蚁金服国际事业群技术风险部研究员南门&#xff0c;将和大家聊聊Code Velocity&#xff0c;希望能在团队效率问题方面&#xff0c;为你带来一些启发。 什么是代码速度&#xff08;Code Velocity&#xff09;&#xff1f; Code Velocity的定义是&#xff1…

多机器人路径规划的代码_知荐 | 地平线机器人算法工程师总结六大路径规划算法...

来源 | 知乎知圈 | 进“高精度地图社群”&#xff0c;请加微信15221054164&#xff0c;备注地图目录1 自主机器人近距离操作运动规划体系1.1 单个自主机器人的规划体系1.2 多自主机器人协同规划体系2 路径规划研究2.1 图搜索法2.1.1 可视图法2.1.2 Dijkstra算法2.1.3 A*算法2.2…

Kafka 监控 Kafka Eagle 图形化版本

文章目录一、Kafka Eagle 下载、编译流程1. Kafka Eagle下载2. 解压Kafka Eagle3. 进入解压的目录4. 编译项目5. 添加编译环境6. 运行脚本编译项目二、Kafka Eagle 正式配置流程2.1. 进入编译获得web目录2.2. 将编译后的tar解压到/app目录2.3. 在/app目录下面查看2.4. 配置文件…

一份关于如何为回归任务选择机器学习算法指南

摘要&#xff1a; 本文总结了一些针对于回归问题的机器学习方法&#xff0c;辩证地分析了其各自的优缺点&#xff0c;读者可以根据具体问题选择合适的机器学习算法以完成相应的任务。 当遇到任何类型的机器学习&#xff08;ML&#xff09;问题时&#xff0c;可能会有许多不同的…

博文强识|支付宝 App 是如何建设移动 DevOps 的?

作者 | 阿里云云栖社区转自 &#xff5c; CSDN企业博客责编 | 阿秃微软 MSDN 上的一篇文章有这样一段话&#xff1a;“移动应用的理想环境需要满足两个条件&#xff0c;一是可以确切知道客户脑海中立即浮现的需求&#xff0c;二是为了满足这些需求而编写的代码可以立即传递给这…

第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注

从应用需求出发&#xff0c;帮助标准组织制定出更贴近云端业务需求的标准 视频压缩标准是一个重要且深具挑战的研究方向。从过去的存储到当前的网络带宽&#xff0c;视频标准每一代的更新进步对科技应用都有很大的影响。但同时随着几十年来的发展&#xff0c;视频压缩标准的效…

kafka集群下载、启动、部署、测试

文章目录一、kafka基础操作1. kafka下载2. 解压3. 重命名4. 在kafka目录下创建 data 数据文件夹5. 修改配置文件6. 配置kafka环境变量7. 刷新环境变量&#xff0c;使之生效二、kafka集群操作2.1. 分发配置好的基础安装包2.2. 登录ly-02服务器&#xff0c;修改配置文件2.3. 登录…

零基础学python难_0基础学python有多难

相对于其他编程语言来说&#xff0c;Python并不是很难&#xff0c;入门简单&#xff0c;容易上手&#xff0c;对于零基础的人来说&#xff0c;入门Python是不难的&#xff0c;但是想要学精学通&#xff0c;则要花费一定的时间和精力。Python是主流的编程语言&#xff0c;应用性…

修改HBase的rowkey设计把应用的QPS从5W提升到50W

摘要&#xff1a; 正确设计Hbase的rowkey可以让你的应用飞起来&#xff0c;前提是你需要了解一些Hbase的存储机制。 UTT是Aliexpress的营销消息运营平台&#xff0c;运营希望促销活动时APP消息推送的QPS达到34W。 UTT刚接入APP消息推送时&#xff0c;QPS只能达到5W&#xff0…