CN111615706A - 基于子流形稀疏卷积神经网络分析空间稀疏数据 - Google Patents
基于子流形稀疏卷积神经网络分析空间稀疏数据 Download PDFInfo
- Publication number
- CN111615706A CN111615706A CN201880086906.6A CN201880086906A CN111615706A CN 111615706 A CN111615706 A CN 111615706A CN 201880086906 A CN201880086906 A CN 201880086906A CN 111615706 A CN111615706 A CN 111615706A
- Authority
- CN
- China
- Prior art keywords
- user
- content objects
- particular embodiments
- assistant
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims description 22
- 238000004458 analytical method Methods 0.000 title claims description 14
- 238000000034 method Methods 0.000 claims abstract description 107
- 230000004913 activation Effects 0.000 claims abstract description 88
- 238000010801 machine learning Methods 0.000 claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 63
- 230000015654 memory Effects 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 38
- 238000011176 pooling Methods 0.000 claims description 23
- 230000006855 networking Effects 0.000 claims description 19
- 230000003993 interaction Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 238000013475 authorization Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 230000035755 proliferation Effects 0.000 claims description 4
- 238000012015 optical character recognition Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 76
- 238000004891 communication Methods 0.000 description 52
- 239000003795 chemical substances by application Substances 0.000 description 50
- 230000009471 action Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 25
- 230000011218 segmentation Effects 0.000 description 18
- 238000012360 testing method Methods 0.000 description 14
- 238000002474 experimental method Methods 0.000 description 11
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 230000005283 ground state Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000011524 similarity measure Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 239000013543 active substance Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- UCJGJABZCDBEDK-UHFFFAOYSA-N bazedoxifene Chemical compound C=1C=C(OCCN2CCCCCC2)C=CC=1CN1C2=CC=C(O)C=C2C(C)=C1C1=CC=C(O)C=C1 UCJGJABZCDBEDK-UHFFFAOYSA-N 0.000 description 1
- 229960000817 bazedoxifene Drugs 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000009189 diving Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 235000013550 pizza Nutrition 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在一个实施例中,一种方法包括:访问多个内容对象;分别为多个内容对象生成多个体素化表示;基于一个或更多个稀疏卷积生成一个或更多个构建块,生成构建块包括基于多个内容对象中每一个的体素化表示来确定关于多个内容对象中的每一个的一个或更多个激活位点,并将一个或更多个稀疏卷积应用于该一个或更多个激活位点;以及基于包括该一个或更多个构建块的卷积网络来训练机器学习模型。
Description
技术领域
本公开总体上涉及在网络环境内使用机器学习来分析具有空间和/或时间结构的数据,特别地涉及用于智能助理(smart assistant)系统的硬件和软件。
背景
助理系统可以基于用户输入、位置感知和从各种在线来源访问信息(如天气状况、交通拥堵、新闻、股票价格、用户日程、零售价格等)的能力的组合来代表用户提供信息或服务。用户输入可以包括文本(例如,在线聊天)(尤其是在即时消息传递应用或其他应用中的文本)、声音(voice)、图像或它们的组合。助理系统可以基于用户输入来执行礼宾类型的服务(例如,预订晚餐、购买活动门票、安排旅行)或者提供信息。助理系统也可以基于在线信息和事件执行管理或数据处理任务,而无需用户启动或交互。可以由助理系统执行的那些任务的示例可以包括日程管理(例如,对晚餐约会发送用户由于交通状况而要迟到的告警信息,更新双方的日程,以及改变餐馆预订时间)。助理系统可以通过计算设备、应用编程接口(API)、以及用户设备上应用激增(proliferation)的组合来实现。
可以包括社交网络网站的社交网络系统可以使它的用户(例如个人或组织)能够与它交互以及通过它彼此交互。社交网络系统可以利用来自用户的输入来在社交网络系统中创建并存储与用户相关联的用户简档(user profile)。用户简档可以包括用户的人口统计信息、通信渠道信息以及关于个人兴趣的信息。社交网络系统还可以用来自用户的输入来创建并存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,简档/动态消息(news feed)帖子、照片分享、事件组织、消息传递、游戏或广告)以便于在用户之间或当中的社会交互。
社交网络系统可以通过一个或更多个网络向用户的移动设备或其他计算设备发送与它的服务相关的内容或消息。用户还可以在用户的移动设备或其他计算设备上安装软件应用,用于访问用户的用户简档和在社交网络系统内的其他数据。社交网络系统可以生成一组个性化的内容对象以显示给用户,例如关连(connect)到该用户的其他用户的汇集的动态(story)的动态消息。
特定实施例的概述
在特定实施例中,助理系统可以帮助用户获得信息或服务。助理系统可以使用户能够在有状态和多轮会话(stateful and multi-turn conversations)中通过多模态用户输入(如声音、文本、图像、视频)与它进行交互,以获得帮助。助理系统可以创建和存储用户简档,该用户简档包括与用户相关联的个人信息和上下文信息。在特定实施例中,助理系统可以使用自然语言理解来分析用户输入。分析可以基于用户简档,以获得更个性化和上下文感知的理解。助理系统可以基于分析来解析与用户输入相关联的实体。在特定实施例中,助理系统可以与不同的代理交互,以获得与解析的实体相关联的信息或服务。助理系统可以通过使用自然语言生成来为用户生成关于信息或服务的响应。通过与用户的交互,助理系统可以使用对话管理技术来管理和转发与用户的会话流。在特定实施例中,助理系统还可以通过汇总(summarize)信息来辅助用户有效且高效地消化所获得的信息。助理系统还可以通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具,来帮助用户更好地参与在线社交网络。助理系统另外可以帮助用户管理不同的任务,如持续跟踪事件。在特定实施例中,助理系统可以基于用户简档在没有用户输入的情况下主动执行与用户兴趣和偏好相关的任务。在特定实施例中,助理系统可以检查隐私设置,以确保根据用户的隐私设置来允许访问用户的简档或其他用户信息以及执行不同的任务。
在特定实施例中,助理系统可以使用机器学习模型来分析时空数据。卷积网络可以是用于分析时空数据(如图像、视频、3D形状等)的事实标准。虽然这些数据中的一些可能是自然密集的(例如,照片),但是许多其他数据源可能本质上是稀疏的。示例可以包括使用LiDAR(光探测和测距)扫描仪或RGB-D(RGB-深度)照相机获得的3D点云。卷积网络的标准“密集”实现当应用于这种稀疏数据时可能非常低效。本文公开的实施例引入了新的稀疏卷积操作,旨在更有效地处理空间稀疏数据,并且这些新的稀疏卷积操作可以用于开发稀疏卷积网络。在特定实施例中,所得到的模型——即子流形稀疏卷积网络(sub-manifoldsparse convolutional network)——可以应用于ShapeNet(即公共数据集)中对象的3D点云中的部件分割(part segmentation)的挑战性问题。本文公开的实施例在最近的语义分割竞赛的测试集上胜过所有现有最先进技术。尽管本公开描述了以特定方式基于特定卷积操作的特定机器学习模型,但是本公开设想了以任何合适的方式基于任何合适卷积操作的任何合适的机器学习模型。
在特定实施例中,助理系统可以访问多个内容对象。然后,助理系统可以分别为多个内容对象生成多个体素化表示(a plurality of voxelized representation)。在特定实施例中,助理系统可以基于一个或更多个稀疏卷积生成一个或更多个构建块(buildingblock)。在特定实施例中,生成一个或更多个构建块中的每一个可以包括以下步骤。助理系统可以首先基于多个内容对象中每一个的体素化表示来确定多个内容对象中每一个的一个或更多个激活位点(active site)。助理系统然后可以将一个或更多个稀疏卷积应用于一个或更多个激活位点。在特定实施例中,助理系统还可以基于卷积神经网络训练机器学习模型。卷积神经网络可以包括一个或更多个构建块。
本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括本文公开的实施例的部件、元件、特征、功能、操作或步骤中的全部、一些或没有一个被包括。根据本发明的实施例在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中被具体公开,其中,在一个权利要求类别(例如,方法)中提到的任何特征也可以在另一个权利要求类别(例如,系统)中被要求保护。所附权利要求中的从属性或往回引用仅出于形式原因被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附的权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施例和特征可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
在实施例中,一种方法,特别地用于在助理系统中使用的方法,用于通过使用户能够在会话中利用用户输入与该助理系统交互来帮助用户获得信息或服务,从而获得帮助,其中用户输入包括声音、文本、图像或视频或它们的任意组合,该助理系统特别地通过计算设备、应用编程接口(API)、以及用户设备上应用激增的组合来实现,该方法包括由一个或更多个计算系统:
访问多个内容对象;
分别为多个内容对象生成多个体素化表示;
基于一个或更多个稀疏卷积生成一个或更多个构建块,其中生成一个或更多个构建块中的每一个包括:
基于多个内容对象中每一个的体素化表示,为多个内容对象中的每一个确定一个或更多个激活位点;以及
将一个或更多个稀疏卷积应用于一个或更多个激活位点;以及
基于卷积网络训练机器学习模型,其中卷积网络包括一个或更多个构建块。
在实施例中,多个内容对象中的每一个包括包含多个点的三维(3D)点云。
在实施例中,为每个内容对象生成体素化表示包括:
为3D点云确定一个或更多个体素(voxel),其中每个体素包括一个或更多个点。
在实施例中,内容对象包括一个或更多个部件(part),并且多个点中的一个或更多个点与对应于一个或更多个部件之一的部件标签(part label)相关联。
在实施例中,卷积网络基于三维架构。
在实施例中,一个或更多个稀疏卷积中的每一个基于一个或更多个滤波器和一个或更多个步长(stride)来将一个或更多个激活位点与一个或更多个输出相关。
在实施例中,卷积网络包括多个层,每一层包括多个网络块。
在实施例中,训练机器学习模型包括:
从多个层选择一个或更多个层;
对于每个选定层,在与该层相关联的多个网络块中的至少两个网络块之间插入一个或更多个构建块;以及
为每个选定层添加一个或更多个滤波器。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个激活函数应用于一个或更多个激活位点。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个批归一化(batchnormalization)应用于一个或更多个激活位点。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个下采样操作应用于一个或更多个激活位点,其中每个下采样操作包括池化(pooling)或跨步卷积(strided convolution)中的一种或更多种,并且其中每个池化包括最大池化或平均池化中的一种或更多种。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个反卷积操作(deconvolutionoperation)应用于一个或更多个激活位点。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个上采样操作应用于一个或更多个激活位点。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个线性操作应用于一个或更多个激活位点。
在实施例中,训练机器学习模型包括:
对于多个内容对象中的每一个,将一个或更多个softmax操作应用于一个或更多个激活位点。
在实施例中,方法还包括:
生成一个或更多个哈希表(hash table)和一个或更多个规则手册(rule book),其中该一个或更多个哈希表包括与多个内容对象的多个激活位点相关联的位置信息,并且其中该一个或更多个规则手册包括与多个激活位点相关联的多个输入输出对,该输入输出对是基于一个或更多个稀疏卷积来确定的。
在实施例中,方法还包括:
接收包括三维(3D)点云的查询内容对象,其中该3D点云包括多个点;以及
基于机器学习模型来为该多个点中的每一个确定部件标签。
在实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。
在实施例中,一种系统可以包括:一个或更多个处理器;以及耦合到处理器并包括处理器可执行的指令的至少一个存储器,处理器当执行指令时可操作来执行根据本发明或任何上面提到的实施例的方法。
在实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品当在数据处理系统上被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。
在实施例中,一种助理系统用于通过使用户能够在会话中利用用户输入与该助理系统交互来帮助用户获得信息或服务,从而获得帮助,其中用户输入包括声音、文本、图像或视频或它们的任意组合,该助理系统特别地通过计算设备、应用编程接口(API)、以及用户设备上应用激增的组合来实现,该系统可以包括:一个或更多个处理器;以及耦合到处理器的非暂时性存储器,该存储器包括处理器可执行的指令,该处理器在执行指令时可操作来执行根据本发明或任何上面提到的实施例的方法。
在实施例中,助理系统可以通过执行以下特征或步骤中的至少一个或更多个来帮助用户:
-创建并存储包括与用户相关联的个人信息和上下文信息的用户简档
-使用自然语言理解来分析用户输入,其中分析可以基于用户简档,以获得更个性化和上下文感知的理解
-基于分析来解析与用户输入相关联的实体
-与不同的代理交互,以获得与解析的实体相关联的信息或服务
-通过使用自然语言生成来为用户生成关于信息或服务的响应
-通过与用户的交互,使用对话管理技术来管理和转发与用户的会话流
-通过汇总信息,帮助用户有效和高效地消化获得的信息
-通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具,来帮助用户更好地参与在线社交网络
-帮助用户管理不同的任务,如持续跟踪事件
-在与用户相关的时间,而没有用户输入的情况下,基于用户简档主动执行与用户兴趣和偏好相关的预授权任务
-每当有必要确保访问用户简档和执行不同的任务都遵守用户的隐私设置时就检查隐私设置。
在实施例中,助理系统可以包括以下部件中的至少一个或更多个:
-消息传递平台,其用于从与用户相关联的客户端系统接收基于文本模态的用户输入和/或接收基于图像或视频模态的用户输入,并在该消息传递平台内使用光学字符识别技术对其进行处理,以将用户输入转换成文本,
-音频语音识别(ASR)模块,其用于从与用户相关联的客户端系统接收基于音频模态的用户输入(例如,用户可以对其说话或者发送包括语音的视频),并将基于音频模态的用户输入转换成文本,
-助理xbot,其用于接收消息传递平台或ASR模块的输出。
在实施例中,一种系统可以包括:
至少一个客户端系统,特别是电子设备,
根据本发明或本文任何实施例的至少一个助理系统,
该客户端系统和该助理系统特别地通过网络彼此连接,
其中,客户端系统包括用于允许该客户端系统的用户与助理系统交互的助理应用,
其中,助理应用将用户输入传送给助理系统,并且基于该用户输入,助理系统生成响应并将所生成的响应发送给助理应用,并且助理应用向客户端系统的用户呈现该响应,
其中特别地,用户输入是音频或口头或视觉的,并且响应可以是文本或者也可以是音频或口头或视觉的。
在实施例中,一种系统可以包括社交网络系统,其中,客户端系统特别地包括用于访问社交网络系统的社交网络应用。
附图简述
图1示出了与助理系统相关联的示例网络环境。
图2示出了助理系统的示例架构。
图3示出了助理系统响应用户请求的示例流程图。
图4示出了对象的3D点云的示例。
图5示出了子流形扩张(submanifold dilation)的示例。
图6示出了以子流形稀疏卷积的不同激活空间位置为中心的示例感受野(receptive field)。
图7A示出了基于FCN的机器学习模型的示例架构。
图7B示出了基于U-Net的机器学习模型的示例架构。
图8A示出了SSCN模型和基线模型之间的示例性能比较。
图8B示出了基于不同卷积网络架构的SSCN模型的示例性能比较。
图8C示出了SSCN模型在不同尺度下的示例性能比较。
图9示出了来自NYU数据集的示例RGB-D帧。
图10示出了用于基于稀疏卷积网络训练机器学习模型的示例方法。
图11示出了示例社交图。
图12示出了嵌入空间的示例视图。
图13示出了示例人工神经网络。
图14示出了示例计算机系统。
示例实施例的描述
系统综述
图1示出了与助理系统相关联的示例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、助理系统140、社交网络系统160和第三方系统170。尽管图1示出了客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110的特定布置,但是本公开设想了客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110的任何合适的布置。作为示例而不是作为限制,客户端系统130、社交网络系统160、助理系统140和第三方系统170中的两个或更多个可以绕过网络110彼此直接连接。作为另一个示例,客户端系统130、助理系统140、社交网络系统160和第三方系统170中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。此外,尽管图1示出了特定数量的客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110,但是本公开设想了任何合适数量的客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110。作为示例而不是作为限制,网络环境100可以包括多个客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110。
本公开设想了任何合适的网络110。作为示例而不是作为限制,网络110的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网、或这些中的两个或更多个的组合。网络110可以包括一个或更多个网络110。
链路150可以将客户端系统130、助理系统140、社交网络系统160和第三方系统170连接到通信网络110或连接到彼此。本公开设想了任何合适的链路150。在特定实施例中,一个或更多个链路150包括一个或更多个有线链路(诸如例如数字用户线路(DSL)或有线电缆数据服务接口规范(DOCSIS))、无线链路(诸如例如Wi-Fi或全球微波接入互操作性(WiMAX))、或光链路(诸如例如同步光网络(SONET)或同步数字体系(SDH))。在特定实施例中,一个或更多个链路150各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路150、或两个或更多个这种链路150的组合。链路150不需要在整个网络环境100中一定是相同的。一个或更多个第一链路150可以在一个或更多个方面上不同于一个或更多个第二链路150。
在特定实施例中,客户端系统130可以是一种电子设备,该电子设备包括硬件、软件或嵌入式逻辑部件、或两个或更多个这样的部件的组合,并且能够执行由客户端系统130实现或支持的适当功能。作为示例而不是作为限制,客户端系统130可以包括计算机系统,如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、照相机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、智能扬声器、其他合适的电子设备、或其任何合适的组合。在特定实施例中,客户端系统130可以是智能助理设备。关于智能助理设备的更多信息可以在2018年4月9日提交的美国专利申请第15/949011号、2018年4月10日提交的美国专利申请第62/655751号、2018年1月3日提交的美国专利申请第29/631910号、2018年1月2日提交的美国专利申请第29/631747号、2018年1月3日提交的美国专利申请第29/631913号和2018年1月3日提交的美国专利申请第29/631914号中找到,这些专利申请通过引用并入。本公开设想了任何合适的客户端系统130。客户端系统130可以使在客户端系统130处的网络用户能够访问网络110。客户端系统130可以使它的用户能够与在其他客户端系统130处的其他用户进行通信。
在特定实施例中,客户端系统130可以包括web浏览器132,例如MICROSOFTINTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或更多个附加件、插件或其他扩展件,例如TOOLBAR或YAHOO TOOLBAR。在客户端系统130处的用户可以输入统一资源定位符(URL)或将web浏览器132引导到特定的服务器(例如服务器162或与第三方系统170相关联的服务器)的其他地址,并且web浏览器132可以生成超文本传输协议(HTTP)请求并将HTTP请求传递到服务器。服务器可以接受HTTP请求,并响应于HTTP请求而向客户端系统130传递一个或更多个超文本标记语言(HTML)文件。客户端系统130可以基于来自服务器的HTML文件来显现web界面(例如网页)用于呈现给用户。本公开设想了任何合适的源文件。作为示例而不是作为限制,可以根据特定的需要根据HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件来显现web界面。这样的界面还可以执行脚本,诸如例如且没有限制地,用JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT编写的脚本、标记语言和脚本的组合(例如AJAX(异步JAVASCRIPT和XML))等。在本文,在适当的情况下,对web界面的引用包括一个或更多个相应的源文件(浏览器可以使用这些源文件来显现web界面),反之亦然。
在特定实施例中,客户端系统130可以包括安装在客户端系统130上的社交网络应用134。客户端系统130处的用户可以使用社交网络应用134来访问在线社交网络。客户端系统130处的用户可以使用社交网络应用134来与用户的社交关连(connection)(例如,朋友、关注者(follower)、关注账户、联系人等)进行通信。客户端系统130处的用户还可以使用社交网络应用134来与在线社交网络上的多个内容对象(例如,帖子、新闻文章、临时内容等)交互。作为示例而不是作为限制,用户可以使用社交网络应用134浏览热门话题和突发新闻。
在特定实施例中,客户端系统130可以包括助理应用136。客户端系统130的用户可以使用助理应用136来与助理系统140交互。在特定实施例中,助理应用136可以包括独立的应用。在特定实施例中,助理应用136可以被集成到社交网络应用134或另一个合适的应用(例如,消息传递应用)中。在特定实施例中,助理应用136也可以集成到客户端系统130、助理硬件设备或任何其他合适的硬件设备中。在特定实施例中,可以经由web浏览器132访问助理应用136。在特定实施例中,用户可以经由不同的模态提供输入。作为示例而不是作为限制,模态可以包括音频、文本、图像、视频等。助理应用136可以将用户输入传送给助理系统140。基于用户输入,助理系统140可以生成响应。助理系统140可以将生成的响应发送给助理应用136。然后,助理应用136可以向客户端系统130的用户呈现响应。所呈现的响应可以基于不同的模态,如音频、文本、图像和视频。作为示例而不是作为限制,用户可以口头向助理应用136询问交通信息(即,经由音频模态)。然后,助理应用136可以将请求传送给助理系统140。助理系统140可以相应地生成结果并将其发送回助理应用136。助理应用136还可以以文本向用户呈现结果。
在特定实施例中,助理系统140可以帮助用户从不同的源检索信息。助理系统140还可以帮助用户向不同的服务提供者请求服务。在特定实施例中,助理系统140可以经由客户端系统130中的助理应用136接收用户对信息或服务的请求。助理系统140可以使用自然语言理解来基于用户简档和其他相关信息分析用户请求。分析的结果可以包括与在线社交网络相关联的不同实体。然后,助理系统140可以检索信息或请求与这些实体相关联的服务。在特定实施例中,当为用户检索信息或请求服务时,助理系统140可以与社交网络系统160和/或第三方系统170交互。在特定实施例中,助理系统140可以使用自然语言生成技术为用户生成个性化的通信内容。个性化通信内容可以包括例如检索到的信息或所请求服务的状态。在特定实施例中,助理系统140可以使用户能够通过使用对话管理技术来在有状态和多轮会话中与它进行关于信息或服务的交互。在下面图2的讨论中更详细地描述了助理系统140的功能。
在特定实施例中,社交网络系统160可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统160可以生成、存储、接收并发送社交网络数据(诸如例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统160可以由网络环境100的其他部件直接地或经由网络110来访问。作为示例而不是作为限制,客户端系统130可以使用web浏览器132或与社交网络系统160相关联的原生(native)应用(例如,移动社交网络应用、消息传递应用、另一合适的应用或其任何组合)直接地或经由网络110来访问社交网络系统160。在特定实施例中,社交网络系统160可以包括一个或更多个服务器162。每个服务器162可以是单一服务器(unitary server)或跨越多台计算机或多个数据中心的分布式服务器。服务器162可以具有各种类型,诸如例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或进程的另一服务器、或者其任何组合。在特定实施例中,每个服务器162可以包括用于执行由服务器162实现或支持的适当功能的硬件、软件或嵌入式逻辑部件、或两个或更多个这样的部件的组合。在特定实施例中,社交网络系统160可以包括一个或更多个数据储存器164。数据储存器164可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器164中的信息。在特定实施例中,每个数据储存器164可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统130、社交网络系统160或第三方系统170能够管理、检索、修改、添加或删除存储在数据储存器164中的信息的接口。
在特定实施例中,社交网络系统160可以在一个或更多个数据储存器164中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(各自对应于特定用户)或多个概念节点(各自对应于特定概念)——以及关连节点的多条边。社交网络系统160可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由社交网络系统160加入在线社交网络,且然后添加与社交网络系统160中的他们想要关连到的多个其他用户的关连(例如,关系)。在本文,术语“朋友”可以指用户经由社交网络系统160与其形成关连、关联(association)或关系的社交网络系统160的任何其他用户。
在特定实施例中,社交网络系统160可以向用户提供对由社交网络系统160支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统160的用户可以属于的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的交互、或其他合适的项目或对象。用户可以与能够在社交网络系统160中或者由第三方系统170的外部系统表示的任何事物进行交互,第三方系统170与社交网络系统160分离并且经由网络110耦合到社交网络系统160。
在特定实施例中,社交网络系统160能够链接各种实体。作为示例而不是作为限制,社交网络系统160可以使用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信渠道与这些实体交互。
在特定实施例中,第三方系统170可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于API)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的部件(例如,服务器可以与这些部件通信)。第三方系统170可以由与操作社交网络系统160的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统160和第三方系统170可以结合彼此来操作以向社交网络系统160或第三方系统170的用户提供社交网络服务。在这个意义上,社交网络系统160可以提供平台或骨干网,其他系统(例如第三方系统170)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统170可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以被传送到客户端系统130的内容对象的一个或更多个源。作为示例而不是作为限制,内容对象可以包括关于用户感兴趣的事情或活动的信息,诸如例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一个示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。
在特定实施例中,社交网络系统160还包括用户生成的内容对象,其可以增强用户与社交网络系统160的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统160的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统130传送到社交网络系统160。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。内容还可以由第三方通过“通信渠道”(例如动态消息或流)来添加到社交网络系统160。
在特定实施例中,社交网络系统160可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统160可以包括下列项中的一个或更多个:web服务器、动作记录器、API请求服务器、相关性和排序引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targeting module)、用户界面模块、用户简档储存器、关连储存器、第三方内容储存器或位置储存器。社交网络系统160还可以包括合适的部件,如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件、或其任何合适的组合。在特定实施例中,社交网络系统160可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如,传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息(例如工作经历、教育历史、爱好或偏好、兴趣、亲和性或位置)。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞(like)”关于一种品牌的鞋的文章,则该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络110将社交网络系统160链接到一个或更多个客户端系统130或一个或更多个第三方系统170。web服务器可以包括邮件服务器或用于在社交网络系统160和一个或更多个客户端系统130之间接收并路由(routing)消息的其他消息传递功能。API请求服务器可以允许第三方系统170通过调用一个或更多个API来访问来自社交网络系统160的信息。动作记录器可以用于从web服务器接收关于用户在社交网络系统160上或之外的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统130提供关于内容对象的信息。信息可以作为通知被推送到客户端系统130,或者信息可以响应于从客户端系统130接收的请求而从客户端系统130中被拉取。授权服务器可以用于实施社交网络系统160的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。授权服务器可以诸如例如通过设置适当的隐私设置来允许用户选择加入或选择退出使他们的动作由社交网络系统160记录或者与其他系统(例如,第三方系统170)共享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统170)接收的内容对象。位置储存器可以用于存储从客户端系统130接收的与用户相关联的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息以用通知的形式向用户提供相关广告。
助理系统
图2示出了助理系统140的示例架构。在特定实施例中,助理系统140可以帮助用户获得信息或服务。助理系统140可以使用户能够在有状态和多轮会话中用多模态用户输入(如声音、文本、图像、视频)与其进行交互,以获得帮助。助理系统140可以创建和存储包括与用户相关联的个人信息和上下文信息的用户简档。在特定实施例中,助理系统140可以使用自然语言理解来分析用户输入。分析可以基于用户简档,以获得更个性化和上下文感知的理解。助理系统140可以基于分析来解析与用户输入相关联的实体。在特定实施例中,助理系统140可以与不同的代理交互,以获得与解析的实体相关联的信息或服务。助理系统140可以通过使用自然语言生成来为用户生成关于信息或服务的响应。通过与用户的交互,助理系统140可以使用对话管理技术来管理和转发与用户的会话流。在特定实施例中,助理系统140还可以通过汇总信息来帮助用户有效和高效地消化所获得的信息。助理系统140还可以通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具,来帮助用户更好地参与在线社交网络。助理系统140另外可以帮助用户管理不同的任务,如持续跟踪事件。在特定实施例中,助理系统140可以在与用户相关的时间,而没有用户输入的情况下,基于用户简档主动执行与用户兴趣和偏好相关的预授权任务。在特定实施例中,助理系统140可以检查隐私设置,以确保根据用户的隐私设置来允许访问用户的简档或其他用户信息以及执行不同的任务。关于根据隐私设置来帮助用户的更多信息可以在2018年5月22日提交的美国专利申请第62/675090号中找到,该专利申请通过引用并入。
在特定实施例中,助理系统140可以从与用户相关联的客户端系统130中的助理应用136接收用户输入。在特定实施例中,用户输入可以是用户生成的输入,其在单轮中被发送到助理系统140。如果用户输入基于文本模态,则助理系统140可以在消息传递平台205接收它。如果用户输入基于音频模态(例如,用户可以对助理应用136说话或者向助理应用136发送包括语音的视频),则助理系统140可以使用音频语音识别(ASR)模块210对其进行处理,以将用户输入转换成文本。如果用户输入基于图像或视频模态,则助理系统140可以使用消息传递平台205内的光学字符识别技术对其进行处理,以将用户输入转换成文本。消息传递平台205或ASR模块210的输出可以在助理xbot 215处接收。关于处理基于不同模态的用户输入的更多信息可以在2018年8月2日提交的美国专利申请第16/053600号中找到,该专利申请通过引用并入。
在特定实施例中,助理xbot 215可以是一种类型的聊天机器人(chat bot)。助理xbot 215可以包括可编程服务通道,可编程服务通道可以是用作用户个人助理的软件代码、逻辑或例程(routine)。助理xbot 215可以作为助理系统140的用户门户。因此,助理xbot 215可以被认为是一种类型的会话代理。在特定实施例中,助理xbot 215可以将文本用户输入发送到自然语言理解(NLU)模块220,以解释用户输入。在特定实施例中,NLU模块220可以从用户上下文引擎225和语义信息聚合器(semantic information aggregator)230获得信息,以准确理解用户输入。用户上下文引擎225可以存储用户的用户简档。用户的用户简档可以包括用户简档数据,该用户简档数据包括与用户相关联的人口统计信息、社交信息和上下文信息。用户简档数据还可以包括通过动态消息、搜索日志、消息传递平台205等上的会话聚合的用户对多个主题的兴趣和偏好。用户简档的使用可以被隐私检查模块245保护,以确保用户的信息只能用于他/她的利益,而不与任何其他人共享。关于用户简档的更多信息可以在2018年4月30日提交的美国专利申请第15/967239号中找到,该专利申请通过引用并入。语义信息聚合器230可以向NLU模块220提供与多个预定义的域(domain)、意图(intent)和槽(slot)相关联的本体数据(ontology data)。在特定实施例中,域可以表示交互的社交背景,例如,教育。意图可以是语义意图的预定义分类中的元素,其可以指示用户与助理系统140交互的目的。在特定实施例中,如果用户输入包括文本/语音输入,则意图可以是NLU模块220的输出。NLU模块220可以将文本/语音输入分类为预定义分类的成员,例如,对于输入“播放贝多芬的第五交响乐”,NLU模块220可以将输入分类为具有意图[意图:播放_音乐]。在特定实施例中,域可以在概念上是意图集合的命名空间,例如,音乐。槽可以是具有用户输入的命名子串,表示基本语义实体。例如,“比萨饼”的槽可以是[槽:盘子]。在特定实施例中,有效或预期命名槽的集合可以基于分类的意图。作为示例而不是作为限制,对于[意图:播放_音乐],槽可以是[槽:歌曲_名称]。语义信息聚合器230还可以从社交图、知识图和概念图中提取信息,并从用户上下文引擎225检索用户简档。语义信息聚合器230还可以通过确定聚合什么信息、注释用户输入的n-grams(n元文法)、基于聚合的信息用置信度分数对n-grams进行排序、将排序的n-grams公式化为可以被NLU模块220用于理解用户输入的特征来处理来自这些不同源的信息。关于聚合语义信息的更多信息可以在2018年4月30日提交的美国专利申请第15/967342号中找到,该专利申请通过引用并入。基于用户上下文引擎225和语义信息聚合器230的输出,NLU模块220可以以个性化和上下文感知的方式从用户输入中识别域、意图和一个或更多个槽。作为示例而不是作为限制,用户输入可以包括“告诉我如何去星巴克(show me how to get to the Starbucks)”。NLU模块220可以基于用户的个人信息和相关联的上下文信息来识别用户想要去的特定星巴克。在特定实施例中,NLU模块220可以包括语言词典(lexicon of language)、解析器(parser)和语法规则,以将句子划分成内部表示。NLU模块220还可以包括一个或更多个程序,该程序使用语用学(pragmatics)来执行朴素(naive)语义或随机语义分析,以理解用户输入。在特定实施例中,解析器可以基于包括多个长短期记忆(LSTM)网络的深度学习架构。作为示例而不是作为限制,解析器可以基于递归神经网络语法(RNNG)模型,这是一种类型的递归和循环LSTM算法。关于自然语言理解的更多信息可以在2018年6月18日提交的美国专利申请第16/011062号、2018年7月2日提交的美国专利申请第16/025317号、和2018年7月17日提交的美国专利申请第16/038120号中找到,这些专利申请中的每一个通过引用并入。
在特定实施例中,来自NLU模块220的所识别的域、意图和一个或更多个槽可以被发送到对话引擎235。在特定实施例中,对话引擎235可以管理用户与助理xbot 215之间的会话流和对话状态。对话引擎235另外可以存储用户和助理xbot 215之间的先前会话。在特定实施例中,对话引擎235可以与实体解析模块240通信,以解析与一个或更多个槽相关联的实体,这支持对话引擎235转发用户和助理xbot 215之间的会话流。在特定实施例中,实体解析模块240可以在解析实体时访问社交图、知识图和概念图。实体可以包括例如独特的用户或概念,每个用户或概念可以具有唯一的标识符(ID)。作为示例而不是作为限制,知识图可以包括多个实体。每个实体可以包括与一个或更多个属性值相关联的单个记录。特定记录可以与唯一的实体标识符相关联。对于实体的一个属性,每个记录可以有不同的值。每个属性值可以与置信度概率相关联。属性值的置信度概率表示该值对于给定属性是准确的概率。每个属性值也可以与语义权重相关联。属性值的语义权重可以表示考虑到所有可用信息该值在语义上如何适合给定属性。例如,知识图可以包括电影“火星救援(TheMartian)”(2015年)的实体,该实体包括已经从多个内容源(例如,Facebook、Wikipedia、电影评论源、媒体数据库和娱乐内容源)提取、并且然后被去重(deduped)、解析和融合以生成知识图的单个唯一记录的信息。实体可以与指示电影“火星救援”(2015年)的类型(genre)的空间属性值相关联。关于知识图的更多信息可以在2018年7月27日提交的美国专利申请第16/048049号和2018年7月27日提交的美国专利申请第16/048101号中找到,这些专利申请中的每一个通过引用并入。实体解析模块240另外可以从用户上下文引擎225请求与用户输入相关联的用户的用户简档。在特定实施例中,实体解析模块240可以与隐私检查模块245通信,以保证实体的解析不违反隐私策略。在特定实施例中,隐私检查模块245可以使用授权/隐私服务器来实施隐私策略。作为示例而不是作为限制,待解析的实体可以是在他/她的隐私设置中指定他/她的身份不应该在在线社交网络上可搜索的另一个用户,因此实体解析模块240可以响应于请求而不返回该用户的标识符。基于从社交图、知识图、概念图和用户简档获得的信息,并遵循适用的隐私策略,实体解析模块240因此可以以个性化和上下文感知的方式准确地解析与用户输入相关联的实体。在特定实施例中,每个解析的实体可以与由社交网络系统160托管的一个或更多个标识符相关联。作为示例而不是作为限制,标识符可以包括唯一的用户标识符(ID)。在特定实施例中,每个解析的实体也可以与置信度分数相关联。关于解析实体的更多信息可以在2018年7月27日提交的美国专利申请第16/048049号和2018年7月27日提交的美国专利申请第16/048072号中找到,这些专利申请中的每一个通过引用并入。
在特定实施例中,对话引擎235可以基于所识别的意图和域以及所解析的实体与不同的代理通信。在特定实施例中,代理可以是充当一个域的多个内容提供者之间的中介者(broker)的一种实现。内容提供者可以是负责执行与意图相关联的动作或完成与意图相关联的任务的实体。作为示例而不是作为限制,多个特定于设备的实现(例如,对客户端系统130的或客户端系统130上的消息传递应用的实时调用)可以由单个代理在内部处理。可替代地,这些特定于设备的实现可以由与多个域相关联的多个代理来处理。在特定实施例中,代理可以包括第一方代理250和第三方代理255。在特定实施例中,第一方代理250可以包括可由助理系统140访问和控制的内部代理(例如,与在线社交网络提供的服务相关联的代理(Messenger、Instagram))。在特定实施例中,第三方代理255可以包括助理系统140不能控制的外部代理(例如,音乐流代理(声田(Spotify))、门票销售代理(Ticketmaster))。第一方代理250可以与第一方提供者260相关联,该第一方提供者260提供由社交网络系统160托管的内容对象和/或服务。第三方代理255可以与第三方提供者265相关联,该第三方提供者265提供由第三方系统170托管的内容对象和/或服务。
在特定实施例中,从对话引擎235到第一方代理250的通信可以包括请求由第一方提供者260提供的特定内容对象和/或服务。因此,第一方代理250可以从第一方提供者260检索所请求的内容对象和/或执行命令第一方提供者260执行所请求服务的任务。在特定实施例中,从对话引擎235到第三方代理255的通信可以包括请求由第三方提供者265提供的特定内容对象和/或服务。因此,第三方代理255可以从第三方提供者265检索所请求的内容对象和/或执行命令第三方提供者265执行所请求服务的任务。第三方代理255可以访问隐私检查模块245,以保证在与第三方提供者265交互之前没有隐私侵犯。作为示例而不是作为限制,与用户输入相关联的用户可以在他/她的隐私设置中指定他/她的简档信息对于任何第三方内容提供者是不可见的。因此,当从第三方提供者265检索与用户输入相关联的内容对象时,第三方代理255可以在不向第三方提供者265透露哪个用户正在请求内容对象的情况下完成检索。
在特定实施例中,第一方代理250或第三方代理255中的每一个可以被指定用于特定域。作为示例而不是作为限制,域可以包括天气、运输、音乐等。在特定实施例中,助理系统140可以协同使用多个代理来响应用户输入。作为示例而不是作为限制,用户输入可以包括“指引我到我的下一个会议(direct me to my next meeting)”。助理系统140可以使用日历代理来检索下一个会议的位置。助理系统140然后可以使用导航代理来指引用户到下一个会议。
在特定实施例中,第一方代理250或第三方代理255中的每一个可以从用户上下文引擎225检索用户简档,从而以个性化和上下文感知的方式执行任务。作为示例而不是作为限制,用户输入可以包括“为我预订去机场的乘坐(book me a ride to the airport)”。运输代理可以执行预订乘坐的任务。运输代理可以在预订乘坐之前从用户上下文引擎225检索用户的用户简档。例如,用户简档可以指示用户更喜欢出租车,因此运输代理可以为用户预订出租车。作为另一个示例,与用户简档相关联的上下文信息可以指示用户赶时间,因此运输代理可以为用户从拼车服务(例如,Uber、Lyft)预订乘坐,因为从拼车服务获得乘坐可能比出租车公司更快。在特定实施例中,第一方代理250或第三方代理255中的每一个在执行任务时可以考虑其他因素。作为示例而不是作为限制,其他因素可以包括价格、评级、效率、与在线社交网络的伙伴关系等。
在特定实施例中,对话引擎235可以与会话理解编写器(CU编写器)270通信。对话引擎235可以将所请求的内容对象和/或所请求服务的状态发送给CU编写器270。在特定实施例中,对话引擎235可以将所请求的内容对象和/或所请求服务的状态作为<k,c,u,d>元组(tuple)发送,其中k指示知识源、c指示通信目标、u指示用户模型,并且d指示话语(discourse)模型。在特定实施例中,CU编写器270可以包括自然语言生成器(NLG)271和用户界面(UI)有效载荷生成器272。自然语言生成器271可以基于对话引擎235的输出生成通信内容。在特定实施例中,NLG271可以包括内容确定部件、句子规划器和表层实现(surfacerealization)部件。内容确定部件可以基于知识源、通信目标和用户的期望来确定通信内容。作为示例而不是作为限制,确定可以基于描述逻辑。描述逻辑可以包括例如三个基本观念(notion),它们是个体(表示域中的对象)、概念(描述个体集合)和角色(表示个体或概念之间的二元关系)。描述逻辑可以由一组构造器来表征,该构造器允许自然语言生成器271从原子(atomic)概念/角色构建复杂概念/角色。在特定实施例中,内容确定部件可以执行以下任务来确定通信内容。第一任务可以包括翻译任务,其中对自然语言生成器271的输入可以被翻译成概念。第二任务可以包括选择任务,其中可以基于用户模型从翻译任务产生的概念中选择相关概念。第三任务可以包括验证任务,其中可以验证所选概念的一致性。第四任务可以包括实例化任务,其中被验证的概念可以被实例化为可由自然语言生成器271处理的可执行文件。句子规划器可以确定通信内容的组织,使其为人所理解。表层实现部件可以确定要使用的特定单词、句子的顺序以及通信内容的风格。UI有效载荷生成器272可以确定要呈现给用户的通信内容的优选模态。在特定实施例中,CU编写器270可以与隐私检查模块245通信,以确保通信内容的生成遵循隐私策略。在特定实施例中,在生成通信内容并确定通信内容的模态时,CU编写器270可以从用户上下文引擎225检索用户简档。因此,对于用户来说,通信内容可以是更加自然、个性化和上下文感知的。作为示例而不是作为限制,用户简档可以指示用户喜欢会话中的短句,因此生成的通信内容可以基于短句。作为另一个示例而不是作为限制,与用户简档相关联的上下文信息可以指示用户正在使用仅输出音频信号的设备,因此UI有效载荷生成器272可以将通信内容的模态确定为音频。关于自然语言生成的更多信息可以在2018年4月30日提交的美国专利申请第15/967279号和2018年4月30日提交的美国专利申请第15/966455号中找到,这些专利申请中的每一个通过引用并入。
在特定实施例中,CU编写器270可以将生成的通信内容发送给助理xbot 215。在特定实施例中,助理xbot 215可以将通信内容发送到消息传递平台205。消息传递平台205还可以经由助理应用136向客户端系统130发送通信内容。在替代实施例中,助理xbot 215可以将通信内容发送到文本到语音(TTS)模块275。TTS模块275可以将通信内容转换成音频剪辑。TTS模块275还可以经由助理应用136将音频剪辑发送到客户端系统130。
在特定实施例中,助理xbot 215可以在不接收用户输入的情况下与主动推断(proactive inference)层280交互。主动推断层280可以基于从用户上下文引擎225检索的用户简档来推断用户兴趣和偏好。在特定实施例中,主动推断层280还可以与主动代理285就推断进行通信。主动代理285可以基于推断执行主动任务。作为示例而不是作为限制,主动任务可以包括向用户发送内容对象或提供服务。在特定实施例中,每个主动任务可以与一个议程项目(agenda item)相关联。议程项目可以包括循环出现的项目,如每日摘要。议程项目也可以包括一次性项目。在特定实施例中,主动代理285可以在执行主动任务时从用户上下文引擎225检索用户简档。因此,主动代理285可以以个性化和上下文感知的方式执行主动任务。作为示例而不是作为限制,主动推断层可以推断用户喜欢Maroon 5乐队,并且主动代理285可以针对用户生成Maroon 5的新歌曲/专辑的推荐。
在特定实施例中,主动代理285可以基于用户简档生成与主动任务相关联的候选实体。该生成可以基于使用确定性滤波器从结构化数据储存器检索候选实体的直接后端查询。可替代地,该生成可以基于机器学习模型,该机器学习模型基于用户简档、实体属性以及用户和实体之间的相关性进行训练。作为示例而不是作为限制,机器学习模型可以基于支持向量机(SVM)。作为另一个示例而不是作为限制,机器学习模型可以基于回归模型(regression model)。作为另一个示例而不是作为限制,机器学习模型可以基于深度卷积神经网络(DCNN)。在特定实施例中,主动代理285还可以基于用户简档和与候选实体相关联的内容来对生成的候选实体进行排序。排序可以基于用户兴趣与候选实体之间的相似性。作为示例而不是作为限制,助理系统140可以生成表示用户兴趣的特征向量和表示候选实体的特征向量。助理系统140然后可以计算表示用户兴趣的特征向量和表示候选实体的特征向量之间的相似性分数(例如,基于余弦相似性)。可替代地,排序可以基于排序模型,其基于用户反馈数据进行训练。
在特定实施例中,主动任务可以包括向用户推荐候选实体。主动代理285可以调度(schedule)推荐,从而将推荐时间与推荐的候选实体相关联。推荐的候选实体也可以与优先级和到期时间相关联。在特定实施例中,推荐的候选实体可以被发送到主动调度器。主动调度器可以基于与任务相关联的优先级和其他相关因素(例如,推荐的候选实体的点击和印象)来确定向用户发送推荐的候选实体的实际时间。在特定实施例中,主动调度器然后可以将具有确定的实际时间的推荐候选实体发送到异步层(asynchronous tier)。异步层可以将推荐的候选实体临时存储为作业(job)。在特定实施例中,异步层可以在确定的实际时间将作业发送到对话引擎235以进行执行。在替代实施例中,异步层可以通过将其发送到其他表层(例如,与社交网络系统160相关联的其他通知服务)来执行作业。在特定实施例中,对话引擎235可以识别与用户相关联的对话意图、状态和历史。基于对话意图,对话引擎235可以从推荐的候选实体中选择一些候选实体来发送给客户端系统130。在特定实施例中,对话状态和历史可以指示用户是否参与了与助理xbot 215的正在进行的会话。如果用户参与了正在进行的会话,并且推荐任务的优先级低,则对话引擎235可以与主动调度器通信,以重新调度将所选候选实体发送到客户端系统130的时间。如果用户参与了正在进行的会话并且推荐任务的优先级高,则对话引擎235可以发起与用户的新的对话会话(dialogsession),其中可以呈现所选候选实体。因此,可以防止正在进行的会话的中断。当确定发送所选择的候选实体不会中断用户时,对话引擎235可以将所选择的候选实体发送到CU编写器270,以根据用户的隐私设置生成包括所选候选实体的个性化和上下文感知的通信内容。在特定实施例中,CU编写器270可以将通信内容发送给助理xbot 215,助理xbot 215然后可以经由消息传递平台205或TTS模块275将其发送给客户端系统130。关于主动帮助用户的更多信息可以在2018年4月30日提交的美国专利申请第15/967193号和2018年7月16日提交的美国专利申请第16/036827号中找到,这些专利申请中的每一个通过引用并入。
在特定实施例中,助理xbot 215可以响应于用户输入与主动代理285通信。作为示例而不是作为限制,用户可以要求助理xbot 215设置提醒。助理xbot 215可以请求主动代理285设置这样的提醒,并且主动代理285可以在稍后主动执行提醒用户的任务。
在特定实施例中,助理系统140可以包括汇总器(summarizer)290。汇总器290可以向用户提供定制的动态消息汇总。在特定实施例中,汇总器290可以包括多个元代理(metaagent)。多个元代理可以使用第一方代理250、第三方代理255或主动代理285来生成动态消息汇总。在特定实施例中,汇总器290可以从主动推断层280检索用户兴趣和偏好。汇总器290然后可以从实体解析模块240检索与用户兴趣和偏好相关联的实体。汇总器290还可以从用户上下文引擎225检索用户简档。基于来自主动推断层280、实体解析模块240和用户上下文引擎225的信息,汇总器290可以为用户生成个性化的和上下文感知的汇总。在特定实施例中,汇总器290可以将汇总发送给CU编写器270。CU编写器270可以处理汇总并将处理结果发送给助理xbot 215。然后,助理xbot 215可以经由消息传递平台205或TTS模块275向客户端系统130发送经处理的汇总。关于汇总的更多信息可以在2018年4月30日提交的美国专利申请第15/967290号中找到,该专利申请通过引用并入。
图3示出了助理系统140响应用户请求的示例流程图。在特定实施例中,助理xbot215可以在接收到用户请求时访问请求管理器305。请求管理器305可以包括上下文提取器306和会话理解对象生成器(CU对象生成器)307。上下文提取器306可以提取与用户请求相关联的上下文信息。上下文提取器306还可以基于在客户端系统130上执行的助理应用136来更新上下文信息。作为示例而不是作为限制,上下文信息的更新可以包括在客户端系统130上显示内容项目。作为另一个示例而不是作为限制,上下文信息的更新可以包括在客户端系统130上设置警报。作为另一个示例而不是作为限制,上下文信息的更新可以包括在客户端系统130上播放歌曲。CU对象生成器307可以生成与用户请求相关的特定内容对象。内容对象可以包括与用户请求相关联的对话会话数据和特征,该对话会话数据和特征可以与助理系统140的所有模块共享。在特定实施例中,请求管理器305可以将上下文信息和生成的内容对象存储在数据储存器310中,数据储存器310是在助理系统140中实现的特定数据储存器。
在特定实施例中,请求管理器305可以将生成的内容对象发送到NLU模块220。NLU模块220可以执行多个步骤来处理内容对象。在步骤221,NLU模块220可以生成内容对象的白名单(whitelist)。在特定实施例中,白名单可以包括匹配用户请求的解释数据。在步骤222,NLU模块220可以基于白名单执行特征化。在步骤223,NLU模块220可以基于特征化产生的特征对用户请求执行域分类/选择,以将用户请求分类到预定义的域中。还可以基于两个相关的过程进一步处理域分类/选择结果。在步骤224a,NLU模块220可以使用意图分类器来处理域分类/选择结果。意图分类器可以确定与用户请求相关联的用户意图。在特定实施例中,每个域可以有一个意图分类器来确定给定域中最可能的意图。作为示例而不是作为限制,意图分类器可以基于机器学习模型,该模型可以将域分类/选择结果作为输入,并计算输入与特定预定义意图相关联的概率。在步骤224b,NLU模块可以使用元意图(meta-intent)分类器来处理域分类/选择结果。元意图分类器可以确定描述用户意图的类别。在特定实施例中,多个域共有的意图可以由元意图分类器处理。作为示例而不是作为限制,元意图分类器可以基于机器学习模型,该模型可以将域分类/选择结果作为输入,并计算输入与特定预定义元意图相关联的概率。在步骤225a,NLU模块220可以使用槽标记器(slottagger)来注释与用户请求相关联的一个或更多个槽。在特定实施例中,槽标记器可以为用户请求的n-grams注释一个或更多个槽。在步骤225b,NLU模块220可以使用元槽标记器为来自元意图分类器的分类结果注释一个或更多个槽。在特定实施例中,元槽标记器可以标记通用槽,如对项目的引用(例如,第一个)、槽的类型、槽的值等。作为示例而不是作为限制,用户请求可以包括“将我账户中的500美元兑换成日元(change 500dollars in myaccount to Japanese yen)”。意图分类器可以将用户请求作为输入,并将其公式化为向量。意图分类器然后可以基于表示用户请求的向量和表示不同预定义意图的向量之间的向量比较来计算用户请求与不同预定义意图相关联的概率。以类似的方式,槽标记器可以将用户请求作为输入,并将每个单词公式化为向量。意图分类器然后可以基于表示单词的向量和表示不同预定义槽的向量之间的向量比较来计算每个单词与不同预定义槽相关联的概率。用户的意图可以被分类为“兑换钱(changing money)”。用户请求的槽可以包括“500”、“美元(dollars)”、“账户(account)”和“日元(Japanese yen)”。用户的元意图可以被分类为“金融服务(financial service)”。元槽(meta slot)可以包括“金融(finance)”。
在特定实施例中,NLU模块220可以通过从语义信息聚合器230提取语义信息来改进内容对象的域分类/选择。在特定实施例中,语义信息聚合器230可以以下述方式聚合语义信息。语义信息聚合器230可以首先从用户上下文引擎225检索信息。在特定实施例中,用户上下文引擎225可以包括离线聚合器226和在线推断服务227。离线聚合器226可以处理从先前时间窗口收集的与用户相关联的多个数据。作为示例而不是作为限制,数据可以包括从先前90天的窗口收集的动态消息帖子/评论、与动态消息帖子/评论的交互、Instagram帖子/评论、搜索历史等。处理结果可以作为用户简档的一部分存储在用户上下文引擎225中。在线推断服务227可以分析由助理系统140在当前时间接收的与用户相关联的会话数据。分析结果也可以作为用户简档的一部分存储在用户上下文引擎225中。在特定实施例中,离线聚合器226和在线推断服务227都可以从多个数据中提取个性化特征。提取的个性化特征可以被助理系统140的其他模块使用,以更好地理解用户输入。在特定实施例中,语义信息聚合器230然后可以在以下步骤中处理从用户上下文引擎225检索的信息,即用户简档。在步骤231,语义信息聚合器230可以基于自然语言处理(NLP)来处理从用户上下文引擎225检索的信息。在特定实施例中,语义信息聚合器230可以:通过文本标准化来切分(tokenize)文本,从文本中提取句法(syntax)特征,并基于NLP从文本中提取语义特征。语义信息聚合器230另外可以从上下文信息中提取特征,该上下文信息是从用户和助理系统140之间的对话历史访问的。语义信息聚合器230还可以基于上下文信息进行全局单词嵌入、特定于域的嵌入和/或动态嵌入。在步骤232,处理结果可以由实体标记器用实体来注释。在步骤233,基于注释,语义信息聚合器230可以为检索到的信息生成字典。在特定实施例中,字典可以包括可以离线动态更新的全局字典特征。在步骤234,语义信息聚合器230可以对由实体标记器标记的实体进行排序。在特定实施例中,语义信息聚合器230可以与包括社交图、知识图和概念图的不同图330通信,以提取与从用户上下文引擎225检索的信息相关的本体数据。在特定实施例中,语义信息聚合器230可以聚合用户简档、排序的实体和来自图330的信息。语义信息聚合器230然后可以将聚合的信息发送到NLU模块220,以促进域分类/选择。
在特定实施例中,NLU模块220的输出可以被发送到共指(co-reference)模块315,以解释与用户请求相关联的内容对象的指代。在特定实施例中,共指模块315可用于识别用户请求所指的项目。共指模块315可以包括指代创建316和指代消解(referenceresolution)317。在特定实施例中,指代创建316可以为由NLU模块220确定的实体创建指代。指代消解317可以准确地消解这些指代。作为示例而不是作为限制,用户请求可以包括“为我找到最近的沃尔玛并指引我到那里(find me the nearest Walmart and direct methere)”。共指模块315可以将“那里(there)”解释为“最近的沃尔玛(the nearestWalmart)”。在特定实施例中,共指模块315可以在必要时访问用户上下文引擎225和对话引擎235,以用提高的准确性来解释指代。
在特定实施例中,所识别的域、意图、元意图、槽和元槽以及所消解的指代可以被发送到实体解析模块240以解析相关实体。实体解析模块240可以执行通用和特定于域的实体解析。在特定实施例中,实体解析模块240可以包括域实体解析241和通用实体解析242。域实体解析241可以通过将槽和元槽归类到不同的域来解析实体。在特定实施例中,可以基于从图330中提取的本体数据来解析实体。本体数据可以包括不同槽/元槽和域之间的结构关系。本体也可以包括槽/元槽可以如何在较高级别包括域的层次结构内被分组、相关,并根据相似性和差异细分的信息。通用实体解析242可以通过将槽和元槽归类到不同的通用主题来解析实体。在特定实施例中,解析也可以基于从图330中提取的本体数据。本体数据可以包括不同槽/元槽和通用主题之间的结构关系。本体也可以包括槽/元槽可以如何在较高级别包括主题的层次结构内被分组、相关,并根据相似性和差异细分的信息。作为示例而不是作为限制,响应于对特斯拉(Tesla)汽车的优点的询问的输入,通用实体解析242可以将特斯拉汽车解析为车辆(vehicle),并且域实体解析241可以将特斯拉汽车解析为电动汽车(electric car)。
在特定实施例中,实体解析模块240的输出可以被发送到对话引擎235,以转发与用户的会话流。对话引擎235可以包括对话意图解析236和对话状态更新/排序器237。在特定实施例中,对话意图解析236可以基于用户和助理系统140之间的对话历史来解析与当前对话会话相关联的用户意图。对话意图解析236可以将NLU模块220确定的意图映射到不同的对话意图。对话意图解析236还可以基于来自NLU模块220、实体解析模块240的信号以及用户和助理系统140之间的对话历史来对对话意图进行排序。在特定实施例中,对话状态更新/排序器237可以对当前对话会话的对话状态进行更新/排序。作为示例而不是作为限制,如果对话会话结束,对话状态更新/排序器237可以将对话状态更新为“完成(completed)”。作为另一个示例而不是作为限制,对话状态更新/排序器237可以基于与对话状态相关联的优先级来对对话状态进行排序。
在特定实施例中,对话引擎235可以就对话意图和相关联的内容对象与任务完成模块335进行通信。在特定实施例中,任务完成模块335可以针对不同的对话意图对不同的对话假设进行排序。任务完成模块335可以包括动作选择部件336。在特定实施例中,对话引擎235另外可以对照关于对话状态的对话策略320进行检查。在特定实施例中,对话策略320可以包括描述代理340的动作执行计划的数据结构。代理340可以在注册的内容提供者中进行选择来完成该动作。数据结构可以由对话引擎235基于意图和与该意图相关联的一个或更多个槽来构造。对话策略320还可以包括通过逻辑操作符互相关的多个目标。在特定实施例中,目标可以是对话策略的一部分的输出结果,并且它可以由对话引擎235构造。目标可以由具有一个或更多个命名参量的标识符(例如,字符串)来表示,该一个或更多个命名参量将目标参数化。作为示例而不是作为限制,目标及其关联的目标参量可以表示为{确认_艺术家,参量:{艺术家:“Madonna”}}。在特定实施例中,对话策略可以基于树形结构表示,其中目标被映射到树叶。在特定实施例中,对话引擎235可以执行对话策略320来确定要执行的下一个动作。对话策略320可以包括通用策略321和特定于域的策略322,它们都可以指导如何基于对话状态选择下一个系统动作。在特定实施例中,任务完成模块335可以与对话策略320通信,以获得下一个系统动作的指导。在特定实施例中,动作选择部件336因此可以基于对话意图、相关联的内容对象和来自对话策略320的指导来选择动作。
在特定实施例中,任务完成模块335的输出可以被发送到CU编写器270。在替代实施例中,所选择的动作可能需要一个或更多个代理340参与。因此,任务完成模块335可以向代理340通知所选择的动作。同时,对话引擎235可以接收更新对话状态的指令。作为示例而不是作为限制,更新可以包括等待代理的响应。在特定实施例中,CU编写器270可以基于任务完成模块335的输出使用NLG 271而为用户生成通信内容。在特定实施例中,NLG 271可以使用不同的语言模型和/或语言模板来生成自然语言输出。自然语言输出的生成可以是特定于应用的。自然语言输出的生成也可以针对每个用户进行个性化。CU编写器270还可以使用UI有效载荷生成器272来确定所生成的通信内容的模态。由于所生成的通信内容可以被认为是对用户请求的响应,所以CU编写器270可以另外使用响应排序器273来对所生成的通信内容进行排序。作为示例而不是作为限制,排序可以指示响应的优先级。
在特定实施例中,CU编写器270的输出可以被发送到响应管理器325。响应管理器325可以执行不同的任务,包括存储/更新从数据储存器310检索的对话状态326以及生成响应327。在特定实施例中,CU编写器270的输出可以包括自然语言字符串、语音或带有参数的动作中的一个或更多个。因此,响应管理器325可以基于CU编写器270的输出来确定要执行什么任务。在特定实施例中,所生成的响应和通信内容可以被发送到助理xbot 215。在替代实施例中,如果所确定的通信内容的模态是音频,则CU编写器270的输出可以另外发送到TTS模块275。然后,由TTS模块275生成的语音和由响应管理器325生成的响应可以被发送到助理xbot 215。
基于子流形稀疏卷积神经网络来分析空间稀疏数据
在特定实施例中,助理系统140可以使用机器学习模型来分析时空数据。卷积网络可以是用于分析时空数据(如图像、视频、3D形状等)的事实标准。虽然这些数据中的一些可能是自然密集的(例如,照片),但是许多其他数据源可能本质上是稀疏的。示例可以包括使用LiDAR(光探测和测距)扫描仪或RGB-D(RGB-深度)照相机获得的3D点云。卷积网络的标准“密集”实现当应用于这种稀疏数据时可能非常低效。本文公开的实施例引入了新的稀疏卷积操作,旨在更有效地处理空间稀疏数据,并且这些新的稀疏卷积操作可以用于开发稀疏卷积网络。在特定实施例中,所得到的模型(即子流形稀疏卷积网络)可以应用于ShapeNet(即公共数据集)中对象的3D点云中的部件分割的挑战性问题。本文公开的实施例在最近的语义分割竞赛的测试集上胜过所有现有最先进技术。尽管本公开描述了以特定方式基于特定卷积操作的特定机器学习模型,但是本公开设想了以任何合适的方式基于任何合适卷积操作的任何合适的机器学习模型。
在特定实施例中,助理系统140可以访问多个内容对象。然后,助理系统140可以分别为多个内容对象生成多个体素化表示。在特定实施例中,助理系统140可以基于一个或更多个稀疏卷积来生成一个或更多个构建块。在特定实施例中,生成一个或更多个构建块中的每一个可以包括以下步骤。助理系统140可以首先基于多个内容对象中每一个的体素化表示来确定多个内容对象中每一个的一个或更多个激活位点。助理系统140然后可以将一个或更多个稀疏卷积应用于一个或更多个激活位点。在特定实施例中,助理系统140还可以基于卷积神经网络来训练机器学习模型。卷积神经网络可以包括一个或更多个构建块。
卷积网络(ConvNets)可以构成用于广泛任务的现有技术的方法,这些任务涉及对具有空间和/或时间结构的数据(如照片、视频或3D表面模型)的分析。尽管这些数据经常可能包括密集填充的(2D或3D)网格,但其他数据集可能是自然稀疏的。例如,手写是由二维空间中的一维线条组成的,由RGB-D照相机生成的图片是三维点云,且多边形网格模型形成3D空间中的二维表面。维数灾难可能特别适用于存在于三维或更多维网格上的数据:网格上的点数可能随着其维数呈指数增长。在这种情况下,尽可能利用数据稀疏性以减少数据处理所需的计算资源可能变得越来越重要。实际上,当分析例如作为稀疏填充的4D结构的RGB-D视频时,利用稀疏性可能是至关重要的。
传统的卷积网络实现可针对存在于密集填充网格上的数据进行了优化,但可能无法有效处理稀疏数据。最近,已经提出了许多卷积网络实现,它们被定制来对稀疏数据进行有效工作。从数学上来说,这些实现中的一些可能与常规卷积网络相同,但是它们在FLOP(每秒的浮点操作)和/或存储器方面可能需要更少的计算资源。其他的实现修改卷积算子(convolutional operator):OctNet(即,常规工作)修改卷积算子,以在感兴趣区域之外的网格部分中产生“平均的”隐藏状态,另一项常规工作将稀疏卷积公式化为投票操作(voting operation)。
图4示出了对象的3D点云的示例。卷积网络的现有稀疏实现的缺点之一可包括它们通过应用“全”卷积来“扩张(dilate)”每一层中的稀疏数据。本文公开的实施例表明,在整个网络中训练保持相同稀疏模式的卷积网络而不扩张特征图(feature map)是可能的。在特定实施例中,可以开发两种新颖的卷积算子:稀疏卷积(SC)和子流形稀疏卷积(SSC),这两种卷积算子可以被设计成导致计算上更有效的网络。在特定实施例中,这些算子可以用作卷积网络的基础,这些卷积网络被优化用于对对象的3D点云进行高效的基于部件的分割。在特定实施例中,多个内容对象中的每一个可以包括包含多个点的三维(3D)点云。在特定实施例中,内容对象还可以包括一个或更多个部件。多个点中的一个或更多个点可以与对应于一个或更多个部件之一的部件标签相关联。图4示出了对象的3D点云的示例。特别地,这些示例来自ShapeNet部件分割挑战(即,公共研究挑战)。例如,这些示例包括吉他401、公文包402、椅子403、飞机404、自行车405和跳板406。如图4所显示的,点的阴影表示部件标签。
表1示出了本文公开的实施例在最近的关于ShapeNet的基于部件的分割竞赛的测试集上的性能。性能通过平均交并比(average intersection over union)(IoU)进行评估,该IoU是一个评估度量。表1另外示出了与一些常规工作中表现最好的条目的比较。常规工作包括用倒角距离(Chamfer distance)匹配的NN、同步频谱CNN、Pd网络(作为另一项常规工作的Kd网络的扩展)、密集连接的PointNet(另一项常规工作的扩展)和PointCNN。如本文所使用的,子流形卷积网络表示本文公开的实施例。
表1:两个竞赛前基线结果(顶部两行)、来自竞赛的三个条目(中间三行)、以及本文公开的实施例的结果(底部行)。
本文公开的实施例可以主要在关于稀疏卷积和使用密集卷积网络的图像分割的先前文献的基础上构建。用于处理体积数据的密集3D卷积的示例可以包括分类和分割。这些方法可能会受到存储器限制和慢速推断的影响,从而限制了可使用的模型的大小。
还开发了用于处理没有体素化的3D点云的方法。考虑到用于处理2D输入的ConvNet的主导地位,这可能看起来很奇怪,但这可能是应用密集3D卷积网络的计算障碍的一个迹象。
关于稀疏卷积的现有工作实现了增加每个层的激活位点的数量的卷积算子。在一项常规工作中,具有至少一个激活输入位点的所有位点都被认为是激活的。在另一项常规工作中,在通过使用ReLU(校正的线性单元)和特殊的损失函数计算卷积之后,获得更大程度的稀疏性。相比之下,本文公开的实施例引入了子流形稀疏卷积,其中激活位点的位置可以是固定的,使得稀疏性在许多层上保持不变。本文公开的实施例表明,这可以使得训练类似于VGGNet(即,常规工作)或ResNet(即,另一项常规工作)的深层且高效的网络变得可行,并且它可以理想地适合于逐点语义分割的任务。
OctNet可以包括稀疏卷积的替代形式。稀疏体素存储在八叉树(oct-tree)中:八叉树为一种数据结构,其中网格立方体被逐步细分为23个更小的子立方体,直到子立方体为空或包含单个激活位点。OctNet在空区域的表面上操作,因此在83大小的空立方体上进行33大小的OctNet卷积需要密集3D卷积计算的23%。相反,子流形卷积可以不需要在空区域中进行计算。
分割点云的另一种方法可以是避免对输入进行体素化,这可能由于有限的分辨率而导致信息的丢失。这可以通过使用精心选择的数据结构(如Kd树(即,常规数据结构))或者通过直接对无序的点集进行操作来实现。Kd网络通过沿着最大变化的轴递归地划分空间直到树的每一片叶子表示一个输入点,来构建Kd树。N个输入点需要时间O(NlogN)。PointNet(即,常规工作)使用池化操作来产生全局特征向量。
提出了全卷积网络(FCN)作为2D图像分割的方法。FCN利用多尺度信息来保存低层信息,以准确描绘对象边界。U-Net(其是另一项常规工作)通过使用卷积来扩展FCN,以便在最终分类阶段之前更准确地将来自不同尺度的信息合并在一起。
在特定实施例中,d维卷积网络可以被定义为以(d+1)维张量作为输入的网络:输入张量可以包含d个时空维度(如长度、宽度、高度、时间等)和一个附加的特征空间维度(例如,RGB颜色通道或表面法线向量)。作为示例而不是作为限制,卷积网络可以基于三维架构,即,d=3。稀疏输入可以对应于与特征向量相关联的位点的d维网格。在特定实施例中,如果特征向量中的任何元素不处于其基态(ground state),例如,如果其非零,则输入中的位点可以被定义为是激活的。在特定实施例中,基态可以不一定必须为零。在许多问题中,阈值化(thresholding)可以用来消除特征向量在离基态很小距离内的输入位点。请注意,即使输入张量是(d+1)维的,激活性(activity)也可以是d维现象:沿着特征维度的整个平面可以是激活的,也可以不是激活的。
卷积网络的隐藏层也可以用特征空间向量的d维网格来表示。当通过网络传播输入数据时,如果隐藏层中作为输入的任何位点是激活的,则该隐藏层中的一个位点可以是激活的。(请注意,当使用大小为3的卷积时,每个位点可以连接到下方隐藏层中的3d个位点。)因此,隐藏层中的激活性可以遵循归纳定义(inductive definition),其中每个层确定下一层中的激活状态的集合。在每个隐藏层中,非激活位点可以都具有相同的特征向量:对应于基态的向量。请注意,隐藏层中的基态通常可以不等于零,特别是当使用带有偏置项的卷积时。然而,不管基态的值如何,在训练期间,基态值可以只需要在每次前向传递(forward pass)时计算一次,并且在测试时只需要计算一次。这可以允许计算和存储器需求(其取决于数据稀疏性和网络深度)的大量节省。
图5示出了子流形扩张的示例。在特定实施例中,上述框架可能具有不适当的限制,特别是因为卷积操作可能还没有被修改以适应输入数据的稀疏性。如果输入数据包含单个激活位点,则在应用3d卷积之后,可以有3d个激活位点。应用相同大小的第二卷积可以产生5d个激活位点,依此类推。当实现包括数十甚至数百个卷积的现代卷积网络架构(如VGG网络、ResNet和DenseNet(即,常规工作))时,激活位点数量的这种快速增长前景不佳。当然,卷积网络并不经常应用于仅具有单个激活位点的输入,但是当输入数据包括具有二维或更多维的空间中的一维曲线,或者三维或更多维空间中的二维表面时,前述的扩张问题同样是有问题的。这个问题可以被称为“子流形扩张问题”,这在图5中示出。在图5中,左边部分501示出了原始曲线。中间部分502示出了应用权重为1/9的常规的3×3卷积的结果。右边部分503示出了再次应用相同卷积的结果。示例表明,常规的卷积可以显著降低特征的稀疏性。此外,图5表明即使在这个网格上应用小的3×3卷积,网格上的稀疏性也可以迅速消失。
子流形扩张问题的一个简单解决方案可以是将卷积的输出仅限制到激活输入点的集合,网络中的隐藏层无法捕获可能与曲线分类相关的大量信息。特别地,两个相邻的连接部件可以被完全独立地处理。幸运的是,几乎所有的卷积网络都结合了某种形式的池化,或者使用跨步卷积。这些操作在本文公开的实施例中研究的稀疏卷积网络中可能是必要的,因为它们允许相邻部件合并。如本文所使用的,“稀疏卷积网络”意指被设计成对稀疏输入数据进行操作的网络,而它不意指具有稀疏参数矩阵的网络。特别地,部件越靠近,在隐藏层表示中合并部件所必需的池化/跨步卷积的数量就越小。
在特定实施例中,一个或更多个稀疏卷积中的每一个可以基于一个或更多个滤波器和一个或更多个步长来将一个或更多个激活位点与一个或更多个输出相关。定义具有m个输入特征平面、n个输出特征平面、滤波器大小f和步长s的稀疏卷积SC(m,n,f,s)。SC卷积可以用与常规的卷积相同的方式计算激活位点集合:它可以在它的fd大小的感受野中寻找任何激活位点的存在。如果输入具有的大小为l,那么输出可以具有(l-f+s)/s大小。SC卷积与常规的卷积(和稀疏卷积)的不同之处可以在于它可以通过假设来自非激活位点的输入恰好为零来丢弃这些位点的基态。尽管这可能是卷积操作的一个看似很小的改变,但实际上它可以带来计算上的益处。
子流形稀疏卷积.图6示出了以子流形稀疏卷积的不同激活空间位置为中心的示例感受野。在特定实施例中,可以定义第二类型的稀疏卷积。设f表示奇数,则子流形稀疏卷积SSC(m,n,f)可以被定义为修改的SC(m,n,f,s=1)卷积。首先,输入可以在每一侧用(f-1)/2填充,这样输出可以具有与输入相同的大小。接下来,当且仅当输入中对应位点处的位点是激活的(即,如果感受野中的中央位点是激活的)时,才可以将输出位点限制为是激活的。每当输出位点被确定为是激活的时,其输出特征向量可以通过SC操作来计算。表2给出了规则的卷积(C)以及本文提出的实施例中的SC和SSC卷积的计算和存储器要求。特别地,结果是基于d个维度中单个位置处大小是3的卷积。如本文所使用的,a指示空间位置的激活输入的数量,m指示输入特征平面的数量,且n指示输出特征平面的数量。图6示出了以子流形稀疏卷积(由SSC(·,·,3)表示)的不同激活空间位置为中心的示例感受野。在图6中,对于左边部分601,601a指示感受野,601b指示激活位置;对于中间部分602,602a指示感受野,602b指示激活位置;对于右边部分603,603a指示感受野,603b指示激活位置。子流形稀疏卷积可以类似于OctNet(即,常规工作),因为它们保留了稀疏结构。然而,与OctNet不同,在子流形稀疏卷积的实现中,空的空间可以不带来计算或存储器开销。
表2:三种不同卷积操作在激活和非激活位点的计算和存储器成本:常规的卷积(C)、稀疏卷积(SC)和子流形稀疏卷积(SSC)。
其他算子.为了使用SC和SSC构建卷积网络,可能还需要激活函数、批归一化和池化。在特定实施例中,训练机器学习模型可以包括对于多个内容对象中的每一个,将一个或更多个激活函数应用于一个或更多个激活位点。在特定实施例中,激活函数可以被定义为通常的,但是可以被限制到激活位点的集合。在特定实施例中,训练机器学习模型可以包括对于多个内容对象中的每一个,将一个或更多个批归一化应用于一个或更多个激活位点。类似地,批归一化可以根据应用在激活位点集上的常规的批归一化来定义。在特定实施例中,训练机器学习模型可以包括对于多个内容对象中的每一个,将一个或更多个下采样操作应用于一个或更多个激活位点。每个下采样操作可以包括池化或跨步卷积中的一种或更多种。作为示例而不是作为限制,每个池化可以包括最大池化或平均池化中的一种或更多种。在特定实施例中,最大池化MP(f,s)操作和平均池化AP(f,s)操作可以被定义为SC(·,·,f,s)的变体。MP可以取零向量和感受野中输入特征向量的最大值。AP可以计算激活输入向量之和的f-d倍。在特定实施例中,训练机器学习模型可以包括对于多个内容对象中的每一个,将一个或更多个反卷积操作应用于一个或更多个激活位点。在特定实施例中,反卷积操作DC(·,·,f,s)可以被定义为SC(·,·,f,s)卷积的逆。来自DC卷积的激活输出位点集合可能恰好是匹配的SC卷积的输入激活位点集合。输入-输出位点之间的连接集合可以简单地反转。
为了有效地实现(S)SC卷积,输入/隐藏层的状态可以存储在两个部分中:哈希表和矩阵。在特定实施例中,机器学习模型可以生成一个或更多个哈希表和一个或更多个规则手册。一个或更多个哈希表可以包括与多个内容对象的多个激活位点相关联的位置信息。一个或更多个规则手册可以包括与多个激活位点相关联的多个输入输出对。在特定实施例中,输入输出对可以基于一个或更多个稀疏卷积来确定。作为示例而不是作为限制,矩阵可以具有大小a×m并且对于a个激活位点中的每一个包含一个行。哈希表可以包含所有激活位点的(位置、行)对:位置可以是整数坐标的元组,并且行号可以指示特征矩阵中的对应行。给定滤波器大小是f的卷积,规则手册可以被定义为fd个大小为ki×2的整数矩阵的集合R=(Ri:i∈{0,1,...,f-1}d);ki可以对激活输入输出对的数量进行计数,使得输入体素在输出体素的感受野中的位置i处。为了实现SC(m,n,f,s)卷积,可以执行以下过程:
·遍历输入哈希表一次。在特定实施例中,可以通过在输出层中从输入层中的给定点接收输入的点上进行迭代来动态(on-the-fly)构建输出哈希表和规则手册。当第一次访问输出位点时,可以在输出哈希表中创建一个新的条目。基于输入点和输出点之间的空间偏移,可以将(输入索引、输出索引)对添加到规则手册中。
·将输出矩阵初始化为全零。对于每一个i∈f,可以有一个大小是m×n的参数矩阵Wi。对于每一个j∈{1...,ki},将输入特征矩阵的第Ri(j,1)行乘以Wi,并将其加到输出特征矩阵的第Ri(j,2)行。这可以在GPU上非常有效地实现,因为它是一个矩阵-矩阵乘加操作。
为了实现SSC卷积,可以将输入哈希表重新用于输出,并且可以构造适当的规则手册。注意,因为稀疏模式没有改变,所以相同的规则手册可以在VGG/ResNet/DenseNet网络(即,常规卷积网络)中重复使用,直到遇到池化或子采样层。
如果输入层中有a个激活点,构建输入哈希表的成本可以是O(a)。对于FCN和U-Net网络,假设激活位点的数量随着每次池化操作而以乘法因子减少,则构建所有哈希表和规则手册的成本也可以是O(a),而不管网络的深度如何。
在特定实施例中,3D语义分割可以包括将经由点云表示的3D对象或场景分割成它们的构成部件;输入云中的每个点都必须被标记。随着在使用卷积神经网络分割2D图像方面取得的实质性进展,近来对3D语义分割问题的兴趣已经增长。这种兴趣可能是由用于3D对象的基于部件的分割的数据集的发布以及相关联的竞赛而激发的。
图7A-7B示出了基于卷积网络的机器学习模型的示例架构。在特定实施例中,常规工作中的稀疏体素化输入表示以及SSC卷积和跨步SC卷积的组合可用于构建流行的FCN和U-Net架构的稀疏版本。在特定实施例中,为每个内容对象生成体素化表示可以包括为3D点云确定一个或更多个体素。每个体素可以包括一个或更多个点。所得到的卷积网络架构在图7A-7B中示出。图7A示出了基于FCN的机器学习模型的示例架构。图7B示出了基于U-Net的机器学习模型的示例架构。在特定实施例中,卷积网络可以包括多个层。每一层可以包括多个网络块。在特定实施例中,网络块可以对应于数据或操作。如图7A-7B所示,网络块701对应于输入。网络块702对应于常规卷积。网络块703表示一个或更多个“预先激活的”SSC(·,·,3)卷积,可能带有残差近路连接(residual short-cut connection)。网络块704表示大小为2、步长为2的下采样卷积。网络块705对应于撤销尺度变化的反卷积。网络块706对应于执行“最近邻”上采样以恢复输入尺度的上采样。最终线性层707和softmax层708并行应用于每个激活输入体素。在特定实施例中,训练机器学习模型可以包括从多个层选择一个或更多个层,对于每个选定层,在与该层相关联的多个网络块中的至少两个网络块之间插入一个或更多个构建块,并且对于每个选定层,添加一个或更多个滤波器。如图7所示,训练机器学习模型还可以包括:对于多个内容对象中的每一个,将一个或更多个线性操作应用于一个或更多个激活位点;训练机器学习模型另外可以包括针对多个内容对象中的每一个,将一个或更多个softmax操作应用于一个或更多个激活位点。在本文公开的实施例中,这些网络可以被称为子流形稀疏卷积网络(SSCN),因为它们可以处理存在于更高维度空间中的低维数据。在特定实施例中,这些网络应用于其上的数据可以包含多个连接部件,甚至包含嵌入在3D空间中的1D和2D对象的混合。
在特定实施例中,用于本文公开的实施例中所有模型的基本构建块可以由卷积SSC(·,·,3)形成。每次卷积之前可以进行批归一化和ReLU非线性。在特定实施例中,“预先激活的ResNet”块可以被定义为组合一对SSC(·,·,3)卷积。在特定实施例中,当输入特征和输出特征的数量相等时,残差连接可以是恒等函数(identity function),否则是SSC(·,·,1)操作。每当网络将空间尺度缩小为二分之一时,就可以使用SC(·,·,2,2)卷积而不是SSC卷积。在特定实施例中,训练机器学习模型可以包括对于多个内容对象中的每一个,将一个或更多个上采样操作应用于一个或更多个激活位点。作为示例而不是作为限制,本文所公开实施例中的FCN的实现可以将特征图上采样到它们的原始分辨率,而不是使用残差块来执行反卷积。这可以大大减少参数和FCN模型必须执行的浮点(乘法)操作(FLOP)的数量。
在本文公开的实施例中,用子流形稀疏卷积网络(SSCN)在ShapeNet竞赛数据集(即,公共数据集)上进行实验。在性能和计算成本方面,公开了SSCN与四种强基线模型(即,常规工作)的比较。具体地,形状上下文、2D多视图卷积网络、密集3D卷积网络和Kd网络被视为基线。在整个实验评估中,本文公开的实施例集中于分割准确度和计算效率(以FLOP进行测量,其中来自最终分类层的FLOP被忽略)之间的权衡。
ShapeNet分割数据集包括16个不同的对象类别(飞机、椅子、帽子等),每一个类别都由多达6个不同的部件组成。作为示例而不是作为限制,“飞机”被分割成机翼、引擎、机身和尾翼。在所有对象类别中,数据集总共包含50个不同的对象部件类。每个对象都表示为3D点云,其通过从基础CAD模型的表面均匀采样点来获得。每个点云典型地包含2000到3000个点。在特定实施例中,为了增加验证集的大小,可以使用点云文件的MD5哈希的第一位来重新划分训练集和验证集,以给出6955个示例的训练集和大小为7052的验证集。测试集的大小为2874。
在原始数据集中,对象是轴对准的:例如,火箭总是指向z轴。在特定实施例中,可以在每个点云上随机执行随机3D旋转,以使问题更加普遍。表3表明去掉对准可能会使模型的分割更具挑战性。
表3:基于(1)原始ShapeNet数据集和(2)其中对象被随机旋转的数据集变体上的形状上下文特征的分割分类器的准确度。
在特定实施例中,可以采用常规工作的交并比(IoU)度量来评估本文公开的机器学习模型的准确度。可以为每个对象类别的每个部件计算IoU,并对该类别的部件和示例进行平均,以产生“每个类别的IoU”。在特定实施例中,这种对IoU分数进行平均的方式可以对即使对于非常小的对象部件也给出准确预测的模型给予回报。在特定实施例中,在最终的准确度测量中,小的部件可以与较大部件具有相同的权重。可以通过采用每个类别IoU的加权平均(使用每个类别的示例数作为权重)来获得最终的准确度测量。
在本文公开的实验中,使用相同的数据增强过程来训练所有网络。具体地,每个点云被居中并重新缩放以适合直径为S的球体;尺度S可以确定体素化表示的大小。S∈{16,32,48}用于实验。在尺度S=48,体素可以是大约99%稀疏的。在密集卷积网络的实验中,球体被随机放置在大小为S的网格中。对于子流形稀疏卷积网络,球体被随机放置在大小为4S的网格中。在特定实施例中,为了使点云体素化,可以测量每个体素的点数量,其被归一化以使得非空体素具有平均密度1。
在特定实施例中,除非另有说明,否则可以使用相同的优化超参数来训练网络。作为示例而不是作为限制,使用了随机梯度下降法(SGD),其使用了0.9的动量、Nesterov更新和10-4的L2权重衰减。作为另一个示例而不是作为限制,初始学习速率被设置为0.1,并且学习速率在每轮次(epoch)之后以e-0.04衰减。所有网络都使用大小为16的批进行训练100轮次。在所有50个部件标签上使用多类负对数似然损失函数,来在所有16个对象类别上联合训练单个网络。
在特定实施例中,助理系统140可以接收包括三维(3D)点云的查询内容对象。3D点云可以包括多个点。助理系统140还可以基于机器学习模型来确定多个点中的每个点的部件标签。在测试时,使用对象类别调节50类softmax,以给出特定于预测类别的类。在特定实施例中,可以训练每个类的一系列模型来比较不同类的网络。在每个类内,在给定其计算成本的情况下,在最大化验证集准确度方面局部最优的模型然后可以被选择。
在特定实施例中,在实验中考虑了四种基线模型:(1)形状上下文;(2)密集3D卷积网络;(3)2D多视图卷积网络;以及(4)Kd网络。下面详细描述了这些模型。
子流形稀疏ConvNet在特定实施例中,考虑了三种网络架构。首先,简单地堆叠SSC(·,·,3)卷积,其每层具有8、16、32或64个滤波器并具有2、4或6个层。还考虑了具有3个下采样层的FCN和U-Net,其中输入层中有8、16、32或64个滤波器,并且滤波器的数量随着每次下采样而加倍。对于卷积块,考虑了1、2或3个SSC的堆叠,或者1、2或3个残差块的堆叠,如用 于语义分割的子流形FCN和U-Net一节所描述的。为了减少在不同模型之间移动的计算成本跳跃,还考虑了k折(k-fold)测试,每次都使用点云的不同随机3D旋转。在特定实施例中,k=1、2和3。
形状上下文.在特定实施例中,可以定义体素化形状上下文向量。具体地,形状上下文层被定义为SSC(1,27,3,1)子流形卷积算子的特殊实例:该算子的权重矩阵被设置为27×27单位矩阵(identity matrix),使得它在其33的邻域中累积体素强度。在特定实施例中,可以使用大小为2、4、8和16的平均池化来缩放数据,以创建四个附加视图。因此,每个体素可以有一个135维的特征向量。在特定实施例中,特征向量然后可以被馈送到具有两个隐藏层的(非卷积)多层感知器(MLP),之后是50类softmax分类器。MLP每层可以有32、64、128、256或512个单元。在特定实施例中,可以使用k折测试,其中k=1、2和3。
密集3D卷积网络.在特定实施例中,SSCN网络的密集版本可以被考虑用于密集3DConvNet。在特定实施例中,由于计算限制,FCN和U-Net卷积块可以被限制到单个C3层。在特定实施例中,由于数值不稳定性,一些模型可以用降低的学习速率来训练。在特定实施例中,可以使用k折测试,其中k=1、2和3。
多视图2D投影上的卷积网络.该基线模型通过将点云投影到二维视图(假设无限焦距)、在该投影上应用2D卷积网络、并对多个视图的预测进行平均,来丢弃数据的固有3D结构。这种方法的一个优势可以是,来自2D视觉的经过充分研究的模型可以拿来即用,无需进一步修改。此外,计算成本可以与表面积(而不是点云的体积)成比例。在本文公开的实施例中的这种方法的实现中,点云首先被转换成类似于先前基线的大小为S3的3D网格。点云然后被投影到具有两个特征通道的大小为S2的平面(立方体的一个面)。一个特征通道是沿对应列的第一可见(非零)体素。第二通道是到可见体素的距离,被归一化到范围[0,2];这就像是RGB-D图像的深度通道。在训练过程中,点云的随机2D视图被显示到模型。点云中落入相同体素的的点被给予相同的预测。一些体素被其他体素遮挡——网络从被遮挡的体素接收不到信息。在测试时,使用k个随机定向的视图的加权和来执行预测(k=1,2,...,10)。考虑到遮挡效应,k被认为高达10。在2D图像中看到的体素被赋予权重1。被遮挡的体素的权重随着到遮挡它们的体素的距离呈指数衰减。结果在与密集3D ConvNet相同的模型系列上进行比较。
Kd网络.将卷积网络应用于3D点云可能需要将点云离散化为固定大小的仓(bin)。这可能会导致一些细粒度信息的丢失。为了避免这个离散化步骤,Kd网络使用Kd树循环地划分输入空间,直到叶节点只包含点云的单个点。这可以产生分层表示,其中划分本身为点云提供描述符。实验是使用与Kd网络相关联的常规工作的原始实现来执行。
将(1)四个基线模型和(2)子流形FCN和U-Net的一系列变体的平均IoU作为模型的计算要求的函数进行比较(按照FLOP)。每个模型中FLOP的数量由尺度S、每层隐藏单元的数量和视图数量决定。对于每种变体,都示出了在给定关于FLOP的计算预算的情况下,在验证集上具有最佳性能的模型。
图8A示出了SSCN模型801和基线模型之间的示例性能比较。基线模型包括密集3D卷积网络802、密集2D卷积网络803和形状上下文MLP 804。在图8A中,示出了这些模型在测试集上的性能。请注意,这些模型的结果不能直接与ShapeNet分割竞赛相提并论,因为这些模型是在更具挑战性的“随机姿态”设置中测试的。请注意,ConvNet和形状上下文MLP网络之间的比较可能会有点误导:计算形状上下文特征的计算成本可能不会反映在FLOP的数量上,因为它涉及整数运算。也就是说,对于给定的少量FLOP,形状上下文特征可能与密集的2D和3D ConvNet是可竞争的。随着计算预算的增加,,密集ConvNet可能保持提高,而形状上下文MLP的性能开始稳定。
图8B示出了基于不同卷积网络架构的SSCN模型的示例性能比较。如图8B所示,架构包括FCN 805、U-Net 806和C3 807。图8B表明,对于SSCN,增加尺度对于非常小的网络来说是一个限制因素,但对较大网络来说这是值得的。
图8C示出了SSCN模型在不同尺度下的示例性能比较。如图8C所示,尺度包括808所指的S=48、809所指的S=32、以及810所指的S=16。图8C表明FCN(对应于808所指的S=48)和UNet(对应于810所指的S=16)可以实现类似的性能,但是FCN更高效。这可能提示,在稀疏设置中,不需要非常小心地执行上采样,因为特征可能是空间上隔离的。
这些观察可以指示直接在3D空间中进行卷积而不是投影到2D的好处。此外,结果表明,限制信息沿数据中的子流形传播并不妨碍SSCN的性能,而导致相当大的计算和存储器节省,允许训练在给定计算预算下性能更好的较大模型。ShapeNet分割竞赛的结果进一步突出了SSCN的强劲表现:该竞赛的胜出者是由各种SSCN模型组装而成的。
为了研究SSCN如何推广到其他数据集,还在NYU深度数据集(v2)(即,公共数据集)上进行了实验。数据集包含1449个RGB-D图像,这些图像被语义分割成894个不同的类。图9示出了来自NYU数据集的示例RGB-D帧。在图9中,部分901指示RGB-D帧的RGB图像(即客厅),部分902指示该RGB帧的对应深度图像;部分903指示另一个RGB-D帧(即厨房)的RGB图像,部分904指示该RGB-D帧的对应深度图像。作为预处理步骤,图像被裁剪,并且类的数量减少到40。为了测量本文公开的机器学习模型在数据集上的性能,测量它们的像素级分类精度。
用两种大小的SSCN-FCN网络进行了实验。网络A在输入层有16个滤波器,每级有一个SSC(·,·,3)卷积。网络B在输入层有24个滤波器,每级有两个SSC(·,·,3)卷积。两个网络都使用8级下采样,其中滤波器的数量随着尺度的每次降低而线性增加。
利用深度信息将RGB-D图像转换成3D点云。每个点都有归一化到范围[-1,1]的3个RGB特征。为了区分灰度点和空点,增加了总是为1的第四特征。在训练期间,通过对点云应用随机仿射变换来利用数据表示的完全3D性质。在体素化点云之前,点云被缩小为二分之一,并且点被随机地放置在感受野中。体素是通过对包含在其中的点的特征向量求平均而形成的。在测试时,执行k折测试(k=1,4)。在NYU数据集上的实验结果在表4中给出。在每种情形中,稀疏3D FCN优于更大的密集2D FCN(即,常规工作)。
表4:五种不同卷积网络在NYU深度V2测试集(40类)上的语义分割性能。对于每个网络,报告了像素级分类精度、计算成本(按FLOP)和存储器需求(按MB)。
为了验证深度信息确实被使用,重复第一个实验,其中深度信息被设置为零,因此3D稀疏ConvNet折叠成2D ConvNet。FLOP的数量减少了60%,因为存在更少的激活体素。然而,性能从64.1%下降到50.8%,这正好表明能够在3D中工作是多么有用。
本文公开的实施例提出了用于高效处理高维稀疏输入数据的子流形稀疏卷积网络(SSCN)。本文公开的实施例在3D点云的一系列语义分割实验中证明了SSCN的效用。对于这个问题,无论是在对象内部识别部件还是在更大场景中识别对象,SSCN网络都优于一系列最先进的方法。此外,本文公开的实施例证明了与替代方法相比,SSCN在计算上是高效的。
图10示出了用于基于稀疏卷积网络训练机器学习模型的示例方法1000。该方法可以开始于步骤1010,其中助理系统140可以访问多个内容对象。在步骤1020,助理系统140可以分别为多个内容对象生成多个体素化表示。在步骤1030,助理系统140可以基于一个或更多个稀疏卷积生成一个或更多个构建块,其中生成一个或更多个构建块中的每一个包括以下子步骤。在子步骤1030a,助理系统140可以基于多个内容对象中每一个的体素化表示,来确定多个内容对象中每一个的一个或更多个激活位点。在子步骤1030b,助理系统140可以将一个或更多个稀疏卷积应用于一个或更多个激活位点。在步骤1040,助理系统140可以基于卷积网络训练机器学习模型,其中卷积神经网络包括一个或更多个构建块。在适当的情况下,特定实施例可以重复图10的方法的一个或更多个步骤。尽管本公开将图10的方法的特定步骤描述并示出为以特定的顺序发生,但是本公开设想了图10的方法的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述并示出了用于基于稀疏卷积网络训练机器学习模型的示例方法,该方法包括图10的方法的特定步骤,但是本公开设想了用于基于稀疏卷积网络训练机器学习模型的任何合适的方法,该方法包括任何合适的步骤,在适当的情况下,这些合适的步骤可以包括图10的方法的所有、一些步骤或者可以不包括图10的方法的步骤。此外,尽管本公开描述并示出了执行图10的方法的特定步骤的特定部件、设备或系统,但是本公开设想了执行图10的方法的任何合适步骤的任何合适的部件、设备或系统的任何合适的组合。
社交图
图11示出了示例社交图1100。在特定实施例中,社交网络系统160可以在一个或更多个数据储存器中存储一个或更多个社交图1100。在特定实施例中,社交图1100可以包括多个节点——该多个节点可以包括多个用户节点1102或多个概念节点1104——以及关连这些节点的多条边1106。每个节点可以与唯一的实体(即,用户或概念)相关联,每个实体可以具有唯一的标识符(ID),如唯一的号码或用户名。出于教导的目的,以二维视觉映射表示(two-dimensional visual map representation)示出了图11中所示的示例社交图1100。在特定实施例中,社交网络系统160、客户端系统130、助理系统140或第三方系统170可以访问社交图1100和相关社交图信息以用于合适的应用。社交图1100的节点和边可以作为数据对象被存储在例如数据储存器(例如社交图数据库)中。这种数据储存器可以包括社交图1100的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点1102可以对应于社交网络系统160或助理系统140的用户。作为示例而不是作为限制,用户可以是与社交网络系统160或助理系统140交互或通信或通过社交网络系统160或助理系统140交互或通信的个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。在特定实施例中,当用户向社交网络系统160注册账户时,社交网络系统160可以创建对应于用户的用户节点1102,并将用户节点1102存储在一个或更多个数据储存器中。本文描述的用户和用户节点1102在适当的情况下可以指注册的用户和与注册的用户相关联的用户节点1102。另外或作为替代方案,在适当的情况下,本文描述的用户和用户节点1102可以指没有向社交网络系统160注册的用户。在特定实施例中,用户节点1102可以与由用户提供的信息或由各种系统(包括社交网络系统160)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施例中,用户节点1102可以与对应于与用户相关联的信息的一个或更多个数据对象相关联。在特定实施例中,用户节点1102可以对应于一个或更多个web界面。
在特定实施例中,概念节点1104可以对应于概念。作为示例而不是作为限制,概念可以对应于地点(诸如例如,电影院、餐馆、地标或城市);网站(诸如例如,与社交网络系统160相关联的网站或与web应用服务器相关联的第三方网站);实体(诸如例如,个人、企业、团体、运动队或名人);资源(诸如例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用),其可以位于社交网络系统160内或外部服务器(例如web应用服务器)上;不动产或知识产权(诸如例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;想法或理论;另一个合适的概念;或者两个或更多个这样的概念。概念节点1104可以与由用户提供的概念的信息或由各种系统(包括社交网络系统160和助理系统140)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如,书籍的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点1104可以与一个或更多个数据对象相关联,一个或更多个数据对象对应于与概念节点1104相关联的信息。在特定实施例中,概念节点1104可以对应于一个或更多个web界面。
在特定实施例中,社交图1100中的节点可以表示web界面(其可以被称为“简档界面”)或者由web界面表示。简档界面可以由社交网络系统160或助理系统1110托管或是社交网络系统160或助理系统1110可访问的。简档界面也可以在与第三方系统170相关联的第三方网站上被托管。作为示例而不是作为限制,对应于特定外部web界面的简档界面可以是特定外部web界面,并且简档界面可以对应于特定概念节点1104。简档界面可以由其他用户的全部或选定子集可查看。作为示例而不是作为限制,用户节点1102可以具有相应的用户简档界面,其中相应的用户可以添加内容、作出声明或以其他方式表达他或她自己。作为另一示例而不是作为限制,概念节点1104可以具有相应的概念简档界面,其中一个或更多个用户可以添加内容、作出声明或表达他们自己,特别是关于对应于概念节点1104的概念。
在特定实施例中,概念节点1104可以表示由第三方系统170托管的第三方web界面或资源。第三方web界面或资源可以包括表示动作或活动的内容、可选择的图标或其他图标或其他可交互对象(其可以例如用JavaScript、AJAX或PHP代码来实现)以及其他元素。作为示例而不是作为限制,第三方web界面可以包括可选择的图标,例如“赞”、“签到(check-in)”、“吃”、“推荐”,或其他合适的动作或活动。查看第三方web界面的用户可以通过选择图标之一(例如,“签到”)来执行动作,使客户端系统130向社交网络系统160发送指示用户的动作的消息。响应于该消息,社交网络系统160可以在对应于用户的用户节点1102和对应于第三方web界面或资源的概念节点1104之间创建边(例如,签到类型边),并将边1106存储在一个或更多个数据储存器中。
在特定实施例中,社交图1100中的一对节点可以通过一条或更多条边1106关连到彼此。连接一对节点的边1106可以表示在该对节点之间的关系。在特定实施例中,边1106可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统160可以向第二用户发送“好友请求”。如果第二用户确认“好友请求”,则社交网络系统160可以在社交图1100中创建将第一用户的用户节点1102关连到第二用户的用户节点1102的边1106,并将边1106作为社交图信息存储在一个或更多个数据储存器1611中。在图11的示例中,社交图1100包括指示在用户“A”和用户“B”的用户节点1102之间的朋友关系的边1106、以及指示在用户“C”和用户“B”的用户节点1102之间的朋友关系的边。尽管本公开描述或示出了关连特定用户节点1102的具有特定属性的特定边1106,但是本公开设想了关连用户节点1102的具有任何适当属性的任何适当边1106。作为示例而不是作为限制,边1106可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系(包括例如,赞等)、关注者关系、访问者关系(包括例如,访问、查看、签到、分享等)、订购者关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种或更多种这样的关系。此外,尽管本公开一般将节点描述为被连接,但是本公开也将用户或概念描述为被连接。在本文,对被关连的用户或概念的引用在适当的情况下可以指在社交图1100中由一条或更多条边1106关连的对应于那些用户或概念的节点。
在特定实施例中,在用户节点1102和概念节点1104之间的边1106可以表示由与用户节点1102相关联的用户朝着与概念节点1104相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图11所示,用户可以“赞”、“出席”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中每个可以对应于边类型或子类型。对应于概念节点1104的概念简档界面可以包括例如可选择的“签到”图标(诸如例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统160可以响应于对应于相应动作的用户动作来创建“收藏夹”边或“签到”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定的应用(声田,其为在线音乐应用)来收听特定的歌曲(“想象(Imagine)”)。在这种情况下,社交网络系统160可以在对应于用户的用户节点1102和对应于歌曲和应用的概念节点1104之间创建“收听”边1106和“使用”边(如图11所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统160可以在对应于歌曲和应用的概念节点1104之间创建“播放”边1106(如图11所示),以指示特定的歌曲由特定的应用播放。在这种情况下,“播放”边1106对应于由外部应用(声田)对外部音频文件(歌曲“想象”)执行的动作。尽管本公开描述了连接用户节点1102和概念节点1104的具有特定属性的特定边1106,但是本公开设想了连接用户节点1102和概念节点1104的具有任何适当属性的任何适当边1106。此外,尽管本公开描述了表示单个关系的在用户节点1102和概念节点1104之间的边,但是本公开设想了表示一个或更多个关系的在用户节点1102和概念节点1104之间的边。作为示例而不是作为限制,边1106可以表示用户喜欢并使用了特定概念。可替代地,另一条边1106可以表示用户节点1102和概念节点1104之间(如图11所示,用户“E”的用户节点1102和“声田”的概念节点1104之间)的每种类型的关系(或多个单一关系)。
在特定实施例中,社交网络系统160可以在社交图1100中的用户节点1102和概念节点1104之间创建边1106。作为示例而不是作为限制,(诸如例如,通过使用由用户的客户端系统130托管的web浏览器或专用应用)查看概念简档界面的用户可以通过点击或选择“赞”图标来指示他或她喜欢由概念节点1104表示的概念,这可以使用户的客户端系统130向社交网络系统160发送指示用户喜欢与概念简档界面相关联的概念的消息。响应于该消息,社交网络系统160可以在与用户相关联的用户节点1102和概念节点1104之间创建边1106,如由在用户和概念节点1104之间的“赞”边1106所示的。在特定实施例中,社交网络系统160可以将边1106存储在一个或更多个数据储存器中。在特定实施例中,边1106可以由社交网络系统160响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、观看电影或收听歌曲,则可以在对应于第一用户的用户节点1102和对应于那些概念的概念节点1104之间形成边1106。尽管本公开描述了以特定方式形成特定边1106,但是本公开设想了以任何合适的方式形成任何合适的边1106。
向量空间和嵌入
图12示出了向量空间1200的示例视图。在特定实施例中,可以在d维向量空间中表示对象或n-gram,其中d表示任何合适的维数。尽管向量空间1200被示为三维空间,但这仅仅是为了说明的目的,因为向量空间1200可以具有任何合适的维度。在特定实施例中,n-gram可以在向量空间1200中被表示为向量,该向量被称为项目嵌入(term embedding)。每个向量可以包括对应于向量空间1200中的特定点(即,向量的终点)的坐标。作为示例而不是作为限制,如图12所示,向量1210、1220和1230可以被表示为向量空间1200中的点。n-gram可以被映射到相应的向量表示。作为示例而不是作为限制,通过应用由字典定义的函数n-gramst1和t2可以分别映射到向量空间1200中的向量和使得并且作为另一个示例而不是作为限制,可以利用被训练为将文本映射到向量表示的字典,或者这种字典本身可以通过训练来生成。作为另一个示例而不是作为限制,模型(例如Word2vec)可以用于将n-gram映射到向量空间1200中的向量表示。在特定实施例中,可以通过使用机器学习模型(例如,神经网络)将n-gram映射到向量空间1200中的向量表示。机器学习模型可能已经使用训练数据的序列(例如,每个包括n-gram的多个对象的语料库(corpus))进行了训练。
在特定实施例中,对象可以在向量空间1200中被表示为向量,该向量被称为特征向量或对象嵌入。作为示例而不是作为限制,通过应用函数对象e1和e2可以分别映射到向量空间1200中的向量和使得并且在特定实施例中,可以基于对象的一个或更多个特性、属性或特征、对象与其他对象的关系或与对象相关联的任何其他合适的信息来将对象映射到向量。作为示例而不是作为限制,函数可以通过特征提取将对象映射到向量,特征提取可以从初始测量数据集开始,并构建导出值(例如,特征)。作为示例而不是作为限制,通过使用算法以检测或隔离对象的各种期望部分或形状,包括视频或图像的对象可以被映射到向量。用于计算向量的特征可以基于从边检测、拐角(corner)检测、团块(blob)检测、脊线(ridge)检测、尺度不变特征变换、边方向、变化强度、自相关、运动检测、光流、阈值化、团块提取、模板匹配、霍夫(Hough)变换(例如,线、圆、椭圆、任意形状)获得的信息或任何其他合适的信息。作为另一个示例而不是作为限制,包括音频数据的对象可以基于特征(例如频谱斜率、音调系数、音频频谱质心、音频频谱包络、梅尔频率倒频谱(Mel-frequency cepstrum)或任何其他合适的信息)来被映射到向量。在特定实施例中,当对象具有太大而无法有效地被处理的数据或者包括冗余数据时,函数可以使用所变换的精简特征集(例如,特征选择)来将对象映射到向量。在特定实施例中,函数可以基于与对象e相关联的一个或更多个n-gram来将对象映射到向量尽管本公开描述了以特定方式在向量空间中表示n-gram或对象,但是本公开设想了以任何合适的方式在向量空间中表示n-gram或对象。
在特定实施例中,社交网络系统160可以计算向量空间1200中的向量的相似性度量。相似性度量可以是余弦相似性、Minkowski距离、Mahalanobis距离、Jaccard相似性系数或任何合适的相似性度量。作为示例而不是作为限制,和的相似性度量可以是余弦相似性作为另一个示例而不是作为限制,和的相似性度量可以是欧几里德(Euclidean)距离两个向量的相似性度量可以表示分别对应于两个向量的两个对象或n-grams彼此之间的相似程度,如通过向量空间1200中两个向量之间的距离所测量的。作为示例而不是作为限制,基于相应向量之间的距离,向量1210和向量1220可以对应于比对应于向量1210和向量1230的对象与彼此更相似的对象。尽管本公开描述了以特定方式计算向量之间的相似性度量,但本公开设想了以任何合适的方式计算向量之间的相似性度量。
关于向量空间、嵌入、特征向量和相似性度量的更多信息可以在2015年11月23日提交的美国专利申请第14/949436号、2016年10月5日提交的美国专利申请第15/286315号和2016年11月30日提交的美国专利申请第15/365789号中找到,这些专利申请中的每一个通过引用并入。
人工神经网络
图13示出了示例人工神经网络(“ANN”)1300。在特定实施例中,ANN可以指包括一个或更多个节点的计算模型。示例ANN 1300可以包括输入层1310、隐藏层1320、1330、1360和输出层1350。ANN 1300的每个层可以包括一个或更多个节点,如节点1305或节点1315。在特定实施例中,ANN的每个节点可以关连到ANN的另一个节点。作为示例而不是作为限制,输入层1310的每个节点可以关连到隐藏层1320的一个或更多个节点。在特定实施例中,一个或更多个节点可以是偏置节点(例如,层中不关连到前一层中的任何节点并且不从其接收输入的节点)。在特定实施例中,每层中的每个节点可以关连到前一层或后一层的一个或更多个节点。尽管图13描绘了具有特定层数、特定节点数和节点间特定关连的特定ANN,但是本公开设想了具有任何合适层数、任何合适节点数和节点间任何合适关连的任何合适的ANN。作为示例而不是作为限制,尽管图13描绘了输入层1310的每个节点和隐藏层1320的每个节点之间的关连,但是输入层1310的一个或更多个节点可以不关连到隐藏层1320的一个或更多个节点。
在特定实施例中,ANN可以是前馈ANN(例如,没有循环或回路的ANN,其中节点之间的通信从输入层开始在一个方向上流动,并前进到连续层)。作为示例而不是作为限制,隐藏层1320的每个节点的输入可以包括输入层1310的一个或更多个节点的输出。作为另一个示例而不是作为限制,输出层1350的每个节点的输入可以包括隐藏层1360的一个或更多个节点的输出。在特定实施例中,ANN可以是深度神经网络(例如,包括至少两个隐藏层的神经网络)。在特定实施例中,ANN可以是深度残差网络。深度残差网络可以是前馈ANN,其包括组织成残差块的隐藏层。第一残差块之后的每个残差块的输入可以是前一个残差块的输出和前一个残差块的输入的函数。作为示例而不是作为限制,到残差块N的输入可以是F(x)+x,其中F(x)可以是残差块N-1的输出,x可以是到残差块N-1的输入。尽管本公开描述了特定的ANN,但是本公开设想了任何合适的ANN。
在特定实施例中,激活函数可以对应于ANN的每个节点。节点的激活函数可以针对给定输入定义节点的输出。在特定实施例中,节点的输入可以包括输入集合。作为示例而不是作为限制,激活函数可以是恒等函数、二进制阶跃函数、逻辑函数或任何其他合适的函数。作为另一个示例而不是作为限制,节点k的激活函数可以是sigmoid函数双曲线正切函数整流器Fk(sk)=max(0,sk)或任何其他合适的函数Fs(sk),其中sk可以是节点k的有效输入。在特定实施例中,对应于节点的激活函数的输入可以被加权。每个节点可以使用基于加权输入的对应激活函数来生成输出。在特定实施例中,节点之间的每个关连可以与权重相关联。作为示例而不是作为限制,节点1305和节点1315之间的关连1325可以具有0.4的加权系数,这可以指示节点1305的输出乘以0.4被用作节点1315的输入。作为另一个示例而不是作为限制,节点k的输出yk可以是yk=Fk(sk),其中Fk可以是对应于节点k的激活函数,sk=∑j(wjkxj)可以是节点k的有效输入,xj可以是关连到节点k的节点j的输出,并且wjk可以是节点j和节点k之间的加权系数。在特定实施例中,输入层的节点的输入可以基于表示对象的向量。尽管本公开描述了节点的特定输入和输出,但是本公开考虑了节点的任何合适的输入和输出。此外,尽管本公开可以描述节点之间的特定关连和权重,但是本公开考虑了节点之间的任何合适的关连和权重。
在特定实施例中,可以使用训练数据来训练ANN。作为示例而不是作为限制,训练数据可以包括ANN 1300的输入和预期输出。作为另一个示例而不是作为限制,训练数据可以包括向量,每个向量表示训练对象和每个训练对象的预期标签。在特定实施例中,训练ANN可以包括通过优化目标函数来修改与ANN的节点之间的关连相关联的权重。作为示例而不是作为限制,可以使用训练方法(例如,共轭梯度法、梯度下降法、随机梯度下降)来反向传播作为表示训练对象的每个向量之间的距离测量的平方和误差(例如,使用最小化平方和误差的成本函数)。在特定实施例中,可以使用丢弃技术来训练ANN。作为示例而不是作为限制,在训练时可以暂时忽略一个或更多个节点(例如,不接收输入并且不生成输出)。对于每个训练对象,ANN的一个或更多个节点都可以有被忽略的一定概率。针对特定训练对象忽略的节点可以不同于针对其他训练对象忽略的节点(例如,可以逐个对象地临时忽略节点)。尽管本公开描述了以特定方式训练ANN,但是本公开设想了以任何合适的方式训练ANN。
隐私
在特定实施例中,计算系统的一个或更多个对象(例如,内容或其他类型的对象)可以与一个或更多个隐私设置相关联。一个或更多个对象可以存储在任何合适的计算系统或应用上,或者以其他方式与任何合适的计算系统或应用相关联,该计算系统或应用诸如例如是社交网络系统160、客户端系统130、助理系统140、第三方系统170、社交网络应用、助理应用、消息传递应用、照片共享应用或者任何其他合适的计算系统或应用。尽管本文讨论的示例是在在线社交网络的上下文中,但是这些隐私设置可以应用于任何其他合适的计算系统。对象的隐私设置(或“访问设置”)可以以任何合适的方式——诸如例如与对象相关联地、在授权服务器上用索引、以另一种合适的方式、或其任何合适的组合——被存储。关于对象的隐私设置可以指定如何可以在在线社交网络中访问、存储或以其他方式使用(例如,查看、共享、修改、复制、执行、显现或识别)该对象(或与该对象相关联的特定信息)。在对象的隐私设置允许特定用户或其他实体访问该对象时,该对象可以被描述为相对于该用户或其他实体是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以指定关于用户简档页面的隐私设置,该隐私设置识别可以访问在用户简档页面上的工作经历信息的一组用户,因而排除其他用户访问该信息。
在特定实施例中,对象的隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户或其他实体的“黑名单(blocked list)”。在特定实施例中,黑名单可以包括第三方实体。黑名单可以指定一个或更多个用户或实体,对象对这些用户或实体是不可见的。作为示例而不是作为限制,用户可以指定不可以访问与用户相关联的相册的用户集合,因而排除那些用户访问相册(同时也可能允许不在指定用户集合内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素(例如节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息、或与社交图元素相关联的对象。作为示例而不是作为限制,对应于特定照片的特定概念节点1104可以具有指定照片仅可以由在照片中标记的用户以及在照片中标记的用户的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户选择加入或选择退出使他们的内容、信息或动作被社交网络系统160或助理系统140存储/记录或者与其他系统(例如,第三方系统170)分享。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,隐私设置可以基于社交图1100的一个或更多个节点或边。可以为社交图1100的一条或更多条边1106或边类型、或者关于社交图1100的一个或更多个节点1102、1104或节点类型,指定隐私设置。应用于关连两个节点的特定边1106的隐私设置可以控制对应于这两个节点的两个实体之间的关系对于在线社交网络的其他用户是否可见。类似地,应用于特定节点的隐私设置可以控制对应于该节点的用户或概念对于在线社交网络的其他用户是否可见。作为示例而不是作为限制,第一用户可以向社交网络系统160共享对象。该对象可以与通过边1106关连到第一用户的用户节点1102的概念节点1104相关联。第一用户可以指定应用于关连到对象的概念节点1104的特定边1106的隐私设置,或者可以指定应用于关连到概念节点1104的所有边1106的隐私设置。作为另一个示例而不是作为限制,第一用户可以共享特定对象类型的对象集合(例如,图像集合)。第一用户可以针对与第一用户相关联的该特定对象类型的所有对象将隐私设置指定为具有特定的隐私设置(例如,指定由第一用户发布的所有图像仅对第一用户的朋友和/或在图像中标记的用户可见)。
在特定实施例中,社交网络系统160可以向第一用户呈现“隐私向导(privacywizard)”(例如,在网页、模块、一个或更多个对话框或任何其他合适的界面内),以帮助第一用户指定一个或更多个隐私设置。隐私向导可以显示指令、合适的隐私相关信息、当前隐私设置、用于接受来自第一用户的一个或更多个输入(其指定隐私设置的改变或确认)的一个或更多个输入字段、或其任何合适的组合。在特定实施例中,社交网络系统160可以向第一用户提供“仪表板(dashboard)”功能,该功能可以向第一用户显示第一用户的当前隐私设置。仪表板功能可以在任何适当的时间显示给第一用户(例如,在来自调用仪表板功能的第一用户的输入之后,在特定事件或触发动作发生之后)。仪表板功能可以允许第一用户以任何合适的方式在任何时间修改第一用户的一个或更多个当前隐私设置(例如,将第一用户重定向到隐私向导)。
与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度(granularity)。作为示例而不是作为限制,可以为特定用户(例如,只有我、我的室友、我的老板)、在特定分离度内的用户(例如,朋友、朋友的朋友)、用户团体(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、无用户(“私人的”)、第三方系统170的用户、特定应用(例如,第三方应用、外部网站)、其他合适的实体、或其任何合适的组合来指定访问或拒绝访问。尽管本公开描述了允许访问或拒绝访问的特定粒度,但是本公开考虑了允许访问或拒绝访问的任何合适粒度。
在特定实施例中,一个或更多个服务器162可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据储存器164中的特定对象的请求,社交网络系统160可以向数据储存器164发送对该对象的请求。请求可以识别与该请求相关联的用户,并且对象只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送给该用户(或者该用户的客户端系统130)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据储存器164中被检索,或者可以阻止所请求的对象被发送给用户。在搜索-查询上下文中,只有当查询用户被授权访问对象时,例如,如果对象的隐私设置允许其被显露给查询用户、被查询用户发现或以其他方式对查询用户可见,才可以提供对象作为搜索结果。在特定实施例中,对象可以表示通过用户的动态消息对用户可见的内容。作为示例而不是作为限制,一个或更多个对象对于用户的“热门话题(Trending)”页面可以是可见的。在特定实施例中,对象可以对应于特定用户。对象可以是与特定用户相关联的内容,或者可以是特定用户的账户或存储在社交网络系统160或其他计算系统上的信息。作为示例而不是作为限制,第一用户可以通过在线社交网络的“你可能认识的人(People You May Know)”功能或者通过查看第一用户的朋友列表来查看在线社交网络的一个或更多个第二用户。作为示例而不是作为限制,第一用户可以指定他们不希望在他们的动态消息或朋友列表中看到与特定第二用户相关联的对象。如果对象的隐私设置不允许其被显露给用户、被用户发现或对用户可见,则该对象可以从搜索结果中排除。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想了以任何合适的方式实施隐私设置。
在特定实施例中,与用户相关联的相同类型的不同对象可以具有不同的隐私设置。与用户相关联的不同类型的对象可以具有不同类型的隐私设置。作为示例而不是作为限制,第一用户可以指定第一用户的状态更新是公开的,但是第一用户共享的任何图像仅对在线社交网络上第一用户的朋友可见。作为另一个示例而不是作为限制,用户可以为不同类型的实体(如个人用户、朋友的朋友、关注者、用户团体或公司实体)指定不同的隐私设置。作为另一个示例而不是作为限制,第一用户可以指定可以查看由第一用户发布的视频的一组用户,同时防止视频对第一用户的雇主可见。在特定实施例中,可以为不同的用户组或用户人口统计提供不同的隐私设置。作为示例而不是作为限制,第一用户可以指定与第一用户在同一所大学上学的其他用户可以查看第一用户的照片,但是作为第一用户的家庭成员的其他用户不能查看那些相同的照片。
在特定实施例中,社交网络系统160可以为特定对象类型的每个对象提供一个或更多个默认隐私设置。被设置为默认的对象的隐私设置可以由与该对象相关联的用户来改变。作为示例而不是作为限制,由第一用户发布的所有图像可以具有默认隐私设置,即仅对于第一用户的朋友可见,并且对于特定图像,第一用户可以改变图像的隐私设置,以对于朋友和朋友的朋友可见。
在特定实施例中,隐私设置可以允许第一用户指定(例如,通过选择退出,通过不选择加入)社交网络系统160或助理系统140是否可以出于任何目的接收、收集、记录或存储与用户相关联的特定对象或信息。在特定实施例中,隐私设置可以允许第一用户指定特定应用或进程是否可以访问、存储或使用与用户相关联的特定对象或信息。隐私设置可以允许第一用户选择加入或选择退出使对象或信息被特定应用或进程访问、存储或使用。社交网络系统160或助理系统140可以访问这样的信息,以便向第一用户提供特定的功能或服务,而社交网络系统160或助理系统140不能出于任何其他目的访问该信息。在访问、存储或使用这样的对象或信息之前,社交网络系统160或助理系统140可以提示用户提供隐私设置,该隐私设置指定哪些应用或进程(如果有的话)可以在允许任何这样的动作之前访问、存储或使用对象或信息。作为示例而不是作为限制,第一用户可以经由与在线社交网络相关的应用(例如,消息传递app)向第二用户传输消息,并且可以指定社交网络系统160或助理系统140不应该存储这种消息的隐私设置。
在特定实施例中,用户可以指定社交网络系统160或助理系统140是否可以访问、存储或使用与第一用户相关联的特定类型的对象或信息。作为示例而不是作为限制,第一用户可以指定由第一用户通过社交网络系统160或助理系统140发送的图像不可以被社交网络系统160或助理系统140存储。作为另一个示例而不是作为限制,第一用户可以指定从第一用户发送给特定第二用户的消息不可以被社交网络系统160或助理系统140存储。作为又一个示例而不是作为限制,第一用户可以指定经由特定应用发送的所有对象可以被社交网络系统160或助理系统140保存。
在特定实施例中,隐私设置可以允许第一用户指定是否可以从特定客户端系统130或第三方系统170访问与第一用户相关联的特定对象或信息。隐私设置可以允许第一用户选择加入或选择退出从特定设备(例如,用户智能电话上的电话簿)、从特定应用(例如,消息传递app)或从特定系统(例如,电子邮件服务器)访问对象或信息。社交网络系统160或助理系统140可以提供关于每个设备、系统或应用的默认隐私设置,和/或可以提示第一用户为每个上下文指定特定的隐私设置。作为示例而不是作为限制,第一用户可以利用社交网络系统160或助理系统140的位置服务特征来提供用户附近的餐馆或其他地方的推荐。第一用户的默认隐私设置可以指定社交网络系统160或助理系统140可以使用从第一用户的客户端设备130提供的位置信息来提供基于位置的服务,但是社交网络系统160或助理系统140不可以存储第一用户的位置信息或将其提供给任何第三方系统170。第一用户然后可以更新隐私设置,以允许第三方图像共享应用使用位置信息来对照片进行地理标记。
在特定实施例中,隐私设置可以允许用户指定可以从其访问对象的一个或更多个地理位置。对象的访问或拒绝访问可以取决于试图访问对象的用户的地理位置。作为示例而不是作为限制,用户可以共享对象并指定只有同一城市的用户可以访问或查看该对象。作为另一个示例而不是作为限制,第一用户可以共享对象,并且指定该对象仅在第一用户处于特定位置时对第二用户可见。如果第一用户离开特定位置,对象不可以再对第二用户可见。作为另一个示例而不是作为限制,第一用户可以指定对象仅对在距离第一用户的阈值距离内的第二用户可见。如果第一用户随后改变了位置,则可以访问该对象的原始第二用户可能失去访问权,而新的第二用户组可以在他们进入第一用户的阈值距离内时获得访问权。
在特定实施例中,社交网络系统160或助理系统140可具有可将用户的个人或生物信息用作输入以用于用户认证或体验个性化目的的功能。用户可以选择利用这些功能来增强他们在在线社交网络上的体验。作为示例而不是作为限制,用户可以向社交网络系统160或助理系统140提供个人或生物信息。用户的隐私设置可以指定这样的信息仅可用于特定的进程(如认证),并且还指定这样的信息不能与任何第三方系统170共享,或者不能用于与社交网络系统160或助理系统140相关联的其他进程或应用。作为另一个示例而不是作为限制,社交网络系统160可以为用户提供向在线社交网络提供声纹记录的功能。作为示例而不是作为限制,如果用户希望利用在线社交网络的这一功能,则用户可以提供他或她自己声音的声音记录,以提供在线社交网络上的状态更新。声音输入的记录可以与用户的声纹进行比较,以确定用户说了什么词语。用户的隐私设置可以指定这种声音记录可以仅用于声音输入目的(例如,认证用户、发送声音消息、改进声音识别以便使用在线社交网络的声音操作特征),并且还指定这种声音记录不可以与任何第三方系统170共享,或者不可以被与社交网络系统160相关联的其他进程或应用使用。作为另一个示例而不是作为限制,社交网络系统160可以为用户提供向在线社交网络提供参考图像(例如,面部轮廓、视网膜扫描)的功能。在线社交网络可以将参考图像与稍后接收的图像输入进行比较(例如,用于认证用户,在照片中标记用户)。用户的隐私设置可以指定这种声音记录仅可用于有限的目的(例如,认证、在照片中标记用户),并且还指定这种声音记录不能与任何第三方系统170共享,或者不能被与社交网络系统160相关联的其他进程或应用使用。
系统和方法
图14示出了示例计算机系统1400。在特定实施例中,一个或更多个计算机系统1400执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统1400提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统1400上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统1400的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统1400。本公开设想了计算机系统1400采取任何合适的物理形式。作为示例而不是作为限制,计算机系统1400可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、或者这些的两个或更多个的组合。在适当的情况下,计算机系统1400可以包括一个或更多个计算机系统1400;可以是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云部件。在适当的情况下,一个或更多个计算机系统1400可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统1400可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统1400可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统1400包括处理器1402、存储器1404、存储装置1406、输入/输出(I/O)接口1408、通信接口1410和总线1412。尽管本公开描述并示出了具有在特定布置中的特定数量的特定部件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器1402包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器1402可以从内部寄存器、内部高速缓存、存储器1404或存储装置1406中检索(或取回)指令;将这些指令解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器1404或存储装置1406。在特定实施例中,处理器1402可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了包括任何合适数量的任何合适的内部高速缓存的处理器1402。作为示例而不是作为限制,处理器1402可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲区(TLB)。在指令高速缓存中的指令可以是在存储器1404或存储装置1406中的指令的副本,并且指令高速缓存可以加速处理器1402对那些指令的检索。在数据高速缓存中的数据可以是:在存储器1404或存储装置1406中的数据的副本,用于使在处理器1402处执行的指令进行操作;在处理器1402处执行的先前指令的结果,用于由在处理器1402处执行的后续指令访问或者用于写到存储器1404或存储装置1406;或其他合适的数据。数据高速缓存可以加速由处理器1402进行的读或写操作。TLB可以加速关于处理器1402的虚拟地址转译。在特定实施例中,处理器1402可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了包括任何合适数量的任何合适的内部寄存器的处理器1402。在适当的情况下,处理器1402可以包括一个或更多个算术逻辑单元(ALU);可以是多核处理器;或者包括一个或更多个处理器1402。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器1404包括用于存储用于使处理器1402执行的指令或用于使处理器1402操作的数据的主存储器。作为示例而不是作为限制,计算机系统1400可以将指令从存储装置1406或另一个源(诸如例如,另一个计算机系统1400)加载到存储器1404。处理器1402然后可以将指令从存储器1404加载到内部寄存器或内部高速缓存。为了执行指令,处理器1402可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器1402可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器1402然后可以将这些结果中的一个或更多个写到存储器1404。在特定实施例中,处理器1402仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器1404(而不是存储装置1406或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器1404(而不是存储装置1406或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器1402耦合到存储器1404。如下所述,总线1412可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器1402和存储器1404之间,并且便于由处理器1402请求的对存储器1404的访问。在特定实施例中,存储器1404包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器1404可以包括一个或更多个存储器1404。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置1406包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置1406可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置1406可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置1406可以在计算机系统1400的内部或外部。在特定实施例中,存储装置1406是非易失性固态存储器。在特定实施例中,存储装置1406包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置1406。在适当的情况下,存储装置1406可以包括便于在处理器1402和存储装置1406之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置1406可以包括一个或更多个存储装置1406。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口1408包括为在计算机系统1400和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统1400可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统1400之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口1408。在适当的情况下,I/O接口1408可以包括使处理器1402能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口1408可以包括一个或更多个I/O接口1408。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口1410包括提供用于在计算机系统1400和一个或更多个其他计算机系统1400或一个或更多个网络之间的通信(诸如例如,基于包的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口1410可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如WI-FI网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口1410。作为示例而不是作为限制,计算机系统1400可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统1400可以与无线PAN(WPAN)(诸如例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统1400可以包括用于这些网络中的任一个的任何合适的通信接口1410。在适当的情况下,通信接口1410可以包括一个或更多个通信接口1410。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线1412包括将计算机系统1400的部件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线1412可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(扩展)(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线1412可以包括一个或更多个总线1412。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(诸如例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
其他杂项
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括性的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的部件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何部件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的部件的引用包括该装置、系统、部件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或部件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
Claims (41)
1.一种方法,包括由一个或更多个计算系统:
访问多个内容对象;
分别为所述多个内容对象生成多个体素化表示;
基于一个或更多个稀疏卷积来生成一个或更多个构建块,其中生成所述一个或更多个构建块中的每一个包括:
基于所述多个内容对象中每一个的体素化表示,确定关于所述多个内容对象中的每一个的一个或更多个激活位点;以及
将所述一个或更多个稀疏卷积应用于所述一个或更多个激活位点;以及
基于卷积网络训练机器学习模型,其中所述卷积网络包括所述一个或更多个构建块。
2.根据权利要求1所述的方法,其中,所述多个内容对象中的每一个包括包含多个点的三维(3D)点云。
3.根据权利要求2所述的方法,其中,为每个内容对象生成所述体素化表示包括:
为所述3D点云确定一个或更多个体素,其中每个体素包括一个或更多个点。
4.根据权利要求2所述的方法,其中,所述内容对象包括一个或更多个部件,并且其中所述多个点中的一个或更多个点与对应于所述一个或更多个部件之一的部件标签相关联。
5.根据权利要求1所述的方法,其中,所述卷积网络基于三维架构。
6.根据权利要求1所述的方法,其中,所述一个或更多个稀疏卷积中的每一个基于一个或更多个滤波器和一个或更多个步长来将所述一个或更多个激活位点与一个或更多个输出相关。
7.根据权利要求1所述的方法,其中,所述卷积网络包括多个层,每一层包括多个网络块。
8.根据权利要求7所述的方法,其中,训练所述机器学习模型包括:
从所述多个层选择一个或更多个层;
对于每个选定层,在与该层相关联的多个网络块中的至少两个网络块之间插入所述一个或更多个构建块;以及
为每个选定层添加一个或更多个滤波器。
9.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个激活函数应用于所述一个或更多个激活位点。
10.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个批归一化应用于所述一个或更多个激活位点。
11.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个下采样操作应用于所述一个或更多个激活位点,其中每个下采样操作包括池化或跨步卷积中的一种或更多种,并且其中每个池化包括最大池化或平均池化中的一种或更多种。
12.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个反卷积操作应用于所述一个或更多个激活位点。
13.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个上采样操作应用于所述一个或更多个激活位点。
14.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个线性操作应用于所述一个或更多个激活位点。
15.根据权利要求1所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个softmax操作应用于所述一个或更多个激活位点。
16.根据权利要求1所述的方法,还包括:
生成一个或更多个哈希表和一个或更多个规则手册,其中所述一个或更多个哈希表包括与所述多个内容对象的多个激活位点相关联的位置信息,并且其中所述一个或更多个规则手册包括与所述多个激活位点相关联的多个输入输出对,所述输入输出对是基于所述一个或更多个稀疏卷积来确定的。
17.根据权利要求1所述的方法,还包括:
接收包括三维(3D)点云的查询内容对象,其中所述3D点云包括多个点;以及
基于所述机器学习模型来为所述多个点中的每一个确定部件标签。
18.体现软件的一个或更多个计算机可读非暂时性存储介质,所述软件当被执行时能够操作来:
访问多个内容对象;
分别为所述多个内容对象生成多个体素化表示;
基于一个或更多个稀疏卷积来生成一个或更多个构建块,其中生成所述一个或更多个构建块中的每一个包括:
基于所述多个内容对象中每一个的体素化表示,确定关于所述多个内容对象中的每一个的一个或更多个激活位点;以及
将所述一个或更多个稀疏卷积应用于所述一个或更多个激活位点;以及
基于卷积网络训练机器学习模型,其中所述卷积神经网络包括所述一个或更多个构建块。
19.一种系统,包括:一个或更多个处理器;和耦合到所述处理器的非暂时性存储器,所述存储器包括所述处理器能够执行的指令,所述处理器在执行所述指令时能够操作来:
访问多个内容对象;
分别为所述多个内容对象生成多个体素化表示;
基于一个或更多个稀疏卷积生成一个或更多个构建块,其中生成所述一个或更多个构建块中的每一个包括:
基于所述多个内容对象中每一个的体素化表示,确定关于所述多个内容对象中的每一个的一个或更多个激活位点;以及
将所述一个或更多个稀疏卷积应用于所述一个或更多个激活位点;以及
基于卷积网络训练机器学习模型,其中所述卷积神经网络包括所述一个或更多个构建块。
20.一种方法,特别地用于在助理系统中使用,所述方法用于通过使用户能够在会话中利用用户输入与所述助理系统交互来帮助用户获得信息或服务,从而获得帮助,其中所述用户输入包括声音、文本、图像或视频或它们的任意组合,所述助理系统特别地通过计算设备、应用编程接口(API)、以及用户设备上应用激增的组合来实现,所述方法包括,由一个或更多个计算系统:
访问多个内容对象;
分别为所述多个内容对象生成多个体素化表示;
基于一个或更多个稀疏卷积来生成一个或更多个构建块,其中生成所述一个或更多个构建块中的每一个包括:
基于所述多个内容对象中每一个的体素化表示,确定关于所述多个内容对象中的每一个的一个或更多个激活位点;以及
将所述一个或更多个稀疏卷积应用于所述一个或更多个激活位点;以及
基于卷积网络训练机器学习模型,其中所述卷积网络包括所述一个或更多个构建块。
21.根据权利要求20所述的方法,其中,所述多个内容对象中的每一个包括包含多个点的三维(3D)点云。
22.根据权利要求21所述的方法,其中,为每个内容对象生成所述体素化表示包括:
为所述3D点云确定一个或更多个体素,其中每个体素包括一个或更多个点。
23.根据权利要求21或22所述的方法,其中,所述内容对象包括一个或更多个部件,并且其中所述多个点中的一个或更多个点与对应于所述一个或更多个部件之一的部件标签相关联。
24.根据权利要求20至23中任一项所述的方法,其中,所述卷积网络基于三维架构。
25.根据权利要求20至24中任一项所述的方法,其中,所述一个或更多个稀疏卷积中的每一个基于一个或更多个滤波器和一个或更多个步长来将所述一个或更多个激活位点与一个或更多个输出相关。
26.根据权利要求20至25中任一项所述的方法,其中,所述卷积网络包括多个层,每一层包括多个网络块。
27.根据权利要求26所述的方法,其中,训练所述机器学习模型包括:
从所述多个层选择一个或更多个层;
对于每个选定层,在与该层相关联的多个网络块中的至少两个网络块之间插入所述一个或更多个构建块;以及
为每个选定层添加一个或更多个滤波器。
28.根据权利要求20至27中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个激活函数应用于所述一个或更多个激活位点。
29.根据权利要求20至28中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个批归一化应用于所述一个或更多个激活位点。
30.根据权利要求20至29中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个下采样操作应用于所述一个或更多个激活位点,其中每个下采样操作包括池化或跨步卷积中的一种或更多种,并且其中每个池化包括最大池化或平均池化中的一种或更多种。
31.根据权利要求20至30中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个反卷积操作应用于所述一个或更多个激活位点。
32.根据权利要求20至31中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个上采样操作应用于所述一个或更多个激活位点。
33.根据权利要求20至32中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个线性操作应用于所述一个或更多个激活位点。
34.根据权利要求20至33中任一项所述的方法,其中,训练所述机器学习模型包括:
对于所述多个内容对象中的每一个,将一个或更多个softmax操作应用于所述一个或更多个激活位点。
35.根据权利要求20至34中任一项所述的方法,还包括:
生成一个或更多个哈希表和一个或更多个规则手册,其中所述一个或更多个哈希表包括与所述多个内容对象的多个激活位点相关联的位置信息,并且其中所述一个或更多个规则手册包括与所述多个激活位点相关联的多个输入输出对,所述输入输出对是基于所述一个或更多个稀疏卷积来确定的。
36.根据权利要求20至33中任一项所述的方法,还包括:
接收包括三维(3D)点云的查询内容对象,其中所述3D点云包括多个点;以及
基于所述机器学习模型来为所述多个点中的每一个确定部件标签。
37.一种助理系统,其用于通过使用户能够在会话中利用用户输入与所述助理系统交互来帮助用户获得信息或服务,从而获得帮助,其中所述用户输入包括声音、文本、图像或视频或它们的任意组合,所述助理系统特别地通过计算设备、应用编程接口(API)、以及用户设备上应用激增的组合来实现,所述系统包括:一个或更多个处理器;以及耦合到所述处理器的非暂时性存储器,所述存储器包括所述处理器能够执行的指令,所述处理器在执行所述指令时能够操作来执行根据权利要求20至36中的任一项的方法。
38.根据权利要求37所述的助理系统,用于通过执行以下特征或步骤中的至少一个或更多个来帮助用户:
-创建并存储用户简档,所述用户简档包括与用户相关联的个人信息和上下文信息
-使用自然语言理解来分析所述用户输入,其中所述分析能够基于所述用户简档,以获得更个性化和上下文感知的理解
-基于所述分析来解析与所述用户输入相关联的实体
-与不同的代理交互,以获得与解析的实体相关联的信息或服务
-通过使用自然语言生成来为用户生成关于信息或服务的响应
-通过与用户的交互,使用对话管理技术来管理和转发与用户的会话流
-通过汇总信息,帮助用户有效和高效地消化获得的信息
-通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具,来帮助用户更好地参与所述在线社交网络
-帮助用户管理不同的任务,如持续跟踪事件
-在与用户相关的时间,而没有用户输入的情况下,基于所述用户简档来主动执行与用户兴趣和偏好相关的预授权任务
-每当有必要确保访问用户简档和执行不同的任务都遵守用户的隐私设置时就检查隐私设置。
39.根据权利要求37或38所述的助理系统,包括以下部件中的至少一个或更多个:
-消息传递平台,其用于从与用户相关联的客户端系统接收基于文本模态的用户输入和/或接收基于图像或视频模态的用户输入并在所述消息传递平台内使用光学字符识别技术对基于图像或视频模态的该用户输入进行处理,以将该用户输入转换成文本,
-音频语音识别(ASR)模块,其用于从与用户相关联的所述客户端系统接收基于音频模态的用户输入(例如,用户能够说话或者发送包括语音的视频),并将基于所述音频模态的所述用户输入转换成文本,
-助理xbot,其用于接收所述消息传递平台或所述ASR模块的输出。
40.一种系统,包括:
至少一个客户端系统,特别是电子设备,
根据权利要求37至39中任一项所述的至少一个助理系统,
所述客户端系统和所述助理系统特别地通过网络彼此连接,
其中,所述客户端系统包括用于允许所述客户端系统的用户与所述助理系统交互的助理应用,
其中,所述助理应用将用户输入传送给所述助理系统,并且基于所述用户输入,所述助理系统生成响应并将所生成的响应发送给所述助理应用,并且所述助理应用向所述客户端系统的用户呈现所述响应,
其中特别地,所述用户输入是音频或口头或视觉的,并且所述响应能够是文本或者也能够是音频或口头或视觉的。
41.根据权利要求40所述的系统,还包括社交网络系统,
其中,所述客户端系统特别地包括用于访问所述社交网络系统的社交网络应用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762587985P | 2017-11-17 | 2017-11-17 | |
US62/587,985 | 2017-11-17 | ||
PCT/US2018/061615 WO2019099899A1 (en) | 2017-11-17 | 2018-11-16 | Analyzing spatially-sparse data based on submanifold sparse convolutional neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111615706A true CN111615706A (zh) | 2020-09-01 |
Family
ID=66533107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880086906.6A Pending CN111615706A (zh) | 2017-11-17 | 2018-11-16 | 基于子流形稀疏卷积神经网络分析空间稀疏数据 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11544550B2 (zh) |
EP (1) | EP3711031A4 (zh) |
CN (1) | CN111615706A (zh) |
WO (1) | WO2019099899A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257597A (zh) * | 2020-10-22 | 2021-01-22 | 中国人民解放军战略支援部队信息工程大学 | 一种点云数据的语义分割方法 |
CN112270332A (zh) * | 2020-11-12 | 2021-01-26 | 武汉科技大学 | 一种基于子流稀疏卷积的三维目标检测方法及系统 |
CN112422946A (zh) * | 2020-11-30 | 2021-02-26 | 重庆邮电大学 | 一种基于3d重构的智能瑜伽动作指导系统 |
WO2022062451A1 (zh) * | 2020-09-23 | 2022-03-31 | 华为技术有限公司 | 一种处理三维数据的方法及设备 |
WO2022127043A1 (zh) * | 2020-12-15 | 2022-06-23 | 平安科技(深圳)有限公司 | 基于卷积神经网络的检测方法、装置、计算机设备及存储介质 |
WO2022194035A1 (zh) * | 2021-03-16 | 2022-09-22 | 华为技术有限公司 | 一种三维模型构建方法、神经网络训练方法以及装置 |
CN116167425A (zh) * | 2023-04-26 | 2023-05-26 | 浪潮电子信息产业股份有限公司 | 一种神经网络加速方法、装置、设备及介质 |
CN117409209A (zh) * | 2023-12-15 | 2024-01-16 | 深圳大学 | 一种多任务感知的三维场景图要素分割与关系推理方法 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11429906B2 (en) * | 2016-06-16 | 2022-08-30 | Conduent Business Services, Llc | Profiling of users' behavior and communication in business processes |
WO2019090325A1 (en) | 2017-11-06 | 2019-05-09 | Neuralmagic, Inc. | Methods and systems for improved transforms in convolutional neural networks |
US20190156214A1 (en) | 2017-11-18 | 2019-05-23 | Neuralmagic Inc. | Systems and methods for exchange of data in distributed training of machine learning algorithms |
US10803055B2 (en) * | 2017-12-15 | 2020-10-13 | Accenture Global Solutions Limited | Cognitive searches based on deep-learning neural networks |
US10878808B1 (en) * | 2018-01-09 | 2020-12-29 | Amazon Technologies, Inc. | Speech processing dialog management |
US11307880B2 (en) | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US20190327330A1 (en) | 2018-04-20 | 2019-10-24 | Facebook, Inc. | Building Customized User Profiles Based on Conversational Data |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US10599769B2 (en) | 2018-05-01 | 2020-03-24 | Capital One Services, Llc | Text categorization using natural language processing |
US10878590B2 (en) * | 2018-05-25 | 2020-12-29 | Microsoft Technology Licensing, Llc | Fusing disparity proposals in stereo matching |
US10963787B2 (en) * | 2018-05-31 | 2021-03-30 | Neuralmagic Inc. | Systems and methods for generation of sparse code for convolutional neural networks |
US10832133B2 (en) | 2018-05-31 | 2020-11-10 | Neuralmagic Inc. | System and method of executing neural networks |
US11449363B2 (en) | 2018-05-31 | 2022-09-20 | Neuralmagic Inc. | Systems and methods for improved neural network execution |
US11216732B2 (en) | 2018-05-31 | 2022-01-04 | Neuralmagic Inc. | Systems and methods for generation of sparse code for convolutional neural networks |
US11657322B2 (en) * | 2018-08-30 | 2023-05-23 | Nec Corporation | Method and system for scalable multi-task learning with convex clustering |
WO2020072274A1 (en) | 2018-10-01 | 2020-04-09 | Neuralmagic Inc. | Systems and methods for neural network pruning with accuracy preservation |
US10704918B2 (en) | 2018-11-26 | 2020-07-07 | Ford Global Technologies, Llc | Method and apparatus for improved location decisions based on surroundings |
US11127162B2 (en) | 2018-11-26 | 2021-09-21 | Ford Global Technologies, Llc | Method and apparatus for improved location decisions based on surroundings |
US11175156B2 (en) | 2018-12-12 | 2021-11-16 | Ford Global Technologies, Llc | Method and apparatus for improved location decisions based on surroundings |
EP3674983A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Machine-learning for 3d modeled object inference |
EP3674984B1 (en) * | 2018-12-29 | 2024-05-15 | Dassault Systèmes | Set of neural networks |
US11544559B2 (en) | 2019-01-08 | 2023-01-03 | Neuralmagic Inc. | System and method for executing convolution in a neural network |
US11544475B2 (en) | 2019-03-22 | 2023-01-03 | Predictika Inc. | System and method for providing a model-based intelligent conversational agent |
US10867132B2 (en) * | 2019-03-29 | 2020-12-15 | Microsoft Technology Licensing, Llc | Ontology entity type detection from tokenized utterance |
US10970278B2 (en) * | 2019-03-29 | 2021-04-06 | Microsoft Technology Licensing, Llc | Querying knowledge graph with natural language input |
US10916237B2 (en) | 2019-03-29 | 2021-02-09 | Microsoft Technology Licensing, Llc | Training utterance generation |
US11930023B2 (en) * | 2019-05-10 | 2024-03-12 | International Business Machines Corporation | Deep learning-based similarity evaluation in decentralized identity graphs |
US11165777B2 (en) | 2019-05-30 | 2021-11-02 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11153315B2 (en) | 2019-05-30 | 2021-10-19 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11138328B2 (en) * | 2019-05-30 | 2021-10-05 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
CN110232693B (zh) * | 2019-06-12 | 2022-12-09 | 桂林电子科技大学 | 一种结合热力图通道及改进U-Net的图像分割方法 |
CN110148150B (zh) * | 2019-06-20 | 2021-07-02 | 深圳大学 | 稠密连接非对称层次网络训练方法及心脏运动场估计方法 |
US11657094B2 (en) | 2019-06-28 | 2023-05-23 | Meta Platforms Technologies, Llc | Memory grounded conversational reasoning and question answering for assistant systems |
CN110415708A (zh) * | 2019-07-04 | 2019-11-05 | 平安科技(深圳)有限公司 | 基于神经网络的说话人确认方法、装置、设备及存储介质 |
US11164363B2 (en) * | 2019-07-08 | 2021-11-02 | Waymo Llc | Processing point clouds using dynamic voxelization |
GB2592175B (en) * | 2019-07-12 | 2023-12-27 | Sony Interactive Entertainment Inc | Image processing |
WO2021026225A1 (en) | 2019-08-08 | 2021-02-11 | Neuralmagic Inc. | System and method of accelerating execution of a neural network |
US11551053B2 (en) * | 2019-08-15 | 2023-01-10 | Sap Se | Densely connected convolutional neural network for service ticket classification |
CN112444865B (zh) * | 2019-08-28 | 2024-05-17 | 中国石油化工股份有限公司 | 勘探缝洞储层的方法、系统、装置及存储介质 |
WO2023030619A1 (en) | 2021-09-01 | 2023-03-09 | Cariad Se | Telephone service device for requesting services, vehicle and method |
CN110781830B (zh) * | 2019-10-28 | 2023-03-10 | 西安电子科技大学 | 基于空-时联合卷积的sar序列图像分类方法 |
US10699715B1 (en) * | 2019-12-27 | 2020-06-30 | Alphonso Inc. | Text independent speaker-verification on a media operating system using deep learning on raw waveforms |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
CN111274909B (zh) * | 2020-01-16 | 2022-05-20 | 重庆邮电大学 | 一种基于深度学习的人体点云骨架提取方法 |
US11341650B2 (en) * | 2020-03-19 | 2022-05-24 | At&T Intellectual Property I, L.P. | Method for accelerating three-dimensional object segmentation with point cloud simplifications |
US20210319297A1 (en) * | 2020-04-08 | 2021-10-14 | Autobrains Technologies Ltd | Neural network with array convolution units |
CN111598803B (zh) * | 2020-05-12 | 2023-05-09 | 武汉慧点云图信息技术有限公司 | 一种基于变分辨率体素格网与稀疏卷积的点云滤波方法 |
US11500644B2 (en) | 2020-05-15 | 2022-11-15 | Alibaba Group Holding Limited | Custom instruction implemented finite state machine engines for extensible processors |
CN116132671A (zh) * | 2020-06-05 | 2023-05-16 | Oppo广东移动通信有限公司 | 点云压缩方法、编码器、解码器及存储介质 |
CN111710428B (zh) * | 2020-06-19 | 2022-05-31 | 华中师范大学 | 一种建模全局和局部上下文交互的生物医学文本表示方法 |
US11481214B2 (en) | 2020-07-14 | 2022-10-25 | Alibaba Group Holding Limited | Sparse matrix calculations untilizing ightly tightly coupled memory and gather/scatter engine |
US11245648B1 (en) * | 2020-07-31 | 2022-02-08 | International Business Machines Corporation | Cognitive management of context switching for multiple-round dialogues |
US11580671B2 (en) * | 2020-08-17 | 2023-02-14 | Tencent America LLC | Hash-based attribute prediction for point cloud coding |
US11818147B2 (en) * | 2020-11-23 | 2023-11-14 | Fair Isaac Corporation | Overly optimistic data patterns and learned adversarial latent features |
US11556757B1 (en) | 2020-12-10 | 2023-01-17 | Neuralmagic Ltd. | System and method of executing deep tensor columns in neural networks |
US11563706B2 (en) * | 2020-12-29 | 2023-01-24 | Meta Platforms, Inc. | Generating context-aware rendering of media contents for assistant systems |
CN112866896B (zh) * | 2021-01-27 | 2022-07-15 | 北京拓灵新声科技有限公司 | 一种沉浸式音频上混方法及系统 |
CN113269055B (zh) * | 2021-05-06 | 2024-02-13 | 中国矿业大学 | 一种落叶检测预测框损失函数计算方法 |
US20220381914A1 (en) * | 2021-05-30 | 2022-12-01 | Ran Cheng | Systems and methods for sparse convolution of unstructured data |
CN113392842B (zh) * | 2021-06-03 | 2022-08-05 | 电子科技大学 | 一种基于点数据网络结构改进的点云语义分割方法 |
CN113449612B (zh) * | 2021-06-15 | 2022-06-07 | 燕山大学 | 一种基于子流型稀疏卷积的三维目标点云识别的方法 |
US11960982B1 (en) | 2021-10-21 | 2024-04-16 | Neuralmagic, Inc. | System and method of determining and executing deep tensor columns in neural networks |
CN114494661B (zh) * | 2022-03-31 | 2022-08-02 | 清华大学 | 增量式稀疏三维卷积计算架构、系统与装置 |
CN115169556B (zh) * | 2022-07-25 | 2023-08-04 | 美的集团(上海)有限公司 | 模型剪枝方法及装置 |
CN115900725B (zh) * | 2023-01-06 | 2023-06-16 | 阿里巴巴达摩院(杭州)科技有限公司 | 路径规划装置、电子设备、存储介质和相关方法 |
CN117556208B (zh) * | 2023-11-20 | 2024-05-14 | 中国地质大学(武汉) | 多模态数据的智能卷积通用网络预测方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986295A (zh) * | 2010-10-28 | 2011-03-16 | 浙江大学 | 基于流形稀疏编码的图像聚类的方法 |
WO2014182549A1 (en) * | 2013-05-06 | 2014-11-13 | Knowmtech, Llc | Universal machine learning building block |
CN104573731A (zh) * | 2015-02-06 | 2015-04-29 | 厦门大学 | 基于卷积神经网络的快速目标检测方法 |
US20160335224A1 (en) * | 2014-03-31 | 2016-11-17 | Los Alamos National Security, Llc | Efficient convolutional sparse coding |
US20170071562A1 (en) * | 2014-01-15 | 2017-03-16 | Alara Systems, Inc | Converting low-dose to higher dose 3d tomosynthesis images through machine-learning processes |
CN107067011A (zh) * | 2017-03-20 | 2017-08-18 | 北京邮电大学 | 一种基于深度学习的车辆颜色识别方法与装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061402B2 (en) * | 2017-11-15 | 2021-07-13 | Uatc, Llc | Sparse convolutional neural networks |
US11556777B2 (en) * | 2017-11-15 | 2023-01-17 | Uatc, Llc | Continuous convolution and fusion in neural networks |
-
2018
- 2018-11-16 CN CN201880086906.6A patent/CN111615706A/zh active Pending
- 2018-11-16 WO PCT/US2018/061615 patent/WO2019099899A1/en unknown
- 2018-11-16 EP EP18879775.7A patent/EP3711031A4/en active Pending
- 2018-11-16 US US16/193,735 patent/US11544550B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986295A (zh) * | 2010-10-28 | 2011-03-16 | 浙江大学 | 基于流形稀疏编码的图像聚类的方法 |
WO2014182549A1 (en) * | 2013-05-06 | 2014-11-13 | Knowmtech, Llc | Universal machine learning building block |
US20170071562A1 (en) * | 2014-01-15 | 2017-03-16 | Alara Systems, Inc | Converting low-dose to higher dose 3d tomosynthesis images through machine-learning processes |
US20160335224A1 (en) * | 2014-03-31 | 2016-11-17 | Los Alamos National Security, Llc | Efficient convolutional sparse coding |
CN104573731A (zh) * | 2015-02-06 | 2015-04-29 | 厦门大学 | 基于卷积神经网络的快速目标检测方法 |
CN107067011A (zh) * | 2017-03-20 | 2017-08-18 | 北京邮电大学 | 一种基于深度学习的车辆颜色识别方法与装置 |
Non-Patent Citations (3)
Title |
---|
BEN GRAHAM: "Sparse 3D convolutional neural networks", 《ARXIV》 * |
BENJAMIN GRAHAM 等: "Submanifold Sparse Convolutional Networks", 《ARXIV》 * |
高仕博等: "面向目标检测的稀疏表示方法研究进展", 《电子学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062451A1 (zh) * | 2020-09-23 | 2022-03-31 | 华为技术有限公司 | 一种处理三维数据的方法及设备 |
CN112257597A (zh) * | 2020-10-22 | 2021-01-22 | 中国人民解放军战略支援部队信息工程大学 | 一种点云数据的语义分割方法 |
CN112257597B (zh) * | 2020-10-22 | 2024-03-15 | 中国人民解放军战略支援部队信息工程大学 | 一种点云数据的语义分割方法 |
CN112270332A (zh) * | 2020-11-12 | 2021-01-26 | 武汉科技大学 | 一种基于子流稀疏卷积的三维目标检测方法及系统 |
CN112422946A (zh) * | 2020-11-30 | 2021-02-26 | 重庆邮电大学 | 一种基于3d重构的智能瑜伽动作指导系统 |
WO2022127043A1 (zh) * | 2020-12-15 | 2022-06-23 | 平安科技(深圳)有限公司 | 基于卷积神经网络的检测方法、装置、计算机设备及存储介质 |
WO2022194035A1 (zh) * | 2021-03-16 | 2022-09-22 | 华为技术有限公司 | 一种三维模型构建方法、神经网络训练方法以及装置 |
CN116167425A (zh) * | 2023-04-26 | 2023-05-26 | 浪潮电子信息产业股份有限公司 | 一种神经网络加速方法、装置、设备及介质 |
CN116167425B (zh) * | 2023-04-26 | 2023-08-04 | 浪潮电子信息产业股份有限公司 | 一种神经网络加速方法、装置、设备及介质 |
CN117409209A (zh) * | 2023-12-15 | 2024-01-16 | 深圳大学 | 一种多任务感知的三维场景图要素分割与关系推理方法 |
CN117409209B (zh) * | 2023-12-15 | 2024-04-16 | 深圳大学 | 一种多任务感知的三维场景图要素分割与关系推理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3711031A1 (en) | 2020-09-23 |
US11544550B2 (en) | 2023-01-03 |
US20190156206A1 (en) | 2019-05-23 |
EP3711031A4 (en) | 2021-01-13 |
WO2019099899A1 (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544550B2 (en) | Analyzing spatially-sparse data based on submanifold sparse convolutional neural networks | |
US11727677B2 (en) | Personalized gesture recognition for user interaction with assistant systems | |
US11562243B2 (en) | Machine-learning models based on non-local neural networks | |
EP3557505A1 (en) | Contextual auto-completion for assistant systems | |
EP3557500A1 (en) | Building customized user profiles based on conversational data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan platform Co. Address before: California, USA Applicant before: Facebook, Inc. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200901 |