存储器内内容分类和控制

文档序号:96211 发布日期:2021-10-12 浏览:26次 >En<

阅读说明:本技术 存储器内内容分类和控制 (In-memory content classification and control ) 是由 P·卡利 R·R·N·比尔比 于 2021-04-01 设计创作,主要内容包括:本申请涉及存储器内内容分类和控制。用于对通过存储器装置的内容进行分类和/或控制的系统、方法和设备。例如,可以在呈现之前的预定时间在存储器装置中缓冲从内容源接收到的媒体流的一部分。所述存储器装置中的人工神经网络ANN可以在经缓冲部分中识别区域,并分析所述区域以确定所述区域中的内容的分类。在所述存储器装置内,可以根据为所述分类指定的偏好变换所述区域中的所述内容。例如,可以隐藏、失真、跳过、替换和/或过滤非想要或令人不快的内容。通过变换所述区域中的所述内容产生所述部分的经修改版本作为输出以供呈现。(The application relates to in-memory content classification and control. Systems, methods, and apparatus for classifying and/or controlling content passing through a memory device. For example, a portion of a media stream received from a content source may be buffered in a memory device at a predetermined time prior to presentation. An artificial neural network ANN in the memory device may identify regions in the buffered portion and analyze the regions to determine a classification of content in the regions. Within the memory device, the content in the region may be transformed according to preferences specified for the classification. For example, unwanted or objectionable content may be hidden, distorted, skipped, replaced, and/or filtered. Generating a modified version of the portion as output for presentation by transforming the content in the region.)

存储器内内容分类和控制

技术领域

本文中所公开的至少一些实施例总的来说涉及内容处理,且更具体为但不限于在车辆中流式传输的非想要媒体内容的检测和过滤。

背景技术

自主驾驶

技术领域

的最新发展允许计算系统至少在一些条件下操作机动车辆的控制元件而无需车辆的人类操作者的辅助。

例如,传感器(例如,相机和雷达)可安装在机动车辆上以检测在车道上行驶的车辆的周围环境的条件。在具有或不具有来自车辆的人类操作者的任何输入的情况下,安装在车辆上的计算系统分析传感器输入以识别条件并且产生用于车辆的方向和/或速度的自主调整的控制信号或命令。

在一些布置中,当计算系统辨识出其中计算系统可能无法继续以安全方式操作车辆的情境时,计算系统对车辆的人类操作者发出警报并且请求人类操作者接管对车辆的控制并进行手动驾驶,而不是让计算系统自主驾驶车辆。

自主驾驶和/或高级驾驶辅助系统(ADAS)可以使用用于识别在传感器输入中所捕获的事件和/或对象的人工神经网络(ANN)。传感器输入的实例包含来自数码相机、光达、雷达、超声声纳等的图像。

一般来说,人工神经网络(ANN)使用神经元网络处理所述网络的输入并产生所述网络的输出。

例如,网络中的每一神经元接收一组输入。神经元的一些输入可以是网络中的某些神经元的输出;且神经元的一些输入可以是提供给神经网络的输入。网络中的神经元之间的输入/输出关系表示网络中的神经元连接性。

例如,每个神经元可具有偏置、激活函数,以及一组突触权重,分别用于其输入。激活函数可呈阶跃函数、线性函数、对数S型(log-sigmoid)函数等形式。网络中的不同神经元可具有不同激活函数。

例如,每个神经元可产生其输入和其偏置的加权和,然后产生为加权和的函数的输出,所述输出是使用神经元的激活函数计算的。

ANN的输入与输出之间的关系一般来说是由ANN模型定义的,所述ANN模型包含表示网络中的神经元的连接性的数据,以及每个神经元的偏置、激活函数和突触权重。使用给定ANN模型,计算装置根据网络的给定一组输入计算网络的输出。

例如,可基于相机输入产生ANN网络的输入;并且ANN网络的输出可以是对例如事件或对象等事项的识别。

脉冲神经网络(SNN)是一种紧密模仿自然神经网络的ANN类型。当神经元的激活电平足够高时,SNN神经元产生脉冲作为输出。SNN神经元的激活电平模仿自然神经元的薄膜电位。SNN神经元的输出/脉冲可以改变接收输出的其它神经元的激活电平。随时间而变的SNN神经元的当前激活电平通常是使用微分方程来建模的,且被视为SNN神经元的状态。来自其它神经元的传入脉冲可将所述神经元的激活电平推得更高,以达到产生脉冲的阈值。一旦神经元产生脉冲,其激活电平就复位。在产生脉冲之前,SNN神经元的激活电平可随时间推移而衰减,如微分方程所控制的那样。SNN神经元行为中的时间元素使得SNN适合于处理时空数据。SNN的连接性通常是稀疏的,这有利于减少计算工作负载。

一般来说,可使用监督方法来训练ANN,其中调整ANN中的参数以最小化或减少由相应输入产生的已知输出与通过将输入应用于ANN而产生的所计算输出之间的误差。监督学习/训练方法的实例包含强化学习,以及具有误差校正的学习。

替代地或组合地,可以使用非监督方法来训练ANN,其中由给定的一组输入产生的确切输出在所述训练完成之前是未知的。可以训练ANN,以将事项分类成多个类别,或将数据点分类成聚类。

可以采用多个训练算法用于复杂机器学习/训练范例。

发明内容

本公开的一方面提供一种方法,其中所述方法包括:在输出来自内容源的媒体流的一部分以供呈现之前的预定时间在存储器装置中缓冲所述部分;使用所述存储器装置中的人工神经网络(ANN)在所述部分中识别区域;使用所述存储器装置中的所述人工神经网络(ANN)分析所述区域,以确定所述区域中的内容的分类;根据为所述分类指定的偏好,在所述存储器装置中变换所述区域中的所述内容;以及基于所述区域中的所述内容的所述变换,产生所述部分的经修改版本作为根据所述预定时间的输出。

本公开的另一方面提供一种数据存储装置,其中所述数据存储装置包括:一或多个存储器组件,其配置成存储数据;接口,其配置成从内容源接收媒体流,其中所述媒体流的一部分在根据所述部分产生输出以供呈现之前的预定持续时间在所述一或多个存储器组件中缓冲;推理引擎,其配置成使用所述数据存储装置中的人工神经网络(ANN)识别所述部分内的内容的分类;以及控制器,其配置成根据所述分类修改所述内容以产生根据所述预定时间提供的输出。

本公开的另一方面提供一种车辆,其中所述车辆包括:一或多个相机;计算机系统,其配置成:从所述一或多个相机接收图像;辨别在所述图像中显示的人员;确定所述人员的分类;在输出来自内容源的媒体流的一部分以供呈现之前的预定时间缓冲所述部分;基于与所述人员的所述分类相关联的偏好,使用人工神经网络(ANN)识别所述部分中的非想要内容;以及在产生输出信号时变换所述部分中的所述非想要内容;以及娱乐系统,其配置成基于所述输出信号呈现内容。

附图说明

在附图的各图中作为实例而非限制示出了实施例,在附图中,相似的参考标号指示类似的元件。

图1示出根据一个实施例的配置成在产生显示装置的视频信号时处理视频数据流的智能装置。

图2示出根据一个实施例的用于对媒体流中的内容进行分类和控制的方法。

图3示出根据一个实施例的用于训练人工神经网络以辨别用于内容分类的内容区域的方法。

图4示出根据一些实施例的具有配置成收集并处理传感器数据的车辆的系统。

图5示出根据一个实施例的自主车辆。

图6-8示出根据一些实施例的用于预测的人工神经网络的训练。

图9示出根据一个实施例的具有神经网络加速器的数据存储装置。

图10示出根据一个实施例的用于加快神经网络计算的存储器组件。

图11示出根据一个实施例的配置成支持神经网络计算的存储器容量。

图12示出根据一个实施例的用于人工神经网络(ANN)模型的存储器区域的配置。

图13示出根据一个实施例的用于人工神经元的输入的存储器区域的配置。

图14示出根据一个实施例的用于人工神经元的输出的存储器区域的配置。

图15示出根据一个实施例的自主车辆和数据存储装置之间的通信。

图16示出根据一个实施例的数据存储装置内的通信。

具体实施方式

本文中所公开的至少一些实施例提供用于识别和/或过滤到车辆的非想要媒体内容(例如,从服务提供商或另一源流式传输的视频内容)以经由信息娱乐系统、媒体播放器、显示装置等呈现的系统、方法及设备。

流式传输的媒体内容(例如,视频和/或音频)通常配置成在呈现之前从源移动通过存储器装置。例如,存储器装置可配置成在来自源的数据传输可能暂时延迟或中断时缓冲内容流以避免在播放期间中断或暂停。任选地,整个视频片段或歌曲可以从源下载到存储器装置,使得即使在呈现期间从存储器装置到源的数据连接断开时,也可以从存储器装置进行呈现。

可在存储器装置中配置分析能力,以便实时地智能识别和过滤非想要图像/音频,以便儿童和/或车辆中的其他乘客或媒体播放器的其他用户不会接触到非想要图像/音频。

例如,诸如卷积神经网络(CNN)、深度神经网络(DNN)和/或脉冲神经网络(SNN)之类的人工神经网络(ANN)可以配置在存储器装置中以处理要实时呈现的媒体内容。可以训练人工神经网络(ANN)来辨别非想要内容和/或确定内容的分类,其中分类可以选择性地配置为非想要。

例如,当来自因特网或无线电广播站的媒体内容被流式传输到车辆的前部或后部娱乐系统中时,通过存储器装置的内容由人工神经网络(ANN)处理以辨别或检测令人不快和/或不想要的图像、手势、词、短语等等。非想要内容可以从流中过滤出去、跳过或隐藏,以避免在娱乐系统中呈现。

例如,可以基于由存储器装置中的人工神经网络(ANN)执行的内容检查、辨别和/或分类来实施家长控制。

例如,交通运输服务可以使用内容控制技术来避免冒犯到某些乘客。

存储器装置的缓冲操作允许人工神经网络(ANN)在娱乐系统中呈现内容之前的短时间段(例如,一秒或数秒或一分钟或更长时间)实时处理内容。当在内容的缓冲时段期间检测到非想要内容时,可以对内容进行擦除、修改、隐藏、更改、变换等,以实时产生媒体流的净化版本。

此外,可以针对车辆中的当前观众定制对媒体流执行的净化操作。例如,可以根据车辆中或车辆附近当前是否有任何儿童而动态地实施或暂停家长控制。例如,当某一特定人群(例如,一或多个朋友)中的任何人出现在车辆中或车辆附近时,可以过滤该人群不想要的内容。

图1示出根据一个实施例的配置成在产生显示装置的视频信号104时处理视频数据流103的智能装置(例如,101)。

例如,视频数据流103可以经由例如因特网、蜂窝通信网络、局域网和/或无线局域网(例如,Wi-Fi)的通信连接从内容提供商的服务器传送。视频数据流103中的媒体内容可以使用离散余弦变换(DCT)技术或DCT技术的变型/经修改版本来译码/压缩,例如,用于各个译码格式的那些技术,译码格式例如MP3(运动图像专家组-1(MPEG-1)、音频层III或MPEG-2音频层III)、高级音频译码(AAC)、高级视频译码(AVC)、MPEG-4、高级系统格式(ASF)等。

例如,视频信号104可以是为音频/视频装置准备好呈现内容的标准格式,例如用于数字视频接口(DVI)、高清多媒体接口(HDMI)等的格式。

在一些实施方案中,视频数据流103还可以是用于显示装置的标准格式。在其它实施方案中,视频数据流103和视频信号104可以是相同格式。

在一些情况下,视频数据流103来自电视台的接收器。任选地,不具有图像的音频数据流103可以类似方式处理。

图1的视频处理装置101包含缓冲存储器102和一或多个处理器111。

在图1中,视频数据流103的部分内容以数字格式重建,以供人工神经网络(ANN)125分析。例如,视频数据流103中的输入视频帧105可以在缓冲存储器102中重建。类似地,预定义时间段的音频片段可以在缓冲存储器102中重建。

人工神经网络(ANN)125配置成在输入视频帧105中辨别区域108中的对象,并确定区域108中描绘的对象的分类107。

视频处理装置101具有可配置偏好109,其基于分类(例如,107)识别非想要内容。基于分类107和偏好109,视频处理装置101可以调整由处理器110产生的输出视频帧106,以防呈现非想要内容。

例如,可产生视频处理装置101的输出视频信号104以呈现可基于分类107和偏好109从输入视频帧105选择性地更改的输出视频帧106,以防呈现非想要内容。

例如,偏好109可指示处理器110跳过已辨别出示出某些分类107的对象的图像的区域108的输入视频帧,这些分类的对象在偏好109中被识别为非想要或令人不快。因此,输出视频可能看起来是快进的,以跳过非想要视频帧的部分。

例如,偏好109可指示处理器110隐藏或模糊处理示出在偏好109中被识别为非想要或令人不快的某些分类107的对象的图像的经辨别区域108。例如,当检测到经辨别区域108具有根据偏好109为非想要或令人不快的分类107的对象时,处理器110配置成修改或变换区域,使得它的分类不再是非想要或令人不快的;并且使用经修改/变换区域来产生对应的输出视频帧106。

例如,视频帧的非想要区域可以与预定义模式组合以遮掩非想要区域内的内容,而无需改变视频帧的其余部分中的内容。例如,可以向非想要区域添加噪声以遮掩非想要区域内的内容。任选地,可以以不同的密度和强度向整个视频帧添加噪声,其中在含有非想要内容的区域中的噪声密度和/或强度可高于其它区域。例如,可以迭代地应用变换,直到人工神经网络(ANN)125无法再辨别出具有在非想要或令人不快的内容分类107中的内容的区域108为止。

任选地,人工神经网络(ANN)125配置成产生视频数据流103的一系列多个帧的整体分类。当整体分类107与非想要或令人不快的偏好相关联时,视频处理装置101可产生警告,从而选择来自同一内容源和/或用于获得另一视频数据流103的替代性内容源的替代性视频数据流103。

类似地,人工神经网络(ANN)125还可用于辨别数据流103中缓冲在缓冲存储器102中的音频内容。人工神经网络(ANN)125可产生经辨别音频内容的分类,例如非想要词、短语、言论、评论、噪声和/或声音模式等。

例如,处理器111可配置成将经辨别音频内容的音量关小,例如非想要词、短语、言论、评论、噪声和/或声音模式等。替代地或组合地,处理器111可在非想要词、短语、言论、评论、噪声和/或声音模式等上叠加预定义音调或音频片段或噪声。处理器110可在迭代中变换音频内容的非想要部分,使得它们不再被分类为非想要。可替代地,当音频内容不带图像地呈现时,可以跳过音频内容的非想要部分。

人工神经网络(ANN)125可以首先针对一般用户群体进行训练,然后进一步训练以针对视频处理装置101的用户进行定制。

例如,视频处理装置101可存储示出具有非想要或令人不快的内容分类的经辨别区域108的图像数据。随后,视频处理装置的用户可以检查所存储的图像数据,并确认、调整和/或校正人工神经网络(ANN)125做出的分类以产生训练数据。训练数据可用于进一步训练人工神经网络(ANN)125以产生更接近将由用户产生的分类的分类。因此,从视频处理装置的用户的视角来看,训练可以提高人工神经网络(ANN)125的分类精度。

在一些实施方案中,还可进一步训练人工神经网络(ANN)125,以提高经辨别以确定分类的区域108的精度。例如,视频处理装置101可存储可含有用于分类的关注区域的输入视频帧。视频处理装置的用户可以查看所存储的视频帧以识别将由人工神经网络(ANN)125辨别的区域。用户识别的区域可以包含在训练数据中,以在辨别用于分类107的关注区域108时提高人工神经网络(ANN)125的精度。

在一些实施方案中,处理器110配置成基于分类107在非想要或令人不快的类别中的阈值置信度水平来更改输入视频帧105以产生输出视频帧106。当分类107的置信度水平低于阈值置信度水平时,处理器110可允许呈现经辨别区域108。但是,当置信度水平在低于阈值的范围中时,视频处理装置101可自动存储图像数据以供检查。因此,后续用户检查可用于产生训练数据以提高人工神经网络(ANN)125在识别关注区域108和/或高置信度水平的分类中的精度和/或置信度水平。

在一些情况下,人工神经网络(ANN)125可能无法辨别非想要或令人不快的内容。因此,非想要或令人不快的内容可出现在视频信号104中。作为响应,视频处理装置101的用户可以提供经用户辨别的非想要/令人不快的内容的指示。

例如,视频处理装置101的输入按钮或连接到视频处理装置101的用户接口可用于提供在视频信号104中存在非想要内容的指示。可替代地,可以提供语音命令或评论指示视频信号104含有非想要/令人不快的内容。作为响应,视频处理装置101可以存储图像数据以供后续检查和/或作为训练数据的部分,用于进一步训练人工神经网络(ANN)125。

在一些实施方案中,基于当前在车辆中的人选择性地实施偏好109中的过滤操作,以消费与视频信号104相对应的媒体内容。

例如,当在车辆中检测到儿童时,视频处理装置101至少实施家长控制以限制让儿童家长不想要或不喜欢的内容。

例如,当在车辆中检测到客人时,视频处理装置101可以实施过滤器以屏蔽、过滤、减少被车辆所有者识别为不是客人想要或令其不快的内容。

例如,当在车辆中检测到朋友时,视频处理装置101可以实施个性化和/或定制的过滤器,以便为朋友去除不想要的或令人不快的内容。

例如,车辆可以配置一或多个相机,以捕获车辆中的驾驶员和/或乘客的图像。相机可以是车辆高级驾驶辅助系统(ADAS)的一部分。根据相机捕获的图像,车辆可以将车辆中和/或附近的人分为多个类别,例如车主、驾驶员、乘客、成人、朋友、儿童、普通用户等。同一个人可以在多个类别中。当偏好109指示经辨别区域108中的项具有对于当前在车辆中或附近的任何人来说是不想要的或令人反感的分类107(如由相机所识别)时,视频处理装置101对经辨别区域108应用过滤操作。因此,可经由视频信号104呈现净化版本的视频数据流103,以适应车辆中和/或周围的人。

此外,当车辆可以基于车辆的操作状态动态地调整空间以识别视频信号104的观众时。例如,当车辆在道路上行驶时,视频信号104的观众限于车辆内的人。当车辆停放和/或车门打开时,视频信号104的观众不仅可以包含车辆内的观众,还可以包含接近车辆和/或位于车辆附近的观众。

图2示出根据一个实施例的用于对媒体流中的内容进行分类和控制的方法。例如,图2的方法可以在图1的装置101中实施。

在框251处,存储器装置(例如,缓冲存储器102)缓冲来自内容源的媒体流的一部分。在输出所述部分以供呈现之前的预定时间执行缓冲。存储器装置配置在从内容源到显示装置(例如,车辆的显示装置、娱乐系统、媒体播放器、信息娱乐系统等)的通信路径上。

例如,媒体流可以是从服务器传送的视频数据流103;并且可基于在流被调度用于呈现之前的预定时间量缓冲流的一部分而产生到显示装置的视频信号104。

在框253处,存储器装置(例如,102)中的人工神经网络(ANN)125在所述部分中识别区域108。人工神经网络(ANN)可包含卷积神经网络(CNN)、深度神经网络(DNN)或脉冲神经网络(SNN),或其任何组合。

例如,媒体流的所述部分可包含一或多个输入视频帧105;并且区域可以在示出经辨别对象、项、符号、特征等的视频帧内。

例如,媒体流的所述部分可以是预定时间间隔内的音频内容;并且区域可以是词、短语或句子的音频内容。

在框255处,存储器装置(例如,102)中的人工神经网络(ANN)125分析区域108以确定区域中的内容的分类107。

在框257处,根据针对分类107指定的偏好109,通过存储器装置(例如,102)和/或处理器110变换区域108中的内容。

例如,可以在经辨别区域108内应用变换,使得视频帧内的经辨别区域108被修改,同时视频帧中在区域108之外的其余部分未被更改。

例如,可以迭代地应用变换,直到人工神经网络(ANN)不再将区域108内的经变换内容辨别为具有分类107为止。

例如,可以经由在区域108中添加随机噪声来应用变换。可替代地,可以通过更改强度以及预定模式和/或应用预定转换功能来应用变换。

在框259处,基于区域108中的内容的变换而产生所述部分(例如,104)的经修改版本作为根据预定时间提供的输出。

任选地,识别经修改版本的观众,以根据观众中的人员的分类来动态地配置偏好。

例如,配置于车辆上的一或多个相机可用于捕获图像;并且可以根据图像确定观众中的人员。这些人可以分类成预定类别,例如儿童、朋友、客人、驾驶员、车主、成年人、陌生人、认识的人等。

任选地,可至少部分地基于车辆的操作状态来确定观众,例如车辆是静止还是移动、车窗是打开还是关闭、车辆是否处于停车状态,等等。

任选地,存储器装置可配置成根据其用户、车主和/或操作者的偏好产生训练数据来训练人工神经网络(ANN)。

例如,存储器装置可从用户接收输入以识别经由存储器装置处理的内容中的区域和关注区域内的内容的分类。可以使用输入训练人工神经网络(ANN),以通过与用户使用的方式类似的方式来识别区域和分类。

例如,当人工神经网络(ANN)125以在预定范围内的置信度水平确定经辨别区域108中的内容的分类107时,存储器装置可以存储经辨别区域108的内容。在存储器装置的检查模式期间,呈现所存储的内容以供用户检查。在检查模式期间从用户接收到分类之后,可以训练人工神经网络(ANN)以通过与用户相似的方式对内容进行分类。

例如,在提供视频信号104以供呈现之后,经缓冲内容可以在缓冲存储器102中至少存储一预定时段。当用户不想要的内容存在于视频信号104中时,用户可以提供存储器装置的输出含有非想要内容的指示。响应于从用户接收到指示,存储器装置可以存储经缓冲内容以供检查。

当处于检查模式时,可以利用用户接口呈现所存储的内容,以识别待辨别区域和/或要针对被用户识别区域内的内容产生的分类。随后,人工神经网络(ANN)可以由存储器装置或在用户中至少使用所存储内容的用户识别区域和用户指定分类进行训练。

图3示出根据一个实施例的用于训练人工神经网络以辨别用于内容分类的内容区域的方法。

在框261处,数据存储装置(例如,101)在媒体流(例如,103)呈现之前选择媒体流中通过数据存储装置(例如,101)的部分。

在框263处,数据存储装置(例如,101)在以媒体流的播放模式呈现所述部分之后存储选定部分。

例如,响应于来自用户的对所述部分的播放含有非想要内容的指示,可选择所述部分以供后续检查。

例如,响应于确定(例如,使用人工神经网络(ANN)125确定)所述部分含有非想要内容的可能性高于阈值,可选择所述部分以供后续检查。

在框265处,数据存储装置(例如,101)提供选定部分以供在选择性存储的内容的检查模式中呈现。

在检查模式期间,数据存储装置(例如,101)在框267处接收选定部分中的用户指定区域,并在框269处接收用户指定区域中的内容的用户指定分类。

在框271处,使用选定部分的用户指定区域和用户指定分类来训练人工神经网络125。在训练之后,人工神经网络125可识别类似区域,并在媒体流的一部分具有与选定部分中的内容相同或类似的内容时,为类似区域中的内容做出用户指定分类。

训练可以在数据存储装置(例如,101)中执行。可替代地,训练数据可以在维护设施处下载和/或上载到服务器以用于训练人工神经网络。经过训练的人工神经网络125可以通过更新安装在数据存储装置(例如,101)中,以提高装置(例如,101)辨别用于过滤的内容的能力。

图1-3的技术可在图4所示的系统中和/或使用下文论述的数据存储装置来实施。

例如,数据存储装置可包含:一或多个存储器组件,其配置成存储数据;接口,其配置成从内容源接收媒体流,其中所述媒体流的一部分在根据所述部分产生输出以供呈现之前的预定持续时间在所述一或多个存储器组件中缓冲;推理引擎,其配置成使用所述数据存储装置中的人工神经网络(ANN)识别所述部分内的内容的分类;以及控制器,其配置成根据所述分类修改所述内容以产生根据所述预定时间提供的输出。

例如,推理引擎可包含神经网络加速器,其配置成比控制器更有效地执行矩阵算术计算。

任选地,控制器可配置成基于来自ANN的输出选择内容,在所述一或多个存储器组件中存储选定内容,在检查模式中呈现选定内容,在检查模式期间接收选定内容的分类,并指示推理引擎使用在检查模式期间接收到的分类训练ANN。

在一些实施例中,辨别内容和/或过滤非想要内容的技术可以在车辆的计算机系统中实施。

例如,车辆可具有一或多个相机、计算机系统和娱乐系统。所述计算机系统配置成:从所述一或多个相机接收图像;辨别在所述图像中显示的人员;确定所述人员的分类;在输出来自内容源的媒体流的一部分以供呈现之前的预定时间缓冲所述部分;基于与所述人员的所述分类相关联的偏好,使用人工神经网络(ANN)识别所述部分中的非想要内容;以及在产生输出信号以供在所述娱乐系统上呈现时,变换所述部分中的所述非想要内容。

例如,至少部分地基于来自所述一或多个相机的图像,车辆的高级驾驶辅助系统(ADAS)可提供驾驶辅助,例如自主驾驶、车道保持、自适应巡航控制和/或防撞等等。

例如,车辆的计算机系统可配置成在确定偏好时基于车辆的操作状态选择人员。例如,当车辆处于某些状态时,被选定用于内容过滤的人员是车辆内的人员;并且当车辆处于其它状态时,可以选择在车辆附近的其他人来识别内容过滤的偏好。

图4示出根据一些实施例的具有配置成收集并处理传感器数据的车辆111的系统。

图4中的车辆111具有数据存储装置112、传感器122、ANN 125和ADAS 128,所述ADAS配置成处理传感器数据(包含来自传感器122的输入),以产生用于车辆111的控制信号。

一般来说,一或多个传感器(例如,122)可配置于车辆111上以产生输入到ADAS128和/或数据存储装置112的传感器数据。数据存储装置112和/或ADAS 128可配置成使用ANN 125产生推理结果。推理结果可包含用于操作或驾驶车辆111的控制信号、对车辆111的维护服务的建议,等等。

在一些实施方案中,由传感器(例如,122)产生的数据的至少一部分用于ADAS 128的驾驶辅助和ANN 125的维护预测。任选地,ANN 124的输出可用于数据存储装置112和ADAS128。ANN 125可以是ADAS 128的部分。

传感器122可以配置于数码相机、光达、雷达、超声波声纳等等中。还可使用其它类型的传感器,例如制动器传感器、速度传感器、加速度传感器、安全气囊传感器、全球定位系统(GPS)接收器、音频传感器/麦克风、振动传感器、力/应力传感器、变形传感器、运动传感器、温度传感器,等等。一些传感器122可主要配置成用于监测车辆111的环境;且其它传感器122可主要配置成用于监测车辆111的一或多个组件的操作条件,例如内燃机、排气系统、电动机、制动器、轮胎、电池,等等。

车辆111的ANN 125配置成处理来自传感器122的传感器输入数据以控制车辆111和/或数据存储装置112。

一般来说,随时间而变的传感器122的输出作为传感器数据流提供给ADAS 128和/或ANN 125,以提供驾驶辅助(例如,自主驾驶)和维护预测。

传感器数据流的至少一部分可以提供给数据存储装置112以供存储和/或处理。例如,ANN 125的一部分可以在数据存储装置112中实施。数据存储装置112的推理引擎可以处理传感器数据流以产生推理结果,以供ADAS 128进一步处理。因此,数据存储装置112的输入数据流可包含来自传感器122的传感器数据流的至少一部分;且来自数据存储装置112的输出数据流可包含使用数据存储装置112中的ANN 125针对车辆111的ADAS 128产生的推理结果。可根据输入/输出数据流中的模式确定车辆111的操作条件,且因此确定数据存储装置112的工作负载。

车辆111的和/或数据存储装置112中的ANN 125可包含配置成对传感器数据的基于时间的变化进行分类和/或检测相对于车辆111的传感器数据的已知模式的偏差的SNN。当ANN 125检测到相对于已知模式的偏差时,对应于所述偏差的传感器数据可以存储在数据存储装置112中,用于进一步分析和/或用于ANN 125的进一步训练。

车辆111的数据存储装置112可配置成记录一段时间内的传感器数据。记录下来的传感器数据可用于ANN 125进行预测性维护和/或用于进一步训练ANN 125。维护服务设施(例如,127)可从数据存储装置112下载传感器数据121,并向服务器119提供传感器数据121和对应的推理结果数据123以促进ANN 125的训练。

任选地或组合地,数据存储装置112配置有机器学习模块,以定制和/或训练安装于车辆111和/或数据存储装置112中的ANN 125。

车辆111可具有用于经由无线信号113和通信网络117与远程服务器119通信的无线通信装置。远程服务器119通常配置在远离车辆111正在上面行驶的道路114的位置处。例如,车辆111可以向服务器119提供一些传感器数据121并从服务器119接收ANN125的更新。

通信网络117可以是具有用于接收无线信号(例如,113)的一或多个基站(例如,115)的移动电话网络。替代地或组合地,通信网络117可包含因特网,其中通过车辆113传输的无线局域网信号(例如,113)在存取点(例如,115)中接收以进一步传送给服务器119。在一些实施方案中,车辆111使用去往卫星118的通信链路116或通信气球来与服务器119通信。

服务器119还可与一或多个维护服务设施(例如,127)通信来接收车辆(例如,111)的传感器数据121和/或所要推理结果数据123。

例如,所要推理结果数据123可由检查传感器数据121(例如,来自传感器122的图像)和/或车辆111的相关条件的人类操作者产生。例如,所要推理结果数据123可包含车辆(例如,111)的组件的检查记录和/或维修记录。例如,检查记录和/或维修记录可指示在维护服务设施(例如,127)进行维修期间检查的组件的磨损程度、有故障的或发生故障的组件的识别,等等。在与所要推理结果数据123相关的时间段中获得的车辆(例如,111)的传感器数据121可用于在服务器119处训练ANN 125以提高ANN 125的推理能力。

更新后的ANN 125可以在维护服务设施127处安装于车辆111中。可替代地,更新ANN 125可以传输到车辆111以无线更新车辆111。

图5示出根据一个实施例的自主车辆111。例如,图4的系统中的车辆111可以使用图5的自主车辆111来实施。

一般来说,车辆111可包含信息娱乐系统149、通信装置139、一或多个传感器122和计算机系统131,所述计算机系统连接到车辆111的一些控件,例如用于车辆111的方向的转向控件141、用于车辆111的停止的制动控件143、用于车辆111的速度的加速控件145等等。在一些实施例中,图4的系统中的车辆111具有类似配置和/或类似组件。

图5的车辆111配置有高级驾驶辅助系统(ADAS)128。车辆111的ADAS 128可具有用于基于在传感器122中产生的图像进行对象检测、辨识、识别和/或分类的人工神经网络(ANN)125。ANN 125的一部分可以在数据存储装置112中实施。

车辆111的计算机系统131可包含一或多个处理器133、数据存储装置112,以及存储固件(或软件)147(包含用于ADAS 128的计算机指令和数据模型)的存储器135。

车辆111的传感器122可包含可见光相机、红外相机、光达、雷达或声纳系统、外围传感器、全球定位系统(GPS)接收器、卫星定位系统接收器、制动传感器和/或安全气囊传感器。此外,车辆111的传感器122可包含配置成监测来自车辆111中的各种组件和位置的噪声的音频传感器(例如,麦克风)、振动传感器、压力传感器、力传感器、应力传感器和/或配置成测量车辆111的组件上的负载的变形传感器、测量车辆111中的一些组件的运动的加速度计和/或陀螺仪传感器,等等。此类传感器可用于就预测性维护监测组件的操作状态和/或健康状况。

传感器122可以向计算机系统131提供实时传感器数据流。由车辆111的传感器122产生的传感器数据可包含使用利用人眼可见的灯成像的相机或使用红外光成像的相机或声纳、雷达或LIDAR系统捕获对象的图像。优选地,图像由数据存储装置112的推理引擎处理以产生推理结果作为数据存储装置112的输出数据流,并因此减少主计算机系统131的计算工作负载。

例如,相机可用于获得用于车辆111行驶的车道信息,此车道信息可由ANN 125处理以产生用于车辆111的控制信号。例如,相机可用于监测车辆111的组件的操作状态/健康状况,这可由ANN 125处理以预测或安排维护服务。

车辆111的信息娱乐系统149可用于呈现来自传感器122的数据和/或推理结果。例如,具有减小的分辨率和刷新频率的经压缩图像可在传感器122中产生并被传输到信息娱乐系统149以供呈现给车辆111的乘员。任选地,为进行所述呈现,通信装置139可建立与车辆111的乘员的移动装置的连接。

当车辆111配置有ADAS 128时,ADAS 128的输出可用于在自主驾驶期间控制(例如,141、143、145)车辆111的加速度、车辆111的速度和/或车辆111的方向。

图6-8示出根据一些实施例的用于预测的人工神经网络125的训练。

在图6中,使用监督机器学习的模块171来训练人工神经网络125,以最小化从传感器数据121产生的预测129与所要推理结果数据123之间的差异。

例如,传感器数据121可包含示出对象的图像;且所要/预期推理结果数据123可识别被对象占用的图像区域、对象的特征、对象的分类、对象的身份等等。

例如,传感器数据121可包含车辆111周围环境的图像;且所要/预期推理结果数据123可包含用于转向控件141、制动控件143和加速控件145的优选控制输入。

所要/预期推理结果数据123可由人类操作者产生。例如,传感器数据121可用于构建车辆111所遇情形的虚拟现实演示,包含来自传感器122的示出车辆111的环境的图像;且所要/预期推理结果数据123可包含由人类操作者响应于情形的虚拟现实演示而产生的响应。

监督机器学习模块171可调整人工神经网络125以减少/最小化基于传感器数据121产生的预测129和由人类操作者产生的所要/预期推理结果数据123之间的差异。

图6的监督学习171可以基于一群车辆的传感器数据和对应的所要/预期推理结果数据123而应用在服务器119中,以产生用于这一群车辆的通用ANN。

图6的监督学习171可以基于车辆的传感器数据和推理结果数据123而应用在车辆111中,以产生定制/个性化ANN 125。例如,一开始可以在车辆111中使用通用ANN 125;且可以使用特定于车辆111的车辆111的传感器数据和所要/预期推理结果数据123来进一步训练车辆的ANN 125,以在车辆111中产生定制/个性化的ANN 125。

在图7中,使用非监督机器学习的模块175训练或细化人工神经网络125以促进异常检测173。非监督机器学习模块175配置成调整ANN(例如,SNN)以产生传感器数据121中的正常分类、聚类或经辨识模式,使得相对于传感器数据121中的正常分类、聚类或经辨识模式的偏差程度可用于传达异常检测173。

例如,异常检测173可用于保留与异常相关联的传感器数据121以供进一步分析。响应于车辆111中的异常检测173,计算机系统131可向传感器122发出读取命令以从传感器122检索与异常相关联的图像数据,并将检索到的图像数据存储在数据存储装置112中。与异常相关联的图像数据可以暂时保留在传感器122的存储器装置中,并使用传感器122和数据存储装置112之间的可用通信带宽在一段时间内负载到数据存储装置112,而不会影响ADAS 128的正常操作。

当车辆111处于维护服务设施127时,可以从数据存储装置112检索与异常相关联的图像数据(和其它传感器数据)以产生所要/预期推理结果数据123,从而使用图6的监督学习171进一步训练ANN 125。

任选地,可以使用监督机器学习171训练ANN 125,如图8中所示。监督学习171可用于最小化根据传感器数据121使用ANN 125做出的预测179和预期分类177之间的分类差异。

例如,在没有事故、接近事故的事件或指示异常情况的用户输入的情况下,可以假设“正常”分类。事故、接近事故的事件或用户输入可用于识别导致事故、事件或用户输入的传感器数据的预期“异常”分类。监督机器学习171可用于训练人工神经网络125,使分类179与预期分类177的差异减小/最小化。

任选地,数据存储装置112的推理引擎可配置成加快在数据存储装置112中实施的人工神经网络(ANN)125的一部分的计算。

例如,推理引擎可包含专用于执行涉及人工神经网络(ANN)125的计算的至少部分(例如向量和张量的点积、乘累加运算等)的神经网络加速器159(例如,在图9中示出)。

图9示出根据一个实施例的具有神经网络加速器159的数据存储装置112。例如,图9的数据存储装置112可用于图4或5中所示的车辆111。

在图9中,数据存储装置112具有配置成与主机处理器(例如,图5中的133)通信的主机接口157。例如,主机处理器(例如,133)和主机接口157之间的通信可以至少部分地根据用于外围组件互连高速(PCIe)总线、串行高级技术附件(SATA)总线、通用串行总线(USB)总线和/或存储区域网络(SAN)的通信协议。

例如,主机计算机系统131可与主机接口157通信,以从含有由车辆111的传感器122产生的传感器数据的输入数据流103检索由数据存储装置112产生的推理结果。

例如,主机接口157可用于从传感器122接收车辆111的传感器数据121;且传感器数据121可任选地存储在数据存储装置112中,用于分析后续事故或接近事故的事件。

在图9中,存储器组件161到163中的每一个可以是配置成存储数据的存储器集成电路。

神经网络加速器159和控制器151可以经由在一或多个集成电路裸片上形成的逻辑电路实施,这些集成电路裸片堆叠于存储器组件161到163的集成电路裸片上。神经网络加速器159和控制器151的集成电路裸片与存储器组件161到163的集成电路管芯之间的穿硅通孔可用于提供高通信带宽,用于处理存储于存储器组件161到163中的数据以产生推理结果。推理结果可以存储在控制器151的本地存储器153和/或存储器组件161到163中的一些中以供主机系统检索,例如车辆111的计算机系统131。例如,不同存储器组件161到163或存储器组件(例如,161或163)的不同部分可以使用穿硅通孔促进神经网络加速器159和控制器151的不同部分的并行存取。

一般来说,一些存储器集成电路是易失性的,需要电力来维持所存储的数据;且一些存储器集成电路是非易失性的,甚至可以在没有供电时也保持所存储的数据。存储器组件161到163可包含易失性存储器和/或非易失性存储器。存储器组件161到163可实施不同类型的存储器或同一类型的存储器。

非易失性存储器的实例包含快闪存储器、基于与非(NAND)逻辑门、或非(NOR)逻辑门形成的存储器单元、相变存储器(PCM)、磁存储器(MRAM)、电阻式随机存取存储器、交叉点存储和存储器装置。交叉点存储器装置可以使用无晶体管的存储器元件,其中每一个存储器元件都具有作为列堆叠在一起的存储器单元和选择器。存储器元件列经由在垂直方向上延行的两层导线连接,其中一层导线在一个方向上且在位于存储器元件列上方的层中延行,另一层导线在另一方向上且在位于存储器元件列的层中。可以在两个层中的每一个上的一个导线的交叉点处单独选择每个存储器元件。交叉点存储器装置既快速又是非易失性的,并且可以用作用于处理和存储的统一存储器池。非易失性存储器的其它实例包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电子可擦除可编程只读存储器(EEPROM)存储器等。易失性存储器的实例包含动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。

数据存储装置112可具有包含易失性本地存储器153和至少一个处理装置155的控制器151。

控制器151的本地存储器可以是嵌入式存储器,其配置成存储用于执行各个过程、操作、逻辑流及控制处理装置155的操作的例程的指令,包含处理车辆111的数据存储装置112和处理器(例如,133)之间的通信,以及本文中所描述的其它功能。任选地,控制器151的本地存储器151可包含用于存储微码的只读存储器(ROM)和/或存储例如存储器指针、提取数据等的存储器寄存器,和/或易失性存储器,如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。

在图9中,数据存储装置112包含耦合到控制器151和/或存储器组件161到163的神经网络加速器159。

例如,神经网络加速器159可配置成比控制器151的处理装置155更有效地执行矩阵算术计算。涉及ANN 125的计算具有矩阵乘累加运算,其对于通用处理器(例如,133、155)来说可为计算密集型的。使用神经网络加速器159执行矩阵算术计算可以减少要传输到车辆111的处理器133的数据,并减少处理器133、155的计算工作负载。

当ANN 125包含脉冲神经网络(SNN)时,用于控制SNN神经元的激活电平的微分方程的模拟对于通用处理器(例如,133,155)来说可为计算密集型的。任选地,神经网络加速器159可使用专门硬件来模拟微分方程,并因此在实施SNN时提高计算效率。

在一些实施方案中,神经网络加速器159是与控制器151和/或存储器组件161到163分开的集成电路装置。替代地或组合地,神经网络加速器159与控制器151在集成电路裸片中集成。替代地或组合地,神经网络加速器159的一部分可以集成在存储器组件161到163中的至少一个的集成电路裸片上,如图10中所示。

图10示出根据一个实施例的用于加快神经网络计算的存储器组件160。例如,图9中的每个或一些存储器组件161到163可以使用图10的存储器组件160来实施。

在图10中,存储器组件160可以在集成电路裸片上形成。存储器组件160的输入/输出(I/O)接口169配置成处理存储器组件160的输入/输出信号。例如,输入/输出信号可包含指定媒体单元165中的位置的地址信号和表示将在媒体单元165中写入经由地址信号指定的位置的数据或从媒体单元165中的位置检索的数据的数据信号。

在图10中,神经网络加速器159与控制逻辑167和/或媒体单元165耦合以执行用于评估ANN 125的一部分的输出和/或训练ANN 125的计算。

例如,输入/输出接口169可接收识别存储在媒体单元中且将经由神经网络加速器159操作的矩阵的地址。存储器组件160可响应于地址提供神经网络加速器159的计算结果作为输出数据,在缓冲器中存储输出数据以用于其它操作,将输出数据存储到媒体单元165中经由地址信号指定的位置中。因此,由神经网络加速器159执行的计算可以在存储器组件160内,其接近其中存储有矩阵数据的媒体单元165。

例如,SNN神经元的状态数据可以根据预定模式存储在媒体单元165中。神经网络加速器159可根据用于随时间推移控制SNN神经元的激活电平的微分方程自动更新SNN神经元的状态。任选地,神经网络加速器159配置成处理神经网络中神经元的脉冲产生。可替代地,数据存储装置112的神经网络加速器159和/或处理器133可配置成处理神经元的脉冲产生和/或到SNN的输入的累加。

例如,传感器122以预定频率产生传感器数据(例如,图像)。每个图像以循环方式存储到存储器组件161到163中,其中最新图像覆写最早图像。存储器组件161到163进一步存储车辆111的ANN 125中负责处理来自传感器122的图像的部分。控制器151根据ANN 125的所述部分处理存储器组件161到163中的图像以产生推理结果。推理结果存储于存储器组件161到163和/或控制器151的本地存储器153中,以供例如车辆111的计算机系统131的主机系统读取。

例如,数据存储装置112从配置于车辆111上的至少一个传感器122接收传感器数据流,并根据存储于存储器组件161到163中的ANN 125的所述部分基于传感器数据流产生推理结果。配置于数据存储装置112内的神经网络加速器159基于人工神经网络125和传感器数据流执行计算的至少一部分。

任选地,神经网络加速器159可以配置于与控制器151分开和/或与存储器组件161到163分开的集成电路裸片上。

任选地,神经网络加速器159可以配置于包含数据存储装置112的控制器151或数据存储装置112的存储器组件160、161或163的集成电路裸片上。

神经网络加速器159可配置成使用存储在数据存储装置112中的数据执行计算,例如用于ANN的矩阵算术计算和/或用于SNN的微分方程模拟。

矩阵算术计算的实例包含矩阵乘累加运算。在使用存储于数据存储装置112中的数据进行计算以产生矩阵算术计算的结果之后,神经网络加速器159可在数据检索操作中(例如,响应于读取命令)提供所述结果作为数据存储装置112的输出。替代地或组合地,矩阵算术计算的结果可缓冲于数据存储装置112中以作为用于结合经由在主机接口157中接收到的读取命令从非易失性存储器检索的数据矩阵执行的下一矩阵计算的运算元。

当人工神经网络(ANN)125包含脉冲神经网络(SNN)时,神经网络加速器159可配置成模拟控制脉冲神经网络(SNN)中的神经元的激活电平的微分方程。任选地,存储器组件160配置成根据预定模式存储脉冲神经网络中的神经元的状态;且神经网络加速器配置成根据微分方程随时间推移自动更新神经元的状态。例如,神经网络加速器159可配置成经由非监督机器学习训练脉冲神经网络(SNN)来检测异常。

根据人工神经网络(ANN)125由神经网络加速器159执行的计算涉及不同类型的数据,这些数据具有数据存储装置112的不同使用模式。

例如,使用人工神经网络(ANN)125进行预测包含使用指定人工神经网络(ANN)125的模型的数据、提供给人工神经元的输入数据,以及人工神经元产生的输出数据。

数据存储装置112的存储器容量可以分割成用于与不同类型的ANN相关的数据的不同部分。所述不同部分可以单独配置成根据神经网络加速器159和/或其中配置有数据存储装置112的计算机系统131的处理器133对对应数据的的使用模式来优化对应数据的存取和存储。

人工神经网络(ANN)125的模型可包含指定ANN 125中的各个人工神经元的静态属性和ANN 125中的神经元连接性的参数。ANN 125的模型数据是静态的,并且在使用ANN 125进行的预测计算期间不变。因此,模型数据的使用模式大部分是读取。但是,ANN 125的模型数据可在安装更新后的ANN 125时改变。例如,车辆111可从服务器119将更新后的ANN 125下载到车辆111的数据存储装置112以更新其预测能力。ANN125的模型数据还可在使用机器学习技术(例如,171或175)训练ANN 125期间或之后改变。优选的是配置数据存储装置112的单独存储器分区或区域来存储模型数据,其中分区或区域根据针对模型数据的特定使用模式(例如,大部分读取、不频繁更新)优化存储器单元的配置参数进行操作。例如,当存储器单元使用基于NAND逻辑门的快闪存储器实施时,ANN模型分区/区域中的存储器单元可配置成以多层级单元(MLC)模式、三层级单元(TLC)模式或四层级单元(QLC)模式操作,其中每个存储器单元存储两个、三个或四个位以增加存储能力。

提供给ANN 125中的人工神经元的输入数据可包含外部输入和内部输入。外部输入通常由车辆111的传感器(例如,122)产生,而非由ANN 125中的人工神经元产生。外部输入可以循环方式保存,使得可以在数据存储装置112中找到预定驾驶长度的最近时间段的输入数据。因此,优选的是配置数据存储装置112的单独存储器分区或区域来存储外部输入数据,其中分区或区域根据针对外部输入数据的存储模式(例如,增强的耐久性、循环覆写)优化存储器单元的配置参数进行操作。例如,当存储器单元使用基于NAND逻辑门的快闪存储器实施时,ANN输入分区/区域中的存储器单元可配置成以单层级单元(SLC)模式操作,其中每一存储器单元存储一个数据位,以改进循环覆写操作的耐久性。

在一些实施方案中,人工神经元可具有响应于在预测计算期间的输入而随着时间改变的状态变量。例如,脉冲神经元的激活电平可随时间推移而改变并且被视为脉冲神经元的动态状态变量。在一些实施方案中,人工神经元的这类状态变量数据具有类似存储使用模式作为外部输入数据;且因此,所述状态变量数据可存储在配置成用于外部输入数据的分区或区域中。在其它实施方案中,人工神经元的状态变量数据保持于缓冲器中,且其存储频率小于外部输入;且因此,另一分区/区域可配置成用于存储人工神经元的动态状态变量数据。

由ANN 125中的人工神经元产生的输出数据可经缓冲以供神经网络加速器159和/或计算机系统131的处理器133进一步存取。输出数据可包含外部输出和内部输出。外部输入由人工神经元产生作为来自ANN 125的输出,例如ANN 125做出的分类或预测的结果。ANN125的输出通常由计算机系统131的处理器133进一步处理。外部输入可以周期性地(例如,以类似于状态变量数据的存储的方式)保存。内部输出和/或一些外部输出可以是到ANN125中的人工神经元的内部输入。一般来说,可能不需要将来自数据存储装置缓冲器的内部输出存储到存储器组件。在一些实施方案中,当数据存储装置112的缓冲器能力不足以保持整个状态变量数据和/或内部输出时,数据存储装置112可以使用交换分区/区域来扩展缓冲器的容量。交换分区/区域可配置成用于优化随机存取并用于改进耐久性。

神经元的外部输出和/或动态状态可以循环方式保存在单独的输出分区或区域中,使得神经元的外部输出数据和/或动态状态可以周期性地存储,并且可以在数据存储装置112中找到最近的外部输出和/或动态状态集合。神经元的外部输出和/或动态状态可以选择性地存储,因为此类数据中的一些可能由ANN从存储在输入分区或区域中的外部输入重新产生。优选地,输出分区或区域配置成存储无法从存储在输入分区或区域中的外部输入产生的一或多组外部输出和/或动态状态。在输入/输出分区或区域中以循环方式存储数据时,最早存储的数据集被擦除,以便为最近数据集腾出空间。ANN输入/输出分区/区域可配置成用于优化连续写入流,以将数据从数据存储装置的缓冲器复制到数据存储装置的存储器组件中的存储器单元中。

图11示出根据一个实施例的配置成支持神经网络计算的存储器容量181。例如,图9的数据存储装置112的存储器组件161到163的存储器容量181可以根据图11进行配置以支持神经网络计算。

图11的存储器容量181可以使用数据存储装置112的一组存储器组件(例如,161到163)来实施。

可以在数据存储装置112的存储器容量181上产生一组区域183、185、187……。区域(例如,183、185或187)中的每一个对应于存储器容量181的命名部分。在每个区域内定义逻辑地址。地址映射191配置成在区域183、185、187……中所定义的逻辑地址和存储器组件(例如,图9中所示的161到163)中的存储器单元的物理地址之间进行映射。

地址映射191可包含区域183、185和187的区域优化设置192。

例如,ANN模型区域183可以是配置成用于人工神经网络(ANN)125的模型数据的存储器/存储分区。区域优化设置192根据ANN模型的数据使用模式(例如,大部分读取、不频繁更新中心)优化ANN模型区域183中的存储器操作。

例如,神经元输入区域185可以是配置成用于到人工神经网络(ANN)125的外部输入数据的存储器/存储分区。区域优化设置192根据外部输入数据的数据使用模式(例如,用于支持连续写入的连续输入数据流的循环覆写的经增强耐久性)优化神经元输入区域185中的存储器操作。

例如,神经元输出区域187可以是配置成用于从人工神经网络(ANN)125提供的外部输出数据的存储器/存储分区。区域优化设置192根据外部输出数据的数据使用模式(例如,用于利用随机读取/写入存取周期性地覆写数据的经改进耐久性)优化神经元输出区域187中的存储器操作。

数据存储装置112包含配置成存储人工神经网络(ANN)125的临时/中间数据的缓冲器,例如ANN 125中的人工神经元的内部输入/输出。

任选地,交换区域可配置于存储器容量181中以扩展缓冲器152的容量。

任选地,地址映射191包含在主机接口157中接收到的逻辑存储器地址与人工神经元的存取数据和人工神经元的身份之间的映射。因此,存取一个区域中的人工神经元的一种类型的数据的读取或写入命令可使控制器151存取另一区域中的人工神经元的另一类型的数据。

例如,响应于将神经元的外部输入数据写入到数据存储装置185的存储器容量181中的请求,地址映射191可用于计算ANN模型区域183中的神经元的模型参数的地址,并将所述模型参数读取到缓冲器152中以允许神经网络加速器159执行神经元的输出的计算。神经元的输出可以作为到其它神经元的内部输入保存在缓冲器152中(例如,以减少写入放大)。此外,还可将连接到所述神经元的其它神经元的身份从ANN模型区域183检索到缓冲器152中,从而允许神经网络加速器159和/或处理器进一步处理ANN 125中的输出的传播。从ANN模型区域183检索模型数据可以与将外部输入数据存储到神经元输入区域185中并行执行。因此,车辆111的计算机系统131的处理器133不必在读取命令中明确发送从ANN模型区域183检索模型数据。

类似地,响应于读取神经元的输出数据,地址映射191可用于计算存储在ANN模型区域183中的神经元的模型参数的地址,并将所述模型参数读取到缓冲器152中以允许神经网络加速器159在缓冲器152中应用内部输入以执行神经元的输出的计算。计算出的输出可以作为对神经元的输出数据的读取的响应而提供,且数据存储装置112不必在存储器组件(例如,161到163)中存储输出数据。因此,处理器133和/或神经网络加速器159可经由将输入写入到神经元和/或从神经元读取输出来控制神经元的计算。

一般来说,ANN 125的传入的外部输入数据可以是直接由传感器(例如,122)产生且未由处理器133和/或神经网络加速器159处理的原始传感器数据121。可替代地,已由ANN125的处理器133根据来自传感器122的信号处理的间接传感器数据121可以作为外部输入数据提供。传入的外部输入数据可以在主机接口157中接受,并以循环方式写入到神经元输入区域185中,并且自动在神经网络加速器159的缓冲器152中缓冲以使用存储在ANN模型区域183中的模型产生神经元输出。由神经网络加速器159产生的输出可作为内部输入进一步进行缓冲以进一步应用于ANN模型区域183中的模型。当外部输出变得可用时,数据存储装置112可利用外部输出可用的指示报告写入请求的完成。任选地,控制器151和/或神经网络加速器159可在产生外部输出时产生在ANN 125中传播信号的内部读取命令。可替代地,主机处理器133可通过选择性地读取神经元的输出来控制ANN 125中信号的传播;且数据存储装置112可主动在缓冲器152中缓冲可能需要的数据以加快ANN计算。

图12示出根据一个实施例的用于人工神经网络(ANN)模型的存储器区域183的配置。例如,图12的配置可以在具有图11的逻辑存储器容量181的图9的数据存储装置112中实施。例如,图12的设置193可以是图11的区域优化设置192的部分。

图12的配置将ANN模型区域183映射到至少一个存储器组件A 161。优选地,所述至少一个存储器组件A 161可由与存储器组件(例如,163)并联的主控ANN数据的其它区域(例如,185和187)的控制器151使用。例如,存储器组件A 161可以在与用于其它区域(例如,185和187)的集成电路封装分开的集成电路封装中。可替代地,存储器组件161到163在嵌入于同一集成电路封装中的单独集成电路裸片上形成。可替代地,存储器组件161到163可以在集成电路裸片的单独区域上形成,其中所述单独区域可以基本上并行地操作(例如,用于读取、用于擦除和/或用于写入)。

在图12中,将设置193优化为大部分读取和不频繁更新的使用模式。

图13示出根据一个实施例的用于人工神经元的输入的区域185的配置。例如,图13的配置可以在图9和/或11中所示的数据存储装置112中实施。例如,图13的设置195可以是图11的区域优化设置192的部分。

图13的配置将神经元输入区域185映射到至少一个存储器组件B 163。优选地,所述至少一个存储器组件B 163可由与存储器组件(例如,161)并联的主控ANN数据的其它区域(例如,183和187)的控制器151使用。例如,存储器组件B 163可以在与用于其它区域(例如,183和187)的集成电路封装分开的集成电路封装中。可替代地,存储器组件161到163在嵌入于同一集成电路封装中的单独集成电路裸片上形成。可替代地,存储器组件161到163可以在集成电路裸片的单独区域上形成,其中所述单独区域可以基本上并行地操作(例如,用于读取、用于擦除和/或用于写入)。

在图13中,将设置195优化为记录以固定时间间隔采样的连续输入数据流时的循环连续覆写中的经增强耐久性的使用模式。

图14示出根据一个实施例的用于人工神经元的输出的区域187的配置。例如,图12的配置可以在图9和/或11中所示的数据存储装置112中实施。例如,图12的设置197可以是图11的区域优化设置192的部分。

图14的配置将神经元输出区域187映射到至少一个存储器组件C 162。优选地,所述至少一个存储器组件C 162可由与存储器组件(例如,161和163)并联的主控ANN数据的其它区域(例如,183和185)的控制器151使用。例如,存储器组件C 162可以在与用于其它区域(例如,183和185)的集成电路封装分开的集成电路封装中。可替代地,存储器组件161到163在嵌入于同一集成电路封装中的单独集成电路裸片上形成。可替代地,存储器组件161到163可以在集成电路裸片的单独区域上形成,其中所述单独区域可以基本上并行地操作(例如,用于读取、用于擦除和/或用于写入)。

在图14中,将设置197优化为用于利用随机存取的周期性覆写的经缓冲数据的使用模式。例如,存储器单元经由优化设置193到197配置以在神经元输出区域187中以高于ANN模型区域183但是低于神经元输入区域185的频率更新/覆写。

通信协议/接口可配置成允许数据存储装置以减少到主机系统的数据流量动态地执行神经网络加速。

例如,车辆111的主机处理器(例如,133)可向数据存储装置112提供在模型分区(例如,183)中存储人工神经网络的模型的写入命令。

为了在分类和/或预测中使用ANN模型,车辆111的主机处理器(例如,133)可任选地将ANN 125的输入数据流式传输到神经元输入分区(例如,185)中。存储装置112的神经网络加速器159可根据地址映射191自动将来自传感器122的图像以及(若存在)来自主机处理器133的输入数据应用到存储在ANN模型分区(例如,183)中的模型。数据存储装置112使计算出的输出可用于ANN 125中的传播。优选地,计算出的输出可通过缓冲器152用于神经网络加速器159,而不需要将中间输出存储到存储器组件(例如,161到163)中。因此,主机处理器(例如,133)和数据存储装置112之间的用于传递神经元的输出的数据通信可减少。当输出已传播到ANN 125中的输出神经元时,数据存储装置112可提供对来自主机处理器(例如,133)的请求的响应。所述响应指示来自ANN 125中的神经元的外部输出可用。作为响应,车辆111的主机处理器(例如,133)可任选地发出检索外部输出以用于进一步处理的读取命令。

图15示出根据一个实施例的自主车辆111和数据存储装置112之间的通信。例如,如图15中所示的通信可以在图4或5的车辆111中实施,所述车辆具有图9所示的数据存储装置112。

在图15中,主机系统的处理器133可配置有简化指令集201以执行神经网络计算,因为涉及ANN 125的计算中的一些由数据存储装置112内的神经网络加速器159执行。在使用ANN 125进行预测和/或分类期间,不必将模型数据传递回到处理器133。

传感器122可产生连续输入流205作为车辆111的传感器数据121的部分。输入流205中的传感器数据121可以固定的预定时间间隔(例如,在车辆111的操作期间)产生。

将输入流205应用到ANN 125中的输入神经元。ANN 125中的输入神经元配置成接受到ANN 125的外部输入;且输出神经元配置成提供来自ANN 125的外部输出。

处理器133可执行处理来自数据存储装置112的输出数据207和一些传感器数据121的指令201。

例如,处理器133可将传感器数据121作为输入流205的部分写入到神经元输入区域185中,并从神经元输出区域187读取由神经网络加速器159使用模型区域183中的ANN数据产生的输出数据207。

数据存储装置112以循环方式将输入流205存储到神经元输入区域185中,其中对应于目前存储在神经元输入区域185中的数据集的数据采样的最早时间实例的最早输入集已擦除以存储最新输入集。

对于每一输入数据集,神经网络加速器159应用存储在ANN模型区域183中的ANN125的模型。神经网络加速器159(或处理器133)可控制神经网络内的信号的传播。当ANN125的输出神经元响应于输入数据集而产生其输出时,数据存储装置112可将对神经元输出准备好用于检索的指示提供到处理器133。所述指示可配置于对来自处理器133的将输入数据集写入到神经元输入区域185中的请求的响应中。处理器133可任选地检索输出数据207(例如,根据编程于指令中的条件和/或准则)。

在一些实施例中,触发参数配置于数据存储装置112中。当外部输出217中的输出参数符合所述触发参数指定的要求时,数据存储装置提供对来自处理器133的将输入数据集写入到神经元输入区域185中的请求的响应。

图16示出根据一个实施例的数据存储装置112内的通信。例如,图16的通信可以在图9所示的数据存储装置112中实施。

在图16中,模型区域183存储ANN 125的模型213。响应于从缓冲器152中的输入流205接收到时间实例的一组外部输入215,数据存储装置112可将外部输入215写入到输入区域185中,同时检索含有ANN模型213中对应于输入神经元的参数和/或连接到输入神经元的神经元的身份的部分的神经元模型212。缓冲器152允许神经网络加速器159组合神经元模型212和外部输入225以产生输入神经元的输出227。

一般来说,神经元输出227可包含作为用于ANN 125内的进一步传播的内部输出216的部分和/或作为用于处理器133的外部输出217的部分。

按照类似于从外部输入215产生神经元输出227的方式,内部输出216作为内部输入216存储在缓冲器152中以用于ANN 125中的进一步传播。例如,内部输入216的一部分可使控制器151和/或神经网络加速器159检索与内部输入相关的对应神经元模型212,使得内部输入在神经网络加速器159中应用于对应神经元模型212以产生其神经元输出227。

当整个一组外部输出217在缓冲器152中可用时,外部输出217可以存储到输出区域187中。

任选地,存储装置112不存储对应于在每个时间实例采样的一组所存储外部输入215的每一组外部输出217。例如,存储装置112可配置成在每次计数到预定组数的外部输入(例如,215)时存储一组外部输出217。替代地或组合地,处理器133可确定是否存储外部输出217。例如,存储装置112可配置成响应于处理器133检索到外部输出217而存储外部输出217以用于进一步处理。例如,存储装置112可配置成在处理器133中处理外部输出217之后,响应于来自处理器133的写入命令而存储外部输出217。

服务器119、计算机系统131和/或数据存储装置112可各自实施为一或多个数据处理系统。

本公开包含执行上文所描述的方法的方法和设备,包含执行这些方法的数据处理系统,以及含有在数据处理系统上执行时使所述系统执行这些方法的计算机可读媒体。

典型数据处理系统可包含互连件(例如,总线和系统核心逻辑),其将微处理器和存储器互连。微处理器通常耦合到高速缓存存储器。

互连件将微处理器和存储器互连在一起,并且经由I/O控制器将它们互连到输入/输出(I/O)装置。I/O装置可包含显示装置和/或外围装置,例如鼠标、键盘、调制解调器、网络接口、打印机、扫描仪、摄像机和本领域中已知的其它装置。在一个实施例中,当数据处理系统是服务器系统时,例如打印机、扫描仪、鼠标和/或键盘的一些I/O装置是任选的。

互连件可包含通过各种桥、控制器和/或适配器彼此连接的一或多个总线。在一个实施例中,I/O控制器包含用于控制通用串行总线(USB)外围设备的USB适配器,和/或用于控制IEEE-1394外围设备的IEEE-1394总线适配器。

存储器可包含以下中的一或多个:只读存储器(ROM)、易失性随机存取存储器(RAM),和非易失性存储器,例如硬盘驱动器、快闪存储器等。

易失性RAM通常实施为动态RAM(DRAM),它需要持续供电才能刷新或维持存储器中的数据。非易失性存储器通常是磁性硬盘驱动器、磁性光盘驱动器、光盘驱动器(例如,DVDRAM)或其它类型的存储器系统,这些存储器系统即使在系统断电后也能维持数据。非易失性存储器也可以是随机存取存储器。

非易失性存储器可以是直接耦合到数据处理系统中的其余组件的本地装置。也可以使用远离系统的非易失性存储器,例如通过诸如调制解调器或以太网接口的网络接口耦合到数据处理系统的网络存储装置。

在本公开中,为了简化描述,将一些功能和操作描述为由软件代码执行或由软件代码引起。然而,这样的表达也用于指定功能是由处理器(例如,微处理器)执行代码/指令产生的。

替代地或组合地,这里所描述的功能和操作可以使用具有或不具有软件指令的专用电路系统来实施,例如使用专用集成电路(ASIC)或现场可编程门阵列FPGA。实施例可以使用不具有软件指令的硬接线电路系统实施,或者与软件指令结合来实施。因此,这些技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定源。

尽管一个实施例可以在全功能计算机和计算机系统中实施,但是各种实施例能够以各种形式分布为计算产品,并且不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都能够适用。

所公开的至少一些方面可以至少部分地体现在软件中。也就是说,可以响应于计算机系统或其它数据处理系统的处理器(例如,微处理器)执行包含在存储器(例如,ROM、易失性RAM、非易失性存储器、高速缓存或远程存储装置)中的指令序列,在计算机系统或其它数据处理系统中执行技术。

为实施实施例而执行的例程可以作为操作系统或特定应用、组件、程序、对象、模块或称为“计算机程序”的指令序列的一部分来实施。计算机程序通常包含在计算机的各种存储器和存储装置中在不同时间设置的一或多个指令,所述指令在由计算机中的一或多个处理器读取和执行时使计算机执行执行涉及各个方面的要素所需的操作。

机器可读媒体可用于存储软件和数据,在由数据处理系统(例如,131和/或119)执行时,这些软件和数据使系统执行上文所论述的各种方法(例如,图2的方法和/或图3的方法)。可执行软件和数据可以存储在各种地方,包含例如上文所论述的ROM、易失性RAM、非易失性存储器和/或高速缓存(例如,112、135和/或152)。此软件和/或数据的部分可以存储在这些存储装置中的任何一个中。此外,可以从集中式服务器或对等网络获得数据和指令。数据和指令的不同部分可以在不同时间并在不同通信会话或同一通信会话中从不同的集中式服务器和/或对等网络获得。在执行应用之前,可以完整地获得数据和指令。可替代地,当需要执行时,可以动态地、及时地获得部分数据和指令。因此,不要求数据和指令在特定时刻全部位于机器可读媒体上。

计算机可读媒体的实例包含但不限于非暂时性、可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、软磁盘和其它可装卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CD ROM)、数字多功能盘(DVD)等),等等。计算机可读媒体可存储指令。

这些指令还可以在用于电、光、声或其它形式的传播信号的数字和模拟通信链路中体现,例如载波、红外信号、数字信号等。然而,例如载波、红外信号、数字信号等等的传播信号不是有形的机器可读媒体,也不配置成存储指令。

一般来说,机器可读媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)存取的形式提供(即,存储和/或传输)信息的任何机制。

在各种实施例中,硬接线电路系统可与软件指令组合使用以实施技术。因此,技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定源。

以上描述和附图是说明性的,且不应被解释为限制性的。描述了许多具体细节,以提供透彻的理解。然而,在某些情况下,为了避免模糊描述,没有描述众所周知的或常规的细节。对本公开中的一个或某一实施例的引用不一定是对同一实施例的引用;并且这种引用意味着至少一个。

在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开。显而易见的是,在不背离所附权利要求书所阐述的更广泛的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被视为说明性的而不是限制性的。

35页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种非接触式掌纹智能识别系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!