A Convolutional Neural Network Model for Predicting a Product’s Function, Given Its Form

  ABSTRACT

量化数字设计概念执行功能的能力目前需要使用昂贵的软件以及密集型解决方案,例如计算流体动力学。为了缓解这些挑战,这项工作的作者提出了一种基于3维卷积的深度学习方法,该方法可预测数字设计概念的功能量。这项工作定义了“功能数量”一词,意指对工件执行功能的能力的定量度量。这项工作衍生出几个研究问题:i)学习过的3D卷积是否能够准确地计算出这些数量(以等级,大小和准确性衡量)? ii)该网络发现的潜在特征(即模型中的内部值)是什么意思? iii)在计算功能量方面,这项工作是否比其他深度学习方法更好?在案例研究中,将根据提议的网络设计根据与培训班不同的测试表格类别预测几种功能(坐着,存储液体,发出声音,显示图像和提供运输工具)的能力进行测试。这项研究基于共同的体系结构评估了解决此问题的几种方法,其中最好的方法是在所确定的5个功能中的3个中实现F得分> 0.9。在新颖的输入上测试经过训练的模型还可以得出高达98%的准确度,以估计这些功能量的等级。该方法还用于区分装饰性和功能性头饰,其准确度为84.4%,精确度为0.786。

1 Introduction

这项工作考虑了对象形式和对象功能之间的关系。随着技术的进步,三维数字人工制品的普及和实用性也在不断提高。 在家里或在本地商店印刷这些文物已使增材制造行业发展成为价值51亿美元的行业1。 打印的工件可以由用户设计,或者通常在共享存储库或社区(例如Thingiverse或GrabCAD)中找到,用户可以在其中下载模型。 仅GrabCAD便拥有超过150万个3D模型2可供下载。 3D伪像捕获软件和硬件(例如3-D扫描仪或RGB-D传感器,例如Microsoft Kinect)的可用性进一步使全世界这些伪像的捕获,共享和生产成为可能[1,2]。

但是,仅因为设计“看起来不错”并不意味着它将实现其预期的功能或行为。尽管CFD等仿真模型使用高级数值方法和算法来评估设计的可行性,但它们需要广泛的建模专业知识,高级计算资源,并且很耗时[3,4]。尽管这些可公开获得的数字设计模型中的某些本质上是装饰性的,但其中许多人工制品旨在满足设计人员可能暗示或明确声明的特定目的或功能。形式上,功能被定义为旨在用于对象的目的。这项工作提出了一种使用表示可能的工件的模型文件作为输入的方法。神经网络分析该人工制品,并作为输出预测其执行每个预期功能的性能。例如,一些对象可以用于坐下。该网络将预测坐着时它将承受的力量。这些训练了的预测模型也将提供其潜在变量的洞察力。潜在变量是模型中包含的变量,其值可以描述具有最大预测能力的形式和模式。

通常,设计通过产品的形式,功能和行为来定义产品[5]。但是,这项工作仅限于形式和功能的研究,因为行为会受到环境和时间等独立作用力的影响。例如,蜂窝电话拨打电话的功能可能会受到环境(例如蜂窝服务的可用性)以及时间(电池随时间失去电力)的影响。这项工作将术语“功能数量”定义为一个实际值,该值指示工件在某种程度上起作用的能力。例如,汽车的功能量为60 MPH,汽车的平均速度,瓶子的功能量为20液量盎司,即瓶子的平均大小。相比之下,飞机的功能量为500 MPH,花盆的容量为128流体盎司。注意,功能量的单位因功能而异,其大小因类别而异。这些数量是基于每种类别和数量类型的平均值的最佳可用数据得出的。这项工作将此关系建模为回归问题,它将估计对象的形式与对象的功能量之间的关系。这是基于这样的假设,即对象外观暗示了许多对象功能。使用神经网络来估计这些值将以真实值回答“形式X将执行Y函数的程度如何?”的问题,而无需设置复杂的模拟环境(例如,该油轮可以容纳多少水?) 。为了将这项工作与对象识别任务区分开来,使用完全未经训练的类(而不是类似于经过训练的类的测试集)对网络进行测试,这证明了该模型学习功能内通用性的能力。即使自动仿真工具变得更加用户友好,此方法也可以在其他设置中查看应用程序。例如,此方法可以为给定设计设想辅助用例,或者帮助移动AI系统理解附近的对象。

这项工作的组织如下。 本节为这项工作提供了介绍和动机。第2部分介绍了利用3维工件深度学习的其他工作,以及工程设计界对形式和功能映射技术进行了研究的研究。 第3节介绍了如何将深度学习应用于此映射问题。 在第4节中介绍了几个功能的案例研究,在第5节中可以看到其结果。最后,该工作以对结果的讨论以及由此得出的未来可能的工作作为结尾。

2 Related Work

2.1 Design Evaluation Methods

由于设计是一个广阔的领域,因此设计分析和量化可以采用许多不同的方法。Chan-drasegaran等。概述了一些挑战[6]。其中包括协作设计,数字知识发现以及这些问题如何帮助功能形成映射。 Chen等。提出了一种以结构化形式表示功能和知识的方法,从而可以更轻松地传递跨学科知识[7]。在此基础上,Qi等人。他介绍了一种方法,其中跨学科的概念可以很容易地综合在一起以解决问题[8]。 Bhatt等。对建筑学科应用了类似的形式化方法[9]。汤森德等。调查了形式和功能如何影响消费者对品牌的看法[10]。 Kang和Tucker提出了一种从无关领域生成新产品形式和概念的自动化方法[11]。曾等。分析产品形式,并评估其外观如何与消费者对它们的印象相对应[12]。罗伊等。正式确定了将产品规格映射到这些产品的表示和行为的框架[13]。蔡等。提出了一种快速设计系统,该系统采用参数方法来预测用于描述其测试设计的形容词[14]。 Sylcott和Cagan考察了用户对形式与功能的总体偏好[15,16]。但是,他们的工作并未考虑将形式用作功能的预测指标,而是探索了其中的权衡取舍。 Osborn等。消费者调查了参数化审美偏好的参数[17]。 Tseng和Cagan提出使用神经网络对消费者对形式的判断进行建模,并将其与有助于实现某些目标的模型相结合[18]。曾梵​​志和卡根仅在一类物体(汽车)中考虑了物体的各个方面。因此,虽然Tseng和Cagan确实尝试融合形式和功能,但并未自动预测给定形式能实现哪些特定功能。相反,重点在于文体分析。代替自动化概念生成,本文探索了自动化概念生成的逆过程。即一种将表单映射为功能的自动化方法。 Cheong等。也利用受生物启发的设计来确定最适合设计灵感的关键词和类比[19]。尽管这项工作确实考虑了形式和功能之间的映射,但并未使用文本描述作为输入,在描述形式时并不总是可用或准确的。例如,为椅子提供的标题可以包括“设计精美的带有皮革背衬的椅子”,而不是“该椅子能够承受X的力”。相反,此处介绍的工作将3D模型用作输入和输出,即对对象功能的定量评估。

上面介绍的每件作品都主要通过辅助或探索方式来探讨形式与功能之间的关系。分析设计过程中功能到表单的映射。 确实,所有这些作品都认为构成过程的功能是必须由人工设计者执行的手动过程,并且着重于如何通过允许交流或组织知识来使过程形式化。 换句话说,在基于产品形式自动定性地预测产品功能方面存在知识鸿沟。 这项工作通过调查形式对功能的预测能力,包括最能预测哪些功能以及最能抓住这种关系的特征类型,有助于填补这一知识空白。

上面介绍的每件作品都主要通过辅助或探索方式来探讨形式与功能之间的关系。分析设计过程中功能到表单的映射。 确实,所有这些作品都认为构成过程的功能是必须由人工设计者执行的手动过程,并且着重于如何通过允许交流或组织知识来使过程形式化。 换句话说,在基于产品形式自动定性地预测产品功能方面存在知识鸿沟。 这项工作通过调查形式对功能的预测能力,包括最能预测哪些功能以及最能抓住这种关系的特征类型,有助于填补这一知识空白。

2.2 Descriptor Machine Based Learning Machine

机器学习为对象识别和其他预测问题提供了许多不同的解决方案。传统上,预测包括两个主要步骤:i)描述符提取和ii)描述符分类。描述符通常是固定大小的输入的向量表示。已经提出了许多用于提取二维图像描述符的算法,例如SIFT [20],SURF [21],ORB [22]和HOG [23]。这些算法将图像转换成描述符向量,该描述符向量是代表图像数据的数字向量。对于识别任务,这些描述符向量对于相似的类别应该相似,并且彼此不同。类似地,已经提出了3维描述符提取方法,例如ESF或SHOT [24]。这些方法中的每一种都使用形状和颜色信息的组合作为输入来生成描述符向量。宋等。介绍了一个结合了无监督学习,度量学习和用户干预的框架,该框架使用了来自用户的最少输入来验证提议的模型分组[25]。这些描述符方法依赖领域专家来识别和量化最适合指定任务的输入方面(例如,用于对象识别的图像梯度)。

预测过程中的第二部分是分类器。 一些最受欢迎的分类器包括朴素贝叶斯,最近邻,支持向量机(SVM)[26]和随机森林分类器[27]。 基于描述符分类器的方法也存在类似的问题,即描述符表示必须由领域专家设计并选择。 这些描述符中的每一个都有独特的品质。 例如,在3维舞台上,一些描述符用于定向识别,而不是对象识别。 为了克服这些限制,这项工作建议使用一种称为卷积神经网络(CNN)的机器学习技术,从而消除了选择和使用这些手工设计描述符之一的需求。 这些网络将首先学习输入的描述符表示,然后在端到端的过程中确定最佳的分类方法,以便共同学习特征和分类器。

2.3 Convolutional Neural Networks CNNs

CNN已被证明是可用于许多2D图像相关任务的最有效工具之一。

基于CNN的解决方案在Imagenet对象识别挑战中始终胜过其他解决方案[28]。由于神经网络的灵活性,在这一挑战中表现出色的人([29、30、31])经常将其设计集成到专用应用程序中。同样,大型的带注释的3D对象数据集(ModelNet [32]和ShapeNet [33])已经使人们能够对3D对象进行分类。 Su等人的著作,如Maturana和Scherer [34]。 [35],Shi等。 [36]提出了用于对这些数据集中的对象进行分类的不同的网络设计。尽管分类是这些网络的常见应用,与这项工作所解决的问题有关,但是这些网络都不能直接推断出对象的功能,当出现新的,看不见的类时,它们也不起作用。其他作品使用3D CNN来推断对象的其他属性,例如视点[37],对象可变形性[38],分割[39]和基于场景的上下文[40]。但是,任何现有的工作都不能直接解决量化目标函数的显式预测问题。

尽管这些方法采用具有3维输入的CNN来实现某个目标,但通常所需的输出要么是分类分类(例如“此对象是椅子VS船”),要么是更通用的3维描述符(例如 ,“对象椅子的描述与另一把椅子的描述类似,与船的描述不同”)。

 Algorithm 1: CAD Voxelization Algorithm
本文提出的方法使用网络来确定形式和功能之间的关系,并根据给定的形式预测对象功能。

3 Method

本文中介绍的方法描述了根据工件的形式评估工件功能量的过程,首先是数据收集,然后是模型训练,测试,然后是评估。

3.1 Voxel Data Description

此方法使用的输入数据是双重的,即i)体素对象形式和ii)人工制品功能量。通常在各种包含面,边和顶点的CAD文件中都可以找到对象形式。但是,由于要分析原始格式(即通常为˙STL,˙OBJ或˙OFF文件格式的刻面,边和顶点的相对空间信息)所带来的挑战,因此本文考虑了这些伪像的体素化形式。 )。因此,每个人工制品都表示为大小为n×n×n的3D体素网格,其中在点(x,y,z)上的二进制变量指示该体素是否以对象形式被占用。由于找不到大多数CAD文件(包括在线存储库中的可用格式),因此使用简单的网格占用率测试将体素化程序转换为该格式。卷积神经网络需要密集且大小统一的输入,因此有必要将这些伪像从稀疏格式(网格)转换为密集格式(体素网格)。可以在算法1中看到此方法的说明。此外,通过围绕重力轴旋转12次来增强数据。

最后,每种形式(3D人工制品)都带有一个标记c∈Rp,它由p≥1个实数值变量组成,每个变量都指示一个对象执行pth功能的期望程度。 这些功能量来自这些类型的对象的最佳可用数据,这些数据是这些对象的平均值。 例如,平均瓶子包含20盎司液体,因此被用作体素化瓶子输入的目标输出值。

3.2 Convolutional Neural Network Design

本节概述了神经网络组件。 每个网络设计将包含具有不同设计和激活功能的不同神经元,以及数据处理层(例如,dropouts.)。 每个组件将在以下小节中进行总结,然后概述此工作中提出的设计。

图1:3D CNN的选定层的横截面。 这些显示了在左侧显示的体素化输入上受训网络中某些层内核的激活函数。

图2:人工神经元。 输入用xi表示,再乘以权重wi,再加上偏置项b并由函数f激活以产生输出y。 每个层类型主要定义输入如何映射到上一层,以及使用哪种激活功能。 其余术语将被学习得出。

3.2.1 Artificial Neurons

神经网络的最基本单位是人工神经元。在图2中可以看到该神经元的一个例子。一个神经元接受一定数量的输入,将每个输入乘以一个单独的学习权重,然后将这些乘积与一个学习的偏差项相加。然后,该总和具有激活函数,以使y = f(σ),其中σ是加权输入和偏差的总和,而y是神经元的输出。对于所有其他层,这些输入x1到xn映射到网络的输入数据(在最底层),或映射到上一层的输出。每层由许多这些神经元组成。这是一个反复的过程。因此,例如,神经元输入的第一层连接到原始输入(一个二进制变量,指示体素是否被占用),而神经元第二层连接到前一层的输出。最后,每一层都由许多这些神经元组成,并且主要通过如何确定每个神经元的输入来描述每一层。

3.2.2 Activation Functions

每层都有激活功能(图2中的f)。 该函数对输入和偏置的线性组合σ= b + ∑xi×wi起作用。 此激活功能可以是具有一个输入的任何功能。 例如,一个常见的函数是线性函数,其中f(σ)=σ。 这项工作仅使用两个激活函数,即i)线性激活和ii)泄漏整流线性单元或LeakyReLU。 线性激活针对所有σ值返回σ。

LeakyReLUs被用于这项工作,因为已经发现它们在CNN中表现更好[41]。 此功能可量化是否激活神经元以及激活多少神经元。 如果神经元未激活,则普通ReLU非线性函数的这种变化允许输出较小的负梯度。 该函数由公式1给出:

σ是图2中激活之前的总和,
α是网络的设置参数。 请注意,对于非“泄漏” ReLU,α= 0

3.2.3 Dropout Layer Dropout

Dropout layers是一种常见的神经网络概念,它通过将一些神经元激活随机设置为0来帮助避免过度拟合。这些层具有一个参数,用于控制将激活百分比设置为0。这些层通过确保产生相同的输入来帮助避免过度拟合。 中级水平的输出略有不同。 这些调节器的参数是在运行时设置的,并且选择它们的总和约为0.5,从而使一半的神经元在整个网络中被重置。

3.2.4 3D Convolutional Layers

这些CNN的主要组成部分是称为卷积层的层。这些层C中的每一个都包含一组n个内核(或过滤器),它们的权重被学习。每个卷积核的尺寸为d×d×d。最后,该层中的每个内核都包含一组d×d×d权重。这些权重的一个示例可以在图3中看到。简而言之,这些权重对应于小区域,沿着每个边缘的大小分布3个体素。较低的值(用较深的立方体表示)在闲置此位置的体素时反应良好。同样,当这些区域被占用时,较高的值(由较亮的立方体表示)将很好地激活。例如,图3所示的顶部内核在较远的边缘周围具有较浅的体素,而内部具有较暗的体素,类似于空心物体的角。这是一个更复杂的层次结构的基础,该层次结构将根据给定的形式预测对象的功能(即,给定具有以图案γ排列的形式β的对象,能够执行功能δ的概率为ε)。为了计算卷积中给定层的输出,使用公式2。

                                                              Cln(x) =−(k∗x)+b                    (2)

其中x是输入,k是学习的核,∗是卷积函数,b是学习的偏差。 一个示例可以在图4中看到。请注意,该图仅展示了所学内核之一的该层的输出。 因此,包含n个内核的层将包含n个此类输出。 还要注意,这些层的输出大小与输入的大小和维数大致相同。 例如,对于大小为32×32×32的输入到16个内核的层,跨度为2,内核大小为5×5×5的输出将产生16×15×15×15的输出。 第一个参数由内核数(16)给出,而其他维度由(32-5)/ 2 + 1 = 15给出。

 

3.2.5 Max Pooling Layers

卷积神经网络的重要组成部分是最大池化层。 这些层用于多种目的,包括减少网络的内存需求。 这样可以加快培训过程,并有助于控制过度拟合。 在某些架构中,这也是构建更高级模型的重要组成部分,如第3.3节所述。 池化操作的一个示例可以在右侧的图4中看到。 最大池化操作将考虑输入的区域,并将在该区域中输出最大值。 注意,池操作输出的大小要小得多。

3.2.6 Dense Layers

密集层(或完全连接的层)是经典的人工神经网络结构。 在这些层中,每个神经元都连接到前一层的每个输出,每个输出具有不同的权重。 例如,如果前一层具有1000个神经元,则大小为50的密集层将包含50组1,000个权重,或总共50,000个参数,类似于图2中神经元的50个实例,每个实例具有n = 1000个输入。 每个网络设计都包含两个密集层,作为最后两个层。 第一个是为了减少数据的大小,而第二个是为每个功能量输出一个回归值向量。 当需要简洁而强大的数据表示时,这些层是深度学习中的常见元素,因为它们提供了较小的维向量,其元素是整个输入的函数。

3.3 Neural Network Design

这项工作提出了一种新颖的网络设计,其设计要比现有的分类网络更深入。卷积是图像分析的关键部分,因为它们能够使用学习的滤波器捕获局部相似性。在底层,模型对原始输入(在这种情况下为二进制体素网格)进行操作。该体素网格由一组内核分析,这代表学习的图案。在二维空间中,这些图案可能是“条纹”或“蓝色”。类似地,在三维空间中,这些图案可以是“角”,“垂直平面”或“水平平面”。随后的层将变得更加难以阐明,这将在5.1.4节中讨论,但是它们将包含这些学习的内核的组合或模式,例如重复。相反,这种深层设计将在密集层之前将这些合并的层再次卷积并合并。通过使用卷积功能将低级模式关联起来,深度设计会以泛化性为代价学习较高级别的设计,可以通过数据增强来重获泛化,这将在3.5节中进一步讨论。这可以通过堆叠图层来完成,以便每个要素都可以代表更大的空间区域。例如,两个3×3×3层的堆叠层意味着此输出中的一个值可以将5×5×5体素范围(称为该单元的有效接收场)中的每个值用作输入,并且池化过程将使该范围再次加倍。这也需要较少的参数(2×3×3×3 = 54,而5×5×5 = 125)。通过添加第二套带有大量过滤器的Conv-Conv-Pool架构,作者假设通过跨越更大的接收场可以创建整个对象的更具区分性的特征图。该假设的有效性在第5节中进行了测试。所提供的其他非线性(都来自激活函数LeakyReLU和合并操作),通过覆盖整个输入,这些特征图既更具表达性又具有空间扩展性。第二个Conv-Conv-Pool单元还包含更多数量的内核,这些内核将学习较少数量的基本内核的模式。通常会增加更深层的内核数量,以使特征图的数量随大小的减小而增加。另外,在每个卷积-卷积池单元之后以及密集层之间都使用了丢失层。即使输入相同,也可以通过随机更改网络每个主要单元的输出来防止过度拟合。该网络还在每次卷积之后采用批处理归一化,从而对网络各层的激活进行归一化。最后,该网络以大小为1024和p个神经元的完全连接的层结束,其中p是功能量的数量,并取决于网络的变化。这将在5.1.1节中进一步讨论。选择此第一密集层的大小以使参数数量保持较低,这使得训练过程更快,更多,防止过拟合。

由于此问题的困难性质(可能会映射到相对较小范围内的连续值),因此必须注意,尤其是在该网络的后续层。 通常,将线性激活用于回归问题,但这以数据的某些特征为前提。 例如,在此数据中,功能量0和功能量> 0之间存在明显差异,即这是执行功能的对象之间的差异,而不是执行功能的对象之间的差异,因此激活功能可能是适当的。

这项工作的一部分涉及调查表1中所示的体系结构的哪种变体最适合解决将体积输入映射为实数值输出的难题。这项工作中三个变体之间的主要区别在于最后一层。首先,测试了此体系结构进行二进制分类的能力。为此,采用了tanh激活功能。对于大多数问题,这会将输出压缩到-1和1之间,这在Glorot和Bengio中显示出比sigmoid(将输入压缩到0和1之间)更有效[42]。这是由于反向传播过程的行为以及输入在0饱和时训练的缓慢特性,以及这种分布的不对称特性。由于这本质上是定性问题(简单的二进制分类),因此预期性能会比更复杂的回归问题更好。第二种变体不使用激活功能,并且训练了网络以学习目标值。

提出的第三个变体涉及对数量的几个可能值进行伪分类。这个对于大多数神经网络回归问题而言,“绝对值”是首选方法,因为绝对损失可能难以量化,并且损失梯度的实用性受到限制。此外,如上所述,此方法的目标值本质上是非线性的,因此将它们建模为线性回归目标可能会在数据中引入不精确性。此问题的性质可能使其最适合级联类型的问题(例如,如果二进制分类器返回正数,则将其链接到线性回归器的二进制分类器)。但是,这超出了本文的范围,并且确实损害了模型的可推广性。相反,此变体建议将输出映射到p个softmax向量的集合,每个向量包含一个二进制向量,该二进制向量对应于输入所属的合并功能量。例如,最快的对象将产生向量<0,0,0,0,0,0,0,0,0,0,0,1>在训练期间,由于该值落在最终bin中,因此具有1的数值。此外,此模型的最后一层使用softmax激活函数,该函数将输出压缩到范围(0,1),并确保结果向量加起来为1。这样就可以将输出建模为分布,并且可以使用离散值在该分布上计算期望值。这已显示在其他回归环境中有效,例如年龄回归[43]。这也是有益的,因为除了值本身之外,该模型还可以为每个估计输出置信度值。最终,由于softmax激活,由于梯度的差异在输出的原始值上得到了强调,因此通过在最终层输出中允许更多的变体来简化训练。其他基础网络设计也可能能够完成此任务,并且该网络的设计与5.1.3节中的一个这样的网络形成对比。

3.4 Functional Quantity Targets

该方法试图将由二进制体素网格表示的对象形式映射到不同功能的功能量。这些功能量是实际值,旨在表示每类基础上这些功能量的大小和等级。这些功能量的值的选择很重要,因为将对生成的模型进行正确分类输入对象的大小和等级的能力进行评估。此外,还必须考虑其他因素,以避免其他问题,例如类别不平衡。例如,所有对象类别中的最大速度是飞机,速度为500 MPH,如图5所示。但是,该类别的目标值500会在发生错误的情况下造成重大损失,从而在其他类别的损失中占主导地位功能。这将导致对于大小最大的功能量(尤其是数量最大的类)的优化器过度拟合。为了解决这个问题,必须执行标准化。但是,简单的归一化(例如除以最大值)也不足够,因为这会使高量值(例如速度)的低值非常接近0,以至于变得不太重要。至关重要的是,要使0和低值之间的差异明显,因为这回答了“此对象能否提供运输工具”的问题。取而代之的是,在归一化之前,将范围太大的功能量类型转换为对数刻度,该对数刻度可以准确地捕获幅度,而不会丢失非常高或非常低的值的含义。最后,通过除以最大值的对数,将这些值缩放为介于0和1之间。这具有保持等级和量级的效果,而不会过度拟合功能量或较高量级功能量内的较高量级类。这还将保留语义上有意义的关系,例如汽车移动而椅子不移动,而飞机比汽车移动快得多。由于该数据集的稀疏性,因此考虑了其他方法,包括Box-cox转换和立方根转换,这两种方法都用于具有这些特征的数据集。但是,从经验上讲,当缩放到以10为底的对数时,每个函数的正态分布确定系数最大。

3.5 CNN Training

与任何机器学习抽象一样,要训练CNN,需要两个组件:训练输入和训练输出。输入是第3.1节中描述的工件的k个3D Voxel网格。输出是一组k个向量,其中每个向量c∈C的长度为p,每个条目对应于此模型考虑的p个函数之一。例如,如果一个给定的模型能够承受最大500磅(此实验允许的最大重量)的压力,但不存储水或提供输送力(p = 3),则代表该人工制品能力的矢量c对于回归变化(在第5.1.1节中讨论)看起来像是<1,0,0>。这些功能是根据数据集定义的对象类分配的。为避免训练问题,所有功能量均应归一化为[0,1]。还对训练数据进行二次采样以纠正类别不平衡问题。对于执行至少一个功能的每个类别,随机选择n个样本,其中n被选择为大约最小类别中的样本数。这样可以确保每个数量的值大致均匀地分布。

在训练阶段,输入被提供给网络,该网络执行一系列卷积,池化和激活操作,最后输出一个向量。 将该训练输出与所需输出进行比较会产生损失,并且调整将通过神经网络向后传播,朝着将后续迭代中的损失最小化的目标进行。 迭代训练数据,并在模型中传播一定次数的误差(预测输出与训练输出之间的均方误差(MSE))。

3.6 Network Testing

最后,必须评估该训练模型。为了评估该方法的有效性,采用了留一法。此方法中使用的数据集包含许多相似的类,每个类都映射到一组函数。例如,课桌椅可以和课桌椅一样用于坐着。这样做是为了防止过度适合对象的外观,并评估新的新颖输入,看起来可能与训练集中的任何内容都大不相同。例如,如果用户将新的人工制品上传到人工制品共享服务,则它可以执行某些功能,但外观与以前见过的任何对象都大不相同。因此,重要的是要遗漏整个对象类,以便对模型进行评估,而不仅仅是将外观映射到类并将类映射到功能的能力。然后,通过为训练后的模型提供来自长凳类的输入来对其进行评估,并对模型进行正确预测可以坐在所有长凳上的能力进行评估。此外,这演示了这些深度网络同时执行多个识别任务的能力。换句话说,同一个训练有素的网络将能够在一个过程中估计每个功能量,从而消除了对每个功能使用单独模型的需求,并允许将来为新功能轻松扩展模型。为了进行评估,首先必须使用数据集提供的训练和测试集来验证此方法。该验证将通过对所有类别的训练集进行训练,然后对测试集进行准确性测试来执行。接下来,将评估留一法的设计。对于每个遗漏的类,该类的所有示例都将作为测试输入提供给已训练的网络。训练有素的网络将为每个对象输出一系列数量,将对其与实际数据之间的差异进行评估。必须特别注意具有多个功能质量的类,因为这将极大地阐明该模型同时准确地计算这些功能量的能力。最后,通过将预测数量与其最接近的地面真实数量进行比较,将评估该模型的理解等级和数量级的能力。

4 Case Study

4.1 Functional Quantities

对于此方法的案例研究,考虑了五个功能:坐着,存储液体,传送,发出声音和显示图像。 使用的输入数据来自Princeton ModelNet40数据集[32]和Shapenet数据集[33]。 该数据集由25个类别组成,每个类别均根据其执行特定功能的能力进行编码。不能执行功能的类以及那些需要外部操纵的类(例如,需要人声才能发出声音的钢琴)被排除在外。请注意,由于每个功能都是独立评估的,因此即使测试期间未使用没有功能的对象,网络也可以独立拒绝每个功能。通过绕重力轴旋转12次来增强此数据集中的模型。具体标签见表2。这些功能是根据两个标准选择的:公共数据集中的大量模型可用性以及简单性(即无需人工干预)。与许多学习问题一样,缺乏培训数据值得注意的是功能和类别之间是如何相互作用的。每个类别(例如椅子,长凳)都带有功能(例如坐着)和数量(500磅)。在此实验中,对于考虑的每个其他功能(例如显示图像),该对象的数量为0,这意味着它无法执行该功能。

该方法未考虑的一个挑战是对象缩放。由于所有模型均沿最长边按比例缩放为相同大小,因此仅凭原始数据就无法推断出对象比例。将来的工作可能会考虑对该网络进行修改以接受元数据(例如规模或材料),但这被认为超出了这些实验的范围。由于模型是沿重力轴锚定的,因此,如果未明确说明,则可能仍暗示了比例。例如,此数据集中的较大对象往往长(例如,浴缸,火车),而较小的对象通常高(例如,水瓶,杯子)。首先,每个对象都从其原始格式转换为体素网格[44] 3。部分由于内存限制,每个体素网格都被下采样为32×32×32体素网格。 Riegler的后续工作使得可以使用更大的分辨率,但是,尚未实现它们的实现[45]。第3节中指定的网络是使用Keras [46](基于Theano库[47])在Python中实现的。

基准模型训练了200个时期,遗漏模型训练了50个时期。 另外,为了验证正在评估这些形式的功能,采用了分类留一法。 换句话说,对于拥有功能p的c个类中的给定类,在训练集中使用其余的c-1个类。 在测试过程中,除了整个遗漏的类之外,还对c-1类的测试集进行了评估,以评估网络识别功能的能力,这些能力不仅包括可见类,还包括看不见的类。 例如,将对 公交 网络进行测试以确定其是否可以用于运输,尽管以前从未见过总线。

这些网络将根据几种指标进行评估。 首先,他们正确识别相似输入的能力将用于选择哪些变体得进一步研究。 接下来,将评估网络准确预测异类输入功能量的能力,包括但不包括使用argmax预测值正确识别对象无法执行功能的能力。 这些遗漏的网络也将评估其正确预测这些功能量的等级和数量级的能力。 他们的期望值也将被检查,因为这项工作的目标不仅是正确的分类,而且是对现实价值的估计。 由于数据的性质,argmax预测不一定总是准确的,因此还必须使用如下计算的准确性得分来检查功能内的等级:

其中P>和P <分别是大于和小于预测量的真实功能数量,而T>和T <是大于或小于真实数量的真实功能数量。 换句话说,马桶网络可能无法准确分辨出马桶可以容纳多少水,但是仍然可以评估其确定马桶可以容纳多于杯子而少于浴缸的能力。 相对于函数中其他数量的相对准确性将为网络提供更多洞察力,以预测新数据上的新值。

4.2 Separating Function and Aesthetics

当用户从开源存储库下载人工制品时,可能会出现误解设计用于装饰的工件的意图的趋势。这是一个复杂的问题。装饰性物品是故意制作得与功能性相似物相似的,但通常缺少确保其功能正常的关键元素。虽然第4.1节假定类的所有对象均能很好地执行功能,但本节考虑的是目的混合在一起的头饰制品:帽子/帽子和头盔。头部受伤在2012年导致超过65,000例漏工,因此此模型确定给定工件是否能够确保使用者安全的能力至关重要。要求模型预测一个变量,该变量指示头盔的设计是否考虑到安全性(与装饰物品相反)。为此,需要对每个头盔进行人工标记,以指示给定的头盔是否具有装饰性(也就是说,设计者的意图是创建可用于保护的头盔)。在数据集中,功能性人工制品主要来自赛车,军事或体育环境,而装饰性人工制品则植根于诸如视频游戏或电影之类的小说作品中(见图12)。此外,该实验还包括所有帽子实例,没有一个实例能够为用户的头部提供保护。在此实验中,总共有218件人工制品(包括160件装饰件和58件功能件)。使用5折交叉验证对这些模型进行了20个时期的训练,并对其准确性,召回率和准确性进行了评估。

5 Results and Discussion

本节介绍了这项工作的结果,并评估了预测功能量的准确性。

5.1 Functional Quantities

5.1.1 Full Dataset Baseline

本节中提出了几种评估方法。首先,对第3节中概述的基本网络进行了训练,但有一个例外:将最后一层替换为具有5个输出和tanh激活功能的简单密集层。这意味着证明网络可以对对象功能进行定性评估。简而言之,该网络将输出[-1,1]中的值,其中-1表示对象无法执行功能,而1表示可以执行该功能。由于网络以连续规模输出预测,因此执行了二值化方案,将值> 0舍入为1,将所有其他值舍入为-1。该网络使用Adam优化器[48]进行了200个时期的训练,并使用针对25个类别的给定测试集进行了测试。结果如图6所示。从每个功能可以看出,该解决方案非常适合对新颖但相似的输入进行定量评估(例如,在一组杯子上训练该模型,并在另一组杯子上对该模型进行测试) 。在所测试的5个功能中,输送功能表现最好,F值为0.9694。类似地,Sitting的F得分为0.9569,表现差不多。所有5个类别的F得分都高于0.75,这是Display的最低得分,其精确度很低,这可能是因为真实阳性的数量很少(仅占所有样本的6.7%)。实际上,将二值化阈值从0移到0.6会使F分数增加到0.8411,这表明通常在此尺度上,假阳分数低于真阳分数。

在每个类别的基础上,每个对象的准确率均超过90%,但有三个例外。 表现最差的是“电话和显示”功能(13.0%),这可能是由于手机数据集中包含了手机模型,导致该测试的性能较低。 另外两个是扬声器/运输工具(84.6%)和浴缸/声音(82.5%),强调了此任务的难度。

接下来,使用多类分类方案测试同一网络。 在此模型中,网络将输出五个softmax向量,而不是输出五个量(每个功能一个),从而指示模型认为对象属于哪个合并量。 此外,由于可以将softmax标签视为分布,因此可以根据等式4为功能fi计算功能量的最终期望值:

其中d是给定功能的类型数(例如,坐姿为6),Ot是类型t的训练网络的输出,FQt是与类型t相关的数量(例如,长凳为500 lbs) 。 这将用于评估与基本事实之间的差异。

该分类的结果可以在图7中看到。为了计算此混淆矩阵,采用了softmax矢量输出的argmax,并将其与真实情况进行了比较。 请注意,这5个功能中每个功能的最低F得分均为0.8973,而对于5个功能中的3个功能,此变化的F得分高于定性版本。 这可能是由于在训练过程中过拟合作为解决类不平衡问题的一种方式,这可能对定性问题的表现不利。 这也可能表明此类型的softmax logistic回归尤其有助于解决此问题。 还要注意的是,对于许多类,都从未提出过一些地面真相标签,这意味着对于某些功能(显示和声音),此变化形式和二进制变化形式之间几乎没有差异,这使得 在这种限制下,这些功能的表现更好。

最后,采用一种简单的回归方法,其中最后一层是一个简单的输出,其目标是找到对象功能量的实际值。 使用以下二值化过程对结果进行二值化:

y` 是二进制化值,y是预测值,avg(y)是所有样本的平均预测值。 每个功能的二值化方案是必要的,因为测试功能之间的分布不同。 此网络产生的低F得分包括5个功能中的3个中的0.5以下(坐姿:0.6365,储水量0.2258,运输能力:0.7212,声音:0.3272,显示值:0.2528)。 由于此设计需要一种不同寻常的二值化方案(许多功能的硬最大值小于1),并且性能不如softmax方法好,因此,以后不会使用这种网络变化。

5.1.2 Left Out Classification Accuracy

由于此网络的分类变化比绝对回归性能更好,因此使用遗漏分类方案对其进行选择和评估。 可以在图9中看到这五个功能中每个功能的混淆矩阵。这是25个训练运行中每次仅遗漏的类的总和,argmax最大化,并与基本事实进行比较。 自然地,这些功能中的每一个的准确性都低得多,因为以前从未对这些训练过的网络中的每一个进行过类似于该测试输入的输入的训练。 因此,与接受25类培训和25类测试的网络不同,这衡量的是接受24类培训和1类测试的网络。 这验证了模型学习了可以应用于新输入的潜在变量。 一般而言,大多数类与共享功能的其他类具有相似性,本节测试神经网络学习潜在变量中这些相似性的能力(请参阅研究问题ii)。

但是,此模型在这些功能上仍然表现良好。 计算得出的最低F分数(在加权方案下)为0.5814,明显好于机会。 但是,这些F分数通过正确拒绝新颖输入的能力而人为地保持较高的分数,因此值得进行更深入的研究。 表3列出了在argmax二值化条件下,每个遗漏类可以执行的每个函数的精度。 一些著名的高性能表演者包括手机/声音,电话/声音,火车/交通工具,公共汽车/交通工具,笔记本电脑/显示器和长凳/坐垫。 但是,argmax二值化不是特别适合此任务。 例如,考虑飞机,它是数据集中最快的项目。 为了获得正确的输出,将需要该网络来推断飞机比以前看到的要快。

因此,二值化约束在标记为“放宽的准确性”的列中放宽。这给出了模型是否相信对象完全能够执行此功能的更准确的描述。这样会产生更好的结果。例如,碗类的准确性提高了84%,花盆增加了81%,水槽增加了66%,花瓶从0增加到几乎完美的96%。到目前为止,储水功能从这种轻松的二值化方法中受益最大(平均增加62%),尽管输送量也出现了大幅增长(平均增加30%)。飞机,汽车,摩托车和轮船在这种更加轻松的二值化过程中均表现更好。坐便器类的坐位功能也大大增加,这表明网络已经确定可以坐便器,但无法确定它可以支撑多少重量。 “是否可以准确性”是这种二值化的变体,其中将非零可能性相加,这用于确定网络是否相信对象是否可以执行功能。这与argmax略有不同,并且在多个“非零”估计“分割表决”的情况下更有用,它允许“不能”进行估计。

这些结果也可能是由于缺少每个仓位上目标值的完整分布而引起的。 实际上,从混淆矩阵可以清楚地看出,没有一个函数会利用所有11个合并值,从而确保它们的权重保持为0,并且永远不会成为估计的直接输出。 换句话说,如果该网络以前从未见过功能量为0.3的对象,则将无法输出该对象的0.3估计值。 由于功能量分布可能变得更加稀疏,因此在留一法条件下这一点尤其明显。 在表3中可以看到诸如Boat,Sink和Bathtub之类的类。 功能更全的数据集也许可以克服这一点,但这超出了本文的范围。 尽管如此,也可以计算出这项工作的期望值,并将提供网络对这些对象功能的信念的更完整描述。

FQacc是一个定量评分,可以广泛地测量模型的能力,这些能力不仅可以预测预期使用的对象,还可以预测数量。简而言之,任何认为杯子和浴缸可以以相同方式使用的模型都是不完整的模型,因此,重要的是要衡量该模型理解杯子和浴缸相同的方式以及在其中使用的方式。它们是不同的(即所容纳的水量)。在这个实验中,许多其他类的情况也是如此,而这一得分所产生的结果令人鼓舞。需要明确的是,输出值不是纯粹的回归值,而是对网络预测对象所处位置的预测(如训练集所示)。由于此方法区分FQ 0(在第一个仓中计数,表明对象根本无法执行功能)与非常小的FQ(在第二仓中计数,表明对象可以执行功能,但相对于最大值要小),在重新组合计算的期望值时必须小心。对于表3中所示的结果,所有低于10-2的值都放置在第一个容器中(这意味着对象无法执行此功能),否则所有其他值将使用与训练期间相同的范围重新合并。

尽管其中一些结果可以归因于各种类别的稀疏布局,但是如使用基于相对值而不是实际值的精度的度量标准所期望的那样,这些结果有助于强调在体积数据上使用卷积神经网络的有效性。对于许多类别,FQacc甚至比宽松的精度还高。在功能量空间各不相同的类中,这一点尤其明显,这表明此方法可能适用于以后的较大数据集。这对对象的argmax可能表明它们无法执行功能但其分布描述了可以执行的强烈信念提供了有用的度量。该指标中最显着的性能是手机,耳机和沙发。对于这些类别的对象中的每一个,尽管以前从未见过这种类型的对象,但经过其他项目培训的网络仍能够确定耳机和手机可以发出声音,手机可以显示图像并且可以坐在沙发上。其他坐着的物体也表现良好,凳子,椅子和长凳的FQacc> 0.85,这与以下发现相符:以坐着作为函数,遗留物体的平均FQacc最高,为0.7932。

各个功能之间的性能差异可以近似地反映出对象外观与该对象执行功能的能力之间的对应关系。 考虑到这一点,表现最差的五个类别/功能对是显示或声音。 这说明了这项工作的局限性之一,即如果没有丰富的视觉信息以及整个功能在外观上的普遍性,该模型将无法提供准确的预测。 例如,监视器的外观相当均一,但是几乎没有指示它们可以用于显示,而这一类模型的准确性很低,这反映了这一点。 在大型在线存储库的情况下,不仅希望获得更加多样化的数据集,而且是流程的关键部分,可以基于更完整的功能量集构建更强大的模型。

5.1.3 Baseline Neural Approach

该网络将根据Maturana和Scherer提出的VoxNet设计进行测试[34]。该网络将稍作修改,以输出功能量估计值而不是分类。 VoxNet网络设计使用较少的层和更多的参数来预测给定对象的功能。选择该网络是因为已知它可以解决类似但截然不同的问题,因此可以作为基准。 VoxNet与本文提出的网络之间的主要区别是:i)VoxNet仅使用2次卷积运算; ii)VoxNet不进行批量归一化,这会减慢训练速度并阻止正则化; iii)VoxNet是为单个对象分类任务而设计的。为了解决iii,改变网络以输出5个softmax矢量,类似于对上述问题表现最好的变化。此外,使用了Adam优化器,因此两种架构都使用了相同的优化方法。值得注意的是,在训练期间,该模型在200个时期内不稳定,因此选择了在训练数据上表现最佳的模型并将其用于这些结果。这与提出的深层模型相反,深层模型的损耗可靠地下降了。

可以在图10中看到25类问题的结果。请记住,选择该模型来执行在训练数据上最好(最终形式是预测所有“无法执行此功能”),该模型的性能与本文提出的模型相当。 值得注意的是,该较浅的模型在运输对象(F分数为0.9107至0.8973)上表现更好,而在就座对象(F分数为0.8956至0.9243)上表现不佳。 这些差异可能与这些功能的性质有关,而不是与模型架构本身有关。

为了解释这一点,请考虑这两个网络的相对深度。 VoxNet仅包含两个卷积的一个集合和一个最大池,而新的网络设计包含更多的层,因此卷积更大,它在最低级别上的过滤器也更少(VoxNet为32,而16为水平),该过滤器可直接在输入。由于每个卷积和合并操作都有空间和体积损失,并且这些操作在空间上相关,因此进一步的卷积和合并意味着最终预测是基于较高级别的功能(而非较低级别的功能)进行的。此外,每次卷积和池化操作都有空间和体积上的损失,这意味着对于更深的网络,在上下文中会考虑更多的功能。通常,这将导致准确性提高,但是在某些情况下,这些低级功能可能具有较高的预测能力。这些低层特征可能会更好地预测“运输”类别,并且进一步的卷积和合并会导致信息损失,而不是收益。另一个关键区别是最低级别的过滤器大小。该工作中保留的网络使用3×3×3网络,而VoxNet使用5×5×5过滤器。如所讨论的,后续场的添加可以使有效接收区域超过5×5×5,但是对于特定的边缘情况(例如长的平坦表面),学习特定的较大滤波器的值可能更大。最后,尽管VoxNet的参数比本工作中提出的模型少,但较大的输入层会大大减慢训练和测试过程的速度,这意味着此新模型可以更有效地运行,同时获得相似的结果。较大的参数数量也意味着该模型具有更有效地泛化的能力,并且可以用作对较大的数据集和函数类进行微调的基础。

5.1.4 Latent Features

潜在特征是在模型内部工作中发现的特征,可以揭示有关模型如何工作以及发现的内容的其他信息。 本节讨论这些功能对于与功能量相关的对象形式分析的含义。 由于神经网络具有如此众多的参数,因此不建议也不对其进行检查,尤其是在第一层之外的检查。 取而代之的是检查特定输入的激活来说明。 由于激活是按空间排列的,因此可以将中间层的这些输出视为输入的已过滤图像。

要查看这些潜在功能,请在留一阶段从5个功能量的每一个中选择出色的执行者。 换句话说,尽管以前没有见过该对象类,但选择的对象肯定具有很多功能。 这些对象中的每一个都以高确定性得出了正确的预测。 表现最好的例子是坐板凳,发出声音的手机,运输工具的公共汽车,显示图像的笔记本电脑和储水的瓶子。 图11的底部显示了模型。 回想一下,这些模型已经过体素化为32×32×32的分辨率,丢失了很多细节。 即使没有这些对象的大部分细节,网络仍然能够正确推断这些输入的功能量。

在图11中这些对象的上方,可以看到选定的激活。回想一下,这些层的激活是4维的(过滤器数×激活空间),为简洁起见,仅介绍包含洞察力的激活。为了清楚起见,这些激活已沿z轴横切(conv3激活除外),并且省略了低于0的激活。通常,激活变得越难从视觉上解释该层越深。但是,对于几个输入,激活非常清楚。长凳conv11 1所示的激活似乎可以很好地激活长凳本身的内表面,而对于瓶子和公共汽车,过滤器可以很好地激活外部边缘,尤其是公共汽车的上边缘。笔记本电脑显示物体的前边缘,而手机似乎可以很好地激活非驻留体素。尽管这似乎不包含任何信息,但手机的conv2 2和conv3中的激活显示出明显的激活,这意味着尽管信息显示得不好,但神经网络会在预测之前解决此问题。包括笔记本电脑表格的Conv2 2来说明过滤器可以学习激活空白空间,以及如何将其仍然用于进行预测。这些数字是通过与Zeiler和Fergus [49]引入的方法相似的方法生成的,Zeiler和Fergus [49]搜索高度激活的滤波器。但是,他们的方法产生的视觉效果在3D空间中难以理解。

5.2 Separating Function and Aesthetics

该实验的目的是预测给定的头饰在设计上是功能性的还是装饰性的。在交叉验证中使用的5倍折叠中,测试数据的平均准确度为84.4%,精确度为0.786,召回率为0.569(见图12)。尽管这些结果仍有改进的余地,但高精度意味着任何被归类为功能的伪像都极有可能提供保护。误报比误报更可能发生的事实证明了这种方法在现实环境中的实用性。在安全的情况下,误报可能会导致用户在危险环境中佩戴不安全的头饰,而误报只会导致错误建议,以避开给定的头盔。与上述实验一样,该分析可以轻松地集成到在线存储库中,并用于提供有关给定对象的预期用途的建议。区分装饰性和功能性人工制品的能力还可以通过回答有关类中项目的更细粒度的问题来帮助解决上述实验的某些局限性。

6 Conclusions And Future Work

这项工作提出了一种方法,该方法使用深度学习根据提供的对象形式预测对象的功能。 评估了这些形式预测功能的能力。 确实并非所有形式都与功能直接相关,但是这种方法阐明哪些功能与形式相关的能力具有许多含义。 针对可见和不可见的对象类评估此方法,以验证模型是否按预期执行。

这项工作的主要贡献之一是提出了一种新的更深层的网络设计,该设计比该领域中提出的其他设计还要深。 此设计在形式功能预测任务上的性能为如何建立这种关系提供了有价值的信息。 如图所示,与基线较浅的网络相比,更深,更非线性的设计在此任务上的性能要好得多。 这表明在功能预测过程中,仅将对象视为小块的组合并不像学习这些小块如何相互关联那样有效。 这些关系是如此重要,以致于经过这些关系训练的模型不仅可以识别出工件的用途,而且可以识别出该功能在何种程度上可以执行此功能,尽管以前从未见过这种类型的对象。

这项工作的一个主要限制是功能量的选择。选择这些数量以反映所讨论对象的等级和大小时,仅根据类别对它们进行分配会过于简单地说明这些数量在一个类别中的变化方式。未来的工作可能会利用这些网络的生成功能来执行设计扩充。例如,自动向现有对象表单添加功能。在设计自动化和探索3D对象的设计空间方面,这可能被证明是极其有效的。特别是,可变自动编码器和对抗网络已成功用于此过程。将来的其他工作可能会利用文本分析功能来帮助生成每个对象可以执行的功能的描述。两者都将利用神经网络的极高参数数量的优势,这可以帮助使用模型来生成新对象或描述现有对象。研究的另一个活跃领域是解释神经网络。如上所述,尽管有一些通常用于2-D输入的方法,但对于3-D域,该领域的成熟度要低得多。这对于更复杂的对象很有用,这将受益于演示对象的部分理解。

将来的其他工作可能会比较这些渲染对象在此任务上的二维图像数据的能力,从而可以使用更大分辨率的输入。 输入还可以使用诸如比例尺之类的元数据进行扩充,甚至可以对材料进行逐个体素注释,以实现更完整的预测。 未来的工作还可以考虑更复杂的功能,或对对象之间的交互进行建模。 最后,由于体素化过程既费时又不精确,未来的工作应探索表示这些对象的替代方法。 尽管一些工作已提出对稀疏体素化的对象使用不同的数据结构,但另一种方法可能是直接分析对象网格(作为一系列表面),因为很容易失去连续性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值