CN115989504A - 硬件加速器上的大规模矩阵运算 - Google Patents
硬件加速器上的大规模矩阵运算 Download PDFInfo
- Publication number
- CN115989504A CN115989504A CN202080103520.9A CN202080103520A CN115989504A CN 115989504 A CN115989504 A CN 115989504A CN 202080103520 A CN202080103520 A CN 202080103520A CN 115989504 A CN115989504 A CN 115989504A
- Authority
- CN
- China
- Prior art keywords
- matrix
- edge device
- data
- neural network
- operations
- 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
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Programmable Controllers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
边缘设备能够被配置为在定义物理位置的生产环境内执行工业控制操作。边缘设备能够包括定义深度神经网络的多个神经网络层。边缘设备被配置为从由生产环境定义的物理位置处的一个或多个传感器获得数据。边缘设备还能够被配置为使用多个神经网络层对数据执行一个或多个矩阵运算,以便在由生产环境定义的物理位置处生成大规模矩阵计算。在一些示例中,边缘设备能够将大规模矩阵计算发送到与生产环境相关联的数字孪生模拟模型,以便实时更新数字孪生模拟模型。
Description
背景技术
随着工业自动化的发展,一些工厂已经变得更加定制化,而技术发展经常寻求实现具有长期适应性的自主和智能解决方案。例如,开发这样的技术的技术挑战涉及在一些情况下为可能涉及机器学习技术的安全关键应用(例如,深度神经网络)缩小理论和工业实践之间的差距。在此认识到,各种技术挑战仍然与部署可应用于工业自动化中的实际情况的安全学习和智能控制系统有关。例如,这种智能控制系统,例如包括深度神经网络的智能工业自动化系统,通常需要大量的计算资源。当前部署这种系统的方法使得系统具有足够的计算资源,但缺乏效率和能力。
发明内容
本发明的实施方式通过提供可以在工业控制系统内的边缘设备上执行大规模矩阵运算的方法、系统和装置来解决和克服这里描述的一个或多个缺点。
在一个示例方面,工业控制系统(ICS)包括被配置为执行自动控制操作的生产网络。边缘设备可以被配置为在定义物理位置的生产环境内执行工业控制操作。边缘设备可以包括定义深度神经网络的多个神经网络层。边缘设备还可以包括处理器,以及存储指令的存储器,指令在由处理器执行时,使边缘设备从由生产环境定义的物理位置处的一个或多个传感器获得数据。边缘设备还可以被配置为使用多个神经网络层对数据执行一个或多个矩阵运算,以便在由生产环境定义的物理位置处生成大规模矩阵计算。在一些示例中,边缘设备可以将大规模矩阵计算发送到与生产环境相关联的数字孪生模拟模型,以便实时更新数字孪生模拟模型。
附图说明
当结合附图阅读时,从下面的详细描述中可以最好地理解本发明的上述和其它方面。为了说明本发明,在附图中示出了目前优选的实施方式,然而,应当理解,本发明不限于所公开的特定手段。附图中包括下列图:
图1是根据示例实施方式的示例工业控制系统(ICS)的框图。
图2是根据示例实施方式的可以由硬件加速器执行的操作的流程图。
图3示出了可以实现本公开的实施方式的计算环境。
具体实施方式
作为最初的问题,在此认识到,在工业自动化中采用各种计算上昂贵的技术(诸如深度神经网络)的挑战在于,在工厂地面上通常存在不足的计算资源。例如,深度神经网络可能涉及计算上昂贵的训练、参数化和执行。此外,虽然可以在云计算基础设施上执行某些计算,但是在此认识到,工业自动化数据在定时和隐私方面可以是高度敏感的。除了工业自动化的其他特性之外,这种灵敏度可能导致对专用边缘计算能力的要求。在示例实施方式中,工业系统可以包括专用边缘设备,该专用边缘设备使得能够在与机器人和其他机器直接接近的本地硬件上执行深度神经网络。特别地,硬件加速器,例如技术模块(TM)神经处理单元(NPU),可以被部署在工业网络内,例如工厂地面上。NPU可以包括优化的人工智能(AI)硬件加速器,其允许嵌入在超大自动化框架中的深度神经网络的快速执行,以便被配置为通过诸如PROFINET的工业自动化网络与可编程逻辑控制器(PLC)和其他设备进行接口。
硬件加速器106,例如NPU,可以包括跨各种环境快速执行深度神经网络所需的计算资源。然而,这里认识到,在非工业应用中使用的工业NPU和神经网络设备通常通过将神经网络加载到设备存储器上而用于神经网络计算。根据在此描述的各种实施方式,AI硬件,特别是例如NPU,可以被配置利用专用硬件来执行各种资源繁重的计算任务。这种计算任务的一个示例是大规模矩阵运算,例如乘法或倒数计算,以便执行控制操作或状态估计。这种计算在广泛的工业自动化应用中是必需的。作为示例,本文所述的实施方式可对连续状态系统执行并发状态估计,诸如在温度场、材料应力或流体运动中。应当理解,给出各种实现来说明示例。也就是说,硬件加速器(例如NPU)可以根据需要应用于其他工业自动化任务,例如需要快速操纵大矩阵的其他任务,并且所有这样的实现都被认为在本发明的范围内。在示例实施方式中,NPU可以被配置为除了运行神经网络之外还快速地执行大规模矩阵运算。
首先参考图1,示例性分布式控制系统(DCS)或工业控制系统(ICS)100包括办公室或公司IT网络102以及通信地耦合到IT网络102的操作工厂或生产网络104。生产网络104可以定义工厂或操作设施内的生产环境。因此,生产环境可以定义物理位置。生产网络104可以包括连接到IT网络的服务器105。生产网络还可以包括定义边缘设备的人工智能(AI)硬件加速器106。生产网络104可以包括被配置为一起工作以执行一个或多个制造操作的各种生产机器。生产网络104的示例生产机器可包括但不限于机器人108和其他现场设备,诸如传感器110、致动器112或可由相应PLC 114控制的其他机器。PLC 114可以向各个现场设备发送指令。在一些情况下,给定的PLC 114可以耦合到人机接口(HMI)116。应当理解,ICS100出于示例的目的而被简化。即,ICS 100可以包括定义备选配置的附加或备选节点或系统,例如其他网络设备,并且所有这些配置都被认为在本发明的范围内。
ICS 100,特别是生产网络104,可以定义现场总线部分118和以太网部分120。例如,现场总线部分118可以包括机器人108、PLC 114、传感器110、致动器112和HMI 116。现场总线部分118可以定义一个或多个生产单元或控制区。在一些示例中,现场总线部分118还可以包括硬件加速器106,其可以被配置为与给定的PLC 114和传感器110通信。在某些情况下,PLC 114可以定义硬件加速器106。在一个示例中,硬件加速器106可以定义神经网络,该神经网络可以在独立的坚固化计算机上运行,或者可以与现有的加速器集成,该现有的加速器可以靠近PLC 114并且与PLC 114耦合。在一些情况下,硬件加速器定义了PLC 114上的小占地面积、被动冷却技术模块。给定生产单元内的PLC 114、硬件加速器106、传感器110、致动器112和HMI 116可以经由相应的现场总线122彼此通信。每个控制区可以由相应的PLC114定义,使得PLC 114以及相应的控制区可以经由以太网连接124连接到以太网部分120。机器人108可以被配置为经由Wi-Fi连接126与现场总线部分118内的其他设备通信。类似地,机器人108可以经由Wi-Fi连接126与以太网部分120,特别是监控和数据采集(SCADA)服务器128通信。生产网络104的以太网部分120可以包括经由以太网连接124通信地耦合在一起的各种计算设备。以太网部分120中的示例计算设备包括但不限于移动数据收集器130、HMI 132、SCADA服务器128、ICS-PIAE 106、无线路由器134、制造执行系统(MES)136、工程系统(ES)138和日志服务器140。ES 138可以包括一个或多个工程工作站。在一个示例中,MES136、HMI 132、ES 138和日志服务器140直接连接到生产网络104。无线路由器134还可以直接连接到生产网络104。因此,在一些情况下,移动用户,例如移动数据收集器130和机器人108,可以经由无线路由器134连接到生产网络104。在某些情况下,例如,ES 138和移动数据收集器130定义允许连接到硬件加速器106的客户设备。应当理解,到生产网络104的客户设备可以根据需要而改变。
生产网络104可以定义神经网络系统,例如神经网络系统。神经网络系统可以包括AI硬件加速器106,例如技术模块(TM)神经处理单元(NPU)。在各种示例实现中,NPU可以被配置用于图像、视频和时间序列流的深度学习加速。因此,NPU可以用于,例如但不限于,视觉质量评估、对象位置和姿势的跟踪、对象检测和跟踪、计数、阅读文本、实时过程优化、灵活的机器人抓取计算、基于音频的状态监控和虚拟感测(例如,基于图片的水果的重量和货架寿命的估计)。NPU可以定义生产网络104内的边缘设备。在一个示例中,该神经网络系统可以包括PLC 114,该PLC114包括可以处理来自传感器或相机的数据的控制器。PLC 114可以将收集的数据发送到NPU。在一些情况下,NPU定义PLC 114内的技术模块。NPU可以对数据进行训练,以便学习数据并基于数据进行预测。特别地,NPU可以定义具有多个神经网络层的深度神经网络。神经网络系统还可以包括输入/输出(I/O)设备接口,用于例如通过PROFINET协议与PLC 114的控制器通信。该神经网络系统还可以包括I/O模块以收集传感器数据并发出控制信号。在一个示例中,I/O设备接口通过网络交换机连接到PLC 114。该神经网络系统还可包括可连接到PLC 114用于图像检测的RGB相机。
现在参考图2,示出了可由生产网络104内的边缘设备(例如由硬件加速器106)执行的示例方法200。在一些情况下,NPU定义了针对深度神经网络的性能而优化的AI硬件加速器。因此,根据各种示例,矩阵运算可以表示为精确的或近似的神经网络,使得深度神经网络优化的NPU可以执行矩阵运算。
在此认识到,硬件加速器106在执行深度神经网络时在内部执行的各种操作可以由线性代数来描述。类似地,在各种示例中,该连接可以被颠倒,以便生成可以执行一组特定的期望线性代数运算的神经网络。例如,具有线性激活函数的单层网络可用于执行运算y=Ax+b,其中A是矩阵,x、y和b是适当维度的向量。即,在一些示例中,在204处,可以在单层神经网络中编码任何线性矩阵运算,因此可以在诸如硬件加速器106的AI硬件加速器上执行该单层神经网络。在此进一步认识到,示例可以扩展到矩阵的乘法。例如,硬件加速器106还可以执行运算Y=AX+B,其中A、X、Y和B是适当维度的矩阵。在各种示例中,可由线性运算表达或近似的任何运算可在神经网络中编码以用于AI硬件加速器(例如硬件加速器106)上。应当理解,上述线性运算被呈现为简单的说明性示例,并且更复杂的运算可以通过连续的矩阵乘法和加法来执行,诸如当使用强大的矩阵分解(例如LU、QR、Schur、Cholesky、SVD等)时,并且所有这些操作都被认为在本发明的范围内。在一些情况下,可以离线获得矩阵分解,以便允许基于过程数据在线执行复杂的运算。在各种示例中,矩阵分解还可用于跨神经网络的多个层扩展运算,诸如上述示例运算。因此,根据各种实施方式,硬件加速器106可以在各种应用中实现。
作为可以在硬件加速器106的神经网络中编码的线性运算的示例,为了近似更复杂的矩阵运算,现在描述使用牛顿方法的矩阵逆的近似计算。特别地,Xk+1=2Xk-XkAXk,其中k是迭代,并且Xk迭代地近似A的倒数。当Xk+1和Xk收敛时,该方法停止。在该示例中,该算法被转换为先前讨论的格式Y=AX+B。该转换可以通过首先计算Y=-AXk+2I,然后计算Xk+1=XkY来执行,其中I是单位矩阵。在此认识到,当固定数目的迭代导致良好的逆矩阵近似时,该方法特别适合于神经网络加速器,特别是NPU,因为,例如,运算可以被连接到更大的神经网络以实现结果。在可替换的示例中,表示算法的一次迭代的较小的神经网络可以被实现并迭代地运行直到收敛。在一个示例中,用于所需线性代数运算的NPU的专用硬件加速可导致有效的计算,同时还提供指示逆估计的准确度的第二输出。
在其它情况下,某些复杂的非线性矩阵运算可能不容易表示为如上述示例中的线性运算。然而,在这种情况下,根据实施方式,可以通过训练深度神经网络(在206处)来近似运算,以紧密地匹配期望的输入-输出关系。因此,可在208处对专用AI硬件加速器(例如NPU)执行此类近似矩阵运算。当神经网络中的特定操作的表示是可能的但需要过大的神经网络时,也可以由NPU执行对近似矩阵运算的训练。
在一个示例中,可以通过向网络提供示例(例如数百万个示例)来在神经网络系统中压缩矩阵运算。这样的示例可以离线提供,以便训练用于图像识别的神经网络,以及其它用途。例如,考虑训练神经网络来计算4×4逆矩阵。在一个示例中,合适的神经网络架构(例如,具有16个输入和16个输出以及4层)可以从矩阵和逆矩阵的标准示例接收数据。数据可以应用于网络,以便通过反向传播计算参数。或者,可以使用依赖于问题的估计器。例如,在一些情况下,在多个传感器输入和期望输出之间存在复杂的物理关系。示例公式可以包括多个部分推导。因此,在各种示例中,可以使用来自使用情况的数据,例如在操作点(输入和输出)附近,以便训练神经网络,该神经网络然后可以近似给定设定点的结果。在各种示例中,在此认识到,这样的近似可以定义手头问题的压缩表示,其与标准方法相比在计算上更有效地解决。
作为硬件加速器106如何在工业系统中执行计算上昂贵的运算的另一示例,现在考虑示例实时监控应用。在示例性实时监控应用中,数据观察可以例如由传感器110周期性地或零星地进行。具体地,作为示例,数据观察可以包括关于某个对象体积上的场的表面量,诸如测量被加热对象的表面温度。此示例可代表不同制造过程(例如增材制造)中的共同问题。此外,在一些情况下,仅基于表面测量数据的可用性,访问内部温度或其它场量是极具挑战性的。这样的问题可以通过实时更新的数字孪生模拟模型来减轻,以便跟踪期望的场量。然而,在此认识到,这些模型经常需要在对象体积上的某种形式的离散化,这可以导致在时间上跟踪各种量的离散点的大阵列。这又可能需要操纵非常大的矩阵,例如具有数百万行和列的矩阵。此外,在各种使用情况下,例如当数量涉及安全关键和高价值处理时,这些大规模矩阵运算必须精确地和快速连续地执行。因此,如上所述,这种计算可能不能通过使用云资源在时间约束内执行。然而,这种计算可以在诸如硬件加速器106的边缘设备上执行,从而实现上述数字孪生模型,以及涉及计算上昂贵的运算的其它工业应用。
在各种示例中,上述数字孪生实现可应用于除高价值或安全关键过程之外的过程。硬件加速器106可以与定义需要实时优化的复杂过程的各种数字孪生一起工作。例如,在各种增材制造用例中,印刷复杂的表面,这可能导致难以基于表面温度估计的温度分布。这种估计对于在较低水平的材料中限制张力或分层是关键的。因此,在某些情况下,计算不能包括长的或未定义的等待时间,例如可能在云上执行。因此,在一个示例中,硬件加速器106可以提供对数字孪生的实时评估,以便定义与何时可以在增材制造操作中添加下一层相关的温度、位置、速度等。
因此,如本文所述,具体参考图2,工业控制系统内的边缘设备可以在定义物理位置的生产环境内执行工业控制操作。在202处,边缘设备可以从生产环境所定义的物理位置处的一个或多个传感器获得数据。边缘设备可以使用边缘设备的多个神经网络层对数据执行一个或多个矩阵运算,以便在由生产环境定义的物理位置处生成大规模矩阵计算。例如,在204处,边缘设备可以对数据执行多个线性矩阵运算,以便生成大规模矩阵计算。在一些情况下,每个线性矩阵运算可以在多个神经网络层的相应层上执行。例如,可以将与数据相关联的算法编码到多个线性矩阵运算中。在另一示例中,基于数据,边缘设备可以分解矩阵以定义矩阵分解。边缘设备还可以跨多个神经网络层的多个层对矩阵分解执行一个或多个矩阵运算。在206处,可以训练边缘设备的深度神经网络以预测非线性矩阵运算的输出。在208处,基于训练,边缘设备可以生成对数据的非线性矩阵运算的近似。该近似可以定义大规模矩阵计算。在210处,根据各种示例,边缘设备可以将大规模矩阵计算发送到与生产环境相关联的数字孪生模拟模型,以便实时更新数字孪生模拟模型。
图3示出了其中可以实现本发明的实施方式的计算环境的示例。计算环境300包括计算机系统510,其可包括诸如系统总线521等通信机制或用于在计算机系统510内传送信息的其它通信机制。计算机系统510还包括与系统总线521耦合的用于处理信息的一个或多个处理器520。硬件加速器106可以包括或耦合到一个或多个处理器520。
处理器520可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般地,这里描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的设备,用于执行任务,并且可以包括硬件和固件中的任何一个或其组合。处理器还可以包括存储可执行用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输由可执行程序或信息设备使用的信息和/或通过将信息路由到输出设备来对信息起作用。处理器可以使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不由通用计算机执行的专用功能。处理器可以包括任何类型的适当处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,处理器520可以具有任何合适的微体系结构设计,其包括任何数量的构成组件,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓冲存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计能够支持多种指令集中的任何指令集。处理器可以与能够在其间进行交互和/或通信的任何其它处理器耦合(电耦合和/或包括可执行组件)。用户接口处理器或发生器是已知的元件,包括用于产生显示图像或其部分的电子电路或软件或两者的组合。用户接口包括使用户能够与处理器或其它设备交互的一个或多个显示图像。
系统总线521可以包括系统总线、存储器总线、地址总线或消息总线中的至少一个,并且可以允许在计算机系统510的各种组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线521可以包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线521可以与任何合适的总线体系结构相关联,包括但不限于工业标准体系结构(ISA)、微通道体系结构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)体系结构、加速图形端口(AGP)体系结构、外围组件互连(PCI)体系结构、PCI-Express体系结构、个人计算机存储卡国际协会(PCMCIA)体系结构、通用串行总线(USB)体系结构等。
继续参考图3,计算机系统510还可以包括耦合到系统总线521的系统存储器530,用于存储信息和要由处理器520执行的指令。系统存储器530可以包括易失性和/或非易失性存储器形式的计算机可读存储介质,例如只读存储器(ROM)531和/或随机存取存储器(RAM)532。RAM 532可以包括其它动态存储设备(例如,动态RAM、静态RAM和同步DRAM)。ROM531可以包括其它静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。另外,系统存储器530可用于在处理器520执行指令期间存储临时变量或其它中间信息。基本输入/输出系统533(BIOS)可以存储在ROM 531中,该基本输入/输出系统533的基本例程,它可以存储在ROM 531中。RAM 532可包含可由处理器520立即访问和/或当前正由处理器520操作的数据和/或程序模块。系统存储器530还可以包括例如操作系统534、应用程序535和其它程序模块536。应用程序535还可以包括用于开发应用程序的用户门户,允许输入参数并在必要时进行修改。
操作系统534可以被加载到存储器530中,并且可以提供在计算机系统510上执行的其他应用软件与计算机系统510的硬件资源之间的接口。更具体地,操作系统534可包括一组计算机可执行指令,用于管理计算机系统510的硬件资源并向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例实施方式中,操作系统534可以控制被描绘为存储在数据存储器540中的一个或多个程序模块的执行。操作系统534可包括现在已知或将来可开发的任何操作系统,包括但不限于任何服务器操作系统、任何主机操作系统或任何其它专有或非专有操作系统。
计算机系统510还可以包括耦合到系统总线521以控制用于存储信息和指令的一个或多个存储设备的盘/介质控制器543,诸如磁硬盘541和/或可移动介质驱动器542(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机系统接口(SCSI)、集成设备电子设备(IDE)、通用串行总线(USB)或火线)将存储设备540添加到计算机系统510。存储设备541,542可以在计算机系统510的外部。
计算机系统510还可以包括耦合到系统总线521的现场设备接口565,以控制现场设备566,诸如在生产线中使用的设备。计算机系统510可以包括用户输入接口或GUI 561,其可以包括一个或多个输入设备,例如键盘、触摸屏、输入板和/或定点设备,用于与计算机用户交互并向处理器520提供信息。
计算机系统510可以响应于处理器520执行包含在诸如系统存储器530的存储器中的一个或多个指令的一个或多个序列来执行本发明实施方式的处理步骤的一部分或全部。这样的指令可以从存储器540的另一计算机可读介质(磁硬盘541或可移动介质驱动器542)读入系统存储器530。磁硬盘541和/或可移动介质驱动器542可以包含本发明的实施方式所使用的一个或多个数据存储和数据文件。数据存储540可以包括但不限于数据库(例如,关系型、面向对象的等)、文件系统、平面文件,其中数据存储在计算机网络的多于一个节点上的分布式数据存储、对等网络数据存储等。数据存储器可以存储各种类型的数据,例如技能数据、传感器数据或根据本发明的实施方式生成的任何其他数据。数据存储内容和数据文件可以被加密以提高安全性。处理器520还可以用在多处理配置中,以执行包含在系统存储器530中的一个或多个指令序列。在替换实施方式中,硬连线电路可以代替软件指令或与软件指令结合使用。因此,实施方式不限于硬件电路和软件的任何特定组合。
如上所述,计算机系统510可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施方式编程的指令,并且用于包含数据结构、表、记录或这里描述的其它数据。这里使用的术语“计算机可读介质”是指参与向处理器520提供指令以供执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于非瞬态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁硬盘541或可移动介质驱动器542。易失性介质的非限制性示例包括动态存储器,诸如系统存储器530。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线521的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的声波或光波。
用于执行本发明的操作的计算机可读介质指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括诸如Smalltalk、C++等的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施方式中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
在此参考根据本发明的实施方式的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读介质指令来实现。
计算环境300还可包括使用到诸如远程计算设备580等一个或多个远程计算机的逻辑连接在联网环境中操作的计算机系统510。网络接口570可以实现例如经由网络571与其他远程设备580或系统和/或存储设备541,542的通信。远程计算设备580可以是个人计算机(膝上型计算机或台式计算机)、移动设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上相对于计算机系统510描述的许多或所有元件。当在联网环境中使用时,计算机系统510可以包括调制解调器572,用于在诸如因特网的网络571上建立通信。调制解调器572可经由用户网络接口570或经由另一适当机制连接到系统总线521。
网络571可以是本领域中通常已知的任何网络或系统,包括因特网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络,或能够促进计算机系统510与其它计算机(例如,远程计算设备580)之间的通信的任何其它网络或介质。网络571可以是有线的、无线的或其组合。有线连接可以使用以太网、通用串行总线(USB)、RJ-6或本领域公知的任何其它有线连接来实现。无线连接可以使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域公知的任何其它无线连接方法来实现。另外,若干网络可单独工作或彼此通信以促进网络571中的通信。
应当理解,图3中描绘的程序模块、应用、计算机可执行指令、代码等存储在系统存储器530中仅仅是说明性的而不是穷举性的,并且描述为由任何特定模块支持的处理可以可替换地分布在多个模块上或者由不同的模块执行。此外,可以提供各种程序模块、脚本、插件、应用编程接口(API(s)),或在计算机系统510、远程设备580上本地托管的和/或在可经由一个或多个网络571访问的其它计算设备上托管的任何其它合适的计算机可执行代码,以支持由图3中描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加或替代功能。此外,功能可以被不同地模块化,使得被描述为由图3中描绘的程序模块集合共同支持的处理可以由更少或更多数量的模块来执行,或者被描述为由任何特定模块支持的功能可以至少部分地由另一模块来支持。此外,支持这里描述的功能的程序模块可形成可根据诸如客户机-服务器模型、对等模型等任何合适的计算模型在任何数量的系统或设备上执行的一个或多个应用程序的一部分。此外,被描述为由图3所示的任何程序模块支持的任何功能可以至少部分地在任何数量的设备上以硬件和/或固件实现。
还应当理解,在不脱离本发明的范围的情况下,计算机系统510可以包括所描述或描绘的之外的替代和/或附加硬件、软件或固件组件。更具体地,应当理解,被描绘为形成计算机系统510的一部分的软件、固件或硬件组件仅仅是说明性的,并且在各种实施方式中可以不存在某些组件或者可以提供附加组件。虽然已将各种说明性程序模块描绘和描述为存储在系统存储器530中的软件模块,但应了解,描述为由程序模块支持的功能性可由硬件、软件和/或固件的任何组合来启用。应进一步了解,在各种实施方式中,上述模块中的每一者可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且可以不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施方式中,描述为由特定模块提供的功能性可至少部分地由一个或多个其它模块提供。此外,在某些实施方式中可不存在一个或多个所描绘的模块,而在其它实施方式中,可存在未描绘的额外模块且可支持所述功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施方式中,此类模块可被提供为独立模块或其他模块的子模块。
虽然已经描述了本发明的特定实施方式,但是本领域的普通技术人员将认识到,在本发明的范围内存在许多其它修改和替换实施方式。例如,关于特定设备或组件描述的任何功能和/或处理能力可以由任何其他设备或组件来执行。此外,虽然已经根据本发明的实施方式描述了各种说明性实现和架构,但是本领域普通技术人员将理解,对本文描述的说明性实现和架构的许多其他修改也在本发明的范围内。另外,应了解,本文中描述为基于另一操作、元件、组件、数据等的任何操作、元件、组件、数据等可另外基于一个或多个其它操作、元件、组件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。
虽然已经用结构特征和/或方法动作专用的语言描述了实施方式,但是应当理解,本发明不必限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现这些实施方式的说明性形式而公开的。条件性语言,例如“可以”、“能够”、“可能”或“可能”等,除非另外具体说明或在所使用的上下文中另外理解,通常旨在传达某些实施方式可包括但不包括某些特征、元件和/或步骤。因此,此类条件性语言一般不旨在暗示一个或多个实施方式以任何方式要求特征、元件和/或步骤,或者一个或多个实施方式必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括在任何特定实施方式中或要在任何特定实施方式中执行的逻辑。
图中的流程图和框图示出了根据本发明的各种实施方式的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可替换的实施方式中,方框中指出的功能可以不按附图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
Claims (15)
1.一种被配置为在定义物理位置的生产环境内执行工业控制操作的边缘设备,所述边缘设备包括:
多个神经网络层,定义深度神经网络;
处理器;以及
存储器,存储指令,所述指令在由所述处理器执行时使所述边缘设备:
从由所述生产环境定义的所述物理位置处的一个或多个传感器获得数据;并且
使用多个所述神经网络层对所述数据执行一个或多个矩阵运算,以便在由所述生产环境定义的所述物理位置处生成大规模矩阵计算。
2.根据权利要求1所述的边缘设备,所述存储器还存储指令,所述指令在由所述处理器执行时,还使所述边缘设备:
对所述数据执行多个线性矩阵运算以便生成所述大规模矩阵计算,每个线性矩阵运算在多个所述神经网络层的相应层上执行。
3.根据权利要求2所述的边缘设备,所述存储器还存储指令,所述指令在由所述处理器执行时,还使所述边缘设备:
将与所述数据相关联的算法编码到多个所述线性矩阵运算中。
4.根据权利要求1所述的边缘设备,所述存储器还存储指令,所述指令在由所述处理器执行时,还使所述边缘设备:
基于所述数据,分解矩阵以便定义矩阵分解;并且
跨多个所述神经网络层的多个层对所述矩阵分解执行一个或多个所述矩阵运算。
5.根据权利要求1所述的边缘设备,所述存储器还存储指令,所述指令在由所述处理器执行时,还使所述边缘设备:
训练所述边缘设备的深度神经网络以预测非线性矩阵运算的输出;并且
基于所述训练,生成对所述数据的非线性矩阵运算的近似,所述近似定义所述大规模矩阵计算。
6.根据前述权利要求中任一项所述的边缘设备,所述存储器还存储指令,所述指令在由所述处理器执行时,还使所述边缘设备:
将所述大规模矩阵计算发送到与所述生产环境相关联的数字孪生模拟模型,以便实时更新所述数字孪生模拟模型。
7.一种由工业控制系统内的边缘设备执行的方法,所述边缘设备在定义物理位置的生产环境内执行工业控制操作,所述方法包括:
从由所述生产环境定义的所述物理位置处的一个或多个传感器获得数据;以及
使用所述边缘设备的多个神经网络层对所述数据执行一个或多个矩阵运算,以便在由所述生产环境定义的所述物理位置处生成大规模矩阵计算。
8.根据权利要求7所述的方法,所述方法还包括:
对所述数据执行多个线性矩阵运算以便生成所述大规模矩阵计算,每个线性矩阵运算在多个所述神经网络层的相应层上执行。
9.根据权利要求7所述的方法,所述方法还包括:
将与所述数据相关联的算法编码到多个线性矩阵运算中。
10.根据权利要求7所述的方法,所述方法还包括:
基于所述数据,分解矩阵以便定义矩阵分解;以及
跨多个所述神经网络层的多个层对所述矩阵分解执行一个或多个所述矩阵运算。
11.根据权利要求7所述的方法,所述方法还包括:
训练所述边缘设备的深度神经网络以预测非线性矩阵运算的输出;以及
基于所述训练,生成对所述数据的非线性矩阵运算的近似,所述近似定义所述大规模矩阵计算。
12.根据权利要求7至11中任一项所述的方法,所述方法还包括:
将所述大规模矩阵计算发送到与所述生产环境相关联的数字孪生模拟模型,以便实时更新所述数字孪生模拟模型。
13.一种包括指令的非瞬态机器可读介质,所述指令在由处理器执行时,使定义物理位置的生产环境内的边缘设备:
从由所述生产环境定义的所述物理位置处的一个或多个传感器获得数据;并且
使用多个神经网络层对所述数据执行一个或多个矩阵运算,以便在由所述生产环境定义的所述物理位置处生成大规模矩阵计算。
14.根据权利要求13所述的非瞬态机器可读介质,还包括指令,所述指令在由所述处理器执行时,使计算系统:
对所述数据执行多个线性矩阵运算以便生成所述大规模矩阵计算,每个线性矩阵运算在多个所述神经网络层的相应层上执行。
15.根据权利要求13所述的非瞬态机器可读介质,还包括指令,所述指令在由所述处理器执行时,使计算系统:
训练所述边缘设备的深度神经网络以预测非线性矩阵运算的输出;并且
基于所述训练,生成对所述数据的非线性矩阵运算的近似,所述近似定义所述大规模矩阵计算。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/048735 WO2022046104A1 (en) | 2020-08-31 | 2020-08-31 | Large-scale matrix operations on hardware accelerators |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115989504A true CN115989504A (zh) | 2023-04-18 |
Family
ID=72560897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103520.9A Pending CN115989504A (zh) | 2020-08-31 | 2020-08-31 | 硬件加速器上的大规模矩阵运算 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230359864A1 (zh) |
EP (1) | EP4189605A1 (zh) |
CN (1) | CN115989504A (zh) |
WO (1) | WO2022046104A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992516A (zh) * | 2023-09-27 | 2023-11-03 | 长春财经学院 | 数字孪生驱动增材制造的仿生产品建模方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200225655A1 (en) * | 2016-05-09 | 2020-07-16 | Strong Force Iot Portfolio 2016, Llc | Methods, systems, kits and apparatuses for monitoring and managing industrial settings in an industrial internet of things data collection environment |
-
2020
- 2020-08-31 US US18/043,400 patent/US20230359864A1/en active Pending
- 2020-08-31 EP EP20775098.5A patent/EP4189605A1/en active Pending
- 2020-08-31 WO PCT/US2020/048735 patent/WO2022046104A1/en unknown
- 2020-08-31 CN CN202080103520.9A patent/CN115989504A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992516A (zh) * | 2023-09-27 | 2023-11-03 | 长春财经学院 | 数字孪生驱动增材制造的仿生产品建模方法及系统 |
CN116992516B (zh) * | 2023-09-27 | 2023-12-12 | 长春财经学院 | 数字孪生驱动增材制造的仿生产品建模方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4189605A1 (en) | 2023-06-07 |
WO2022046104A1 (en) | 2022-03-03 |
US20230359864A1 (en) | 2023-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yan et al. | Industrial big data analytics for prediction of remaining useful life based on deep learning | |
Khan et al. | Big data challenges and opportunities in the hype of Industry 4.0 | |
Chen | Integrated and intelligent manufacturing: Perspectives and enablers | |
Wang et al. | A review of function blocks for process planning and control of manufacturing equipment | |
EP3376325A1 (en) | Development of control applications in augmented reality environment | |
US11256224B2 (en) | Virtual design engineering | |
EP2981867B1 (en) | System and method for implementing model predictive control in plc | |
CN115427968A (zh) | 边缘计算设备中的鲁棒人工智能推理 | |
Monsone et al. | The Overview of Digital Twins in Industry 4.0: Managing the Whole Ecosystem. | |
Li et al. | Task incremental learning-driven Digital-Twin predictive modeling for customized metal forming product manufacturing process | |
CN115769235A (zh) | 提供与训练函数的准确度有关的警报的方法和系统 | |
Kim et al. | A digital twin implementation architecture for wire+ arc additive manufacturing based on ISO 23247 | |
CN115989504A (zh) | 硬件加速器上的大规模矩阵运算 | |
Pan et al. | Deep residual neural-network-based robot joint fault diagnosis method | |
Oprzedkiewcz et al. | The PLC implementation of fractional-order operator using CFE approximation | |
Chen | Production planning and control in semiconductor manufacturing: Big data analytics and industry 4.0 applications | |
Parnianifard et al. | Digital-twins towards cyber-physical systems: a brief survey | |
Jankovič et al. | The concept of smart hydraulic press | |
Sharabov et al. | The use of artificial intelligence in Industry 4.0 | |
Molina et al. | Hybrid IIoT & Arduino IoT Cloud Platform for Continuous Industrial Process Analysis | |
Mohamed et al. | The IMOCO4. E reference framework for intelligent motion control systems | |
Yang et al. | Dynamic identification of a 3-PRS parallel robot with scissor-type prismatic joint: A cloud-based approach | |
Zhang et al. | A Novel Zeroing Neural Model for Solving Dynamic Matrix Moore-Penrose Inverse and its Application to Visual Servoing Control of Manipulator | |
US20240160813A1 (en) | Adaptive tuning of physics-based digital twins | |
EP4075279A1 (en) | Industrial internet of things aiops workflows |
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 |