时尚电商新赛道:揭秘 FashionAI 技术

雷音是阿里巴巴研究员、淘系技术部 FashionAI 负责人,在淘系技术嘉年华硅谷站,他分享了《时尚电商新赛道— FashionAI 中的技术》 ,旨在揭秘:从面向机器学习的知识重建切入,提出了在 AI 能力的推动下,让人值得期待的未来。究竟在阿里巴巴研究员眼中,未来是什么样的?接下来,我们一起探秘。

1、从推荐技术说起

用户行为

从推荐技术说起,首先是基于用户行为的推荐,包括用户的点击行为、浏览行为、购买行为。推荐技术提升了用户找商品的效率,也带来了公司收益的增长。当推荐的效率提高到一定程度的时候,会出现瓶颈,比如说你买了一件上衣之后,还继续给你推上衣,这个问题这些年一直被诟病。如果是基于用户行为的话,会朝着这个问题的改善方向发展。

用户画像

第二个是用户画像。很多人在做用户洞察,描述用户精准画像。但我始终对用户画像保持怀疑态度,比如说买衣服,你拿的可能都是用户的行为数据:浏览、点击、购买。可是,如果你知道用户肤色的色号、身高、体重、三围,这个用户画像比前者精准多少呢?所以说,所谓的用户洞察、用户画像,今天来看其实还是非常粗糙的。

知识图谱

第三个我们还可以做知识图谱,来帮助做关联推荐。比如,买鱼竿推荐其他的渔具,买了车灯给你推其他的汽车配件。但是到今天为止,关联推荐的效果还不够好,还有很多困难。

以上是推荐技术通常会考虑的事。那么我们用服饰推荐领域来看一下,还有什么其他的可能。一个服装的线下店,我们对一个导购员的核心考量指标是什么?是关联购买。顾客买了一件衣服,这是不计入导购员贡献的,而导购员通过让用户买另外的关联衣服才是计入导购员的绩效,所以,重要的是关联购买。关联购买里面的重要逻辑是搭配。当我们把推荐做到具体某一个领域的时候,我们就有了专属于这个领域的一些推荐逻辑,这就是在日常里面在发生的逻辑。

2、为什么要做行业知识重建?

接下来,我们看看怎样才能做好搭配。大部分用户搭配不好的原因是穿搭需要相当多的知识和经验。衣服的属性,设计元素是抓手,它的准确率和丰富性一定要足够,不够的话做不出可靠的搭配来。

知识图谱的典型情况就是通过人的经验或用户数据把很多的知识点关联起来。知识图谱里知识点的生成更多是通过常识的方式。比如说我是一个人,我的朋友是谁,我上级是谁。“我”这个知识点是通过常识产生的。

还有一类方法叫专家系统,比如说我们有很多红人,把他理解成专家,他所沉淀下的专业经验。每个领域都会有一些专家,比如医疗系统里就是医生,专家系统大概是在知识图谱兴起之前人工智能普遍采用的方式。

除此之外,还有一层是知识点,是更基础的部分,如果知识点本身有问题的话,在这上面构建出来的知识关系都会有问题。在这个基础上去做 AI 算法,效果就不够好,这可能是人工智能难以落地的原因之一。要有勇气去重新构建这个知识点体系。

引用一个淘宝的例子,下图的上半部分是我们运营或者设计师的知识体系,这是个“领型”的例子,有圆领、斜领、海军领,可以看出结构是平铺的、散乱的。以前知识是在人和人之间传播的。尤其是在小的圈子里,像设计师群体,知识可能非常含混,只要能沟通就行。再比如医生写的草书,医生之间可以看的懂,但是病人都看不懂。很多知识用于人和人的沟通,有大量的二义性,不完备性。比如说服装风格,一个标签叫做“职场风”,另一个叫“中性风”。职场风跟中性风从视觉上无法区分,如果人类视觉都难以区分,而机器识别准确率超过80%,那肯定哪里出错了。

还有一类,打标签的人可能本身理解就有问题。举个极端的例子,曾经有一段时间,淘宝商家给衣服打标签,有一半的女装上都被商家打上了韩版的标签。然而,它根本不是韩版,只是因为韩版卖的好,这说明商家打的标签不是完全正确,有必要通过图像直接得出判断。

3、面向机器学习的知识重建

前几年我们找了淘宝、天猫的服饰运营,综合了几版的运营知识做了规整,不过还是不够好。去年我们做 FashionAI 大赛,和港理工的服装系合作,后来和北京服装学院、浙理工都有合作。其实直接由服饰专家们给出的知识体系是不行的,因为我们需要的是一个面向机器学习的知识体系,机器是要分0和1,完备性、二义性问题、视觉不可分等这几个我们总结出来的原则,这些都要尽量满足。

我们把曾经散落的知识,按照划分逻辑去组织,比如说领部,我们会根据它布料去分、设计手法去分、颈线边缘去分,从几个维度总结散落的知识点。原先是一盘散沙,最终会看到树状知识。我们把常用的女装属性整理出来,一共有206种,这还不包括“流行的设计手法”这种开放性的,不断扩充变化的属性。这个“整理”比大家想象的复杂得多,花了3到4年时间,除了考虑知识本身,还要进一步考察知识点所对应的数据收集难度,必要性。比如说女装的西装领还可以再细分9种,接近视觉不可分,这时停留在女装西装领这个粒度就够了,就不再做细分。

有时很难事先判断一个属性是否能学出好的模型来,这时属性的定义还要做多轮的迭代。我发现我的属性定义有问题,我倒回去重新定义,然后再重新收集数据、训练模型,直到模型可以达到要求。等做完知识重建,曾经十几个属性识别准确率普遍提高了20%,这个提升是非常大的。

我们现在有206种女装样式,有166种语义颜色,还有材质、场景、温度等知识体系。怎么定义颜色?在时尚行业里,黄色几乎是没有意义的,讲“柠檬黄”是有意义的,去年女装就流行柠檬黄。我们知道RGB颜色256256256,在潘通色表里跟服饰相关的一共有2310种颜色,但这个色表里都是色号,消费者没法理解,我们在上面再建了一层560种有语义对应的颜色,这是跟北京服装学院一起定的,用来做按颜色给衣服聚类又显得过细,就又再建一个166种的,就是大家看到类似于“柠檬黄”、“芥末绿”这种语义颜色,到这个阶段消费者才能理解。

还有很多的技术细节,比如说怎么处理光照问题、色差问题等等,也有很多的难的地方,在这里我会主要讲面向机器学习的知识重建。

4、AI 使知识重建的大工程变得可行

接下来问题就来了,我有206种女装样式,收集数据训练模型的话,怎样才能做得完呢,更何况一个定义还可能要多轮迭代修正?

比如,下图中的袖子款式叫风铃袖,一个合格的数据集大概需要3000到4000张图片。收集足够多的,高质量的图片是一个很大的挑战,在2016年为了做一个3000到4000张图片的高质量数据集,大概需要标注超过十万张图片,当时的标注留存率只有1.5%。当时的方法就类似学术界做的,先用一个词去搜回很多图,然后找人标注。更可能是始终找不到足够多的图片旁边写着风铃袖,它都没有标注,所以你是搜不到的。因此,知识重建确实是一个巨大的挑战。以前根本没有人有勇气去做,因为你根本做不了。

2016年我们完成一项属性识别要200天,这个时间包括了定义迭代花的时间。2017年我们用40天,2018年我们用2.5天,现在,我们大概用15个小时,到2019年底,我们计划是缩减到0.5天。这是一个巨大的改变,我们提出“少样本学习”。大概是在三年前,当时学术界还没很多人提这个问题,但是我们已经看到了,因为我们痛苦的就是这个,不得不开始上手解决它了。

学术界提到“few-short learing”、小数据学习,更多是偏重如何从少量样本直接得到一个好的模型,我们选的路不大一样,我们是从旁边绕路。

今天,我们把常用的96种女装属性完成了,就是利用我们的少样本学习工具SECT(Small、Enough、Comprehensive),从“少”到“足够多”到“足够好”,最重要的是 SECT 不仅在 FashionAI 业务里发生了作用,它还可以做泛内容识别,讲得严谨一点,在“简单内容分类”这类任务上表现得不错。

在泛内容识别上,我们利用 SECT 系统已经完成70多个标签识别,例如:“插画、阳台、上脚”等标签,我们已经开始改变业务人员和算法人员的工作模式,大家知道在深度学习出来之前,那时候我们的业务人员都不大敢提让算法人员给出个识别模型,因为开发周期太长了,为了去识别一个东西我要找算法人员跟他商量,然后算法人员手工去设计特征。为了做一个能够上线的、工业界能用的一个模型,最少花上半年、一年的时间,这是以前的模式。2013年深度学习开始流行之后,这个问题发生了转化。算法人员会说今天有了深度学习,业务人员你收集足够多图片就行了,我给你设计个好模型出来。如果这个模型不好的话,那是你收集的数据质量不行。这时候运营想去收集5000张图片,发现还是成本很高。

我们今天还很难用 SECT 去解决机器视觉中的“检测”问题,或者说检测任务在我们的理解里不是一个“少样本”的问题,在检测任务下应该叫做“弱监督”问题,弱监督跟少样本也有所不同。

5、对未来的展望

我理解大数据应该分两种,一种是说,你的商业洞察也好,模式分析也好,只有在大规模的数据上才能完成,这是真的大数据;还有一种是说今天的机器学习能力不行,必须有那么多的数据才能出来一个模型,这个叫做伪大数据,因为随着 AI 的能力越来越强,需要的样本肯定越来越少。

以前有公司标榜自己有特别多的数据,比如说人脸数据或什么的,把数据看成了资产。这个说法一定会慢慢落下去,因为 AI 能力越来越强,我们需要的数据量越来越少。SECT 再演变下去,会到什么程度?可能中层的跟浅层的算法人员不再需要了,业务人员直接上去提供十几张图(不会超过50张图)交给系统,很快模型就会返回来,你再测试一下是否好用,如果不行,就再迭代学习,直到模型好用为止。它已经不是以前的,标注阶段、训练阶段、测试阶段,间隔得那么远。今天,整个迭代越来越快,如果说迭代可以减少到小时级、分钟级的话,这实际上已经变成了一个人机交互的学习系统,这是未来会带来巨大改变的东西。

淘宝内容平台的运营人员说,过去两个月产出了比之前三年还多的模型。我们自己组的算法同学自己也用来解决属性识别之外的各类问题,比如说我来硅谷之前,组里同学想识别照片里的人是正身还是背身的,是站姿还是坐姿,是一个深色人种还是一个黄皮肤等等,我们需要在很短的时间里出6个判别模型。今天,我们可以一两周内让模型上线,准确率、召回率、泛化能力全都能达到要求。放在以前,这个事情没有一年半载是不可能的。

业界里有很多人总结深度学习的局限,比如需要大数据、缺乏可解释性,我觉得在未来几年,我们对于什么叫“样本”、什么叫“可解释性”,会有一个新的理解。我们去年在朱松纯老师主编的《视觉探索》上发了一篇文章,叫《如何做一个实用的图像数据集》,今年我们有计划写个续篇,就是《如何做一个实用的图像数据集(二)》,会重点聊一聊我们在少样本学习上的体会和展望。


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

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

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

相关文章

MQ 技术产品井喷,今天来详聊一下腾讯开源消息中间件 TubeMQ | 原力计划

作者 | kimmking来源 | CSDN博客,责编 | 夕颜出品 | CSDN(ID:CSDNnews)随着分布式技术的发展,MQ技术产品也出现井喷。目前除了各类常用的MQ,比如Apache的ActiveMQ,Kafka,Pulsar,Rock…

MongoDB compact 命令详解

为什么需要 compact 一图胜千言 remove 与 drop 的区别 MongoDB 里删除一个集合里所有文档,有两种方式 db.collection.remove({}, {multi: true}),逐个文档从 btree 里删除,最后所有文档被删除,但文件物理空间不会被回收db.col…

css-背景图片和渐变

背景图片 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>/* 边框 border 1px粗细 solid样式 red颜色*/div{width: 1000px;height: 700px;border: 1px solid red;/*…

GitOps 初探

前言 GitOps 的概念最初来源于 Weaveworks 的联合创始人 Alexis 在 2017 年 8 月发表的一篇博客 GitOps - Operations by Pull Request。文章介绍了 Weaveworks 的工程师如何以 Git 作为事实的唯一真实来源&#xff0c;部署、管理和监控基于 Kubernetes 的 SaaS 应用。 随后&…

老码农吐血建议:2020年,低于1w的程序员要注意了...

最近在知乎上&#xff0c;关于AI的这个话题又被顶起来&#xff0c;其中&#xff0c;这条回答让人印象深刻&#xff1a;在这短短的一条信息里&#xff0c;无疑显示出&#xff1a;AI行业缺人&#xff0c;高端岗位80万年薪恐怕也招不来&#xff01;小编上周在一个AI群里&#xff0…

重磅!容器集群监控利器 阿里云Prometheus 正式免费公测

Prometheus 作为容器生态下集群监控的首选方案&#xff0c;是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统&#xff0c;并于 2015 年正式发布。2016 年&#xff0c;Prometheus 正式加入 Cloud Native Computing Foundation&#xff0c;成为受欢迎度仅次于…

Archsummit 2019重磅分享|闲鱼Flutter&FaaS云端一体化架构

作者&#xff1a;闲鱼技术&#xff0d;国有   讲师介绍 国有&#xff0c;闲鱼架构团队负责人。在7月13号落幕的2019年Archsummit峰会上就近一年来闲鱼在Flutter&FaaS一体化项目上的探索和实践进行了分享。 传统NativeWeb服务端混合开发的挑战 随着无线&#xff0c;Io…

Spring Cloud 云架构下的微服务架构:部门微服务(Dept)

作者 | springML来源 | CSDN 博客 责编 | Carol出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;封图| CSDN下载于视觉中国 对于 Rest 基础架构实现处理是 SpringCloud 核心所在&#xff0c;其基本操作形式在 SpringBoot 之中已经有了明确的讲解&#xff0c;…

并发模式与 RPS 模式之争,性能压测领域的星球大战

本文是《如何做好性能压测》系列专题分享的第四期&#xff0c;该专题将从性能压测的设计、实现、执行、监控、问题定位和分析、应用场景等多个纬度对性能压测的全过程进行拆解&#xff0c;以帮助大家构建完整的性能压测的理论体系&#xff0c;并提供有例可依的实战。 该系列专…

Akka in Schedulerx2.0

1. 前言 Schedulerx2.0是阿里中间件自研的基于akka架构的新一代分布式任务调度平台&#xff0c;提供定时、任务编排、分布式跑批等功能&#xff0c;具有高可靠、海量任务、秒级调度等能力。 本篇文章以Schedulerx2.0为例子&#xff0c;介绍akka的应用场景&#xff0c;希望能给…

java.sql.SQLException: The server time zone value ‘???ú±ê×??±??‘ is unrecognized or represents more

【报错信息】 【百度翻译】 服务器时区值???????无法识别或表示多个时区。如果要利用时区支持&#xff0c;必须配置服务器或JDBC驱动程序&#xff08;通过ServerTimeZone配置属性&#xff09;&#xff0c;以使用更具体的时区值 【解决方法】 数据库连接配置conf.xml(…

【从入门到放弃-Java】并发编程-锁-synchronized

简介 上篇【从入门到放弃-Java】并发编程-线程安全中&#xff0c;我们了解到&#xff0c;可以通过加锁机制来保护共享对象&#xff0c;来实现线程安全。 synchronized是java提供的一种内置的锁机制。通过synchronized关键字同步代码块。线程在进入同步代码块之前会自动获得锁…

Redis 学习之一招击穿自己的系统,附送 N 个击穿解决大礼包 | 原力计划

作者 | Mark_MMXI来源 | CSDN博客&#xff0c;责编 | 夕颜出品 | CSDN&#xff08;ID:CSDNnews&#xff09;缓存的存在是为了在高并发情形下&#xff0c;缓解DB压力&#xff0c;提高业务系统体验。业务系统访问数据&#xff0c;先去缓存中进行查询&#xff0c;假如缓存存在数据…

阿里巴巴王坚:用数据来改变世界

“传统信息化建设都是从无到有&#xff0c;加了杆子和机器&#xff0c;但是新一代数字建设就是从有到无&#xff0c;缴费的机器没有了&#xff0c;你回家缴&#xff0c;杆子没有了&#xff0c;你回家缴。” 7月21日&#xff0c;阿里巴巴技术委员会主席王坚在2019年中国电子政务…

Knative Service 之流量灰度和版本管理

本篇主要介绍 Knative Serving 的流量灰度&#xff0c;通过一个 rest-api 的例子演示如何创建不同的 Revision、如何在不同的 Revision 之间按照流量比例灰度。 部署 rest-api v1 代码 测试之前我们需要写一段 rest-api 的代码&#xff0c;并且还要能够区分不同的版本。下面…

在生产环境中使用 Sentinel

文章目录一、安装zookeeper1. linux环境2. windows环境2. 安装并启动zkui二、编译打包2.1. 拉取项目2.2. 启动2.3. 登录 sentinel2.4. 登录zkui2.5. 重启Sentinel2.6. 删除Sentinel的流控规则三、将客户端和zk打通3.1. 引入依赖3.2. 配置3.3. 启动springboot3.4. sentinel控制台…

JavaScript-浏览器控制台使用

基本语法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!-- JavaScript 严格区分大小写 --><script>// 1. 定义变量 变量类型 变量名 变量值var num 1;num …

看完就入门系列!吞吐量、消息持久化、负载均衡和持久化、伸缩性…… 你真的了解 Kafka 了吗?...

作者| liuhehe123来源| CSDN博客 责编| Carol出品| CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;封图| CSDN下载于视觉中国 无论是已经接触过 Kafka 还是刚入坑的小伙伴&#xff0c;都应该时不时回头了解一下 Kafka &#xff0c;有时候会有不少新收获。今天这份…

Alibaba Cloud Linux 2 开源后又有什么新动作?

阿里妹导读&#xff1a;2019 年 4 月&#xff0c;Alibaba Cloud Linux 2 (Aliyun Linux 2) 正式开源。时至今日&#xff0c;已经走过三个月的里程。在这段时间内&#xff0c;这个刚诞生不久的为阿里云 ECS 环境定制优化的 Linux 操作系统发行版的装机量稳步上升。本文将重点介绍…

一站式数据采集存储的利器:阿里云InfluxDB®️数据采集服务

背景 随着时序数据的飞速增长&#xff0c;时序数据库不仅需要解决系统的稳定性和性能问题&#xff0c;还需实现数据从采集到分析的链路打通&#xff0c;才能让时序数据真正产生价值。在时序数据采集领域&#xff0c;一直缺少自动化的采集工具。虽然用户可以使用一些开源的采集…