8

使用深度学习 - 扩展业务第2部分

 3 years ago
source link: https://panchuang.net/2021/08/08/%e4%bd%bf%e7%94%a8%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0%e2%80%8a-%e2%80%8a%e6%89%a9%e5%b1%95%e4%b8%9a%e5%8a%a1%e7%ac%ac2%e9%83%a8%e5%88%86-2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

在前一篇文章中,我们解释了CriticNet是什么,它如何用来根据质量对房屋进行评级,以及CriticNet如何显著帮助扩大购房规模。article

CriticNet需要输入四幅图像,每种房间类型(浴室、卧室、客厅、厨房)一幅图像才能给房屋打分。不幸的是,我们必须这样做的数据集远远不是完美的,这需要解决各种问题,以达到我们最终获得每种房间类型的最佳图像的地步。

在这篇博客文章中,我将讨论清理数据集、预处理数据集并将其转换为所需格式以将其提供给CriticNet所需的步骤。

数据集挑战

我们正在评估的数据集是其他外部平台上的房屋列表。此数据集是由第三方提供商提供给我们的,您可以在图1中看到它的样子。它包含主页的唯一标识符和主页图像的URL链接。

如您所见,图像链接没有分类为任何房间类型,每个家庭平均包含约40张图像。图2描绘了从“捕鲸者小屋”拍摄的图像,您可以看到我们需要克服的挑战很少。The Whaler’s Cottage

首先,有一些来自户外空间的图像对房屋评级没有用处。所以这些图像只是我们需要去除的噪音。此外,室内图像并不总是有用的。这些图像通常没有描绘出房间的空间,所以评分员很难判断房间是否符合Plum标准。

要清理和预处理数据集,我们需要分开解决问题。更具体地说,我们需要撞击应对以下挑战:

  • 将图像分类为房间类型:这是一个分类问题,我们必须将图像分类为房间类型、起居室、卧室、浴室、厨房或室外空间。
  • 然后,对于每种房间类型,我们需要挑选最能代表房间的图像,这是一个很难解决的问题。

第一个任务是构建一个预测给定图像的房间类型的图像分类器。这个问题似乎并不难,因为我们可以使用最先进的深度学习模型。让我们先来看一下数据集。

不幸的是,在Plum Guide,我们不将图像分类为房间类型,因此没有任何内部数据集可供使用。因此,我们建立了一个爬虫,在谷歌搜索中输入关键字客厅、浴室、厨房、卧室和户外,并从网络上获取图片。这样,我们创建了一个不错的数据集(参见图3)。数据集似乎在5个类中是平衡的(参见图5),因此我们可以开始开发和训练我们的模型。Plum Guide

培训和评估

由于数据集的大小不足以从头开始训练深度学习模型,因此我们应用转移学习并微调了预先训练好的神经网络的权值。我们选择的预训练模型是EfficientNetB7模型,它在参数相对较少的情况下达到了最高的准确率。我们训练模型所遵循的步骤包括:

该模型达到了96.3%的准确率和95%的召回率。图5描述了不同阈值的精确召回率。最佳阈值似乎是0.5。

让我们挖洞更深入地了解一下评测结果。在图6中,我们绘制了念力矩阵,它让我们清楚地了解分类器在每个类中的性能。以下是几个主要观察结果:

  • 该模型总是正确地预测照片是否是户外空间。然而,因为户外空间可以是真实世界中的任何东西,所以当模型在生产中运行时,我们应该预料到模型在新的不可见数据中的一些错误分类。
  • 客厅类的成绩最差,准确率为91%,召回率为88%。图7显示了客厅类的假阳性和假阴性。从下面的图像中,我们注意到一些没有捕捉到足够房间空间的图像很难分类。

Robojack机器人

我们需要撞击的第二个挑战是找出如何为每种房间类型挑选最好的图片。首先,我们需要定义一个好的形象意味着什么。

想象一下,你是一位家居评论家,你需要从照片中判断一个家是否是高质量的。你需要有尽可能多的捕捉房间的照片。这就是我们所说的照片构图。

我们的品牌质量团队编辑了一个包含房屋照片的数据集,每张照片被分为两类。不管Photoshop是否符合Plum标准(参见图8和图9)。

这是一个二进制分类任务,因为目标变量是二进制的(无论是否符合Plum标准)。在建模方面,我们将对预先训练好的深度学习模型进行再训练和再微调。这里有两个选项:

我们决定采用第二种选择。不过,在未来,我们也计划尝试第一种方法。

我们使用的模型也是EfficientNetB7,并且我们在培训阶段采用了与之前相同的方法。

该模型达到了88.1%的准确率和88.3%的召回率。从念力矩阵(见图9)可以看出,误报率为13%,表示分类器误判图像质量不符合Plum标准(拍照质量高),误报率为10%,表示分类器误判图像质量高。

CriticNet架构

到目前为止,我们已经介绍了如何通过使用房间分类器来清理和预处理我们的数据集,将家庭照片分类为房间类型,并将图像分为高质量照片和低质量照片。现在我们将讨论所有这些模型是如何组装起来的,以便对房屋进行自动评级。

在这篇博客文章中,我们描述了如何使用深度学习模型来清理和预处理原始数据集,以供CriticNet使用。房间分类器和Robojack并不完美,潜在的错误分类错误会传播到CriticNet。然而,CriticNet在过滤非常低质量的房屋方面表现出了非凡的表现,这有助于显著扩大对该业务的房屋收购规模。CriticNet has shown exceptional performance on filtering out homes with very low quality

正如你可能已经注意到的,我们每种房间类型只使用一张图片。但是,住宅可以有多个相同类型的不同房间。目前,CriticNet不处理此案。按房间类型挑选最佳图像是CriticNet精确度较低(~66%)的原因之一。

如果您喜欢我们的工作,并对解决具有挑战性的问题感兴趣,我们正在聘请工程师与数据科学团队合作,重建搜索体验。你可以在这里申请!search experience here

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/08/%e4%bd%bf%e7%94%a8%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0%e2%80%8a-%e2%80%8a%e6%89%a9%e5%b1%95%e4%b8%9a%e5%8a%a1%e7%ac%ac2%e9%83%a8%e5%88%86-2/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK