CN117009729B - 基于softmax的数据处理方法及装置 - Google Patents

基于softmax的数据处理方法及装置 Download PDF

Info

Publication number
CN117009729B
CN117009729B CN202311293166.2A CN202311293166A CN117009729B CN 117009729 B CN117009729 B CN 117009729B CN 202311293166 A CN202311293166 A CN 202311293166A CN 117009729 B CN117009729 B CN 117009729B
Authority
CN
China
Prior art keywords
data
matrix
normalization
processing
layer
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
CN202311293166.2A
Other languages
English (en)
Other versions
CN117009729A (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.)
Zhejiang University ZJU
Zhejiang Lab
Original Assignee
Zhejiang University ZJU
Zhejiang Lab
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 Zhejiang University ZJU, Zhejiang Lab filed Critical Zhejiang University ZJU
Priority to CN202311293166.2A priority Critical patent/CN117009729B/zh
Publication of CN117009729A publication Critical patent/CN117009729A/zh
Application granted granted Critical
Publication of CN117009729B publication Critical patent/CN117009729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书公开了一种基于softmax的数据处理方法及装置,将目标模型部署在服务器中,通过目标模型的前处理层,确定待处理数据对应的目标矩阵,并通过在服务器上运行归一化层的第一算子,确定该目标矩阵中各行数据分别对应的归一化参数,再通过在服务器上运行第二算子,确定该目标矩阵对应的全局最大值和全局指数和,进而当目标模型的后处理层启动时,通过在服务器上运行融合算子,确定目标矩阵的归一化结果,并根据该归一化结果执行该后处理层对应的数据处理任务。本方法中的服务器不需要对目标矩阵中的数据同时进行处理,即可确定出目标矩阵的全局最大值和全局指数和,减少了对服务器的算力的要求,提高了任务处理效率。

Description

基于softmax的数据处理方法及装置
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于softmax的数据处理方法及装置。
背景技术
目前,机器学习已经在网络安全、自然语言处理、无人驾驶等多个领域得到了应用。但随着模型的广泛应用,模型在执行任务过程中,常会出现部署模型的服务器需要对尺寸较大的矩阵中的数据同时进行处理的情况,对服务器的算力要求过高,在部署模型的服务器的算力较低的情况下,需要较长之间才可执行一次任务,导致处理效率较低。
基于此,本说明书提供一种新的数据处理方法。
发明内容
本说明书提供一种基于softmax的数据处理方法、装置、设备及存储介质,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供一种基于softmax的数据处理方法,所述方法应用于服务器,所述服务器中部署有目标模型,所述目标模型至少包含前处理层、归一化层、后处理层,所述归一化层用于将输入所述归一化层的数据进行归一化,所以归一化层包含第一算子、第二算子和第三算子,所述方法包括:
获取待处理数据执行目标业务所需的;
将所述待处理数据输入所述目标模型的前处理层,得到所述前处理层对所述待处理数据进行处理得到的目标矩阵,所述目标模型用于执行所述目标业务;
将所述目标矩阵输入所述目标模型的归一化层,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,所述归一化参数包含局部最大值和局部指数和;
通过在所述服务器上运行所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和;
当所述目标模型的后处理层启动时,通过在所述服务器上运行融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,其中,所述融合算子为对所述第三算子和所述后处理层的后处理算子融合得到的。
可选地,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,具体包括:
通过在所述服务器上运行所述归一化层的第一算子,针对所述目标矩阵中的每行数据,确定该行数据中的最大值,作为该行数据的局部最大值;
将该行数据中的各数据分别作为自变量,通过在所述服务器上运行预设的指定函数,确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,所述指定函数为指数函数;
将所述局部最大值和所述局部指数和,作为该行数据的归一化参数。
可选地,所述指定函数的底数为自然常数;
将该行数据中的各数据分别作为自变量,通过在所述服务器上运行预设的指定函数,确定该行数据中各数据组分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,具体包括:
确定执行所述数据处理任务的所述服务器的进位计数制,并确定所述进位计数制对应的指定数值;
根据所述指定数值和所述自然底数之间的转换关系,将以所述自然底数为底数的指定函数,转换为以所述指定数值为底数的特定函数;
针对该行数据中的每个数据,通过在所述服务器上运行所述特定函数,确定该数据对应的函数值,其中,所述服务器通过移位计算对所述特定函数进行计算;
确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和。
可选地,通过在所述服务器上运行所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和,具体包括:
通过在所述服务器上运行所述第二算子,根据已确定出的各行数据的归一化参数,确定所述目标矩阵的待定最大值和待定指数和;
判断所述目标矩阵中是否存在未确定归一化参数的行数据;
若是,则将所述未确定归一化参数的行数据作为指定行数据,并确定所述指定行数据的归一化参数,以及根据所述指定行数据的归一化参数对所述待定最大值和所述待定指数和进行更新,直至所述目标矩阵中不包含指定行数据为止;
若否,则将所述待定最大值和待定指数和作为所述目标矩阵对应的全局最大值和全局指数和。
可选地,通过在所述服务器上运行融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,具体包括:
当所述目标模型的后处理层启动时,确定所述后处理层对应的数据处理任务的数据处理方式,并判断所述数据处理方式是否为逐元素处理,其中,所述逐元素处理用于表征对所述后处理层的输入数据中的各数据逐个进行处理;
若是,针对所述目标矩阵中的每行数据,通过在所述服务器上运行预设的指定函数,确定该行数据的指定矩阵,所述指定函数为指数函数;
根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵;
根据在所述服务器上运行所述权重矩阵和所述指定矩阵,确定归一化结果,并通过融合算子,对所述归一化结果的各数据逐个进行处理。
可选地,所述方法还包括:
当所述数据处理方式不为逐元素处理时,判断所述数据处理方式是否为区域处理,其中,所述区域处理用于表征将所述目标矩阵拆分为若干子矩阵,并依次对各子矩阵进行处理;
若是,针对所述目标矩阵中的每行数据,通过在所述服务器上运行预设的指定函数,确定该行数据的指定矩阵,以及根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵,其中,所述指定函数为指数函数;
将所述目标矩阵拆分为若干子矩阵,并针对每个子矩阵,根据该子矩阵包含的各数据,确定该子矩阵的特定矩阵以及该子矩阵的权重矩阵;
通过在所述服务器上运行融合算子,根据各子矩阵分别对应的权重矩阵以及所述各子矩阵分别对应的特定矩阵,确定该子矩阵对应的归一化结果,并依次对所述各子矩阵分别对应的归一化结果进行处理。
可选地,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,具体包括:
对所述归一化层的输入进行监测,当监测到有需要进行归一化的目标矩阵时,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数。
本说明书提供一种基于softmax的数据处理装置,所述装置应用于服务器,所述服务器中部署有目标模型,所述目标模型至少包含前处理层、归一化层、后处理层,所述归一化层用于将输入所述归一化层的数据进行归一化,所以归一化层包含第一算子、第二算子和第三算子,所述装置包括:
获取模块,用于获取执行目标业务所需的待处理数据;
前处理模块,用于将所述待处理数据输入所述目标模型的前处理层,得到所述前处理层对所述待处理数据进行处理得到的目标矩阵,所述目标模型用于执行所述目标业务;
局部参数确定模块,用于将所述目标矩阵输入所述目标模型的归一化层,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,所述归一化参数包含局部最大值和局部指数和;
全局参数确定模块,用于通过在所述服务器上运行所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和;
后处理模块,用于当所述目标模型的后处理层启动时,通过在所述服务器上运行融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,其中,所述融合算子为对所述第三算子和所述后处理层的后处理算子融合得到的。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于softmax的数据处理方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于softmax的数据处理方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在服务器中部署目标模型,在获取到待处理数据后,通过目标模型的前处理层,确定该待处理数据对应的目标矩阵,并将该目标破矩阵输入该目标模型的归一化层,通过在服务器上运行该归一化层包含的第一算子,确定该目标矩阵中各行数据分别对应的归一化参数,再通过在服务器上运行该归一化层包含的第二算子,根据各行数据分别对应的归一化参数,确定该目标矩阵对应的全局最大值和全局指数和,进而当目标模型的后处理层启动时,通过在服务器上运行基于第三算子和后处理层的后处理算子融合得到的融合算子,根据该目标矩阵对应的全局最大值和全局指数和,以及该目标矩阵,确定该目标矩阵的归一化结果,并根据该归一化结果执行该后处理层对应的数据处理任务。
本说明书提供的该数据处理方法,可针对该目标矩阵中的每行数据,通过在服务器上运行第一算子,确定该行数据对应的归一化参数,并在服务器上运行通过第二算子,根据各行数据分别对应的归一化参数,来确定该目标矩阵的全局最大值和全局指数和。可见,本说明书不需要对目标矩阵中的数据同时进行处理,即可确定出目标矩阵的全局最大值和全局指数和,降低了对服务器算力的要求,在服务器算力恒定的情况下,执行上述步骤所需时间更少,提高了任务处理效率。且本说明书中的该数据处理方法可在后处理层启动时再确定该目标矩阵的归一化结果,避免了将归一化结果存储在内存并在后处理层启动时从内存中获取归一化结果这一过程导致的资源浪费的情况出现,减少了数据处理任务执行期间所需的计算资源。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的基于softmax的数据处理方法的流程示意图;
图2为本说明书提供的基于softmax的数据处理方法的流程示意图;
图3为本说明书提供的基于softmax的数据处理方法的流程示意图;
图4为本说明书提供的基于softmax的数据处理装置的结构示意图;
图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
目前,在使用模型来执行数据处理任务的过程中,常会出现部署模型的服务器在执行数据处理任务时,需要对尺寸较大的矩阵中的数据同时进行处理的情况。以上述数据处理任务执行过程中需要对数据进行归一化为例,则通常需要确定待归一化的矩阵。再针对该矩阵中的每个元素,通过以自然常数e为底数的指数函数,确定该元素对应的函数值。则该服务器可确定各元素分别对应的函数值之和,作为该目标矩阵的全局指数和,并针对每个元素,根据该元素对应的函数值和该全局指数和的比值,确定该元素对应的归一化结果。
但是,在确定该全局指数和时,该服务器需对该目标矩阵中的各元素同时进行处理,才能够确定出各元素分别对应的函数值,以及确定各函数值之和,才能确定出全局指数和。而在目标矩阵的规模较大的情况下,对目标矩阵中的各元素同时进行处理,对执行该数据处理任务的服务器的计算压力过大,而在服务器中的计算资源恒定的情况下,需要较长时间才能确定出该全局指数和,导致目前的数据处理效率较低。
基于此,本说明书提供一种新的数据处理方法,在执行该数据处理任务过程中,针对目标矩阵中的每行数据,确定该行数据对应的归一化参数,进而根据各行数据分别对应的归一化参数来确定该目标矩阵对应的全局最大值和全局指数和,避免了对目标矩阵中各元素同时进行处理的情况出现,降低了对执行该数据处理方法的服务器的计算资源的需求,提高了数据处理效率。其中,该归一化参数为行数据的局部最大值和局部指数和。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种基于softmax的数据处理方法的执行流程示意图,具体包括以下步骤:
S100:获取执行目标业务所需的待处理数据。
S102:将所述待处理数据输入所述目标模型的前处理层,得到所述前处理层对所述待处理数据进行处理后得到的目标矩阵,所述目标模型用于执行目标业务。
在本说明书提供的一个或多个实施例中,该基于softmax的数据处理方法可由服务器执行。
如前所述的,为了解决在数据处理过程中,由于服务器需要对矩阵中所有元素同时进行处理才能执行数据处理任务,数据处理效率较低的问题。本说明书提供一种新的基于softmax的数据处理方法,针对矩阵中的每行元素,即,针对矩阵中的每行数据, 确定该行数据对应的归一化参数,再根据各行数据分别对应的归一化参数,来确定该目标矩阵的全局指数和。将对矩阵中的每个元素同时进行处理的操作,转换成针对矩阵中的每行数据进行处理,再对各行数据进行处理的操作,降低了对计算资源的要求,保证了处理效率。因此,该服务器可获取目标矩阵,以根据目标矩阵来执行该数据处理任务。
具体的,该服务器中预先部署有目标模型,该目标模型至少包含前处理层、归一化(softmax)层和后处理层。其中,该前处理层用于对待处理数据进行处理,得到需进行归一化的目标矩阵。该归一化层用于将输入该归一化层的数据进行归一化。该后处理层用于根据该归一化层输出的归一化结果执行该后处理层对应的数据处理任务。也就是说,该前处理层与该归一化层连接,该前处理层的输出可作为该归一化层的输入。该归一化层和该后处理层连接,该归一化层的输出可作为后处理层的输入。
于是,该服务器可确定待处理数据。其中,该待处理数据为需要通过该目标模型对其进行处理的数据。以该目标模型用于执行目标业务为例,则该待处理数据为执行该目标业务所需的待处理数据。
以该目标模型为风控模型,该目标模型用于执行风控业务为例,则该待处理数据可为待风控数据。该待风控数据可为用户所使用的账户对应的账户数据,如,该账户的历史交易记录,用户在使用该账户时的历史行为序列等。该待风控数据也可为用户发起某项业务时上传的照片等。则该服务器可根据数据处理请求,确定该数据处理请求对应的待处理数据。
其中,该数据处理请求可为其他设备向执行该基于softmax的数据处理方法的服务器发送的,也可为执行该基于softmax的数据处理方法的服务器监测到满足发起条件时自动发起的。该发起条件可为监测到用户上传的数据,也可为到达预设的时刻等,具体该数据处理请求如何确定可根据需要进行设置,本说明书对此不做限制。
接着,该服务器可将确定出的待处理数据作为输入,输入预先训练好的目标模型的前处理层。在该前处理层,该服务器可对该待处理数据进行前处理,得到对该待处理数据进行处理后的目标矩阵。其中,该前处理层可为深度神经网络、循环神经网络等多种网络结构,该前处理层可用于执行特征提取任务、预处理任务、分类任务中的至少一种任务,该特征提取任务为对待处理数据进行特征提取,该预处理任务为对该待处理数据进行预处理,该分类任务为对该待处理数据进行分类操作。该前处理层中可包含有用于进行数据处理的算子,如,池化算子、归一化算子、激活算子、池化算子以及卷积算子中的至少一种。具体该前处理层中包含的算子的数量以及各算子的类型,可根据需要进行设置,且具体该前处理层中如何对该待处理数据进行操作可根据需要进行设置,本说明书对此不做限制。
最后,该服务器可得到该前处理层对该待处理数据进行处理后输出的目标矩阵。以该前处理层用于对待处理数据进行特征提取为例,该目标矩阵可为该前处理层对该待处理数据进行特征提取后输出的特征提取结果,也可为该前处理层对该待处理数据进行特征提取过程中得到的隐层特征。
而以该目标模型为风控模型为例,该前处理层得到的该目标矩阵,可为对待风控数据进行特征提取后得到的包含有待风控数据对应的风控信息的目标矩阵。具体该目标矩阵如何确定可根据需要进行设置,本说明书对此不做限制。
在该模型为风控模型的场景中,该服务器可通过该风控模型的前处理层,对待风控数据进行处理,得到风控矩阵。
S104:将所述目标矩阵输入所述目标模型的归一化层,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,所述归一化参数包含局部最大值和局部指数和。
在本说明书提供的一个或多个实施例中,本说明书中的该目标模型,可通过前处理层确定待处理数据对应的目标矩阵,再在归一化层中,针对目标矩阵中的每行数据,确定该行数据对应的归一化参数,进而根据各行数据分别对应的归一化参数,确定该目标矩阵的全局最大值和全局指数和,以此来确定该目标矩阵的归一化结果。因此,该服务器可确定该目标矩阵中各行数据分别对应的归一化结果。
具体的,该归一化层包含三个算子:第一算子、第二算子和第三算子。其中,该第一算子、第二算子和第三算子均为网络层中的算子,每个算子均可描述如何将输入该算子的数据映射为该算子输出的数据。该第一算子用于针对目标矩阵中的每行数据,确定该行数据对应的归一化参数。该第二算子用于根据各行数据分别对应的归一化参数,确定该目标矩阵的全局最大值和全局指数和。该第三算子用于根据目标矩阵,目标矩阵的全局最大值和目标矩阵的全局指数和,确定该目标矩阵的归一化结果。
于是,该服务器可先将该目标矩阵作为输入,输入该目标模型的归一化层。于是,该服务器可通过运行该归一化层的第一算子,针对该目标矩阵中的每行数据,确定该行数据表中的最大值,作为该行数据的局部最大值。
然后,该服务器可针对该行数据中的每个数据,将该数据作为自变量,通过预设的指定函数,确定以该数据为自变量时该指定函数对应的函数值。其中,该指定函数为指数函数。
接着,该服务器可确定该行数据中各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和。
最后,该服务器可将确定出的局部最大值和局部指数和,作为该行数据的归一化参数。其中,该服务器可将该目标矩阵输入该第一算子中,通过运行该第一算子,得到第一算子输出的该目标矩阵中各行数据分别对应的归一化参数。
以该目标矩阵的尺寸为为例,假设该目标矩阵中第k行第i列个元素,即,第k行第i列个数据可表征为/>,则该服务器可确定/>,也就是说,/>为第k行包含的各数据中的最大值,即,第k行数据的局部最大值。
同时,假设指定函数为,则该目标矩阵中第k行第i列个元素对应的函数值可为/>,也就是说,针对该目标矩阵中的每个数据,该数据对应的函数值可为该数据减去该数据所在行对应的局部最大值所得的差值,将该差值作为自变量时该指定函数对应的函数值。其中,该指定函数的底数a大于1。
则该服务器可确定该目标矩阵中第k行元素分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和:
在该目标模型为风控模型的场景中,该服务器可将风控矩阵输入归一化层中,通过运行该归一化层中的第一算子,对该风控矩阵中的每行数据进行处理,得到该风控数据中每行数据分别对应的归一化参数。
S106:通过在所述服务器上运行所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和。
在本说明书提供的一个或多个实施例中,在确定出各行数据分别对应的归一化参数后,该服务器可确定该目标矩阵的全局最大值和全局指数和。而如前所述的,本说明书中确定目标矩阵的全局最大值和全局指数和的步骤,为通过归一化层的第二算子执行。
具体的,该服务器可针对每行数据,将该行数据作为输入,输入该归一化层的第二算子中。
则该服务器可通过运行该归一化层的第二算子,根据接收到的各行数据分别对应的归一化参数,确定该目标矩阵的全局最大值和全局指数和。也就是说,该第二算子可根据输入到该第二算子中的各行数据分别对应的归一化参数,输出该目标矩阵的全局最大值和全局指数和。其中,该全局最大值用于表征该目标矩阵包含的各元素中的最大值,该全局指数和用于表征该目标矩阵中包含的各数据分别对应的函数值之和。
表征第k行数据的局部最大值为例,则全局最大值可为,以第k行数据的局部指数和为/>为例,则全局指数和可为
在该目标模型为风控模型的场景中,该服务器可将得到的该风控矩阵中每行数据分别对应的归一化参数作为输入,输入该归一化层中的第二算子,通过运行该第二算子,根据该风控矩阵中各行数据分别对应的归一化参数,确定该风控矩阵的全局最大值和全局指数和。
S108:当所述目标模型的后处理层启动时,通过在所述服务器上运行融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,其中,所述融合算子为对所述第三算子和所述后处理层的后处理算子融合得到的。
在本说明书提供的一个或多个实施例中,通常情况下,在对目标矩阵进行归一化处理的过程中,服务器需要从内存和缓存中获取目标矩阵,并对目标矩阵中的各数据进行读取,确定出该目标矩阵的最大值,并将该最大值写回至内存或缓存中。再根据该目标矩阵的最大值和预设的指定函数,确定该目标矩阵对应的指定矩阵。之后根据指定矩阵中的各数据,确定目标矩阵的归一化结果,以及将该归一化结果写会到内存或缓存中。则在该归一化层的后续处理层需对该归一化结果进行处理时,需从内存或缓存中重新读取该目标矩阵的归一化结果。上述过程中包含有较多需对目标矩阵中包含的全部数据进行读取,以及从内存或缓存中读取并写回数据的步骤,为数据处理过程带来了较多开销。为了避免上述情况的出现,该服务器可在确定出目标矩阵的全局最大值、目标矩阵的全局指数和以及各行数据分别对应的归一化参数后,可先不确定该目标矩阵的归一化结果,而是在后续处理层需基于该归一化结果执行其他步骤时,再去确定该目标矩阵的归一化结果。
具体的,如前所述的,归一化层的输出可作为后处理层的输入,于是,在本说明书中,可预先将该归一化层的第三算子和后处理层的后处理算子进行融合,得到融合算子。
于是,则该服务器可对该后处理层的状态进行监测。
当根据监测到的状态确定该后处理层启动时,该服务器可通过运行该融合算子,根据确定出的目标矩阵的全局最大值、全局指数和以及该目标矩阵,确定该目标矩阵的归一化结果。并基于该归一化结果来执行该后处理层对应的数据处理任务。
其中,该后处理层的输入可仅为该归一化层的输出,也可为该归一化层的输出和该目标模型的其他网络层的输出。因此,该后处理层的状态可基于该后处理层接收到的数据是否满足启动条件确定。若满足该启动条件,则该后处理层的状态可为启动,若不满足该启动条件,则该后处理层的状态可为未启动。其中,该启动条件可为接收到的数据的数据量达到预设的数据量阈值、当前时刻到达预设时刻、接收到的数据对应的发送方为两个或多个等。具体该启动条件的内容可根据需要进行设置,本说明书对此不做限制。
于是,该服务器可基于该后处理层接收到的数据是否满足启动条件,确定该后处理层的状态。
也就是说,在本说明书中,实质上将归一化层拆分为三个算子,将第一算子和前处理层的前处理算子进行绑定,当接收前处理层将待处理数据处理得到的目标矩阵时,直接通过在服务器上运行该基于第一算子和前处理算子进行融合得到的前融合算子对目标矩阵进行处理。以及将该第三算子和后处理层的后处理算子进行融合,对后处理层的状态进行监测,当监测到后处理层的状态为启动状态时,通过在服务器上运行融合算子确定该目标矩阵的归一化结果,并根据该归一化结果执行该后处理层对应的数据处理任务。可选的,该后处理层对应的数据处理任务可为池化任务、激活任务等多种任务。该后处理层对应的数据处理任务的任务类型可根据需要进行设置,本说明书对此不做限制。
在该目标模型为风控模型的场景中,该服务器可通过运行融合算子,根据风控矩阵的全局最大值、全局指数和以及该风控矩阵本身,确定该风控矩阵的归一化结果,进而可基于该归一化结果执行该风控模型中的后处理层对应的数据处理任务。基于本方法,在使用风控模型执行风控任务的场景中,不需要对风控矩阵中的所有元素同时进行运算,也可得到该风控矩阵的全局最大值和全局指数和,以此来得到归一化结果。即使在部署该风控模型的服务器的算力有限的情况下,该服务器也可基于该有限的算力,来快速对风控矩阵进行归一化,以根据归一化结果执行后续步骤,保证了该风控模型的使用效率,以及风控任务的执行效率。
需要说明的是,本说明书中的该目标模型部署在服务器中,因此,该目标模型中的前处理层、归一化层和后处理层以及前处理层、归一化层和后处理层所对应的各算子,均可在该服务器上运行来执行器对应的功能。
根据图1所述的基于softmax的数据处理方法,在服务器中部署目标模型,在获取到待处理数据后,通过目标模型的前处理层,确定该待处理数据对应的目标矩阵,并将该目标破矩阵输入该目标模型的归一化层,通过在服务器上运行该归一化层包含的第一算子,确定该目标矩阵中各行数据分别对应的归一化参数,再通过在服务器上运行该归一化层包含的第二算子,根据各行数据分别对应的归一化参数,确定该目标矩阵对应的全局最大值和全局指数和,进而当目标模型的后处理层启动时,通过在服务器上运行基于第三算子和后处理层的后处理算子融合得到的融合算子,根据该目标矩阵对应的全局最大值和全局指数和,以及该目标矩阵,确定该目标矩阵的归一化结果,并根据该归一化结果执行该后处理层对应的数据处理任务。
本说明书提供的该数据处理方法,可针对该目标矩阵中的每行数据,通过在服务器上运行第一算子,确定该行数据对应的归一化参数,并在服务器上运行通过第二算子,根据各行数据分别对应的归一化参数,来确定该目标矩阵的全局最大值和全局指数和。可见,本说明书不需要对目标矩阵中的数据同时进行处理,即可确定出目标矩阵的全局最大值和全局指数和,降低了对服务器算力的要求,在服务器算力恒定的情况下,执行上述步骤所需时间更少,提高了任务处理效率。且本说明书中的该数据处理方法可在后处理层启动时再确定该目标矩阵的归一化结果,避免了将归一化结果存储在内存并在后处理层启动时从内存中获取归一化结果这一过程导致的资源浪费的情况出现,减少了数据处理任务执行期间所需的计算资源。
需要说明的是,说明书中的softmax层即归一化层,也就是说,本说明书中的基于softmax的数据处理方法,为基于归一化的数据处理方法。该数据处理方法通过目标模型的前处理层,确定待处理数据对应的目标矩阵,再通过在服务器上运行第一算子、第二算子和第三算子,对目标矩阵进行softmax操作,得到归一化结果,再根据归一化结果执行后处理层的数据处理任务。
另外,在本说明书中,针对目标矩阵中的每个数据,在通过指定函数确定该数据对应的函数值时,都需要确定将该数据带入到指数函数中,然后用泰勒公式对相应公式进行泰勒展开,或者根据相应公式,从该公式对应的各自变量以及函数值对应的关系表中进行查找。而上述确定数据对应的函数值的过程,需要较多的计算资源,所需时间较长。而对于计算机来说,提高运算速度的方式之一,就是将原本的公式转换以及查表等操作,转换为移位运算的操作。因此,该服务器还可基于自身运算的进制,将上述指定函数转换为以该进制对应的指定数值为底的特定函数,进而基于特定函数进行移位运算。
具体的,用于对确定函数值的指定函数通常可为指数函数,且该指定函数的底数可为自然常数。
于是,该服务器可确定自身的进位计数制,并确定该进位计数制对应的指定数值。以该服务器自身的进位计数制为2进制或5进制为例,则该指定数值可为2,或可为5。
之后,该服务器可确定该指定数值和自然底数之间的转换关系。以该指定数值为2为例,假设指定函数,则该服务器可根据该指定数值2和自然底数e,确定转换关系为/>
于是,该服务器可将该指定函数,转换为特定函数,/>。其中,/>为常数。
则针对该目标矩阵中的每个数据,在确定该数据对应的函数值时,均可基于上述特定函数进行确定。
以确定行数据的局部指数和为例,该服务器可针对该行数据中的每个数据,通过在该服务器上运行该特定函数,确定以该数据为自变量时的函数值,作为该数据对应的函数值。也就是说,该服务器可首先确定自变量和的乘积,并基于该乘积进行移位运算,将移位运算结果作为该数据对应的函数值。
于是,该服务器可确定该航数值中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和。
进一步的,在根据各行数据分别对应的局部最大值和局部指数和,来确定目标矩阵对应的全局最大值和全局指数和时,需根据各行数据分别对应的归一化参数同时确定,则在目标矩阵的行数比较多的情况下,仍然可能出现对计算资源要求较大的情况,因此,在第二算子中,该服务器可在接收到归一化参数后,即基于该归一化参数确定目标矩阵的全局最大值和全局指数和,直至该目标矩阵中的所有行数据均输入到该第二算子为止。
具体的,该服务器可将各行数据分别对应的归一化参数作为该第二算子的输入,则通过在该服务器上运行该第二算子中,该服务器可根据已接收到的各归一化参数,也就是已确定出的和行数据的归一化参数,确定该目标矩阵的待定最大值和待定指数和。
然后,在确定出待定最大值和待定指数和后,该服务器可判断该目标矩阵中是否存在还未确定出归一化参数的行数据。也就是说,该服务器可判断该第二算子中是否还未接收到了所有目标矩阵的行数据的归一化参数。
若是,则该服务器可将未确定归一化参数的行数据作为指定行数据,并确定该行数据的归一化参数,并将确定出的归一化参数输入该第二算子中,根据该指定行数据的归一化参数和已经确定出的该目标矩阵的待定最大值和待定指数和,重新确定该目标矩阵的待定最大值和待定指数和,直至该目标矩阵中不包含指定行数据为止,即,直至该目标矩阵中不包含尚未确定出归一化参数的行数据为止。
若否,则该服务器可将该待定最大值和该待定指数和作为该目标矩阵对应的全局最大值和全局指数和为止。
更进一步的,在本说明书中,该后处理层中对数据进行处理的方式可为多种,如,逐元素处理、区域处理等,其中,逐元素处理用于表征对该后处理层的输入数据中的各元素逐个进行处理,该区域处理用于表征将该后处理层的输入数据拆分为多个子矩阵,并对各子矩阵逐个进行处理。
具体的,该服务器可当该目标模型的后处理层启动时,确定该后处理层对应的数据处理任务的数据处理方式,并判断该数据处理方式是否为逐元素处理。
若是,则该服务器可针对该目标矩阵中的每行数据,通过运行该预设的指定函数,确定该行数据的指定矩阵。其中,针对该指定矩阵中的每个数据,该数据为将目标矩阵中与该数据处于相同位置的数据作为自变量时,该指定函数对应的函数值。
于是,该服务器可根据该目标矩阵的全局最大值、全局表指数和、各行数据分别对应的归一化参数和该目标矩阵对应的指定矩阵,确定各元素分别对应的权重,并根据该目标矩阵中各数据,即,各元素分别对应的权重,确定该目标矩阵对应的权重矩阵。
最后,该服务器可根据该后处理层对应的数据处理方式和该权重矩阵,确定归一化结果,并对归一化结果中的各数据逐个进行处理。
而在该数据处理方式不为逐元素处理时,该服务器可判断该数据处理方式是否为区域处理。
若为区域处理,则该服务器可针对该目标矩阵的每行数据,通过在服务器上运行预设的指定函数,确定该行数据的指定矩阵,以及根据该目标矩阵的全局最大值、全局指数和、各行数据的归一化参数,确定该目标矩阵中各数据分别对应的权重矩阵。
于是,该服务器将所述目标矩阵拆分为若干子矩阵,并针对每个子矩阵,根据该子矩阵包含的各数据,确定该子矩阵的特定矩阵以及该子矩阵的权重矩阵。
最后,根据各子矩阵分别对应的权重矩阵以及各子矩阵分别对应的特定矩阵,该服务器可确定各子矩阵分别对应的归一化结果,并依次对各子矩阵分别对应的归一化结果进行处理。
另外,该服务器还可对归一化层的输入进行监测,当监测到有需要进行归一化的目标矩阵时,通过运行该第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数。
以上述各行数据的归一化参数分别为和/>为例,则对于该目标矩阵中的每个数据来说,该数据对应的归一化结果可为/>。其中,表征第k行第i列的数据对应的归一化结果,/>表征第k行第i列的数据作为自变量时,指定函数对应的函数值。该目标矩阵对应的尺寸为M行、N列。用于表征第k行数据对应的局部指数和。若以/>表征该局部指数和,则上述归一化结果可为/>
于是,该服务器可确定出该目标矩阵对应的指定矩阵,并针对每行数据,通过在该服务器上运行第一算子,确定该行数据的归一化参数:/>和/>。通过运行第二算子,确定目标矩阵的全局指数和d以及全局最大值m。通过第三算子,根据前述确定出的指定矩阵,各行数据的归一化参数和目标矩阵的全局指数和以及全局最大值,确定归一化结果。
当然,为了避免第三算子所需的计算资源过多的情况出现,该服务器还可在运行第二算子的过程中,针对目标矩阵中的每个数据,确定该数据的权重:。则根据各数据分别对应的权重,该服务器可确定该目标矩阵对应的权重矩阵。
于是,后续该服务器可根据该权重矩阵和该指定矩阵,确定该目标矩阵的归一化结果。
需要说明的是,上述运行第一算子执行的操作,可为运行基于第一算子和前处理层的前处理算子融合得到的前融合算子执行的操作。同样的,上述运行第三算子执行的操作,可为运行基于第三算子和后处理层的后处理算子融合得到的融合算子执行的操作。
基于相同思路,本说明书提供如图2所示的基于softmax的数据处理方法的流程示意图,图中,该服务器可首先确定待处理数据,并将待处理数据输入前处理层,得到该前处理层输出的目标矩阵,并确定该目标矩阵中各行数据分别对应的归一化参数:行数据1的归一化参数、行数据2的归一化参数、……、行数据n的归一化参数等。当确定各行数据均以确定出归一化参数后,基于各行矩阵的归一化参数和该目标矩阵,确定权重矩阵,以及当后处理层启动时,根据权重矩阵和该目标矩阵,执行该后处理层对应的数据处理任务。
基于相同思路,本说明书提供如图3所示的基于softmax的数据处理方法的流程示意图,图中,该服务器可首先确定待处理数据,并将待处理数据输入前处理层,得到该前处理层输出的目标矩阵,并确定该目标矩阵中各行数据分别对应的归一化参数。
当确定各行数据均以确定出归一化参数后,基于各行矩阵的归一化参数和该目标矩阵,确定目标矩阵的全局最大值和全局指数和,并基于确定出的全局最大值和全局指数和,确定各数据分别对应的权重。
与此同时,该服务器可确定后处理层对应的数据处理方式,当该数据处理方式为逐元素计算时,根据各数据分别对应的函数值以及各数据分别对应的权重,对该目标矩阵中的各数据进行逐元素处理,并基于处理结果执行该后处理层对应的数据处理任务。
当该数据处理方式为区域处理时,将该目标矩阵拆分为多个子矩阵,并针对每个子矩阵,根据该子矩阵中各数据分别对应的函数值以及该子矩阵中各数据分别对应的权重,对该子矩阵进行处理,并基于处理结果执行该后处理层对应的数据处理任务。
需要说明的是,本说明书中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
以上为本说明书的一个或多个实施例提供的基于softmax的数据处理方法,基于同样的思路,本说明书还提供了相应的数据处理装置,如图4所示。
图4为本说明书提供的基于softmax的数据处理装置的结构示意图。所述装置应用于服务器,所述服务器中部署有目标模型,所述目标模型至少包含前处理层、归一化层、后处理层,所述归一化层用于将输入所述归一化层的数据进行归一化,所以归一化层包含第一算子、第二算子和第三算子,其中:
获取模块200,用于获取执行目标业务所需的待处理数据。
前处理模块202,用于将所述待处理数据输入所述目标模型的前处理层,得到所述前处理层对所述待处理数据进行处理得到的目标矩阵,所述目标模型用于执行所述目标业务。
局部参数确定模块204,用于将所述目标矩阵输入所述目标模型的归一化层,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,所述归一化参数包含局部最大值和局部指数和。
全局参数确定模块206,用于通过在所述服务器上运行所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和。
后处理模块208,用于当所述目标模型的后处理层启动时,通过在所述服务器上运行融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,其中,所述融合算子为对所述第三算子和所述后处理层的后处理算子融合得到的。
可选地,局部参数确定模块204,用于通过在所述服务器上运行所述归一化层的第一算子,针对所述目标矩阵中的每行数据,确定该行数据中的最大值,作为该行数据的局部最大值,将该行数据中的各数据分别作为自变量,通过在所述服务器上运行预设的指定函数,确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,所述指定函数为指数函数,将所述局部最大值和所述局部指数和,作为该行数据的归一化参数。
可选地,局部参数确定模块204,用于确定执行所述数据处理任务的所述服务器的进位计数制,并确定所述进位计数制对应的指定数值,根据所述指定数值和所述自然底数之间的转换关系,将以所述自然底数为底数的指定函数,转换为以所述指定数值为底数的特定函数,针对该行数据中的每个数据,通过在所述服务器上运行所述特定函数,确定该数据对应的函数值,其中,所述服务器通过移位计算对所述特定函数进行计算,确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和其中,所述指定函数的底数为自然常数;
可选地,全局参数确定模块206,用于通过在所述服务器上运行所述第二算子,根据已确定出的各行数据的归一化参数,确定所述目标矩阵的待定最大值和待定指数和,判断所述目标矩阵中是否存在未确定归一化参数的行数据,若是,则将所述未确定归一化参数的行数据作为指定行数据,并确定所述指定行数据的归一化参数,以及根据所述指定行数据的归一化参数对所述待定最大值和所述待定指数和进行更新,直至所述目标矩阵中不包含指定行数据为止,若否,则将所述待定最大值和待定指数和作为所述目标矩阵对应的全局最大值和全局指数和。
可选地,后处理模块208,用于当所述目标模型的后处理层启动时,确定所述后处理层对应的数据处理任务的数据处理方式,并判断所述数据处理方式是否为逐元素处理,其中,所述逐元素处理用于表征对所述后处理层的输入数据中的各数据逐个进行处理,若是,针对所述目标矩阵中的每行数据,通过在所述服务器上运行预设的指定函数,确定该行数据的指定矩阵,根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵,通过在所述服务器上运行融合算子,根据所述权重矩阵和所述指定矩阵,确定归一化结果,并对所述归一化结果的各数据逐个进行处理,其中,所述指定函数为指数函数。
可选地,后处理模块208,用于当所述数据处理方式不为逐元素处理时,判断所述数据处理方式是否为区域处理,其中,所述区域处理用于表征将所述目标矩阵拆分为若干子矩阵,并依次对各子矩阵进行处理,若是,针对所述目标矩阵中的每行数据,通过在所述服务器上运行预设的指定函数,确定该行数据的指定矩阵,以及根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵,将所述目标矩阵拆分为若干子矩阵,并针对每个子矩阵,根据该子矩阵包含的各数据,确定该子矩阵的特定矩阵以及该子矩阵的权重矩阵,通过在所述服务器上运行融合算子,根据各子矩阵分别对应的权重矩阵以及所述各子矩阵分别对应的特定矩阵,确定该子矩阵对应的归一化结果,并依次对所述各子矩阵分别对应的归一化结果进行处理,其中,所述指定函数为指数函数。
可选地,局部参数确定模块204,用于对所述归一化层的输入进行监测,当监测到有需要进行归一化的目标矩阵时,通过在所述服务器上运行所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的基于softmax的数据处理方法。
本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的基于softmax的数据处理方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (7)

1.一种基于softmax的数据处理方法,其特征在于,所述方法应用于目标模型,所述目标模型至少包含前处理层、归一化层、后处理层,所述归一化层用于将输入所述归一化层的数据进行归一化,所以归一化层包含第一算子、第二算子和第三算子,所述目标模型为风控模型,所述方法包括:
获取待处理数据;所述待处理数据为待风控数据,所述待风控数据为照片;
将所述待处理数据输入所述目标模型的前处理层,得到所述前处理层对所述待处理数据进行处理得到的目标矩阵;
将所述目标矩阵输入所述目标模型的归一化层,通过所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,所述归一化参数包含局部最大值和局部指数和;
通过所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和;
当所述目标模型的后处理层启动时,通过融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,其中,所述融合算子为对所述第三算子和所述后处理层的后处理算子融合得到的;
通过融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,具体包括:
当所述目标模型的后处理层启动时,确定所述后处理层对应的数据处理任务的数据处理方式,并判断所述数据处理方式是否为逐元素处理,其中,所述逐元素处理用于表征对所述后处理层的输入数据中的各数据逐个进行处理;
若是,针对所述目标矩阵中的每行数据,通过预设的指定函数,确定该行数据的指定矩阵,所述指定函数为指数函数;
根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵;
通过融合算子,根据所述权重矩阵和所述指定矩阵,确定归一化结果,并对所述归一化结果的各数据逐个进行处理;
通过所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,具体包括:
通过所述归一化层的第一算子,针对所述目标矩阵中的每行数据,确定该行数据中的最大值,作为该行数据的局部最大值;
将该行数据中的各数据分别作为自变量,通过预设的指定函数,确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,所述指定函数为指数函数;
将所述局部最大值和所述局部指数和,作为该行数据的归一化参数;
所述方法应用于服务器,所述服务器中预先部署所述目标模型,所述指定函数的底数为自然常数;
将该行数据中的各数据分别作为自变量,通过预设的指定函数,确定该行数据中各数据组分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,具体包括:
确定执行所述数据处理任务的所述服务器的进位计数制,并确定所述进位计数制对应的指定数值;
根据所述指定数值和自然底数之间的转换关系,将以所述自然底数为底数的指定函数,转换为以所述指定数值为底数的特定函数;
针对该行数据中的每个数据,通过所述特定函数,确定该数据对应的函数值,其中,所述服务器通过移位计算对所述特定函数进行计算;
确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和。
2.如权利要求1所述的方法,其特征在于,通过所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和,具体包括:
通过所述第二算子,根据已确定出的各行数据的归一化参数,确定所述目标矩阵的待定最大值和待定指数和;
判断所述目标矩阵中是否存在未确定归一化参数的行数据;
若是,则将所述未确定归一化参数的行数据作为指定行数据,并确定所述指定行数据的归一化参数,以及根据所述指定行数据的归一化参数对所述待定最大值和所述待定指数和进行更新,直至所述目标矩阵中不包含指定行数据为止;
若否,则将所述待定最大值和待定指数和作为所述目标矩阵对应的全局最大值和全局指数和。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述数据处理方式不为逐元素处理时,判断所述数据处理方式是否为区域处理,其中,所述区域处理用于表征将所述目标矩阵拆分为若干子矩阵,并依次对各子矩阵进行处理;
若是,针对所述目标矩阵中的每行数据,通过预设的指定函数,确定该行数据的指定矩阵,以及根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵,其中,所述指定函数为指数函数;
将所述目标矩阵拆分为若干子矩阵,并针对每个子矩阵,根据该子矩阵包含的各数据,确定该子矩阵的特定矩阵以及该子矩阵的权重矩阵;
通过融合算子,根据各子矩阵分别对应的权重矩阵以及所述各子矩阵分别对应的特定矩阵,确定该子矩阵对应的归一化结果,并依次对所述各子矩阵分别对应的归一化结果进行处理。
4.如权利要求1所述的方法,其特征在于,通过所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,具体包括:
对所述归一化层的输入进行监测,当监测到有需要进行归一化的目标矩阵时,通过所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数。
5.一种基于softmax的数据处理装置,其特征在于,所述装置应用于目标模型,所述目标模型至少包含前处理层、归一化层、后处理层,所述归一化层用于将输入所述归一化层的数据进行归一化,所以归一化层包含第一算子、第二算子和第三算子,所述目标模型为风控模型,所述装置包括:
获取模块,用于获取待处理数据;所述待处理数据为待风控数据,所述待风控数据为照片;
前处理模块,用于将所述待处理数据输入所述目标模型的前处理层,得到所述前处理层对所述待处理数据进行处理得到的目标矩阵;
局部参数确定模块,用于将所述目标矩阵输入所述目标模型的归一化层,通过所述归一化层的第一算子,确定所述目标矩阵中各行数据分别对应的归一化参数,所述归一化参数包含局部最大值和局部指数和;
全局参数确定模块,用于通过所述第二算子,根据所述各行数据分别对应的局部最大值和局部指数和,确定所述目标矩阵的全局最大值和全局指数和;
后处理模块,用于当所述目标模型的后处理层启动时,通过融合算子,根据所述目标矩阵的全局最大值、全局指数和以及所述目标矩阵,确定所述目标矩阵的归一化结果,并根据所述归一化结果执行所述后处理层对应的数据处理任务,其中,所述融合算子为对所述第三算子和所述后处理层的后处理算子融合得到的;
所述后处理模块,用于当所述目标模型的后处理层启动时,确定所述后处理层对应的数据处理任务的数据处理方式,并判断所述数据处理方式是否为逐元素处理,其中,所述逐元素处理用于表征对所述后处理层的输入数据中的各数据逐个进行处理;
若是,针对所述目标矩阵中的每行数据,通过预设的指定函数,确定该行数据的指定矩阵,所述指定函数为指数函数;
根据所述目标矩阵的全局最大值、全局指数和、各行数据分别对应的归一化参数以及所述目标矩阵对应的指定矩阵,确定所述目标矩阵中各数据分别对应的权重,并根据所述各数据分别对应的权重矩阵,确定所述目标矩阵的权重矩阵;
通过融合算子,根据所述权重矩阵和所述指定矩阵,确定归一化结果,并对所述归一化结果的各数据逐个进行处理;
所述局部参数确定模块,用于通过所述归一化层的第一算子,针对所述目标矩阵中的每行数据,确定该行数据中的最大值,作为该行数据的局部最大值,将该行数据中的各数据分别作为自变量,通过预设的指定函数,确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,所述指定函数为指数函数,将所述局部最大值和所述局部指数和,作为该行数据的归一化参数;
所述局部参数确定模块,用于确定执行所述数据处理任务的服务器的进位计数制,并确定所述进位计数制对应的指定数值,根据所述指定数值和自然底数之间的转换关系,将以所述自然底数为底数的指定函数,转换为以所述指定数值为底数的特定函数,针对该行数据中的每个数据,通过所述特定函数,确定该数据对应的函数值,其中,所述服务器通过移位计算对所述特定函数进行计算,确定该行数据中的各数据分别对应的函数值,并确定各函数值之和,作为该行数据的局部指数和,其中,所述模块应用于服务器,所述服务器中预先部署所述目标模型,所述指定函数的底数为自然常数。
6.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~4任一项所述的方法。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~4任一项所述的方法。
CN202311293166.2A 2023-10-08 2023-10-08 基于softmax的数据处理方法及装置 Active CN117009729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311293166.2A CN117009729B (zh) 2023-10-08 2023-10-08 基于softmax的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311293166.2A CN117009729B (zh) 2023-10-08 2023-10-08 基于softmax的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN117009729A CN117009729A (zh) 2023-11-07
CN117009729B true CN117009729B (zh) 2024-01-26

Family

ID=88565802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311293166.2A Active CN117009729B (zh) 2023-10-08 2023-10-08 基于softmax的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN117009729B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766898A (zh) * 2018-12-26 2019-05-17 平安科技(深圳)有限公司 图像文字识别方法、装置、计算机设备及存储介质
CN112069979A (zh) * 2020-09-03 2020-12-11 浙江大学 一种实时动作识别人机交互系统
CN112651485A (zh) * 2019-10-11 2021-04-13 三星电子株式会社 识别图像的方法和设备以及训练神经网络的方法和设备
CN114118354A (zh) * 2020-08-28 2022-03-01 辉达公司 高效的softmax计算
CN115270071A (zh) * 2022-07-08 2022-11-01 南京大学 一种近似计算softmax函数的装置
WO2023287392A1 (en) * 2021-07-12 2023-01-19 Google Llc Systems and methods for federated learning of machine-learned models with sampled softmax
CN115981870A (zh) * 2023-03-10 2023-04-18 之江实验室 一种数据处理的方法、装置、存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766898A (zh) * 2018-12-26 2019-05-17 平安科技(深圳)有限公司 图像文字识别方法、装置、计算机设备及存储介质
CN112651485A (zh) * 2019-10-11 2021-04-13 三星电子株式会社 识别图像的方法和设备以及训练神经网络的方法和设备
CN114118354A (zh) * 2020-08-28 2022-03-01 辉达公司 高效的softmax计算
CN112069979A (zh) * 2020-09-03 2020-12-11 浙江大学 一种实时动作识别人机交互系统
WO2023287392A1 (en) * 2021-07-12 2023-01-19 Google Llc Systems and methods for federated learning of machine-learned models with sampled softmax
CN115270071A (zh) * 2022-07-08 2022-11-01 南京大学 一种近似计算softmax函数的装置
CN115981870A (zh) * 2023-03-10 2023-04-18 之江实验室 一种数据处理的方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SoPC FPGA云平台软硬件协同交互框架;赵然;常轶松;刘波;刘超伟;陈明宇;张科;;高技术通讯(04);全文 *

Also Published As

Publication number Publication date
CN117009729A (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
CN110262937B (zh) 一种指标异常原因的识别方法及装置
CN116167461B (zh) 一种模型训练的方法、装置、存储介质及电子设备
CN116304720B (zh) 一种代价模型训练的方法、装置、存储介质及电子设备
CN109615171B (zh) 特征阈值确定方法及装置、问题对象确定方法及装置
CN115981870B (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN115828162B (zh) 一种分类模型训练的方法、装置、存储介质及电子设备
CN115712866B (zh) 数据处理方法、装置及设备
CN115600157B (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN117370536B (zh) 一种任务执行方法、装置、存储介质及电子设备
CN116402165B (zh) 一种算子检测的方法、装置、存储介质以及电子设备
CN115545572B (zh) 一种业务风控的方法、装置、设备及存储介质
CN116186330B (zh) 一种基于多模态学习的视频去重方法及装置
CN115543945B (zh) 一种模型压缩的方法、装置、存储介质及电子设备
CN117009729B (zh) 基于softmax的数据处理方法及装置
CN117348999B (zh) 一种业务执行系统及业务执行方法
CN116755862B (zh) 一种算子优化调度模型的训练方法、装置、介质及设备
CN115841335B (zh) 数据处理方法、装置及设备
CN116109008B (zh) 一种业务执行的方法、装置、存储介质及电子设备
CN116340469B (zh) 一种同义词挖掘方法、装置、存储介质及电子设备
CN117593004A (zh) 数据处理方法、装置及设备
CN117591217A (zh) 一种信息展示方法、装置、设备及存储介质
CN117592102A (zh) 一种业务执行方法、装置、设备及存储介质
CN117973867A (zh) 一种风险控制的方法、装置、存储介质、设备
CN117592581A (zh) 一种模型训练方法、装置、存储介质及电子设备
CN116957330A (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