CN108243216B - 数据处理的方法、端侧设备、云侧设备与端云协同系统 - Google Patents

数据处理的方法、端侧设备、云侧设备与端云协同系统 Download PDF

Info

Publication number
CN108243216B
CN108243216B CN201611215479.6A CN201611215479A CN108243216B CN 108243216 B CN108243216 B CN 108243216B CN 201611215479 A CN201611215479 A CN 201611215479A CN 108243216 B CN108243216 B CN 108243216B
Authority
CN
China
Prior art keywords
neural network
network model
side device
cloud
cognitive
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.)
Active
Application number
CN201611215479.6A
Other languages
English (en)
Other versions
CN108243216A (zh
Inventor
宋风龙
刘武龙
薛希俊
张慧敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611215479.6A priority Critical patent/CN108243216B/zh
Priority to EP23184682.5A priority patent/EP4280112A3/en
Priority to FIEP17886187.8T priority patent/FI3557846T3/fi
Priority to EP17886187.8A priority patent/EP3557846B1/en
Priority to PCT/CN2017/116203 priority patent/WO2018121282A1/zh
Publication of CN108243216A publication Critical patent/CN108243216A/zh
Priority to US16/452,290 priority patent/US11861499B2/en
Application granted granted Critical
Publication of CN108243216B publication Critical patent/CN108243216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Abstract

本申请提供一种数据处理的方法、端侧设备、云侧设备与端云协同系统,该方法包括:端侧设备向云侧设备发送请求消息,请求消息用于请求处理认知计算任务的神经网络模型;端侧设备接收云侧设备发送的通过压缩第一神经网络模型得到的第二神经网络模型,第一神经网络模型为云侧设备上用于处理认知计算任务的神经网络模型,第二神经网络模型在端侧设备上运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内;端侧设备基于第二神经网络模型,处理认知计算任务,从而能够提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。

Description

数据处理的方法、端侧设备、云侧设备与端云协同系统
技术领域
本申请涉及数据处理领域,并且更具体地,涉及一种数据处理的方法、端侧设备、云侧设备与端云协同系统。
背景技术
端侧设备的智能应用需求日益增长,典型的智能应用场景有智能移动终端、机器人、无人驾驶、平安城市、智慧城市和物联网等。智能应用场景对端侧设备的智能应用需求日益强烈。智能应用的典型特点是数据量大、计算量大以及运行时存储需求大。智能应用的计算程序的计算内核主要是机器学习,尤其是神经网络,这类程序的特点是计算量大以及运行时存储需求大。但端侧设备(例如智能手机、平板电脑、智能摄像头、智能眼镜、机器人或智能传感器等)的典型特点是计算能力相对较弱,并且设备集成的存储容量有限,远低于高性能的服务器,从而难以在端侧设备上高效率地计算进而满足智能应用场景所需要的计算需求,限制了端侧设备智能应用特征的拓展。
发明内容
本申请提供一种数据处理的方法、端侧设备、云侧设备与端云协同系统,能够提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
第一方面,提供一种数据处理的方法,所述方法包括:端侧设备向云侧设备发送请求消息,所述请求消息用于请求处理认知计算任务的神经网络模型;所述端侧设备接收所述云侧设备发送的通过修整第一神经网络模型得到的第二神经网络模型,所述第一神经网络模型为所述云侧设备上用于处理所述认知计算任务的神经网络模型,所述第二神经网络模型运行时所需的硬件资源在所述端侧设备的硬件资源可用能力范围内;所述端侧设备基于所述第二神经网络模型,处理所述认知计算任务。
在本方案中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本申请提供的方案可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
结合第一方面,在第一方面的一种可能的实现方式中,所述端侧设备包括神经网络基础平台,所述神经网络基础平台包括神经网络架构组件与神经网络参数组件,所述神经网络架构组件与所述神经网络参数组件解耦;所述端侧设备基于所述第二神经网络模型,处理所述认知计算任务,包括:当所述第二神经网络模型包括架构更新组件时,基于所述架构更新组件更新所述神经网络架构组件;当所述第二神经网络模型包括参数更新组件时,基于所述参数更新组件更新所述神经网络参数组件;基于更新后的神经网络基础平台,处理所述认知计算任务。
在本方案中,端侧设备的神经网络基础平台包括神经网络架构组件与神经网络参数组件,且神经网络架构组件与神经网络参数组件解耦设计,换句话说,神经网络参数组件的更新与神经网络架构组件的更新互相独立、互不影响,这样可以有利于端侧设备的智能应用功能的拓展。
结合第一方面或第一方面的某些可能的实现方式,在第一方面的一种可能的实现方式中,所述端侧设备向云侧设备发送请求消息,包括:所述端侧设备在下列任一种条件下,向所述云侧设备发送所述请求消息:所述端侧设备上缺少用于处理所述认知计算任务的神经网络模型,所述端侧设备上用于处理所述认知计算任务的神经网络模型的精度不满足认知精度容忍度,以及所述端侧设备上用于处理所述认知计算任务的神经网络模型在运行时所需的硬件资源超过所述端侧设备的硬件资源可用能力,其中,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度。
在本方案中,端侧设备在上述任一种条件下,主动向云侧设备请求用于处理认知计算任务的神经网络模型,可以有效地实现端侧设备具备处理神经网络相关应用的功能,有利于增强端侧设备的智能应用能力的扩展。
结合第一方面或第一方面的某些可能的实现方式,在第一方面的一种可能的实现方式中,所述请求消息中携带用于指示认知精度容忍度的指示信息,以便于所述云侧设备通过修整所述第一神经网络模型得到满足所述认知精度容忍度的所述第二神经网络模型,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度。
在本方案中,端侧设备向云侧设备请求处理认知计算任务的神经网络模型时,还上报用于指示认知精度容忍度的指示信息,以使得云侧设备下发的神经网络模型可以满足所述认知精度容忍度的要求。因此,本申请提供的技术方案,不仅使得端侧设备可以基于自身的硬件资源调用从云侧设备接收的神经网络模型处理认知计算任务,而且还可以保证认知计算任务的处理精度,从而,可以更进一步提高端侧设备处理神经网络相关应用的性能。
在上述某些实现方式中,云侧设备向端侧设备下发的所述第二神经网络模型处理所述认知计算任务的精度与所述认知精度容忍度对应的精度一致。换句话说,所述第二神经网络模型处理所述认知计算任务的精度没有比所述认知精度容忍度对应的精度高很多。
应理解,神经网络模型处理认知计算任务的精度越高,对应的计算量与存储需求量也越大。在本方案中,在保证云侧设备下发到端侧设备的神经网络模型处理认知计算任务的精度满足认知精度容忍度的前提下,较大程度地减小该神经网络模型所需的硬件资源,从而减少端侧设备运行神经网络模型的硬件资源负担。
结合第一方面或第一方面的某些可能的实现方式,在第一方面的一种可能的实现方式中,所述请求消息中携带用于指示所述端侧设备的硬件资源可用能力的指示信息。
结合第一方面或第一方面的某些可能的实现方式,在第一方面的一种可能的实现方式中,所述请求消息中还携带用于指示所述第一神经网络模型的标识,以便于所述云侧设备根据所述标识确定所述第一神经网络模型;或所述请求消息中还携带功能信息,所述功能信息用于描述处理所述认知计算任务的功能,以便于所述云侧设备根据所述功能信息确定所述第一神经网络模型。
结合第一方面或第一方面的某些可能的实现方式,在第一方面的一种可能的实现方式中,所述第二神经网络模型的计算量与存储需求量分别小于所述第一神经网络模型的计算量与存储需求量。
第二方面,提供一种数据处理的方法,所述方法包括:云侧设备接收端侧设备发送的请求消息,所述请求消息用于请求处理认知计算任务的神经网络模型;所述云侧设备根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型;所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,所述第二神经网络模型运行时所需的硬件资源在所述端侧设备的硬件资源可用能力范围内;所述云侧设备向所述端侧设备发送所述第二神经网络模型,以便于所述端侧设备基于所述第二神经网络模型处理所述认知计算任务。
在本方案中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本申请提供的方案可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
结合第二方面,在第二方面的一种可能的实现方式中,所述请求消息中携带用于指示认知精度容忍度的指示信息,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度;所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,包括:所述云侧设备根据所述认知精度容忍度,修整所述第一神经网络模型得到所述第二神经网络模型,所述第二神经网络模型处理所述认知计算任务的精度满足所述认知精度容忍度。
在本方案中,云侧设备根据端侧设备处理认知计算任务的认知精度容忍度,对端侧设备所请求的神经网络模型进行修整,并将该修整之后的神经网络模型下发到端侧设备,使下发到端侧设备的神经网络模型处理认知计算任务的精度满足该认知精度容忍度。因此,本申请提供的技术方案,不仅使得端侧设备可以基于自身的硬件资源调用从云侧设备接收的神经网络模型处理认知计算任务,而且还可以保证认知计算任务的处理精度,从而,可以更进一步提高端侧设备处理神经网络相关应用的性能。
在上述某些实现方式中,云侧设备向端侧设备下发的所述第二神经网络模型处理所述认知计算任务的精度与所述认知精度容忍度对应的精度一致。换句话说,所述第二神经网络模型处理所述认知计算任务的精度没有比所述认知精度容忍度对应的精度高很多。
应理解,神经网络模型处理认知计算任务的精度越高,对应的计算量与存储需求量也越大。在本方案中,在保证云侧设备下发到端侧设备的神经网络模型处理认知计算任务的精度满足认知精度容忍度的前提下,较大程度地减小该神经网络模型所需的硬件资源,从而减少端侧设备运行神经网络模型的硬件资源负担。
结合第二方面或第二方面的某些可能的实现方式,在第二方面的一种可能的实现方式中,所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,包括:所述云侧设备通过修整所述第一神经网络模型的参数组件,得到所述第二神经网络模型,所述第二神经网络模型的参数组件的存储需求量小于所述第一神经网络模型的参数组件的存储需求量。
具体地,可以先通过训练所述第一神经网络模型,得到其参数组件(例如权重参数组件),然后对该参数组件进行修整,例如对该第一神经网络模型的权重参数矩阵进行聚类,使得修整之后的参数组件所需的存储量小于修整之前的参数组件所需的存储量。第一神经网络模型经过参数组件修整后,形成第二神经网络模型。换句话说,在本实现方式中,第二神经网络模型与第一神经网络模型的架构组件相同,参数组件不同,且前者的参数组件所需存储量小于后者的参数组件所需存储量。
可选地,作为一种实现方式,修整神经网络模型的参数组件的方法可以包括如下步骤:Step1,将神经网络模型的权重参数矩阵的行向量划分为子向量,进而使用子向量量化的方法,将其转换为一组码字(codeword),进而所有子向量量化所得到的码字形成码本(codebook)。Step2,将神经网络模型的所有权重参数进行聚类,且用码字近似每一类的所有权重参数,形成码本,其中码字是每一类权重参数的共享参数,即将权重矩参数阵转换为参数到码本的位置映射,以及码本。
在本方案中,云侧设备通过修整神经网络模型的参数组件,能够降低神经网络模型所占用的存储量,以及降低神经网络模型运行过程中的计算量与存储需求量,从而实现下发到端侧设备的神经网络模型(即第二神经网络模型)运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内的目的。
结合第二方面或第二方面的某些可能的实现方式,在第二方面的一种可能的实现方式中,所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,包括:所述云侧设备通过修整所述第一神经网络模型的架构组件,得到第三神经网络模型,所述第三神经网络模型的计算内核的计算量小于所述第一神经网络模型的计算内核的计算量;所述云侧设备通过修整所述第三神经网络模型的参数组件,得到所述第二神经网络模型,所述第二神经网络模型的参数组件的存储需求量小于所述第三神经网络模型的参数组件的存储需求量。
具体地,首先修整第一神经网络模型的架构组件,得到第三神经网络模型,可以理解为,第三神经网络模型的计算内核比第一神经网络模型的计算内核简单;然后训练该第三神经网络模型,得到其参数组件;最后修整第三神经网络模型的参数组件,得到该第二神经网络模型,第二神经网络模型的参数组件所需存储量小于第三神经网络模型的参数组件所需存储量。
可选地,作为一种实现方式,修整神经网络模型的架构组件的主要方法包括下列方法中的任一种或多种的组合:降低操作数精度、降阶、采用硬件计算单元的专用指令。
在本方案中,云侧设备通过修整神经网络模型的架构组件,能够简化神经网络模型的计算内核,从而降低神经网络模型在训练过程中的计算量和存储需求量;云侧设备通过修整神经网络模型的参数组件,能够降低神经网络模型所占用的存储量,以及降低神经网络模型运行过程中的计算量与存储需求量,从而实现下发到端侧设备的神经网络模型(即第二神经网络模型)运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内的目的。
结合第二方面或第二方面的某些可能的实现方式,在第二方面的一种可能的实现方式中,所述请求消息中携带用于指示所述端侧设备的硬件资源可用能力的指示信息。
在本方案中,云侧设备根据端侧设备的硬件资源可用能力,对端侧设备所请求的神经网络模型进行修整,并将该修整之后的神经网络模型下发到端侧设备,从而使得下发到端侧设备的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,进而使得端侧设备可以基于自身的硬件资源调用从云侧设备接收的神经网络模型处理认知计算任务。因此,本方案可以进一步提高端侧设备处理神经网络相关应用的性能。
结合第二方面或第二方面的某些可能的实现方式,在第二方面的一种可能的实现方式中,所述请求消息中还携带用于指示所述第一神经网络模型的标识;所述云侧设备根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型,包括:所述云侧设备根据所述标识,确定所述第一神经网络模型。
结合第二方面或第二方面的某些可能的实现方式,在第二方面的一种可能的实现方式中,所述请求消息中还携带功能信息,所述功能信息用于描述处理所述认知计算任务的功能;所述云侧设备根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型,包括:所述云侧设备根据所述功能信息,确定所述第一神经网络模型。
结合第二方面或第二方面的某些可能的实现方式,在第二方面的一种可能的实现方式中,所述第二神经网络模型的计算量与存储需求量分别小于所述第一神经网络模型的计算量与存储需求量。
第三方面,提供一种端侧设备,所述端侧设备用于执行第一方面或第一方面的任一种可能的实现方式中的方法。具体地,所述端侧设备可以包括用于执行第一方面或第一方面的任一种可能的实现方式中的方法的模块。
第四方面,提供一种云侧设备,所述云侧设备用于执行第二方面或第二方面的任一种可能的实现方式中的方法。具体地,所述云侧设备可以包括用于执行第二方面或第二方面的任一种可能的实现方式中的方法的模块。
第五方面,提供一种端侧设备,所述端侧设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行该存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第一方面或第一方面的任一种可能的实现方式中的方法。
第六方面,提供一种云侧设备,所述云侧设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行该存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第二方面或第二方面的任一种可能的实现方式中的方法。
第七方面,提供一种端云协同系统,所述端云协同系统包括第三方面提供的端侧设备与第四方面提供的云侧设备。
综上所述,在本申请提供的方案中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本申请提供的方案可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
附图说明
图1为本发明实施例的端云协同系统的示意性框图。
图2为本发明实施例的数据处理的方法的示意性流程图。
图3(a)、(b)、(c)与(d)为本发明实施例的修整神经网络参数组件的示意图。
图4为本发明实施例的修整神经网络架构组件的示意图。
图5为本发明实施例中待识别的图像的示意图。
图6为本发明实施例的数据处理的方法的另一示意性流程图。
图7为本发明实施例的端云协同系统的另一示意性框图。
图8为本发明实施例的端云协同系统的再一示意性框图。
图9为本发明实施例的端侧设备的示意性框图。
图10为本发明实施例的端侧设备的另一示意性框图。
图11为本发明实施例的云侧设备的示意性框图。
图12为本发明实施例的云侧设备的另一示意性框图。
图13为本发明实施例的端云协同系统的再一示意性框图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
本发明实施例可以适用于弱计算能力的各类智能终端设备的场景,例如自动驾驶、机器人、智能终端认知等场景。
本发明实施例中的端侧设备也可称之为用户设备(User Equipment,UE)、移动台(Mobile Station,MS),或移动终端(Mobile Terminal)等。端侧设备,例如,可以是移动电话(或称为“蜂窝”电话)或者具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。
本发明实施例中的云侧设备可以是服务器或者是服务器集群,该云侧设备还可以称为计算节点,或者云侧计算集群。
为了便于理解与描述本发明实施例提供的数据处理的方法,下面先结合图1描述本发明实施例提供的端云协同系统100。
如图1所示,端云协同系统100包括端侧设备110和云侧设备120。端侧设备110包括神经网络基础平台111和应用程序112(图1中示意出应用程序1,2,…,n)。该神经网络基础平台111包括两类解耦的组件:神经网络架构组件111a与神经网络参数组件111b。应用程序112是基于运行在端侧设备110的神经网络基础平台111封装实现的,应用程序120用于为用户提供认知计算功能。
神经网络架构组件111a与神经网络参数组件111b均是可以更新替换的。神经网络架构组件111a用于,支持应用程序120功能扩展,例如增强识别能力,从只能识别车到能够识别车的品牌或类型等。神经网络参数组件111b用于,支持应用程序120的精度和性能更新,例如获得更高精度,或者获得更高计算效率,又或者获得更低的运行时能耗和存储需求。
换句话说,要想实现端侧设备110上应用程序120的功能扩展,需要更新神经网络架构组件111a和神经网络参数组件111b。如果仅是实现端侧设备110上应用程序120的精度和性能的提升,可以只更新神经网络参数组件111b。
端侧设备110用于,接收认知计算请求,利用运行在端侧设备110的神经网络基础平台111处理该认知计算请求,并返回处理结果。端侧设备110还用于向云侧设备120发送请求消息,以请求更新神经网络基础平台的架构组件和/或参数组件。
云侧设备120包括神经网络训练与修整平台121,神经网络训练与修整平台121包括神经网络架构组件更新与修整模块112a与神经网络参数组件修整模块121b,模块112a用于对端侧设备110上运行的神经网络架构进行更新和修整,模型112b用于对训练得到神经网络模型的参数进行修整。
云侧设备120用于接收端侧设备110的请求消息,利用神经网络训练与修整平台121获取端侧设备所需的神经网络模型,并将修整后的神经网络组件发送给端侧设备110。
神经网络模型指的是经过大量有标签的数据训练,得到的用于执行认知计算的程序和数据。神经网络模型包括神经网络架构组件与神经网络参数组件。其中,神经网络架构组件指的是神经网络模型中与神经网络算法相关的网络及其层次结构,也就是上述的神经网络模型中用于执行认知计算的程序。神经网络参数组件指的是训练神经网络模型时得到的大量参数,作为神经网络架构中神经元的值,也就是上述的神经网络模型中用于执行认知计算的数据。
需要说明的是,在某些实施例中会描述为:云侧设备向端侧设备下发神经网络模型(如图2中所示的第二神经网络模型),这里的神经网络模型可以包括神经网络架构组件与神经网络参数组件,或者,该神经网络模型仅包括神经网络参数组件。
图2示出本发明实施例的数据处理的方法200的示意性流程图,如图2所示,该方法200由端侧设备与云侧设备执行,其中,端侧设备例如为图1中所示的端侧设备110,云侧设备例如为图1中所示的云侧设备120。该方法200包括:
210,端侧设备向云侧设备发送请求消息,请求消息用于请求处理认知计算任务的神经网络模型。
具体地,端侧设备接收用户发送的认知计算请求,该认知计算请求用于请求处理该认知计算任务。
220,云侧设备根据请求消息,确定用于处理该认知计算任务的第一神经网络模型。
具体地,该请求消息中可以携带用于指示第一神经网络模型的信息。
可选地,在一些实施例中,该请求消息中携带用于指示第一神经网络模型的标识。在步骤220中,云侧设备根据该标识确定该第一神经网络模型。
例如,云侧设备可以预先向端侧设备下发认知计算功能与具备该认知计算功能的神经网络模型的标识之间的对应关系。当端侧设备需要具备某种认知计算认知功能的神经网络模型时,可以直接向云侧设备上报对应的标识。
可选地,在一些实施例中,该请求消息中携带功能信息,该功能信息用于描述处理该认知计算任务的功能。在步骤220中,云侧设备根据该功能信息确定该第一神经网络模型。应理解,不同神经网络模型对应不同的认知计算功能,则云侧设备可以根据该功能信息获取到具备对应认知计算功能的神经网络模型。
230,云侧设备通过修整第一神经网络模型得到第二神经网络模型,第二神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内。
端侧设备的硬件资源可用能力指的是端侧设备的计算能力和/或存储能力,其中,计算能力与端侧设备的CPU性能相关,存储能力与端侧设备的存储性能相关。
具体地,云侧设备可以根据端侧设备上报的端侧设备的硬件资源信息,确定端侧设备的硬件资源可用能力范围。例如,该硬件资源信息可以包括终端设备的CPU性能信息与存储性能信息。
应理解,云侧设备还可以根据经验值推断端侧设备的硬件资源可用能力,本发明实施例对此不作限定。
本发明实施例中的该第二神经网络模型是通过修整第一神经网络模型得到的,因此,该第二神经网络模型也具备处理该认知计算任务的功能。
可选地,在一些实施例中,该第二神经网络模型的计算量小于第一神经网络模型的计算量,该第二神经网络模型的存储需求量小于第一神经网络模型的存储需求量。这种情形下,该第二神经网络模型可以理解为是第一神经网络模型的精简模型。
本发明实施例中提及的神经网络模型的计算量指的是该神经网络模型在处理数据时产生的数据量,神经网络模型的存储需求量指的是存储该神经网络模型所需的存储空间。
240,云侧设备向端侧设备发送第二神经网络模型。
250,端侧设备基于第二神经网络模型,处理认知计算任务。
在本发明实施例中,端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备向端侧设备发送修整后的神经网络模型,该修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
可选地,作为一个实施例,在步骤250中,端侧设备可以直接基于该第二神经网络模型处理该认知计算任务。例如,该第二神经网络模型为一个完整的应用程序,端侧设备将该第二神经网络模型从云侧设备下载到本地后,可以直接处理对应的认知计算任务。
可选地,作为一个实施例,端侧设备包括神经网络基础平台(例如图1所示的神经网络基础平台111),神经网络基础平台包括神经网络架构组件(例如图1所示的神经网络架构组件111a)与神经网络参数组件(例如图1所示的神经网络参数组件111b),神经网络架构组件与神经网络参数组件解耦;在步骤250中,端侧设备根据该第二神经网络模型更新该神经网络基础平台,然后基于该更新后的神经网络基础平台处理该认知计算任务。
其中,端侧设备根据该第二神经网络模型更新该神经网络基础平台,包括以下情形:
情形一。第二神经网络模型仅包括对应的参数组件,则端侧设备基于该第二神经网络模型仅更新神经网络基础平台上的神经网络参数组件,且对神经网络参数组件的更新对神经网络基础平台上的神经网络架构组件不造成任何影响。
情形二。第二神经网络模型包括对应的架构参数与参数组件,则端侧设备基于该第二神经网络模型既更新神经网络基础平台上的神经网络参数组件,也更新神经网络基础平台上的神经网络架构组件,但是对二者的更新彼此独立,互不影响。
在本发明实施例中,端侧设备的神经网络基础平台包括神经网络架构组件与神经网络参数组件,且神经网络架构组件与神经网络参数组件解耦设计,换句话说,神经网络参数组件的更新与神经网络架构组件的更新互相独立、互不影响,这样可以有利于端侧设备的智能应用功能的拓展。
应理解,在端侧设备包括神经网络基础平台的实施例中,端侧设备向云侧设备发送的请求消息可以称为神经网络组件更新请求消息。
可选地,在一些实施例中,端侧设备在下列任一种触发条件下,向云侧设备发送该请求消息:
触发条件一:端侧设备上缺少处理该认知计算任务的神经网络模型(或者是应用程序)。
触发条件二:端侧设备上包括能够处理该认知计算任务的神经网络模型(或者是应用程序),但是该神经网络模型的认知精度不满足认知精度容忍度,该认知精度容忍度表示端侧设备处理该认知计算任务的预期精度。
触发条件三:端侧设备上包括能够处理该认知计算任务的神经网络模型(或者是应用程序),但是该神经网络模型在运行时所需的硬件资源超过该端侧设备的硬件资源可用能力范围。
具体地,在端侧设备包括神经网络基础平台的情况下,若根据触发条件一向云侧设备发送该请求消息,该请求消息具体用于请求更新该神经网络基础平台的神经网络架构组件与神经网络参数组件;若根据触发条件二向云侧设备发送该请求消息,该请求消息具体用于请求更新该神经网络基础平台的神经网络参数组件;若根据触发条件三向云侧设备发送该请求消息,该请求消息具体用于请求更新该神经网络基础平台的神经网络架构组件与神经网络参数组件。
在本发明实施例中,端侧设备在上述任一种条件下,主动向云侧设备请求用于处理认知计算任务的神经网络模型,可以有效地实现端侧设备具备处理神经网络相关应用的功能,有利于增强端侧设备的智能应用能力的扩展。
可选地,在一些实施例中,端侧设备向云侧设备发送的请求消息中携带用于指示端侧设备的硬件资源可用能力的指示信息。具体地,在步骤230中,云侧设备根据端侧设备的硬件资源可用能力,修整第一神经网络模型,从而得到在该硬件资源可用能力范围内的第二神经网络模型。
具体地,端侧设备可以根据端侧设备在运行神经网络基础平台时的硬件资源需求变化情况,判断其硬件资源可用能力。具体地,根据如下公式(1)与(2),分别衡量端侧设备运行神经网络基础平台时所需要的计算能力CCPU和存储能力CMEM
Figure BDA0001191669330000132
其中,CCPU表示端侧设备当前的计算能力(例如以端侧设备的CPU占用率表示),Cmem表示端侧设备当前的存储能力(例如以端侧设备的内存占用率表示),+NNC表示运行神经网络基础平台后,-NNC表示未运行神经网络基础平台时。
在实际应用中,可以设置多个不同的阈值或者变化区域,用于衡量端侧设备的计算能力和存储能力。当计算能力或存储能力达到阈值或落入某个变化区域,则表示端侧设备的计算能力或存储能力的某种状态,进而将该状态作为触发条件的参数,用于指导云侧神经网络的架构修整和模型修整的程度。如表1所示,云端设备在进行神经网络模型修整时,根据端侧设备的计算能力与存储能力的大小,选择合适精度的神经网络模型。
表1
存储性能 量化 计算性能 降维
1倍 1倍
5倍 5倍
10倍 10倍
在本发明实施例中,云侧设备根据端侧设备的硬件资源可用能力,对端侧设备所请求的神经网络模型进行修整,并将修整之后的神经网络模型下发到端侧设备,从而使得下发到端侧设备的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,进而使得端侧设备可以基于自身的硬件资源调用从云侧设备接收的神经网络模型处理认知计算任务。因此,本发明实施例可以进一步提高端侧设备处理神经网络相关应用的性能。
可选地,在一些实施例中,端侧设备向云侧设备发送的请求消息中携带用于指示认知精度容忍度的指示信息,该认知精度容忍度表示端侧设备处理认知计算任务的预期精度。具体地,在步骤230中,云侧设备根据该认知精度容忍度,修整第一神经网络模型得到第二神经网络模型,使得第二神经网络模型处理认知计算任务的精度满足该认知精度容忍度。
具体地,端侧设备收集并感知已安装的应用程序(APP)对认知计算任务的认知计算结果的预期精度,即认知计算容忍度。然后将该认知计算容忍度携带在请求消息中上报给云侧设备,以便于云侧设备向端侧设备下发满足该认知计算容忍度的神经网络模型。
该认知精度容忍度与云端设备训练神经网络模型的过程中涉及的输入数据规模、训练时间、神经网络模型的压缩倍数相关,可以将其定义为前三者的连续函数:认知精度容忍度=f(训练时间,模型压缩倍数,输入数据规模)。其中,训练时间可以使用训练过程中的迭代次数表示。认知精度容忍度与训练时间成反比;认知精度容忍度与输入数据规模成反比;认知精度容忍度与模型压缩倍数成正比。换句话说,输入数据的规模越大、或者训练时间越长,则认知精度容忍度越低;模型压缩倍数越大,则认知精度容忍度越高。
在本发明实施例中,端侧设备向云侧设备请求处理认知计算任务的神经网络模型时,还上报用于指示认知精度容忍度的指示信息,以使得云侧设备下发的神经网络模型可以满足认知精度容忍度的要求。因此,本发明实施例不仅使得端侧设备可以基于自身的硬件资源调用从云侧设备接收的神经网络模型处理认知计算任务,而且还可以保证认知计算任务的处理精度,从而,可以更进一步提高端侧设备处理神经网络相关应用的性能。
应理解,神经网络模型处理认知计算任务的精度越高,对应的计算量与存储需求量也越大。为了较大程度地减小第二神经网络模型的计算量与存储需求量,本发明实施例提出,云侧设备向端侧设备下发的第二神经网络模型处理认知计算任务的精度与该认知精度容忍度对应的精度一致。换句话说,第二神经网络模型处理认知计算任务的精度不会比该认知精度容忍度对应的精度高很多。
例如,针对图像分类的神经网络认知计算平台所提供的预装应用程序,缺省使用ImageNet数据集的1000类进行训练;而端侧设备所针对的应用场景仅需要识别其中的20类。这种情况下,缺省的神经网络认知计算平台提供了过量的功能,导致其架构较为复杂,进而导致其计算量较大,从而在运行神经网络认知计算平台时,浪费端侧设备的计算资源和存储资源。端侧设备在实际使用过程中,认知最频繁的类别,并将前20类认知最频繁的类别,作为参数携带在请求消息中发送给云侧设备;云侧设备针对端侧设备的准确度需求,修整神经网络的架构组件,并针对训练得到的神经网络的参数组件进行修整,修整完毕后,将针对应的神经网络组件发送到端侧设备。这样能够有效避免端侧设备的计算资源与存储资源的浪费。
因此,在本发明实施例中,在保证第二神经网络模型处理认知计算任务的精度满足端侧设备的认知精度容忍度的前提下,较大程度地减小该第二神经网络模型所需的硬件资源,从而减少端侧设备运行神经网络模型的硬件资源负担。
应理解,在上文以图像分类为例的实施例中,假设端侧设备将神经网络认知计算平台的分类降为20类后,应用场景有新的需求,比如识别的类别增加为21类,则端侧设备将感知到的准确度需求重新提交到云侧设备,触发云侧设备的神经网络架构和参数修整、训练,以及端侧设备的实时更新。
为了便于本领域技术人员更好地理解本发明实施例,下文结合图3和图4描述云侧设备修整第一神经网络模型得到第二神经网络模型的具体方法。
可选地,作为一个实施例,230云侧设备通过修整第一神经网络模型得到第二神经网络模型,包括:云侧设备通过修整第一神经网络模型的参数组件,得到第二神经网络模型,第二神经网络模型的参数组件的存储需求量小于第一神经网络模型的参数组件的存储需求量。
具体地,首先,训练第一神经网络模型,得到其参数组件(例如权重参数组件),然后对该参数组件进行修整,例如对该第一神经网络模型的权重参数矩阵进行聚类,使得修整之后的参数组件所需的存储量小于修整之前的参数组件所需的存储量。第一神经网络模型经过参数组件修整后,形成第二神经网络模型。换句话说,在本实现方式中,第二神经网络模型与第一神经网络模型的架构组件相同,参数组件不同,且前者的参数组件所需存储量小于后者的参数组件所需存储量。
在本发明实施例中,修整神经网络模型的参数组件的步骤是针对训练完成所得的神经网络模型,应理解,训练神经网络模型的过程是获得神经网络模型的参数组件的过程,因此,修整神经网络模型的参数组件可以主要针对神经网络模型的权重参数矩阵进行。修整神经网络模型的参数组件的目的是降低神经网络模型所占用的存储量,以及降低神经网络模型运行过程中的计算量与存储需求量。
具体地,修整神经网络模型的参数组件的方法可以包括如下步骤:Step1,将神经网络模型的权重参数矩阵的行向量划分为子向量,进而使用子向量量化的方法,将其转换为一组码字(codeword),进而所有子向量量化所得到的码字形成码本(codebook)。Step2,将神经网络模型的所有权重参数进行聚类,且用码字近似每一类的所有权重参数,形成码本,其中码字是每一类权重参数的共享参数,即将权重矩参数阵转换为参数到码本的位置映射,以及码本。
具体地,图3(a)-图3(d)示出修整神经网络模型的参数组件的步骤示意图。如图3(a)所示,假设训练神经网络模型得到的权重参数矩阵为如图3(a)所示的s*t的权重参数矩阵。图3(b)为将图3(a)所示权重参数矩阵的行向量划分为子向量的示意图。具体地,以行向量为单位,将如图3(a)所示的s*t的权重参数矩阵分解为s/m个m*t的子向量,其中每个子向量Wi包括m行。图3(c)为对所有权重参数进行聚类的示意图。具体地,针对图3(b)所示步骤所得的所有子向量Wi,通过K-means等方法进行聚类操作,按照数值的相近度将其分为Ki类,得到m*Ki的子向量WJi,每个子向量共有Ki个列向量,且每个列向量的值为同一类的所有列向量的近似值,比如取为所有列向量的中间值。图3(d)为图3(a)所示权重参数矩阵W:s*t经过图3(b)与图3(c)所示步骤处理之后的结果示意图,具体地,权重参数矩阵W:s*t转换为权重参数近似矩阵WJ:s*K。
在本发明实施例中,云侧设备通过修整神经网络模型的参数组件,能够降低神经网络模型所占用的存储量,以及降低神经网络模型运行过程中的计算量与存储需求量,从而实现下发到端侧设备的神经网络模型(即第二神经网络模型)运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内的目的。
上述可知,通过修整神经网络模型的参数组件,可以有效降低神经网络模型的计算量与存储需求量。为了进一步地降低神经网络模型的计算量与存储需求量,还可以在训练神经网络模型之前,对神经网络模型的架构组件进行修整。
可选地,作为一个实施例,230云侧设备通过修整第一神经网络模型得到第二神经网络模型,包括:云侧设备通过修整第一神经网络模型的架构组件,得到第三神经网络模型,第三神经网络模型的计算内核的计算量小于第一神经网络模型的计算内核的计算量;云侧设备通过修整第三神经网络模型的参数组件,得到第二神经网络模型,第二神经网络模型的参数组件的存储需求量小于第三神经网络模型的参数组件的存储需求量。
具体地,首先修整第一神经网络模型的架构组件,得到第三神经网络模型,第三神经网络模型的计算内核的计算量小于第一神经网络模型的计算内核的计算量,换句话说,第三神经网络模型的计算内核比第一神经网络模型的计算内核简单;然后训练该第三神经网络模型,得到其参数组件;最后修整第三神经网络模型的参数组件,得到该第二神经网络模型,第二神经网络模型的参数组件所需存储量小于第三神经网络模型的参数组件所需存储量。
在本发明实施例中,修整神经网络模型的架构组件是为了简化神经网络模型的计算内核,通过修整架构组件,使得能够降低神经网络模型在训练过程中的计算量和存储需求量。
具体地,修整神经网络模型的架构组件的方法包括下列方法中的任一种或多种的组合:降低操作数精度、降阶和采用硬件计算单元的专用指令。其中,降阶的方式包括卷积核分解或矩阵分解等。采用硬件计算单元的专用指令例如为:单指令多数据流(SingleInstruction Multiple Data,SIMD)指令、数据流单指令多数据扩展指令集2(StreamingSIMD Extensions 2,SSE2)指令、数据流单指令多数据扩展指令集3(Streaming SIMDExtensions 3,SSE3)指令或扩张数据流单指令多数据扩展指令集3(SupplementalStreaming SIMD Extensions 3,SSSE3)指令等。
以降阶为例,将高阶向量运算转换为两个低阶向量的乘积运算。高阶向量的降阶操作包括多种数学方法,例如,可以进行Tucker分解,将高阶向量转换为若干个低阶向量的乘积。例如在卷积神经网络中,将4D的卷积核张量W分解为K个水平滤波器(HorizontalFilter)Hk和K各垂直滤波器(Vertical Filter)Vk的乘积的累加和:
Figure BDA0001191669330000181
K是用于控制阶数(Rank)的参数。具体地,如图4所示,将训练神经网络模型过程中要学习的高阶向量W,转换为两个低阶向量H和V。
具体地,修整第三神经网络模型的参数组件的方法详见上文相关描述,例如结合图3的描述,为了简洁,这里不再赘述。
在本发明实施例中,云侧设备通过修整神经网络模型的架构组件,能够简化神经网络模型的计算内核,从而降低神经网络模型在训练过程中的计算量和存储需求量;云侧设备通过修整神经网络模型的参数组件,能够降低神经网络模型所占用的存储量,以及降低神经网络模型运行过程中的计算量与存储需求量,从而实现下发到端侧设备的神经网络模型(即第二神经网络模型)运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内的目的。
应理解,同一种认知计算任务,在不同应用领域中可能对应不同的精度需求。换句话说,端侧设备在处理不同应用领域中的同一种认知计算任务时,可能对应不同的认知计算容忍度。为了使得端侧设备在处理同一种认知计算任务时,能够应对不同应用领域的不同精度需求,本发明实施例提出如下两种解决方案:
第一种解决方案:云侧设备根据请求消息,获取到能够处理认知计算任务的神经网络架构;训练该神经网络架构,得到多个不同认知精度的神经网络模型;将该多个具有不同认知精度的神经网络模型下发到端侧设备,即在端侧设备上预存多个不同认知精度的神经网络模型。例如,当端侧设备需要处理应用场景A中的该认知计算任务时,选择具备该应用场景A对应的认知精度的神经网络模型处理该认知计算任务;当端侧设备需要处理应用场景B中的该认知计算任务时,选择具备该应用场景B对应的认知精度的神经网络模型处理该认知计算任务。
应理解,第一种解决方案中,预先在端侧设备上存储有不同认知精度的神经网络模型,能够有效提高端侧设备处理不同应用场景下的认知计算任务的效率。
第二种解决方案:端侧设备根据所处理的应用场景,确定该应用场景对认知精度的需求,即认知精度容忍度;然后将该认知精度容忍度携带在请求消息中;云侧设备基于该认知精度容忍度,获得一个满足该认知精度容忍度的神经网络模型,然后将该神经网络模型下发到端侧设备。换句话说,云侧设备只向端侧设备下发满足其当前认知精度容忍度的神经网络模型。
因此,第二种解决方案,云侧设备仅向端侧设备下发满足当前应用场景的认知精度的一个神经网络模型,能够降低端侧设备的存储负担。
为了更好地理解本发明实施例的数据处理的方法,下文以图5所示的认知计算场景为例,结合图6描述本发明实施例的数据处理的方法。
假设端侧设备需要处理的认知计算任务为识别图5所示图片中的物体,图中物体为奔驰SUV汽车。端侧设备获取图5所示的照片,将其作为端侧设备上的认知应用程序(对应于神经网络基础平台)的输入数据,认知应用程序通过处理该输入数据,得到识别结果,比如粗粒度的正确识别结果为“汽车”。应理解,这里提及的认知应用程序是基于运行在端侧设备的神经网络基础平台进一步封装实现的,且该认知应用程序的功能是为用户提供认知功能,在本实施例中,用于识别图5所示图片中的物体。
如图6所示,具体处理流程如下:
610,端侧设备获取待处理的认知计算任务,即识别如图5所示图片中的汽车。
620,端侧设备利用认知应用程序处理该认知计算任务,换句话说,利用运行在端侧设备的神经网络基础平台处理该认知计算任务。
630,判断步骤620的处理结果是否满足预期要求,如果符合,结束,如果不符合,转到640。
具体地,步骤620的处理结果不满足预期要求,包括如下三种情况:
第一种情况:端侧设备的认知应用程序的识别结果不符合预期要求,例如,将图5所示图片中的物体识别为“轮船”,则为不正确的识别结果。
第二种情况:端侧设备的认知应用程序的识别功能不符合预期要求,例如,端侧设备的认知应用程序针对图5所示图片,只能识别为“汽车”,而不能识别为“奔驰”。
第三种情况:端侧设备上能够识别图5所示图片的认知应用程序在运行时所需的硬件资源超出该端侧设备的硬件资源可用能力范围。
640,在步骤620的处理结果不满足预期要求的情况下,端侧设备向云侧设备发送请求消息,以触发云侧设备对端侧设备的神经网络进行训练和修整。
具体地,端侧设备可以将获取的新图片集合,即增量式图片集,上传到云侧设备,以便于云侧设备基于已有图片集和新上传的增量式图片集,对端侧设备的神经网络进行训练和修整。
650,云侧设备进行神经网络模型的训练与修整,获得第二神经网络模型。
具体地,云侧设备根据请求消息,获取能够处理该认知计算任务的第一神经网络模型,然后修整第一神经网络模型,得到第二神经网络模型,第二神经网络模型的计算量与存储需求量分别小于第一神经网络模型的计算量与存储需求量。
其中,修整第一神经网络模型得到第二神经网络模型,包括:修整第一神经网络模型的参数组件,得到第二神经网络模型。
或者,修整第一神经网络模型得到第二神经网络模型,包括:
修整第一神经网络模型的架构组件,得到第三神经网络模型,第三神经网络模型的计算内核的计算量小于第一神经网络模型的计算内核的计算量;修整第三神经网络模型的参数组件,得到第二神经网络模型。
具体描述参见上文相关描述,为了简洁,这里不再赘述。
660,云侧设备存储第二神经网络模型。
670,云侧设备向端侧设备下发第二神经网络模型。
具体地,步骤670也可以称为云侧设备向端侧设备推送神经网络模型。
应理解,云侧设备向端侧设备下发的神经网络模型,可以包括神经网络架构组件与参数组件,也可以仅包括神经网络参数组件。
680,端侧设备根据从云侧设备接收到第二神经网络模型,更新运行在端侧设备上的神经网络基础平台,并基于更新后的神经网络基础平台处理认知计算任务。
690,端侧设备判断680的处理结果是否满足预期要求,若是,结束,若否,转到,640。
因此,在本发明实施例中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
具体地,在图6所示的实施例中的步骤660中,可以利用内容分发网络(ContextDelivery Network,CDN)实现云侧设备的神经网络模型的存储,在步骤670中,可以利用推送通知服务器(Push Notification Server,PNS)实现对端侧设备的神经网络模型的动态更新推送,并利用内容分发网络(CDN)实现对端侧设备的神经网络模型的分发。
具体地,如图7所示,本发明实施例还提供了一种端云协同系统700,该端云协同系统700包括云侧设备710、推动通知服务器(PNS)720、内容分发网络(CDN)730和端侧设备740,710-740之间均可以通信。
如图7所示,内容分发网络(CDN)730包括智能调度的域名服务器(ContextDelivery Network Domain Name System,CDN DNS)731和若干个CDN节点732(图7示意性画出3个CDN节点732)。其中,CDN节点732用于存储云侧设备得到的神经网络模型。CDN DNS节点731用于维护网络中所存储的神经网络模型与CDN节点732之间的对应关系,具体地,在图7示例中,CDN DNS节点731维护的是神经网络模型的标识(Model ID)与CDN节点732的IP地址(CDN Node IP)之间的对应关系,可选地,一个神经网络模型的标识可以对应多个CDN节点的IP地址。
如图7所示,推动通知服务器720包括CDN DNS节点注册模块721、端侧设备注册模块722、收发模块723、以及状态更新模块724。推动通知服务器720还维护神经网络模型的标识(Model ID)、端侧设备的标识(Device ID)与CDN DNS节点的IP地址(CDN DNS IP)之间的对应关系。在推动通知服务器720上,还可以维护有端侧设备740的状态机,即维护端侧设备740的状态更新。推动通知服务器720维护上述信息所采用的数据结构可以为二维表。
利用内容分发网络(CDN)实现云侧设备的神经网络模型的存储的处理流程如下:
Step1:当CDN DNS节点731首次与推动通知服务器720通信时,CDN DNS节点731首先要向推动通知服务器720发送用于请求注册该CDN DNS节点731的注册请求,该注册请求中包括该CDN DNS节点731的IP地址;推动通知服务器720接收到该注册请求后,由CDNDNS注册模块721处理该注册请求,在推动通知服务器720上存储该CDN DNS节点731的IP地址。
Step2:云侧设备710完成神经网络模型的训练和修整后,向CDN DNS节点731发送存储请求,用于请求存储神经网络模型;CDN DNS节点731分配用于存储该神经网络模型(神经网络架构组件和/或参数组件)的CDN节点,假设如图7中所示的CDN节点732a,并向云侧设备710发送用于指示存储该神经网络模型的CDN节点732a的响应消息;CDN DNS节点731还用于维护该神经网络模型的标识与所选择的CDN节点732的IP地址之间的对应关系,具体地,维护该对应关系的数据结构可以为二维表,如图7中所示。
Step3:云侧设备根据接收到的响应消息,将训练和修整之后得到的神经网络模型存储在对应的CDN节点上,例如存储在CDN节点732a上。
具体地,可以在云侧设备710上维护日志,每一条日志项包括神经网络模型的标识、该神经网络模型的可用版本号、该版本对应的精度/准确度、该版本的完成时间等。应理解,云侧设备710上维护的日志有助于实现神经网络模型的更新推送。
具体地,云侧设备710完成神经网络模型的训练和修整后,在日志中增添一项新的日志项。云侧设备710向推送通知服务器720发送新的日志项,以触发推送通知服务器720向端侧设备740发送更新推送通知。在端侧设备740,可以根据当前云侧设备710可用的神经网络模型的信息,选择是否更新端侧设备740的神经网络模型。
如图8所示,端侧设备740包括控制模块741、接收模块742、缓存模块743、更新控制模块744、神经网络基础平台745以及应用程序745。其中,神经网络基础平台745包括神经网络架构组件与神经网络参数组件,其中,神经网络架构组件与神经网络参数组件解耦设计,换句话说,神经网络架构组件与神经网络参数组件中的子模块均可以根据需求而被替换。应用程序745是基于神经网络基础平台745封装得到的APP。
端侧设备740的神经网络模型(组件)动态更新的流程如下:
Step1:推送通知服务器720在云侧设备710有新版神经网络模型可用后,根据推送通知服务器720上维护的神经网络模型的ID与端侧设备的ID之间的对应关系,向对应的端侧设备(假设为端侧设备740)发送更新推送通知。
Step2:端侧设备740的控制模块741接收推送通知服务器720的更新推送通知,并将端侧设备740本地是否更新神经网络模型的信号反馈给推送通知服务器720;推送通知服务器720根据该反馈,修改推送通知服务器720的二维表中的更新状态。
Step3:如果端侧设备740在接收到推送通知服务器720的更新推送通知后,选择更新本地的神经网络模型(组件),则向内容分发网络(CDN)730发送神经网络更新请求。
Step4:CDN DNS节点731根据端侧设备740的神经网络更新请求,获取端侧设备740所请求的神经网络模型的标识;然后根据CDN DNS节点731上的神经网络模型的标识与CDN节点的IP地址之间的对应关系,确定实际存储端侧设备740所请求的神经网络模型的CDN节点(假设为CDN节点732a)的IP地址,并向端侧设备740发送该CDN节点732a的IP地址。
Step5:端侧设备740的控制模块741根据CDN DNS节点731发送的CDN节点732a的IP地址,向CDN节点732a发送神经网络模型请求消息,并且该控制模块741还控制接收模块742接收CDN节点732a反馈的信息。
Step6:CDN节点732a向端侧设备740发送对应的神经网络模型,具体地,可以发送该神经网络模型的架构组件和/或参数组件。
Step7:接收模块742接收CDN节点732a发送的神经网络模型,并通过缓存模型734缓存该神经网络模型。
Step8:更新控制模块744用于根据缓存模型734缓存的神经网络模型更新神经网络基础平台745上的相关组件,例如,基于缓存模型734缓存的神经网络模型的架构组件更新神经网络基础平台745上的神经网络架构组件,基于缓存模型734缓存的神经网络模型的参数组件更新神经网络基础平台745上的神经网络参数组件。
如图8所示,应用程序746通过应用程序编程接口(Application ProgrammingInterface,API),基于更新后的神经网络基础平台745,增加了新的功能(即云侧设备下发的神经网络模型对应的功能),从而可以去处理用户数据,该用户数据是智能应用场景下的数据,该智能应用场景例如为自动驾驶、机器人、智能终端认知等。
上文描述了本发明实施例的数据处理的方法,下文结合图9-图13,描述本发明实施例的端侧设备、云侧设备以及端云协同系统。
图9示出本发明实施例的端侧设备900的示意性框图,该端侧设备900包括:
发送模块910,用于向云侧设备发送请求消息,该请求消息用于请求处理认知计算任务的神经网络模型;
接收模块920,用于接收该云侧设备发送的通过修整第一神经网络模型得到的第二神经网络模型,该第一神经网络模型为该云侧设备上用于处理该认知计算任务的神经网络模型,该第二神经网络模型运行时所需的硬件资源在该端侧设备的硬件资源可用能力范围内;
处理模块930,用于基于该第二神经网络模型,处理该认知计算任务。
在本发明实施例中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
可选地,作为一个实施例,该端侧设备包括神经网络基础平台,该神经网络基础平台包括神经网络架构组件与神经网络参数组件,该神经网络架构组件与该神经网络参数组件解耦;该处理模块930具体用于,当该第二神经网络模型包括架构更新组件时,基于该架构更新组件更新该神经网络架构组件;当该第二神经网络模型包括参数更新组件时,基于该参数更新组件更新该神经网络参数组件;基于更新后的神经网络基础平台,处理该认知计算任务。
可选地,作为一个实施例,该发送模块910具体用于,在下列任一种条件下,向该云侧设备发送该请求消息:该端侧设备上缺少用于处理该认知计算任务的神经网络模型,该端侧设备上用于处理该认知计算任务的神经网络模型的精度不满足认知精度容忍度,以及该端侧设备上用于处理该认知计算任务的神经网络模型在运行时所需的硬件资源超过该端侧设备的硬件资源可用能力,其中,该认知精度容忍度表示该端侧设备处理该认知计算任务的预期精度。
可选地,作为一个实施例,该请求消息中携带用于指示认知精度容忍度的指示信息,以便于该云侧设备通过修整该第一神经网络模型得到满足该认知精度容忍度的该第二神经网络模型,该认知精度容忍度表示该端侧设备处理该认知计算任务的预期精度。
可选地,作为一个实施例,请求消息中携带用于指示端侧设备的硬件资源可用能力的指示信息。
可选地,作为一个实施例,请求消息中还携带用于指示第一神经网络模型的标识,以便于云侧设备根据标识确定第一神经网络模型;或请求消息中还携带功能信息,功能信息用于描述处理认知计算任务的功能,以便于云侧设备根据功能信息确定第一神经网络模型。
可选地,作为一个实施例,该第二神经网络模型的计算量与存储需求量分别小于该第一神经网络模型的计算量与存储需求量。
具体地,本发明实施例中的处理模块930可以由处理器或处理器相关电路来实现。发送模块910可以由发送器或发送器相关电路来实现。接收模块920可以由接收器或接收器相关电路来实现。
如图10所示,本发明实施例还提供了一种端侧设备1000,该端侧设备1000包括处理器1010、存储器1020、接收器1030和发送器1040。其中,处理器1010、存储器1020、接收器1030和发送器1040通过内部连接通路互相通信,该存储器1020用于存储指令,该处理器1010用于执行该存储器1020存储的指令,以控制接收器1030接收信号,并控制发送器1040发送信号。其中,该发送器1040用于,向云侧设备发送请求消息,该请求消息用于请求处理认知计算任务的神经网络模型;接收器1030用于,接收该云侧设备发送的通过修整第一神经网络模型得到的第二神经网络模型,该第一神经网络模型为该云侧设备上用于处理该认知计算任务的神经网络模型,该第二神经网络模型运行时所需的硬件资源在该端侧设备的硬件资源可用能力范围内;处理器1010用于,基于第二神经网络模型,处理认知计算任务。
在本发明实施例中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
可选地,作为一个实施例,该端侧设备包括神经网络基础平台,该神经网络基础平台包括神经网络架构组件与神经网络参数组件,该神经网络架构组件与该神经网络参数组件解耦;该处理器1010具体用于,当该第二神经网络模型包括架构更新组件时,基于该架构更新组件更新该神经网络架构组件;当该第二神经网络模型包括参数更新组件时,基于该参数更新组件更新该神经网络参数组件;基于更新后的神经网络基础平台,处理该认知计算任务。
可选地,作为一个实施例,发送器1040具体用于,在下列任一种条件下,向该云侧设备发送该请求消息:该端侧设备上缺少用于处理该认知计算任务的神经网络模型,该端侧设备上用于处理该认知计算任务的神经网络模型的精度不满足认知精度容忍度,以及该端侧设备上用于处理该认知计算任务的神经网络模型在运行时所需的硬件资源超过该端侧设备的硬件资源可用能力,其中,该认知精度容忍度表示该端侧设备处理该认知计算任务的预期精度。
可选地,作为一个实施例,该请求消息中携带用于指示认知精度容忍度的指示信息,以便于该云侧设备通过修整该第一神经网络模型得到满足该认知精度容忍度的该第二神经网络模型,该认知精度容忍度表示该端侧设备处理该认知计算任务的预期精度。
可选地,作为一个实施例,该请求消息中携带用于指示该端侧设备的硬件资源可用能力的指示信息。
可选地,作为一个实施例,该请求消息中还携带用于指示该第一神经网络模型的标识,以便于该云侧设备根据该标识确定该第一神经网络模型;或
该请求消息中还携带功能信息,该功能信息用于描述处理该认知计算任务的功能,以便于该云侧设备根据该功能信息确定该第一神经网络模型。
可选地,作为一个实施例,该第二神经网络模型的计算量与存储需求量分别小于该第一神经网络模型的计算量与存储需求量。
应理解,图9所示的端侧设备900或图10所示的端侧设备1000可用于执行上述方法实施例中与端侧设备相关的操作或流程,并且端侧设备900或端侧设备1000中的各个模块的操作和/或功能分别为了实现上述方法实施例中的相应流程,为了简洁,在此不再赘述。
图11示出本发明实施例的云侧设备1100的示意性框图,该云侧设备1100包括:
接收模块1110,用于接收端侧设备发送的请求消息,该请求消息用于请求处理认知计算任务的神经网络模型;
确定模块1120,用于根据该请求消息,确定用于处理该认知计算任务的第一神经网络模型;
修整模块1130,用于通过修整该第一神经网络模型得到第二神经网络模型,该第二神经网络模型运行时所需的硬件资源在该端侧设备的硬件资源可用能力范围内;
发送模块1140,用于向该端侧设备发送该第二神经网络模型,以便于该端侧设备基于该第二神经网络模型处理该认知计算任务。
在本发明实施例中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
可选地,作为一个实施例,该修整模块1130具体用于,通过修整该第一神经网络模型的参数组件,得到该第二神经网络模型,该第二神经网络模型的参数组件的存储需求量小于该第一神经网络模型的参数组件的存储需求量。
可选地,作为一个实施例,该修整模块1130具体用于,通过修整该第一神经网络模型的架构组件,得到第三神经网络模型,该第三神经网络模型的计算内核的计算量小于该第一神经网络模型的计算内核的计算量;通过修整该第三神经网络模型的参数组件,得到该第二神经网络模型,该第二神经网络模型的参数组件的存储需求量小于该第三神经网络模型的参数组件的存储需求量。
可选地,作为一个实施例,该请求消息中携带用于指示认知精度容忍度的指示信息,该认知精度容忍度表示该端侧设备处理该认知计算任务的预期精度;
该修整模块1130具体用于,根据该认知精度容忍度,修整该第一神经网络模型得到该第二神经网络模型,该第二神经网络模型处理该认知计算任务的精度满足该认知精度容忍度。
可选地,作为一个实施例,该请求消息中携带用于指示该端侧设备的硬件资源可用能力的指示信息。
可选地,作为一个实施例,该请求消息中还携带用于指示该第一神经网络模型的标识;
该确定模块1120具体用于,根据该标识,确定该第一神经网络模型。
可选地,作为一个实施例,该请求消息中还携带功能信息,该功能信息用于描述处理该认知计算任务的功能;
该确定模块具体用于,根据该功能信息,确定该第一神经网络模型。
可选地,作为一个实施例,该第二神经网络模型的计算量与存储需求量分别小于该第一神经网络模型的计算量与存储需求量。
具体地,本发明实施例中的确定模块1120与修整模块1130可以由处理器或处理器相关电路来实现。接收模块1110可以由接收器或接收器相关电路来实现。发送模块1140可以由发送器或发送器相关电路来实现。
如图12所示,本发明实施例还提供了一种云侧设备1200,该云侧设备1200包括:处理器1210、存储器1220、接收器1230和发送器1240。其中,处理器1210、存储器1220、接收器1230和发送器1240通过内部连接通路互相通信,该存储器1220用于存储指令,该处理器1210用于执行该存储器1220存储的指令,以控制接收器1230接收信号,并控制发送器1240发送信号。其中,该接收器1230用于,接收端侧设备发送的请求消息,该请求消息用于请求处理认知计算任务的神经网络模型;处理器1210用于,根据该请求消息,确定用于处理该认知计算任务的第一神经网络模型;通过修整该第一神经网络模型得到第二神经网络模型,该第二神经网络模型运行时所需的硬件资源在该端侧设备的硬件资源可用能力范围内;发送器1240用于,向端侧设备发送第二神经网络模型,以便于端侧设备基于第二神经网络模型处理认知计算任务。
在本发明实施例中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
可选地,作为一个实施例,该处理器1210具体用于,通过修整该第一神经网络模型的参数组件,得到该第二神经网络模型,该第二神经网络模型的参数组件的存储需求量小于该第一神经网络模型的参数组件的存储需求量。
可选地,作为一个实施例,该处理器1210具体用于,通过修整该第一神经网络模型的架构组件,得到第三神经网络模型,该第三神经网络模型的计算内核的计算量小于该第一神经网络模型的计算内核的计算量;通过修整该第三神经网络模型的参数组件,得到该第二神经网络模型,该第二神经网络模型的参数组件的存储需求量小于该第三神经网络模型的参数组件的存储需求量。
可选地,作为一个实施例,该请求消息中携带用于指示认知精度容忍度的指示信息,该认知精度容忍度表示该端侧设备处理该认知计算任务的预期精度;
该处理器1210具体用于,根据该认知精度容忍度,修整该第一神经网络模型得到该第二神经网络模型,该第二神经网络模型处理该认知计算任务的精度满足该认知精度容忍度。
可选地,作为一个实施例,该请求消息中携带用于指示该端侧设备的硬件资源可用能力的指示信息。
可选地,作为一个实施例,该请求消息中还携带用于指示该第一神经网络模型的标识;
该处理器1210具体用于,根据该标识,确定该第一神经网络模型。
可选地,作为一个实施例,该请求消息中还携带功能信息,该功能信息用于描述处理该认知计算任务的功能;
该处理器1210具体用于,根据该功能信息,确定该第一神经网络模型。
可选地,作为一个实施例,该第二神经网络模型的计算量与存储需求量分别小于该第一神经网络模型的计算量与存储需求量。
应理解,图11所示的云侧设备1100或图12所示的云侧设备1200可用于执行上述方法实施例中与云侧设备相关的操作或流程,并且云侧设备1100或云侧设备1200中的各个模块的操作和/或功能分别为了实现上述方法实施例中的相应流程,为了简洁,在此不再赘述。
图13示出本发明实施例的端云协同协同1300的示意性框图,该端云协同协同1300包括端侧设备1310和云侧设备1320,其中,该端侧设备1310对应上文实施例中的端侧设备900或端侧设备1000,该云侧设备1320对应上文实施例中的云侧设备1100或云侧设备1200。
在本发明实施例中,通过端侧设备向云侧设备请求用于处理认知计算任务的神经网络模型,云侧设备将能够处理该认知计算任务的神经网络模型进行修整之后下发到端侧设备,修整之后的神经网络模型运行时所需的硬件资源在端侧设备的硬件资源可用能力范围内,从而,使原本运行在计算能力强的云侧设备上的神经网络模型也可以适用于计算能力较弱的端侧设备,即实现了端侧设备能够处理该认知计算任务。因此,本发明实施例可以提高端侧设备处理神经网络相关应用的性能,有利于增强端侧设备的智能应用能力的扩展。
应理解,在本发明实施例中,处理器可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
还应理解,本文中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在上述各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在上述各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明实施例的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (31)

1.一种数据处理的方法,其特征在于,包括:
端侧设备向云侧设备发送请求消息,所述请求消息用于请求处理认知计算任务的神经网络模型;
所述端侧设备接收所述云侧设备发送的通过修整第一神经网络模型得到的第二神经网络模型,所述第一神经网络模型为所述云侧设备上用于处理所述认知计算任务的神经网络模型,所述第二神经网络模型运行时所需的硬件资源在所述端侧设备的硬件资源可用能力范围内;
所述端侧设备基于所述第二神经网络模型,处理所述认知计算任务。
2.根据权利要求1所述的方法,其特征在于,所述端侧设备包括神经网络基础平台,所述神经网络基础平台包括神经网络架构组件与神经网络参数组件,所述神经网络架构组件与所述神经网络参数组件解耦;
所述端侧设备基于所述第二神经网络模型,处理所述认知计算任务,包括:
当所述第二神经网络模型包括架构更新组件时,基于所述架构更新组件更新所述神经网络架构组件;
当所述第二神经网络模型包括参数更新组件时,基于所述参数更新组件更新所述神经网络参数组件;
基于更新后的神经网络基础平台,处理所述认知计算任务。
3.根据权利要求1或2所述的方法,其特征在于,所述端侧设备向云侧设备发送请求消息,包括:
所述端侧设备在下列任一种条件下,向所述云侧设备发送所述请求消息:所述端侧设备上缺少用于处理所述认知计算任务的神经网络模型,所述端侧设备上用于处理所述认知计算任务的神经网络模型的精度不满足认知精度容忍度,以及所述端侧设备上用于处理所述认知计算任务的神经网络模型在运行时所需的硬件资源超过所述端侧设备的硬件资源可用能力,其中,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度。
4.根据权利要求1或2所述的方法,其特征在于,所述请求消息中携带用于指示认知精度容忍度的指示信息,以便于所述云侧设备通过修整所述第一神经网络模型得到满足所述认知精度容忍度的所述第二神经网络模型,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度。
5.根据权利要求1或2所述的方法,其特征在于,所述请求消息中携带用于指示所述端侧设备的硬件资源可用能力的指示信息。
6.根据权利要求1或2所述的方法,其特征在于,所述请求消息中还携带用于指示所述第一神经网络模型的标识,以便于所述云侧设备根据所述标识确定所述第一神经网络模型;或
所述请求消息中还携带功能信息,所述功能信息用于描述处理所述认知计算任务的功能,以便于所述云侧设备根据所述功能信息确定所述第一神经网络模型。
7.根据权利要求1或2所述的方法,其特征在于,所述第二神经网络模型的计算量与存储需求量分别小于所述第一神经网络模型的计算量与存储需求量。
8.一种数据处理的方法,其特征在于,包括:
云侧设备接收端侧设备发送的请求消息,所述请求消息用于请求处理认知计算任务的神经网络模型;
所述云侧设备根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型;
所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,所述第二神经网络模型运行时所需的硬件资源在所述端侧设备的硬件资源可用能力范围内;
所述云侧设备向所述端侧设备发送所述第二神经网络模型,以便于所述端侧设备基于所述第二神经网络模型处理所述认知计算任务。
9.根据权利要求8所述的方法,其特征在于,所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,包括:
所述云侧设备通过修整所述第一神经网络模型的参数组件,得到所述第二神经网络模型,所述第二神经网络模型的参数组件的存储需求量小于所述第一神经网络模型的参数组件的存储需求量。
10.根据权利要求8所述的方法,其特征在于,所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,包括:
所述云侧设备通过修整所述第一神经网络模型的架构组件,得到第三神经网络模型,所述第三神经网络模型的计算内核的计算量小于所述第一神经网络模型的计算内核的计算量;
所述云侧设备通过修整所述第三神经网络模型的参数组件,得到所述第二神经网络模型,所述第二神经网络模型的参数组件的存储需求量小于所述第三神经网络模型的参数组件的存储需求量。
11.根据权利要求8至10中任一项所述的方法,其特征在于,所述请求消息中携带用于指示认知精度容忍度的指示信息,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度;
所述云侧设备通过修整所述第一神经网络模型得到第二神经网络模型,包括:
所述云侧设备根据所述认知精度容忍度,修整所述第一神经网络模型得到所述第二神经网络模型,所述第二神经网络模型处理所述认知计算任务的精度满足所述认知精度容忍度。
12.根据权利要求8至10中任一项所述的方法,其特征在于,所述请求消息中携带用于指示所述端侧设备的硬件资源可用能力的指示信息。
13.根据权利要求8至10中任一项所述的方法,其特征在于,所述请求消息中还携带用于指示所述第一神经网络模型的标识;
所述云侧设备根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型,包括:
所述云侧设备根据所述标识,确定所述第一神经网络模型。
14.根据权利要求8至10中任一项所述的方法,其特征在于,所述请求消息中还携带功能信息,所述功能信息用于描述处理所述认知计算任务的功能;
所述云侧设备根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型,包括:
所述云侧设备根据所述功能信息,确定所述第一神经网络模型。
15.根据权利要求8至10中任一项所述的方法,其特征在于,所述第二神经网络模型的计算量与存储需求量分别小于所述第一神经网络模型的计算量与存储需求量。
16.一种数据处理的端侧设备,其特征在于,包括:
发送模块,用于向云侧设备发送请求消息,所述请求消息用于请求处理认知计算任务的神经网络模型;
接收模块,用于接收所述云侧设备发送的通过修整第一神经网络模型得到的第二神经网络模型,所述第一神经网络模型为所述云侧设备上用于处理所述认知计算任务的神经网络模型,所述第二神经网络模型运行时所需的硬件资源在所述端侧设备的硬件资源可用能力范围内;
处理模块,用于基于所述第二神经网络模型,处理所述认知计算任务。
17.根据权利要求16所述的端侧设备,其特征在于,所述端侧设备包括神经网络基础平台,所述神经网络基础平台包括神经网络架构组件与神经网络参数组件,所述神经网络架构组件与所述神经网络参数组件解耦;
所述处理模块具体用于,当所述第二神经网络模型包括架构更新组件时,基于所述架构更新组件更新所述神经网络架构组件;当所述第二神经网络模型包括参数更新组件时,基于所述参数更新组件更新所述神经网络参数组件;基于更新后的神经网络基础平台,处理所述认知计算任务。
18.根据权利要求16或17所述的端侧设备,其特征在于,所述发送模块具体用于,在下列任一种条件下,向所述云侧设备发送所述请求消息:所述端侧设备上缺少用于处理所述认知计算任务的神经网络模型,所述端侧设备上用于处理所述认知计算任务的神经网络模型的精度不满足认知精度容忍度,以及所述端侧设备上用于处理所述认知计算任务的神经网络模型在运行时所需的硬件资源超过所述端侧设备的硬件资源可用能力,其中,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度。
19.根据权利要求16或17所述的端侧设备,其特征在于,所述请求消息中携带用于指示认知精度容忍度的指示信息,以便于所述云侧设备通过修整所述第一神经网络模型得到满足所述认知精度容忍度的所述第二神经网络模型,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度。
20.根据权利要求16或17所述的端侧设备,其特征在于,所述请求消息中携带用于指示所述端侧设备的硬件资源可用能力的指示信息。
21.根据权利要求16或17所述的端侧设备,其特征在于,所述请求消息中还携带用于指示所述第一神经网络模型的标识,以便于所述云侧设备根据所述标识确定所述第一神经网络模型;或
所述请求消息中还携带功能信息,所述功能信息用于描述处理所述认知计算任务的功能,以便于所述云侧设备根据所述功能信息确定所述第一神经网络模型。
22.根据权利要求16或17所述的端侧设备,其特征在于,所述第二神经网络模型的计算量与存储需求量分别小于所述第一神经网络模型的计算量与存储需求量。
23.一种数据处理的云侧设备,其特征在于,包括:
接收模块,用于接收端侧设备发送的请求消息,所述请求消息用于请求处理认知计算任务的神经网络模型;
确定模块,用于根据所述请求消息,确定用于处理所述认知计算任务的第一神经网络模型;
修整模块,用于通过修整所述第一神经网络模型得到第二神经网络模型,所述第二神经网络模型运行时所需的硬件资源在所述端侧设备的硬件资源可用能力范围内;
发送模块,用于向所述端侧设备发送所述第二神经网络模型,以便于所述端侧设备基于所述第二神经网络模型处理所述认知计算任务。
24.根据权利要求23所述的云侧设备,其特征在于,所述修整模块具体用于,通过修整所述第一神经网络模型的参数组件,得到所述第二神经网络模型,所述第二神经网络模型的参数组件的存储需求量小于所述第一神经网络模型的参数组件的存储需求量。
25.根据权利要求23所述的云侧设备,其特征在于,所述修整模块具体用于,通过修整所述第一神经网络模型的架构组件,得到第三神经网络模型,所述第三神经网络模型的计算内核的计算量小于所述第一神经网络模型的计算内核的计算量;通过修整所述第三神经网络模型的参数组件,得到所述第二神经网络模型,所述第二神经网络模型的参数组件的存储需求量小于所述第三神经网络模型的参数组件的存储需求量。
26.根据权利要求23至25中任一项所述的云侧设备,其特征在于,所述请求消息中携带用于指示认知精度容忍度的指示信息,所述认知精度容忍度表示所述端侧设备处理所述认知计算任务的预期精度;
所述修整模块具体用于,根据所述认知精度容忍度,修整所述第一神经网络模型得到所述第二神经网络模型,所述第二神经网络模型处理所述认知计算任务的精度满足所述认知精度容忍度。
27.根据权利要求23至25中任一项所述的云侧设备,其特征在于,所述请求消息中携带用于指示所述端侧设备的硬件资源可用能力的指示信息。
28.根据权利要求23至25中任一项所述的云侧设备,其特征在于,所述请求消息中还携带用于指示所述第一神经网络模型的标识;
所述确定模块具体用于,根据所述标识,确定所述第一神经网络模型。
29.根据权利要求23至25中任一项所述的云侧设备,其特征在于,所述请求消息中还携带功能信息,所述功能信息用于描述处理所述认知计算任务的功能;
所述确定模块具体用于,根据所述功能信息,确定所述第一神经网络模型。
30.根据权利要求23至25中任一项所述的云侧设备,其特征在于,所述第二神经网络模型的计算量与存储需求量分别小于所述第一神经网络模型的计算量与存储需求量。
31.一种端云协同系统,其特征在于,包括如权利要求16至22中任一项所述的端侧设备与如权利要求23至30中任一项所述的云侧设备。
CN201611215479.6A 2016-12-26 2016-12-26 数据处理的方法、端侧设备、云侧设备与端云协同系统 Active CN108243216B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201611215479.6A CN108243216B (zh) 2016-12-26 2016-12-26 数据处理的方法、端侧设备、云侧设备与端云协同系统
EP23184682.5A EP4280112A3 (en) 2016-12-26 2017-12-14 Data processing method and end-cloud collaboration system
FIEP17886187.8T FI3557846T3 (fi) 2016-12-26 2017-12-14 Tietojen käsittelymenetelmä ja pääte-pilviyhteistoimintajärjestelmä
EP17886187.8A EP3557846B1 (en) 2016-12-26 2017-12-14 Data processing method and end-cloud collaboration system
PCT/CN2017/116203 WO2018121282A1 (zh) 2016-12-26 2017-12-14 数据处理的方法、端侧设备、云侧设备与端云协同系统
US16/452,290 US11861499B2 (en) 2016-12-26 2019-06-25 Method, terminal-side device, and cloud-side device for data processing and terminal-cloud collaboration system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611215479.6A CN108243216B (zh) 2016-12-26 2016-12-26 数据处理的方法、端侧设备、云侧设备与端云协同系统

Publications (2)

Publication Number Publication Date
CN108243216A CN108243216A (zh) 2018-07-03
CN108243216B true CN108243216B (zh) 2020-02-14

Family

ID=62704719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611215479.6A Active CN108243216B (zh) 2016-12-26 2016-12-26 数据处理的方法、端侧设备、云侧设备与端云协同系统

Country Status (5)

Country Link
US (1) US11861499B2 (zh)
EP (2) EP4280112A3 (zh)
CN (1) CN108243216B (zh)
FI (1) FI3557846T3 (zh)
WO (1) WO2018121282A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018084576A1 (en) 2016-11-03 2018-05-11 Samsung Electronics Co., Ltd. Electronic device and controlling method thereof
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
CN110399211B (zh) * 2018-04-24 2021-06-08 中科寒武纪科技股份有限公司 机器学习的分配系统、方法及装置、计算机设备
KR20200013162A (ko) * 2018-07-19 2020-02-06 삼성전자주식회사 전자 장치 및 그의 제어 방법
CN108924910B (zh) * 2018-07-25 2021-03-09 Oppo广东移动通信有限公司 Ai模型的更新方法及相关产品
CN109062700A (zh) * 2018-08-21 2018-12-21 郑州云海信息技术有限公司 一种基于分布式系统的资源管理方法及服务器
CN111047045B (zh) * 2018-10-12 2021-03-19 中科寒武纪科技股份有限公司 机器学习运算的分配系统及方法
CN109543829A (zh) * 2018-10-15 2019-03-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 在终端和云端上混合部署深度学习神经网络的方法和系统
CN109446783B (zh) * 2018-11-16 2023-07-25 山东浪潮科学研究院有限公司 一种基于机器众包的图像识别高效样本采集方法及系统
US11221876B2 (en) * 2018-12-30 2022-01-11 Paypal, Inc. Scheduling applications in CPU and GPU hybrid environments
CN110147251B (zh) * 2019-01-28 2023-07-25 腾讯科技(深圳)有限公司 用于计算神经网络模型的系统、芯片及计算方法
US11444845B1 (en) * 2019-03-05 2022-09-13 Amazon Technologies, Inc. Processing requests using compressed and complete machine learning models
CN110009096A (zh) * 2019-03-06 2019-07-12 开易(北京)科技有限公司 基于嵌入式设备的目标检测网络模型优化方法
CN110766131A (zh) * 2019-05-14 2020-02-07 北京嘀嘀无限科技发展有限公司 数据处理装置、方法和电子设备
CN111954206B (zh) * 2019-05-17 2024-04-09 株式会社Ntt都科摩 终端和基站
US11720826B2 (en) * 2019-07-24 2023-08-08 International Business Machines Corporation Feedback loop learning between artificial intelligence systems
CN110427998A (zh) * 2019-07-26 2019-11-08 上海商汤智能科技有限公司 模型训练、目标检测方法及装置、电子设备、存储介质
CN110544234A (zh) * 2019-07-30 2019-12-06 北京达佳互联信息技术有限公司 图像噪声检测方法、装置、电子设备及存储介质
US11449739B2 (en) * 2019-08-22 2022-09-20 Google Llc General padding support for convolution on systolic arrays
CN110705684A (zh) * 2019-08-22 2020-01-17 中国科学院计算技术研究所 基于端云协同的环境自适应学习方法及系统
CN114746870A (zh) * 2019-10-02 2022-07-12 诺基亚技术有限公司 用于神经网络压缩中优先级信令的高级语法
CN110750312A (zh) * 2019-10-17 2020-02-04 中科寒武纪科技股份有限公司 硬件资源配置方法、装置、云侧设备和存储介质
WO2021086308A1 (en) * 2019-10-28 2021-05-06 Google Llc End-to-end machine learning for wireless networks
CN111126594B (zh) * 2019-11-25 2023-08-04 北京邮电大学 基于边缘计算的神经网络模型动态切分方法及装置
EP4087213A4 (en) * 2020-01-14 2023-01-04 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD AND APPARATUS FOR ARTIFICIAL INTELLIGENCE OPERATION PROCESSING, SYSTEM, TERMINAL, AND NETWORK DEVICE
CN116415654A (zh) * 2020-02-12 2023-07-11 华为技术有限公司 一种数据处理方法及相关设备
CN115280333A (zh) * 2020-03-19 2022-11-01 Toa株式会社 Ai控制装置、与ai控制装置连接的服务器装置以及ai控制方法
CN113472830B (zh) * 2020-03-31 2023-03-10 华为技术有限公司 一种通信方法及装置
CN111510774A (zh) * 2020-04-21 2020-08-07 济南浪潮高新科技投资发展有限公司 一种结合边缘计算与深度学习的智能终端图像压缩算法
CN113592059A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品
CN113938907A (zh) * 2020-07-13 2022-01-14 华为技术有限公司 通信的方法及通信装置
CN114202796B (zh) * 2020-08-27 2023-08-04 中国电信股份有限公司 模型自适应的目标检测的方法及装置
CN112116067A (zh) * 2020-08-27 2020-12-22 济南浪潮高新科技投资发展有限公司 一种基于fpga的摄像装置实现方法及设备
CN114696925B (zh) * 2020-12-31 2023-12-15 华为技术有限公司 一种信道质量评估方法以及相关装置
CN115484620A (zh) * 2021-05-31 2022-12-16 华为技术有限公司 一种算力资源调度的方法以及相关装置
WO2023023954A1 (zh) * 2021-08-24 2023-03-02 Oppo广东移动通信有限公司 模型传输方法及装置
CN114037113B (zh) * 2021-09-24 2023-07-11 清华大学 智能水表控制方法、装置及系统、存储介质、云计算中心
CN114172908B (zh) * 2022-02-10 2022-08-05 浙江大学 一种端云协同处理方法及设备
WO2023230969A1 (zh) * 2022-06-01 2023-12-07 北京小米移动软件有限公司 人工智能模型的确定方法及装置、通信设备及存储介质
CN116662283B (zh) * 2023-07-28 2023-12-12 北京孔皆数智科技有限公司 一种端边协同的数据共享和计算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916940A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 一种实现云数据中心网络安全的方法及系统
CN104346214A (zh) * 2013-07-30 2015-02-11 中国银联股份有限公司 用于分布式环境的异步任务管理装置及方法
CN105575389A (zh) * 2015-12-07 2016-05-11 百度在线网络技术(北京)有限公司 模型训练方法、系统和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253228B1 (en) 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US6418464B1 (en) 1998-09-25 2002-07-09 Apple Compunter, Inc. Method and apparatus for coordination of client/server processes
WO2013070152A2 (en) * 2011-11-07 2013-05-16 Binary Bio Ab Dynamic dataflow network
CN102427577A (zh) 2011-12-06 2012-04-25 安徽省徽商集团有限公司 从协同服务器向移动终端推送信息的系统及其方法
US9747440B2 (en) * 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
CN103312788B (zh) 2013-05-17 2016-09-28 南京邮电大学 端管云协同的汽车网络黑匣子系统
WO2015130928A1 (en) * 2014-02-26 2015-09-03 Nancy Packes, Inc. Real estate evaluating platform methods, apparatuses, and media
JP6612855B2 (ja) * 2014-09-12 2019-11-27 マイクロソフト テクノロジー ライセンシング,エルエルシー 出力分布による生徒dnnの学習
CN115690558A (zh) * 2014-09-16 2023-02-03 华为技术有限公司 数据处理的方法和设备
US9607366B1 (en) * 2014-12-19 2017-03-28 Amazon Technologies, Inc. Contextual HDR determination
US10229356B1 (en) * 2014-12-23 2019-03-12 Amazon Technologies, Inc. Error tolerant neural network model compression
US10223635B2 (en) * 2015-01-22 2019-03-05 Qualcomm Incorporated Model compression and fine-tuning
CN104767810A (zh) 2015-04-07 2015-07-08 中国海洋大学 云-端协同服务系统及云-端协同工作方法
US11423311B2 (en) * 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks
US9792907B2 (en) * 2015-11-24 2017-10-17 Intel IP Corporation Low resource key phrase detection for wake on voice
CN105760224A (zh) * 2016-01-06 2016-07-13 杭州华三通信技术有限公司 一种资源的动态调整方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916940A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 一种实现云数据中心网络安全的方法及系统
CN104346214A (zh) * 2013-07-30 2015-02-11 中国银联股份有限公司 用于分布式环境的异步任务管理装置及方法
CN105575389A (zh) * 2015-12-07 2016-05-11 百度在线网络技术(北京)有限公司 模型训练方法、系统和装置

Also Published As

Publication number Publication date
FI3557846T3 (fi) 2023-10-10
CN108243216A (zh) 2018-07-03
US20190318245A1 (en) 2019-10-17
EP3557846B1 (en) 2023-09-06
EP3557846A1 (en) 2019-10-23
EP4280112A3 (en) 2024-02-14
EP4280112A2 (en) 2023-11-22
EP3557846A4 (en) 2019-12-25
WO2018121282A1 (zh) 2018-07-05
US11861499B2 (en) 2024-01-02

Similar Documents

Publication Publication Date Title
CN108243216B (zh) 数据处理的方法、端侧设备、云侧设备与端云协同系统
US20200051193A1 (en) Systems and methods for allocating orders
CN113011575A (zh) 神经网络模型更新方法、图像处理方法及装置
CN110612538A (zh) 生成输入数据项的离散潜在表示
CN111522657B (zh) 一种分散设备协同深度学习推理方法
CN114611705A (zh) 数据处理方法、机器学习的训练方法及相关装置、设备
KR20180073620A (ko) 서비스의 시퀀스를 업데이트하기 위한 시스템 및 방법
CN111797992A (zh) 一种机器学习优化方法以及装置
CN110293818A (zh) 车载空调控制方法和装置
CN113379045B (zh) 数据增强方法和装置
CN112446462A (zh) 目标神经网络模型的生成方法和装置
WO2022021834A1 (zh) 神经网络模型确定方法、装置、电子设备、介质及产品
US20230229963A1 (en) Machine learning model training
US20230245452A1 (en) Adaptive multimodal event detection
CN108770014B (zh) 网络服务器的计算评估方法、系统、装置及可读存储介质
CN108831548B (zh) 远程智能医疗的优化方法、装置及系统
CN110135517B (zh) 用于获取车辆相似度的方法及装置
US20210209525A1 (en) Prediction-based vehicle reservation systems
CN115204026A (zh) 车辆数据模型的训练方法、装置、车辆、介质和程序产品
CN111340216A (zh) 网络融合方法、网络融合装置、电子设备及存储介质
CN113823011B (zh) 巡逻机器人的算力分配方法及相关设备
US20230298350A1 (en) Vehicle identification system
US20230042156A1 (en) Systems and methods for valuation of a vehicle
CN114863396A (zh) 车辆目标分类方法、装置、设备以及存储介质
CN116597402A (zh) 一种场景感知方法及其相关设备

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
GR01 Patent grant
GR01 Patent grant