前言
亚马逊电商每年有几十亿个客户订单。为了减少包装材料的使用,同时确保商品在运输中不被损坏,亚马逊早在多年前就开始了“包装决策引擎”(Package Decision Engine)的研发[1]。
“包装决策引擎”能够针对各种商品,推荐最佳的包装方式,例如:
- 地毯的包装无需使用纸箱,采用塑料袋包装就可以;
- 瓷器易碎,需要使用纸箱包装;
- 充气的足球在运输中容易滚动,需要使用纸箱包装;
- 未充气的足球呈扁形,在运输中不易滚动,采用塑料袋包装就可以;
- 对于部分已有保护性包装的商品,无需再次包装。
亚马逊电商常用的商品包装方式包括:
- 纸箱;
- 软包装,例如气泡袋、塑料袋、纸袋等;
- 使用商品的原包装。
亚马逊电商的库存中有几亿种商品,并且种类不断增多。在引入“包装决策引擎”之前,亚马逊电商依靠人工来确定不同商品的最佳包装方式。海量的商品种类,很难完全依靠人工来确定每种商品的最佳包装方式。此外,依靠规则(例如“25元以下的塑料玩具采用气泡袋包装”)也难以顾及商品包装的各种特殊情形。
在引入“包装决策引擎”之后,新到亚马逊电商仓库的商品首先由计算机视觉系统测量商品的外观尺寸,发现可能的破损,检测商品是否有保护性外包装,检测商品是否有外露的玻璃,并为商品拍摄多张照片。这些信息与商品的文字描述、亚马逊电商平台上的顾客反馈等信息一起,输入至“包装决策引擎”,供“包装决策引擎”推荐出商品的包装方式。
“包装决策引擎”的研发开始于多年前。由于AI应用于推荐商品包装似乎并不多见,因此【算AI】小编接下来就更多地介绍一下亚马逊的“包装决策引擎”。
根据亚马逊在2021年发布的一篇Position Paper[2],“包装决策引擎”的技术亮点主要包括以下两方面。
一、大规模、多模态数据的使用
“包装决策引擎”使用了大规模、多模态的训练数据(包括商品图像、商品文字信息、以及商品的数值和类别数据)。大规模的训练数据来自于亚马逊电商内部的标注数据、以及顾客反馈(例如货物在收到时是否破损等)。处理多模态数据的AI模型主要由以下几个部分组成:
- 经过ImageNet预训练的ResNet-50,用于针对商品的图像抽取特征(例如商品是否有保护性外包装等特征);
- 基于FastText的文本embeddings,用于针对商品的文本信息抽取特征;
- 多层感知机(Multilayer Perceptron),用于针对商品的体积、重量等数值、以及商品的类别数据抽取特征;
- 两个Dense层,用于将上述三部分输出的向量连接在一起,并产生商品是否适合某种包装方式的预测。
二、对不平衡训练数据的处理
“包装决策引擎”中对不平衡训练数据的处理,采用了以下的方法,其中包括四种从数据着手的方法和两种从算法着手的方法:
- 从数据着手的方法1 —— Borderline SMOTE Over Sampling,使用Borderline SMOTE的方法针对少数类的样本进行复制,从而达到类别平衡;
- 从数据着手的方法2 —— Near-miss Under Sampling,使用Near-miss算法针对多数类的样本进行删减,从而达到类别平衡;
- 从数据着手的方法3 —— Hybrid of Random Over Sampling and Random Under Sampling,对少数类的样本进行随机过采样,与此同时,对多数类的样本进行随机欠采样,从而达到类别平衡;
- 从数据着手的方法4 —— Two-phase Learning with Random Under Sampling,首先使用欠采样预训练模型,然后使用原始的不平衡数据微调模型;
- 从算法着手的方法 —— 包括Mean Squared False Error和Focal Loss两种方法,都是通过修改损失函数,使得少数类的样本发挥更大的影响。
后记
“包装决策引擎”在全球多地的亚马逊电商上线多年,协助亚马逊累计节省了超过一百万吨的包装材料。
参考资料:
[1] https://www.aboutamazon.co.uk/amazon-sustainability-ai-reduce-packaging
[2] https://www.amazon.science/publications/position-paper-reducing-amazons-packaging-wasteusing-multimodal-deep-learning
封面图:Joshua Brown、Pexels