CN107527091B - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN107527091B CN107527091B CN201610900390.7A CN201610900390A CN107527091B CN 107527091 B CN107527091 B CN 107527091B CN 201610900390 A CN201610900390 A CN 201610900390A CN 107527091 B CN107527091 B CN 107527091B
- Authority
- CN
- China
- Prior art keywords
- data
- time window
- model
- processed
- neural network
- 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
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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/047—Probabilistic or stochastic 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0242—Determining effectiveness of advertisements
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种数据处理方法和装置。其中,该数据处理方法包括:在预设场景下,获取输入至神经网络的第一待处理数据,神经网络为待更新的模型;通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型;获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;通过第二待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型;将第一增量模型进行线上发布。本发明解决了相关技术中数据处理的模型不能快速更新的问题的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。
背景技术
目前,在数据处理中,逻辑回归模型(Logistic Regression,简称为LR)已广泛应用于广告点击率预估。然而,作为一种线性模型,逻辑回归模型的局限性在于难以学习到原始特征以及特征组合中的非线性信息。此外,逻辑回归模型的权重由一维向量表达,需要人工构造高阶特征组合,不具有自动学习空间高维特征组合的能力,这样数据处理的模型极大地依赖于人为参与的特征工程(Feature Engineering)。
相关技术中存在构造深度神经网络的点击率预估方法,比如,构造深度神经网络的广告点击率预估,可以从原始特征中学习非线性信息。一方面,在传统的机器学习框架下,学习的任务就是在给定充分训练数据的基础上来学习一个点击率预估模型,然后利用这个学习到的模型来在线实时预测用户对广告的点击行为;另一方面,互联网在线投放的数据环境本身是快速变化的,首先,用户群是快速变化的,也即,新用户不断加入且用户会不断产生新的行为和新的兴趣点;其次,新数据不断出现,同时旧数据也会不断下架。因此数据处理的模型更新必须快速,才能更好地适应这种快速变化。为了体现快速变化的数据环境,需要实现快速的模型更新,因此只有有限的时间来完成模型的训练。
而互联网中的投放数据是海量的,在数据处理中,模型训练是有时间限制的,一次全量的模型训练需要在随机初始化的模型基础上使用充分的训练数据经过多轮迭代得到充分拟合数据的收敛模型,由于涉及大量的计算使得模型训练时间漫长,故不能满足模型快速更新的需求。
针对上述相关技术中数据处理的模型不能快速更新的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法和装置,以至少解决相关技术中数据处理的模型不能快速更新的问题的技术问题。
根据本发明实施例的一个方面,提供了数据处理方法。该数据处理方法包括:在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;将第一增量模型进行线上发布。
根据本发明实施例的另一方面,还提供了一种数据处理装置。该数据处理装置包括:第一获取单元,用于在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;第一迭代单元,用于通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;第二获取单元,用于获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;第二迭代单元,用于通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;第一发布单元,用于将第一增量模型进行线上发布。
在本发明实施例中,在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;将第一增量模型进行线上发布的方式,达到了对增量模型进行更新、发布的目的,从而实现了快速更新数据处理的模型的技术效果,进而解决了相关技术中数据处理的模型不能快速更新的问题的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据处理方法的硬件环境的示意图;
图2是根据本发明实施例的一种数据处理方法的流程图;
图3是根据本发明实施例的另一种数据处理方法的流程图;
图4是根据本发明实施例的一种根据第一当前时间和第二时间窗口确定第三时间窗口的方法的流程图;
图5是根据本发明实施例的另一种数据处理方法的流程图;
图6是根据本发明实施例的一种从第一增量模型中清除失效数据的方法的流程图;
图7是根据本发明实施例的另一种数据处理方法的流程图;
图8是根据本发明实施例的另一种数据处理方法的流程图;
图9是根据本发明实施例的一种通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练的方法的流程图;
图10是根据本发明实施例的一种深度神经网络的全连接结构的示意图;
图11是根据本发明实施例的另一种数据处理方法的流程图;
图12是根据本发明实施例的一种定期清除失效键的示意图;
图13是根据本发明实施例的一种数据处理装置的示意图;
图14是根据本发明实施例的另一种数据处理装置的示意图;
图15是根据本发明实施例的另一种数据处理装置的示意图;
图16是根据本发明实施例的另一种数据处理装置的示意图;
图17是根据本发明实施例的另一种数据处理装置的示意图;以及
图18是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据处理方法的实施例。
可选地,在本实施例中,上述数据处理方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的数据处理方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的数据处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的数据处理方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种数据处理方法的流程图。如图2所示,该数据处理方法可以包括以下步骤:
步骤S202,在预设场景下,获取输入至神经网络的第一待处理数据。
在本发明上述步骤S202提供的技术方案中,在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型。
在预设场景下,点击流数据的产生极为迅猛,每天产生大量的曝光数据,比如,媒体文件的CTR预估场景,比如,在互联网广告场景下,每天产生大量广告曝光数据,广告曝光数据由于包含了广告内容、用户内容以及时间等上下文特征,是有价值的标注数据,可以以点击与否作为标注。数据处理的模型通过学习拟合历史曝光数据,具有在未来一段时间内预测对数据点击的点击率的作用,比如,数据处理中的广告点击率预估模型,具有在未来一段的时间内预测广告点击率的作用。一方面由于用户行为和互联网上数据处理的素材是时刻变化的,用于预估点击率的模型需要快速更新,另一方面要求点击率预估模型拟合海量历史数据以学习用户点击行为模式的不变特性,因此,对于数据处理的模型的更新训练,如果每次丢弃之前训练好的模型,而对模型从头开始训练,将是十分浪费的,例如,如果已经训练得到了足够拟合上一批历史数据(记作D)的模型M,经过一段时间后则要对这段时间内产生的新数据D’进行学习,在需要训练得到新模型(既有对数据D又有对数据D’的拟合)的需求中,完全丢弃这个模型M是非常浪费的。该实施例采用增量更新方法训练数据处理的模型,比如,采用增量更新方法训练广告点击率预估模型。
在预设场景下,神经网络中输入第一待处理数据,该第一待处理数据为训练数据,该第一待处理数据包括曝光日志中用户特征和数据的特征组合离散化后的独热编码(One-Hot Encoding)向量。在该实施例中,独热编码作为一种对属性类分段特征的处理方法,对于每一个特征,如果它有M个可能值,那么经过独热编码后,就变成了M个(0-1)二元特征,并且这些特征互斥,每次只有一个激活(激活则值为1,非激活则值为0),由此数据会变成稀疏的。该神经网络为待更新的模型,优选为待更新的深度神经网络,由神经元组成,可以由具有两个隐藏层的多层感知器(Multi-Layer Perceptron,简称为MLP)神经网络的神经元连接,包括了由于某输入向量中非零元使得神经网络训练中一次反向传播计算中需要参与的神经元,比一般的神经网络更为复杂。获取输入至深度神经网络的第一待处理数据。
在媒体文件的CTR预估场景下,当预设场景为互联网广告场景时,上述深度神经网络输入的第一待处理数据是将训练数据中每条广告曝光日志中用户特征和广告特征组合离散化后的独热编码向量,适用于广告点击率预估场景的深度学习。
步骤S204,通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
在本发明上述步骤S204提供的技术方案中,通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型。
在获取输入至神经网络的第一待处理数据之后,对数据处理的模型进行初始化,对数据处理的模型进行随机初始化。在冷启动状态下,以当前时间倒溯,确定第一时间窗口,该第一时间窗口也即滑动数据窗口,为冷启动训练时的固定数据窗口,其中,冷启动状态为对神经网络进行首次处理时的状态,为一种软件启动状态,包括但不限于故障恢复之后的处理状态。第一待处理数据中位于第一时间窗口内的第一目标数据的时间跨度为(当前时间减去第一时间窗口对应的时间,当前时间),通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,该第一预设次数为通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行迭代的迭代次数,每一次迭代训练都有学习步长,从而得到神经网络的种子模型,该种子模型为神经网络的初始化模型,暂时不进行线上发布,为用于启动模型增量更新训练的首个模型,可以通过冷启动、随机初始化,使用一定时间窗口数据,进行多轮迭代训练得到。可选地,使用第一时间窗口内的点击曝光数据训练模型一个迭代,得到神经网络的种子模型。
步骤S206,获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据。
在本发明上述步骤S206提供的技术方案中,在通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型之后,随着时间的推移,在第一时间窗口对应的时间之后产生第一新增数据,获取该第一新增数据,并将第一新增数据和第二待处理数据合并得到第二待处理数据,该第二待处理数据为接下来处理的数据对象。
步骤S208,通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型。
在本发明上述步骤S208提供的技术方案中,通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数。
在通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型之后,对种子模型以增量更新的方式训练新的模型,也即,对种子模型进行一次增量更新训练。可选地,基于种子模型,滑动第一时间窗口,使右边界契合当前时间,得到第二时间窗口,通过第二时间窗口内的第二目标数据训练模型第二预设次数迭代,每一次迭代训练都有学习步长,该第二预设次数小于等于第一预设次数,得到第一增量模型,该第一增量模型可以在推送上线时预估数据的点击率。可选地,使用第二时间窗口内的广告点击曝光数据训练模型第二预设次数迭代,得到第一增量模型,该第一增量模型可以在推送上线时预估广告点击率。
可选地,上述第一时间窗口的时间长度与第二时间窗口的长度可以相同。比如,第一时间窗口的长度与第二时间窗口的长度都为23小时,第一时间窗口的左边界为一天的00:00,第一时间窗口的右边界为当天的23:00,将第一时间窗口向右滑动10分钟,得到第二时间窗口的左边界为当天的00:10,第二时间窗口的右边界为当天的23:10(也即,当前时间)。
可选地,上述第一时间窗口的时间长度与第二时间窗口的长度可以不同。比如,第一时间窗口的长度为23小时,第一时间窗口的左边界为一天的00:00,第一时间窗口的右边界为当天的23:00,第二时间窗口的长度为22小时,将第一时间窗口的右边界向右滑动10分钟,得到第二时间窗口的右边界为当天的23:10(也即,当前时间),第二时间窗口的左边界为第二时间窗口的右边界向前推移22小时,也即,第二时间窗口的左边界为当天的00:10。
步骤S210,将第一增量模型进行线上发布。
在本发明上述步骤S210提供的技术方案中,将第一增量模型进行线上发布。
在通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,将第一增量模型进行线上发布,也即,将第一增量模型推送上线,用于预估数据的点击率,直至下次新模型推送。
需要说明的是,第一增量模型在更新训练的过程中,应适当减少模型学习步长,优选地,学习步长应小于等于种子模型训练阶段最后一个迭代所用的学习步长,以避免一些训练好的权重离开最优点。
由于对数据处理的模型采用增量更新训练的方式,每次需要的训练迭代次数小于等于固定数据窗口所需的迭代次数,因此大大加快了线上模型的更新速度,能更快地反应用户行为变化和新数据上线的影响。另外,由于模型可以记忆更持久的用户信息和数据信息,对于数据长期投放的行为和用户点击行为拟合更加准确。
需要说明的是,当增量模型以成百上千的数量增加时,深度神经网络具备更强的表达能力,对数据非线性特征的拟合能力更强,对增量模型的多个权重的处理能力更强,可以更准确地预估CTR,进一步地提升广告点击率,上述技术方案优选适用于对深度神经网络中的第一待处理数据进行处理的方法。
通过上述步骤S202至步骤S210,通过在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;将第一增量模型进行线上发布,可以解决了相关技术中数据处理的模型不能快速更新的问题的技术问题,进而达到了快速更新数据处理的模型的技术效果。
作为一种可选的实施例,在将第一增量模型进行线上发布之后,根据第一当前时间和第二时间窗口确定第三时间窗口,通过第一待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型,将第二增量模型进行线上发布。
图3是根据本发明实施例的另一种数据处理方法的流程图。如图3所示,该数据处理方法还包括以下步骤:
步骤S301,根据第一当前时间和第二时间窗口确定第三时间窗口。
在本发明上述步骤S301提供的技术方案中,在将第一增量模型进行线上发布之后,据第一当前时间和第二时间窗口确定第三时间窗口,其中,第三时间窗口与第二时间窗口具有第二预设重叠区域。
在将第一增量模型进行线上发布之后,对数据处理中的模型进行第二次增量更新训练。基于第一增量模型,滑动第二时间窗口,使右边界契合第一当前时间,得到第二时间窗口,该第一时间窗口与第二时间窗口具有时间上的重叠区域。
步骤S302,获取在第二时间窗口对应的时间之后产生的第二新增数据,并将第二新增数据和第二待处理数据合并为第三待处理数据。
在本发明上述步骤S302提供的技术方案中,随着时间的推移,在第二时间窗口对应的时间之后产生第二新增数据,获取第二新增数据,并将第二新增数据和第二待处理数据合并为第三待处理数据,该第三待处理数据为接下来处理的数据对象。
步骤S303,通过第三待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型。
在本发明上述步骤S303提供的技术方案中,通过第三待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型,其中,第三预设次数小于等于第一预设次数。
在根据第一当前时间和第二时间窗口确定第三时间窗口之后,对第一增量模型以增量更新的方式训练新的模型,也即,对第一增量模型进行一次增量更新训练。通过第三时间窗口内的第三目标数据训练模型第三预设次数迭代,每一次迭代训练都有学习步长,该第三预设次数小于等于第一预设次数,得到第二增量模型,该第二增量模型可以在推送上线时预估数据的点击率。可选地,使用第三时间窗口内的广告点击曝光数据训练模型第三预设次数迭代,得到第二增量模型,该第二增量模型可以在推送上线时预估广告点击率。
该实施例可以用于基于海量数据训练用于广告点击率预估的深度学习模型时,避免模型从头训练带来的时间开销,达到了模型快速更新的目的。
步骤S304,将第二增量模型进行线上发布。
在本发明上述步骤S304提供的技术方案中,将第二增量模型进行线上发布。
在通过第三待处理数据中位于第三时间窗口内的第三目标数据对种子模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型之后,将第二增量模型进行线上发布,也即,将第二增量模型推送上线,用于预估数据的点击率,直至下次新模型推送。
需要说明的是,第二增量模型在更新训练的过程中,应适当减少模型学习步长,优选地,学习步长应小于等于种子模型训练阶段最后一个迭代所用的学习步长,以避免一些训练好的权重离开最优点。
由于对数据处理的模型采用增量更新训练的方式,每次需要的训练迭代次数小于等于固定数据窗口所需的迭代次数,因此大大加快了线上模型的更新速度,能更快地反应用户行为变化和新数据上线的影响。另外,由于模型可以记忆更持久的用户信息和数据信息,对于数据长期投放的行为和用户点击行为拟合更加准确。
该实施例通过在将第一增量模型进行线上发布之后,根据第一当前时间和第二时间窗口确定第三时间窗口,其中,第三时间窗口与第二时间窗口具有第二预设重叠区域;获取在第二时间窗口对应的时间之后产生的第二新增数据,并将第二新增数据和第二待处理数据合并为第三待处理数据;通过第三待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型,其中,第三预设次数小于等于第一预设次数;将第二增量模型进行线上发布,实现了对数据处理中的模型的更新,达到了快速更新数据处理中的模型的效果。
作为一种可选的实施例,步骤S301,根据第一当前时间和第二时间窗口确定第三时间窗口中,在判断出有用于推送新模型的指示信息的情况下,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,并将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口。
图4是根据本发明实施例的一种根据第一当前时间和第二时间窗口确定第三时间窗口的方法的流程图。如图4所示,该一种根据第一当前时间和第二时间窗口确定第三时间窗口的方法包括以下步骤:
步骤S401,判断是否有用于推送新模型的指示信息。
在本发明上述步骤S401提供的技术方案中,判断是否有用于推送新模型的指示信息,其中,新模型包括第二增量模型。
在将第一增量模型进行线上发布之后,对是否有用于推送新模型的指示信息进行判断,该新模型包括第二增量模型,判断是否有用于推送第二增量模型的指示信息。
步骤S402,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,并将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口。
在本发明上述步骤S402提供的技术方案中,如果判断出有指示信息,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,并将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口。
在判断是否有用于推送新模型的指示信息之后,如果判断出有指示信息,对数据处理的模型进行第二次增量更新训练。基于第一增量模型,滑动第二时间窗口,使右边界契合第一当前时间。获取第三时间窗口的长度,该第三时间窗口的长度与第二时间窗口的长度可以相同,也可以不同。将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和左边界确定第三时间窗口。
可选地,上述第二时间窗口的时间长度与第三时间窗口的长度可以相同。比如,第二时间窗口的长度与第三时间窗口的长度都为23小时,第二时间窗口的左边界为一天的00:00,第二时间窗口的右边界为当天的23:00,将第二时间窗口向右滑动10分钟,得到第三时间窗口的左边界为当天的00:10,第三时间窗口的右边界为当天的23:10(也即,第一当前时间),从而实现根据第一当前时间和第二时间窗口确定第三时间窗口的目的。
可选地,上述第二时间窗口的时间长度与第三时间窗口的长度可以不同。比如,第二时间窗口的长度为23小时,第二时间窗口的左边界为一天的00:00,第二时间窗口的右边界为当天的23:00,第三时间窗口的长度为22小时,将第三时间窗口的右边界向右滑动10分钟,得到第三时间窗口的右边界为当天的23:10(也即,当前时间),第三时间窗口的左边界为第三时间窗口的右边界向前推移22小时,也即,第三时间窗口的左边界为当天的00:10,从而实现根据第一当前时间和第二时间窗口确定第三时间窗口的目的。
该实施例通过判断是否有用于推送新模型的指示信息,其中,新模型包括第二增量模型;如果判断出有指示信息,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口,实现了根据第一当前时间和第二时间窗口确定第三时间窗口的目的。
作为一种可选的实施例,在将第一增量模型进行线上发布之后,按照预设周期在判断出第一增量模型中存在失效数据的情况下,从第一增量模型中清除失效数据,得到更新增量模型;将更新增量模型进行线上发布。
图5是根据本发明实施例的另一种数据处理方法的流程图。如图5所示,该数据处理方法还包括以下步骤:
步骤S501,按照预设周期判断第一增量模型中是否存在失效数据。
在本发明上述步骤S501提供的技术方案中,在将第一增量模型进行线上发布之后,按照预设周期判断第一增量模型中是否存在失效数据,其中,失效数据为停止推送的第一待处理数据。
由于在训练了种子模型以后,每次以增量更新的方法训练新模型,随着时间的推移,将不断积累使得模型尺寸不断膨胀。而在数据的应用场景中,每个数据都有一定的生命期,在数据投放的时间超过预定的投放时间时,数据将下架停止投放,此类数据将成为失效数据,此后再去预估下架的数据是毫无意义的。
定期从模型中清除失效数据,可以定期从模型中清除失效数据的键值。对于第一增量模型而言,在将第一增量模型进行线上发布之后,按照预设周期判断第一增量模型中是否存在上述失效数据。
步骤S502,从第一增量模型中清除失效数据,得到更新增量模型。
在本发明上述步骤S502提供的技术方案中,如果按照预设周期判断出第一增量模型中存在失效数据,从第一增量模型中清除失效数据,得到更新增量模型。
在按照预设周期判断第一增量模型中是否存在失效数据之后,如果按照预设周期判断第一增量模型存在失效数据,也即,第一增量模型中的数据随着时间的推移,下架停止投放,从第一增量模型中清除下架停止投放的数据,得到更新增量模型,从而使模型保持合理的大小,避免模型的尺寸不断膨胀,而投放毫无意义的数据。
步骤S503,将更新增量模型进行线上发布。
在本发明上述步骤S503提供的技术方案中,将更新增量模型进行线上发布。
在从第一增量模型中清除失效数据,得到更新增量模型之后,将更新增量模型进行上线推送,预估数据的点击率。
该实施例在将第一增量模型进行线上发布之后,按照预设周期判断第一增量模型中是否存在失效数据,其中,失效数据为停止推送的第一待处理数据;如果按照预设周期判断出第一增量模型中存在失效数据,从第一增量模型中清除失效数据,得到更新增量模型;将更新增量模型进行线上发布,从而使模型保持合理的大小,避免模型的尺寸不断膨胀,而投放毫无意义的数据,实现了快速更新数据处理的模型的技术效果。
作为一种可选的实施例,在步骤S502,从第一增量模型中清除失效数据,得到更新增量模型中,获取第一增量模型中不在通过将第二时间窗口扩大预设倍数得到的第四时间窗口内的第二待处理数据,将第一增量模型中不在第四时间窗口内的第二待处理数据作为失效数据;从第一增量模型中清除失效数据,得到更新增量模型。
图6是根据本发明实施例的一种从第一增量模型中清除失效数据的方法的流程图。如图6所示,该从第一增量模型中清除失效数据,得到更新增量模型的方法包括以下步骤:
步骤S601,将第二时间窗口扩大预设倍数,得到第四时间窗口。
在本发明上述步骤S601提供的技术方案中,将第二时间窗口扩大预设倍数,得到第四时间窗口。
在将第一增量模型进行线上发布之后,如果按照预设周期判断出第一增量模型中存在失效数据,则将第二时间窗口按照时间拉长预设倍数,得到第四时间窗口,以第四时间窗口为屏障。
步骤S602,获取第一增量模型中不在第四时间窗口内的第二待处理数据。
在本发明上述步骤S602提供的技术方案中,获取第一增量模型中不在第四时间窗口内的第二待处理数据,其中,将第一增量模型中不在第四时间窗口内的第二待处理数据作为失效数据。
在将第二时间窗口扩大预设倍数,得到第四时间窗口之后,获取第一增量模型中不在第四时间窗口内的第二待处理数据,可以获取第一增量模型中不在此第四时间窗口内的特征,该第一增量模型中不在此第四时间窗口内的特征为神经网络的神经元代表。
步骤S603,从第一增量模型中清除失效数据,得到更新增量模型。
在本发明上述步骤S603提供的技术方案中,从第一增量模型中清除失效数据,得到更新增量模型。
在获取第一增量模型中不在第四时间窗口内的第二待处理数据之后,从第一增量模型中清除失效数据,得到更新增量模型,也即,清除第一增量模型中不在第四时间窗口内的特征,得到更新增量模型。
上述清除失效数据的方法同样适用于从第二增量模型中清除失效数据的方法,以及在后续模型训练的过程中,对后续产生的新模型中的失效数据进行清除的方法,此处不再赘述。
该实施例通过将第二时间窗口扩大预设倍数,得到第四时间窗口;获取第一增量模型中不在第四时间窗口内的第二待处理数据,其中,将第一增量模型中不在第四时间窗口内的第二待处理数据作为失效数据;从第一增量模型中清除失效数据,得到更新增量模型,实现了从第一增量模型中清除失效数据,得到更新增量模型的目的,从而使模型保持合理的大小,进而达到了快速更新数据处理的模型的技术效果。
作为一种可选的实施例,在推送更新增量模型上线之后,根据第二当前时间和第四时间窗口确定第五时间窗口;根据第五时间窗口内的第四待处理数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型,并将第三增量模型进行线上发布。
图7是根据本发明实施例的另一种数据处理方法的流程图。如图7所示,该数据处理方法还包括以下步骤:
步骤S701,根据第二当前时间和第四时间窗口确定第五时间窗口。
在本发明上述步骤S701提供的技术方案中,在推送更新增量模型上线之后,根据第二当前时间和第四时间窗口确定第五时间窗口,其中,第五时间窗口与第四时间窗口具有第三预设重叠区域。
在推送更新增量模型上线之后,对更新增量模型进行增量更新训练,根据第二当前时间和第四时间窗口确定第五时间窗口,该第五时间窗口和第四时间窗口具有第三预设重叠区域。具体而言,以第二当前时间确定为第五时间窗口的右边界,滑动第四时间窗口至第五时间窗口的右边界,将第五时间窗口的右边界向前推移第五时间窗口的长度,得到第五时间窗口的左边界,根据第五时间窗口的右边界和第五时间窗口的左边界确定第五时间窗口。
步骤S702,获取在第四时间窗口对应的时间之后产生的第三新增数据,并将第三新增数据和第二待处理数据合并为第四待处理数据。
在本发明上述步骤S702提供的技术方案中,随着时间的推移,在第四时间窗口对应的时间之后产生第三新增数据,获取第三新增数据,并将第三新增数据和第一待处理数据合并为第四待处理数据,该第四待处理数据为接下来处理的数据对象。
步骤S703,通过第四待处理数据中位于第五时间窗口内的第四目标数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型。
在本发明上述步骤S703提供的技术方案中,根据第五时间窗口内的第一待处理数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型,其中,第四预设次数小于等于第一预设次数。
在根据第二当前时间和第四时间窗口确定第五时间窗口之后,确定第一待处理数据中位于第五时间窗口内的第四目标数据,通过第四目标数据对更新增量模型进行第四预设次数的迭代训练,该第四目标数据可以为广告点击曝光数据,可以通过广告点击曝光数据对更新增量模型进行第四预设次数的迭代,该第四预设次数小于等于第一预设次数,大大加快了线上模型的更新速度,能更快地反应用户的行为变化和新广告上线的影响。
步骤S704,将第三增量模型进行线上发布。
在本发明上述步骤S704提供的技术方案中,将第三增量模型进行线上发布。
在通过第一待处理数据中位于第五时间窗口内的第四目标数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型之后,对第三增量模型进行推送上线,用于预估对数据的点击率,可以预估对广告的点击率。
第三增量模型中存在停止推送的第一待处理数据,也即,第三增量模型中存在失效数据,为了维持模型合理的大小,对第三增量模型中的失效数据也进行清除。可选地,从第一增量模型中清除失效数据的方法的同样适用于从第三增量模型中清除失效数据的方法。随着时间的推移,模型将不断累积使得模型尺寸不断膨胀,对模型中的无效数据进行清除的方法同样可以采取上述从第一增量模型中清除失效数据的方法,此处不再赘述。
该实施例通过在推送更新增量模型上线之后,根据第二当前时间和第四时间窗口确定第五时间窗口,其中,第五时间窗口与第四时间窗口具有第三预设重叠区域;通过第一待处理数据中位于第五时间窗口内的第四目标数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型,其中,第四预设次数小于等于第一预设次数;将第三增量模型进行线上发布,达到了快速更新数据处理的模型的技术效果。
作为一种可选的实施例,在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,通过第一增量模型对历史数据进行拟合,得到拟合结果,通过第一增量模型携带拟合结果。
图8是根据本发明实施例的另一种数据处理方法的流程图。如图8所示,该数据处理方法还包括以下步骤:
步骤S801,通过第一增量模型对历史数据进行拟合,得到拟合结果。
在本发明上述步骤S801提供的技术方案中,在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,通过第一增量模型对历史数据进行拟合,得到拟合结果,其中,历史数据为处理过的待处理数据。
在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,获取所有第一增量模型中的历史数据,可以是历史的广告数据,通过第一增量模型对历史数据进行拟合,得到拟合结果,从而获取对历史数据的拟合状态。可以通过学习拟合广告历史曝光数据,使得拟合结果具有在未来一段时间内预测广告点击率的作用。
步骤S802,通过第一增量模型携带拟合结果。
在本发明上述步骤S802提供的技术方案中,通过第一增量模型携带拟合结果。
通过第一增量模型对历史数据进行拟合,得到拟合结果之后,通过第一增量模型携带拟合结果。通过模型增量式训练使得模型中永远携带有对所有历史数据的拟合状态,相较于基于一定数据全量训练的模型,其对于用户行为和数据信息的认知更加泛化,因此对于数据的点击率拟合预估更加准确。
该实施例通过在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,通过第一增量模型对历史数据进行拟合,得到拟合结果,其中,历史数据为处理过的待处理数据;通过第一增量模型携带拟合结果,实现了模型增量式训练使得模型中永远携带有对所有历史数据的拟合状态,达到了提高拟合预估准确性的效果。
作为一种可选的实施例,步骤S204,通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练包括:在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数,其中,冷启动状态为对神经网络进行首次处理时的状态;通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
图9是根据本发明实施例的一种通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练的方法的流程图。如图9所示,该方法包括以下步骤:
步骤S901,在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数。
在本发明上述步骤S901提供的技术方案中,在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数。
冷启动状态为对神经网络进行首次处理时的状态,为一种软件启动状态,包括但不限于在故障恢复之后的处理状态。神经网络具有多层,获取神经网络各层参数,对各层参数进行随机初始化处理,可以采用平均分布随机初始化方法,高斯分布随机初始化方法,Xavier初始化方法等对神经网络的各层参数进行初始化处理,得到初始化参数。
步骤S902,通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
在本发明上述步骤S902提供的技术方案中,通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
在图像分类领域,使用深度卷积神经网络训练图像分类模型时,在有标注的训练数据量较少时,往往采用以ImageNet公开数据集训练基准1000分类模型A后,保留所有卷积层,重新初始化全连接层和设置分类目标,再使用自己的数据来训练出符合自己领域分类需求的模型。
一次全量的模型训练需要在随机初始化的模型基础上使用充分的训练数据经过多轮迭代得到充分拟合数据的收敛模型,用于对数进行处理。
该实施例通过在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数;通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,实现了通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练的目的,进而达到了快速更新数据处理的模型的技术效果。
作为一种可选的实施例,对神经网络的各层参数进行随机初始化处理包括以下之一:对神经网络的各层参数进行平均分布随机初始化处理;对神经网络的各层参数进行高斯分布随机初始化处理;对神经网络的各层参数进行Xavier初始化处理。
对神经网络的各层参数进行平均分布随机初始化处理;对神经网络的各层参数进行高斯分布随机初始化处理;对神经网络的各层参数进行Xavier初始化处理。
作为一种可选的实施例,预设场景包括以下之一:媒体文件的CTR预估场景;图像识别模型的训练场景;语音识别模型的训练场景;自然语言理解模型的训练场景。
预设场景包括以下之一:媒体文件的CTR预估场景;图像识别模型的训练场景;语音识别模型的训练场景;自然语言理解模型的训练场景。
该实施例从两个方面考虑,一方面是否可以从旧模型中接力训练而避免从头学习;另一方面是否可以利用旧模型对历史数据的拟合能力,使得模型保持对所有知识的记忆,如果数据处理中的模型一直保持接力训练,则理论上任何历史数据都被模型学习过,而并非像基于特定数据集的冷启动全量训练一样,只对该特定数据集具有拟合能力。本发明实施例的功能特性为提升数据点击率预估的准确性,从而提升数据点击率和收入;性能特性为提升模型的训练效率,通过减少模型推送间隔和提高模型质量的方式,达到了快速反应用户和数据变化的目的。
需要说明的是,在该实施例的增量模型的更新方法中,在得到种子模型之后,后续在每一次模型的更新过程中,总是基于上次模型进行迭代训练得到新的增量模型,并将新的增量模型推送上线,如此不断进行下去,同时依据数据的特点定期从模型中删除失效数据以保持模型的规模和精度,上述增量模型包括但不限于上述第一增量模型、第二增量模型和第三增量模型。
实施例2
下面结合优选的实施例对本发明的技术方案进行说明,具体以深度神经网络模型的增量更新方法为例,以媒体文件的CTR预估场景进行说明。
当增量模型以成百上千的数量增加时,深度神经网络具备更强的表达能力,对数据非线性特征的拟合能力更强,对增量模型的多个权重的处理能力更强,可以更准确地预估CTR,进一步地提升广告点击率。
该实施例的深度神经网络结构,是多层感知器MLP,它的基本特征是:网络中每个神经元模型包含一个可微的非线性激活函数;深度神经网络中包括一个或多个隐藏在输入和输出神经节点之间的层;深度神经网络展示出高度的连接性,其强度是由深度神经网络的突触权值决定的。可选地,训练MLP的常用的算法是反向传播算法(Back Propagation,简称为BP)。
当媒体文件为广告时,点击率预估为预估一个用户点击一个广告的概率,因此有pCTR=f(user,ad)。其中,pCTR为用户点击一个广告的概率(Click-Through RatePrediction),user为用户特征,ad为广告特征。广告点击率预估是对广告曝光的效果的预测,是评价广告对用户吸引力的重要指标,直接影响在按点击计费模式下的广告投放收入,当广告曝光的数据量一定时,则有:收入=CTR*CPC。其中,CPC(Cost Per Click)为互联网广告领域的一种常见定价形式,为广告每次点击所产生的费用。
影响某一用户对于某一广告点击率的因素主要来源于用户特征和广告特征,不同用户即使对同一广告进行点击也存在巨大的区别;不同的广告的投放位置、展现形式影响用户的点击行为,不同的广告素材内容也能影响同一用户的点击行为。在基于特征的广告点击率预估实践中,逻辑回归模型是工业界长期使用来预测广告点击率模型的一种模型:
其中,x为用于描述用户特征和广告特征的向量;w为对应于x的每个特征的向量,表示x中每个特征的权重,由于它能够根据特征的取值来决定pCTR,w也被称为模型。
在数据处理中,模型训练的过程可以使用机器学习算法,通过拟合海量广告的曝光历史数据来学习,以确定w向量的合理取值。由于逻辑规模模型的代价函数是凸函数,因此训练逻辑归回模型快速、简单,在线预测效果好。
该实施例可以应用于广告点击率预估中,是一种广告点击率预估模型训练方法。功能特性为提升广告点击率预估的准确性,从而提升了广告点击率和广告收入;性能特性为提升模型训练效率,通过减少模型推送间隔和提高模型质量的方式,达到快速反应用户和广告行为变化的目的。
在互联网广告场景下,点击流数据的产生极为迅猛,每天产生大量的广告曝光数据。广告曝光数据由于包含了广告内容、用户内容,以及时间等上下文特征,是有价值的标注数据(以点击与否作为标注)。广告点击率预估模型通过学习拟合广告历史曝光数据,具有在未来一段时间内预测广告点击率的能力。一方面广告点击率预估模型需要快速更新,这是因为用户行为和广告素材是时刻变化的;另一方面要求广告点击率预估模型拟合海量历史数据以学习用户点击广告行为模式的不变特性。因此对于广告点击率预估模型的更新训练,若每次丢弃之前模型从头训练,将是十分浪费的。而根据迁移学习可知,根据模型学习到的知识是可以保留、迁移的,因此本技术方案采用增量更新方法训练广告点击率预估模型,下面对增量更新方法训练广告点击率预估模型进行介绍:
图10是根据本发明实施例的一种深度神经网络的全连接结构的示意图。如图10所示,该深度神经网络为2个隐藏层的MLP神经网络的神经元连接,比一般的神经网络更复杂。该深度神经网络的输入是将训练数据中每条广告曝光日志中用户特征和广告特征组合离散化后的独热编码(One-Hot Encoding)向量,输出为点击率预估。该深度神经网络包括了由于某输入向量中非零元使得深度神经网络训练中一次反向传播计算中需要参与的神经元,如图10中的斜划线神经元。该深度神经网络适用于广告CTR预估场景的深度学习模型。(Deep Neural Networks,简称为DNN)。
图11是根据本发明实施例的另一种数据处理方法的流程图。如图11所示,该数据处理方法包括以下步骤:
步骤1:训练种子模型。
在冷启动状态线,通过初始化模型M,对模型M各层参数使用随机初始化方法;以当前时间倒溯,确定数据窗口T0,则数据窗口内数据时间跨度为[当前时间-T0,当前时间);使用数据窗口内广告点击曝光数据训练模型I个迭代,训练得到种子模型M0,对种子模型暂不推送上线。
可选地,该实施例中的训练种子模型所描述的步骤,对初始化模型的随机初始化方法包括但不限于平均分布随机初始化方法、高斯分布随机初始化方法、Xavier初始化方法等。
步骤2:增量更新模型。
第1次增量更新训练:基于种子模型M0,滑动数据窗口T0,使右边界契合当前时间,得到滑动数据窗口T1;使用滑动数据窗口T1内广告点击曝光数据训练模型i个迭代,其中i<<I。
训练得到模型M1,推送模型M1上线,用于预估广告点击率,直至下次新模型推送。
第2次增量更新训练:
第2次增量更新训练:基于上一模型M1,滑动数据窗口T1,使右边界契合当前时间,得到滑动数据窗口T2;使用滑动数据窗口T2内广告点击曝光数据训练模型i个迭代,其中i<<I。
训练得到模型M2,推送模型M2上线,用于预估广告点击率,直至下次新模型推送。
以此类推,第n次增量更新训练:基于上一模型Mn-1,滑动数据窗口Tn-1,使右边界契合当前时间,得到滑动数据窗口Tn;使用滑动数据窗口Tn内广告点击曝光数据训练模型i个迭代,其中i<<I。
训练得到模型Mn,推送模型Mn上线用于预估广告点击率,直至下次新模型推送。
模型在增量更新训练阶段,应适当减少模型学习步长,学习步长应小于等于种子模型训练阶段最后1个迭代所用学习步长,以避免训练好的权重离开最优点。
需要说明的是,该实施例在增量更新训练模型所描述步骤,所用学习迭代数为可调配的,不应以不同的学习迭代数作为新的创意。
步骤3:定期清除失效键。
由于在训练种子模型之后,每次以增量更新步骤训练新模型,随时间的推移模型将不断累积使得模型尺寸不断膨胀。而互联网广告场景的特点是,每条广告具有一定的生命期t,超过预定投放时间后,广告将下架停止投放,于是此后再去预估这一类停止投放的广告将是毫无意义的。
设立定期从模型中清除失效键的步骤,从而维持模型保持合理的大小,保持学习投放中的广告。
图12是根据本发明实施例的一种定期清除失效键的示意图。如图12所示,对于某次增量更新模型Mn,以数据窗口Tn按时间拉长x倍得到Tn’为屏障,清除模型Mn不在此数据窗口内的特征(神经元代表),也即,清除无效key所代表的输入层神经元及连接关系,得到模型Mn’,在下次(第n+1次)增量更新训练中,以Mn’代替Mn作为基准模型。
本技术方案的适用领域除了在广告CTR预估场景外,对于图像识别模型训练、语音识别模型训练、自然语言理解模型训练等场景,也是适用的、可移植的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述数据处理方法的数据处理装置。图13是根据本发明实施例的一种数据处理装置的示意图。如图13所示,该数据处理装置可以包括:第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40和第一发布单元50。
第一获取单元10,用于在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型。
第一迭代单元20,用于通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型。
第二获取单元30,用于获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据。
第二迭代单元40,用于通过第二待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数。
第一发布单元50,用于将第一增量模型进行线上发布。
图14是根据本发明实施例的另一种数据处理装置的示意图。如图14所示,该数据处理装置可以包括:第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40和第一发布单元50。该数据处理装置还包括:确定单元60、第三获取单元70、第三迭代单元80和第二发布单元90。
需要说明的是,该实施例的第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40和第一发布单元50与图13所示实施例的数据处理装置中的作用相同。此处不再赘述。
确定单元60,用于在将第一增量模型进行线上发布图推之后,根据第一当前时间和第二时间窗口确定第三时间窗口,其中,第三时间窗口与第二时间窗口具有第二预设重叠区域。
第三获取单元70,用于获取在第二时间窗口对应的时间之后产生的第二新增数据,并将第二新增数据和第二待处理数据合并为第三待处理数据。
第三迭代单元80,用于通过第三待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型,其中,第三预设次数小于等于第一预设次数。
第二发布单元90,用于将第二增量模型进行线上发布。
图15是根据本发明实施例的另一种数据处理装置的示意图。如图15所示,该数据处理装置可以包括:第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40、第一发布单元50、确定单元60、第三获取单元70、第三迭代单元80和第二发布单元90。其中,确定单元60包括:判断模块61和确定模块62。
需要说明的是,该实施例中的第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40、第一发布单元50、确定单元60、第三获取单元70、第三迭代单元80和第二发布单元90与图14所示实施例的数据处理装置中的作用相同,此处不再赘述。
判断模块61,用于判断是否有用于推送新模型的指示信息,其中,新模型包括第二增量模型。
确定模块62,用于在判断出有指示信息时,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口。
图16是根据本发明实施例的另一种数据处理装置的示意图。如图16所示,该数据处理装置可以包括:第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40和第一发布单元50。该数据处理装置还包括:判断单元100、清除单元110和第三发布单元120。
需要说明的是,该实施例的第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40和第一发布单元50与图13所示实施例的数据处理装置中的作用相同,此处不再赘述。
判断单元100,用于在将第一增量模型进行线上发布之后,按照预设周期判断第一增量模型中是否存在失效数据,其中,失效数据为停止推送的第一待处理数据。
清除单元110,用于在按照预设周期判断出第一增量模型中存在失效数据,从第一增量模型中清除失效数据,得到更新增量模型。
第三发布单元120,用于将更新增量模型进行线上发布。
图17是根据本发明实施例的另一种数据处理装置的示意图。如图17所示,该数据处理装置可以包括:第一获取单元10、第一迭代单元20、第二获取单元30、第二迭代单元40、第一发布单元50、判断单元100、清除单元110和第三发布单元120。其中,清除单元110包括:扩大模块111、获取模块112和清除模块113。
需要说明的是,该实施例的第一获取单元10、第一迭代单元20、第二迭代单元40、第一发布单元50、判断单元100、清除单元110和第三发布单元120与图16所示实施例的数据处理装置中的作用相同,此处不再赘述。
扩大模块111,用于将第二时间窗口扩大预设倍数,得到第四时间窗口。
获取模块112,用于获取第一增量模型中不在第四时间窗口内的第二待处理数据,其中,将第一增量模型中不在第四时间窗口内的第二待处理数据作为失效数据。
清除模块113,用于从第一增量模型中清除失效数据,得到更新增量模型。
可选地,该数据处理装置还包括:第一确定单元、第四迭代单元和第四发布单元。其中,第一确定单元,用于在推送更新增量模型上线之后,根据第二当前时间和第四时间窗口确定第五时间窗口,其中,第五时间窗口与第四时间窗口具有第三预设重叠区域;第三获取单元,用于获取在第四时间窗口对应的时间之后产生的第三新增数据,并将第三新增数据和第二待处理数据合并为第四待处理数据;第四迭代单元,用于通过第四待处理数据中位于第五时间窗口内的第四目标数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型,其中,第四预设次数小于等于第一预设次数;第四发布单元,用于将第三增量模型进行线上发布。
可选地,该数据处理装置还包括:拟合单元和携带单元。其中,拟合单元用于在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,通过第一增量模型对历史数据进行拟合,得到拟合结果,其中,历史数据为处理过的待处理数据;通过第一增量模型携带拟合结果。
可选地,该数据处理装置还包括:第一迭代单元20包括:处理模块和迭代模块。其中,处理模块用于在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数,其中,冷启动状态为对神经网络进行首次处理时的状态;迭代模块用于通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
可选地,上述处理模块用于对神经网络的各层参数进行随机初始化处理包括以下之一:对神经网络的各层参数进行平均分布随机初始化处理;对神经网络的各层参数进行高斯分布随机初始化处理;对神经网络的各层参数进行Xavier初始化处理。
可选地,上述预设场景包括以下之一:媒体文件的CTR预估场景;图像识别模型的训练场景;语音识别模型的训练场景;自然语言理解模型的训练场景
需要说明的是,该实施例中的第一获取单元10可以用于执行本申请实施例1中的步骤S202,该实施例中的第一迭代单元20可以用于执行本申请实施例1中的步骤S204,通过该实施例中的第二获取单元30可以用于执行本申请实施例中的步骤S206;该实施例中的第二迭代单元40可以用于执行本申请实施例1中的步骤S208,该实施例中第一发布单元50可以用于执行本申请实施例1中的步骤S210。
此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
该实施例通过第一获取单元10在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;通过第一迭代单元20通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型,通过第二获取单元30获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;第二迭代单元40通过第一待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数,通过第一发布单元50将第一增量模型进行线上发布,可以解决相关技术中数据处理的模型不能快速更新的问题的技术问题,进而达到了快速更新数据处理的模型的技术效果。
实施例4
根据本发明实施例,还提供了一种用于实施上述数据处理方法的服务器或终端。
图18是根据本发明实施例的一种终端的结构框图。如图18所示,该终端可以包括:一个或多个(图中仅示出一个)处理器181、存储器183、以及传输装置185,如图18所示,该终端还可以包括输入输出设备187。
其中,存储器183可用于存储软件程序以及模块,如本发明实施例中的数据处理方法和装置对应的程序指令/模块,处理器181通过运行存储在存储器183内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器183可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器183可进一步包括相对于处理器181远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置185用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置185包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置185为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器183用于存储应用程序。
处理器181可以通过传输装置185调用存储器183存储的应用程序,以执行下述步骤:
在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;
通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;
获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;
通过第二待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;
将第一增量模型进行线上发布。
处理器181还用于执行下述步骤:在将第一增量模型进行线上发布之后,根据第一当前时间和第二时间窗口确定第三时间窗口,其中,第三时间窗口与第二时间窗口具有第二预设重叠区域;获取在第二时间窗口对应的时间之后产生的第二新增数据,并将第二新增数据和第二待处理数据合并为第三待处理数据;通过第三待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型,其中,第三预设次数小于等于第一预设次数;将第二增量模型进行线上发布。
处理器181还用于执行下述步骤:判断是否有用于推送新模型的指示信息,其中,新模型包括第二增量模型;如果判断出有指示信息,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口。
处理器181还用于执行下述步骤:在将第一增量模型进行线上发布之后,按照预设周期判断第一增量模型中是否存在失效数据,其中,失效数据为停止推送的第一待处理数据;如果按照预设周期判断出第一增量模型中存在失效数据,从第一增量模型中清除失效数据,得到更新增量模型;将更新增量模型进行线上发布。
处理器181还用于执行下述步骤:将第二时间窗口扩大预设倍数,得到第四时间窗口;获取第一增量模型中不在第四时间窗口内的第二待处理数据,其中,将第一增量模型中不在第四时间窗口内的第二待处理数据作为失效数据;从第一增量模型中清除失效数据,得到更新增量模型。
处理器181还用于执行下述步骤:在推送更新增量模型上线之后,根据第二当前时间和第四时间窗口确定第五时间窗口,其中,第五时间窗口与第四时间窗口具有第三预设重叠区域;获取在第四时间窗口对应的时间之后产生的第三新增数据,并将第三新增数据和第二待处理数据合并为第四待处理数据;通过第四待处理数据中位于第五时间窗口内的第四目标数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型,其中,第四预设次数小于等于第一预设次数;将第三增量模型进行线上发布。
处理器181还用于执行下述步骤:在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,通过第一增量模型对历史数据进行拟合,得到拟合结果,其中,历史数据为处理过的待处理数据;通过第一增量模型携带拟合结果。
处理器181还用于执行下述步骤:在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数,其中,冷启动状态为对神经网络进行首次处理时的状态;通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
采用本发明实施例,提供了一种数据处理的方案。通过在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;通过第二待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;将第一增量模型进行线上发布的方式,达到了对增量模型进行更新、发布的目的,从而实现了快速更新数据处理的模型的技术效果,进而解决了相关技术中数据处理的模型不能快速更新的问题的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图18所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图18其并不对上述电子装置的结构造成限定。例如,终端还可包括比图18中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图18所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行数据处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在预设场景下,获取输入至神经网络的第一待处理数据,其中,神经网络为待更新的模型;
通过第一待处理数据中位于第一时间窗口内的第一目标数据对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型,其中,种子模型为神经网络的初始化模型;
获取在第一时间窗口对应的时间之后产生的第一新增数据,并将第一新增数据和第一待处理数据合并为第二待处理数据;
通过第二待处理数据中位于第二时间窗口内的第二目标数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型,其中,第二时间窗口与第一时间窗口具有第一预设重叠区域,第二预设次数小于等于第一预设次数;
将第一增量模型进行线上发布。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在将第一增量模型进行线上发布之后,根据第一当前时间和第二时间窗口确定第三时间窗口,其中,第三时间窗口与第二时间窗口具有第二预设重叠区域;获取在第二时间窗口对应的时间之后产生的第二新增数据,并将第二新增数据和第二待处理数据合并为第三待处理数据;通过第三待处理数据中位于第三时间窗口内的第三目标数据对第一增量模型进行第三预设次数的迭代训练,得到神经网络的第二增量模型,其中,第三预设次数小于等于第一预设次数;将第二增量模型进行线上发布。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:判断是否有用于推送新模型的指示信息,其中,新模型包括第二增量模型;如果判断出有指示信息,将第一当前时间确定为第三时间窗口的右边界,滑动第二时间窗口至第三时间窗口的右边界,将第三时间窗口的右边界向前推移第三时间窗口的长度,得到第三时间窗口的左边界,根据第三时间窗口的右边界和第三时间窗口的左边界确定第三时间窗口。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在将第一增量模型进行线上发布之后,按照预设周期判断第一增量模型中是否存在失效数据,其中,失效数据为停止推送的第一待处理数据;如果按照预设周期判断出第一增量模型中存在失效数据,从第一增量模型中清除失效数据,得到更新增量模型;将更新增量模型进行线上发布。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将第二时间窗口扩大预设倍数,得到第四时间窗口;获取第一增量模型中不在第四时间窗口内的第二待处理数据,其中,将第一增量模型中不在第四时间窗口内的第二待处理数据作为失效数据;从第一增量模型中清除失效数据,得到更新增量模型。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在推送更新增量模型上线之后,根据第二当前时间和第四时间窗口确定第五时间窗口,其中,第五时间窗口与第四时间窗口具有第三预设重叠区域;获取在第四时间窗口对应的时间之后产生的第三新增数据,并将第三新增数据和第二待处理数据合并为第四待处理数据;通过第四待处理数据中位于第五时间窗口内的第四目标数据对更新增量模型进行第四预设次数的迭代训练,得到神经网络的第三增量模型,其中,第四预设次数小于等于第一预设次数;将第三增量模型进行线上发布。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在通过第二时间窗口内的第一待处理数据对种子模型进行第二预设次数的迭代训练,得到神经网络的第一增量模型之后,通过第一增量模型对历史数据进行拟合,得到拟合结果,其中,历史数据为处理过的待处理数据;通过第一增量模型携带拟合结果。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在冷启动状态下,对神经网络的各层参数进行随机初始化处理,得到初始化参数,其中,冷启动状态为对神经网络进行首次处理时的状态;通过第一待处理数据中位于第一时间窗口内的第一目标数据和初始化参数对神经网络进行第一预设次数的迭代训练,得到神经网络的种子模型。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
在预设场景下,获取输入至神经网络的第一待处理数据,其中,所述神经网络为待更新的模型,所述第一待处理数据包括媒体文件曝光日志中的用户特征和媒体文件特征在组合离散化后的独热编码向量;
通过所述第一待处理数据中位于第一时间窗口内的第一目标数据对所述神经网络进行第一预设次数的迭代训练,得到所述神经网络的种子模型,其中,所述种子模型为所述神经网络的初始化模型;
获取在所述第一时间窗口对应的时间之后产生的第一新增数据,并将所述第一新增数据和所述第一待处理数据合并为第二待处理数据;
通过所述第二待处理数据中位于第二时间窗口内的第二目标数据对所述种子模型进行第二预设次数的迭代训练,得到所述神经网络的第一增量模型,其中,所述第二时间窗口与所述第一时间窗口具有第一预设重叠区域,所述第二预设次数小于等于所述第一预设次数;
将所述第一增量模型进行线上发布,其中,线上发布的所述第一增量模型用于预估媒体文件的点击率。
2.根据权利要求1所述的方法,其特征在于,在将所述第一增量模型进行线上发布之后,所述方法还包括:
根据第一当前时间和所述第二时间窗口确定第三时间窗口,其中,所述第三时间窗口与所述第二时间窗口具有第二预设重叠区域;
获取在所述第二时间窗口对应的时间之后产生的第二新增数据,并将所述第二新增数据和所述第二待处理数据合并为第三待处理数据;
通过所述第三待处理数据中位于所述第三时间窗口内的第三目标数据对所述第一增量模型进行第三预设次数的迭代训练,得到所述神经网络的第二增量模型,其中,所述第三预设次数小于等于所述第一预设次数;
将所述第二增量模型进行线上发布。
3.根据权利要求2所述的方法,其特征在于,根据所述第一当前时间和所述第二时间窗口确定所述第三时间窗口包括:
判断是否有用于推送新模型的指示信息,其中,所述新模型包括所述第二增量模型;
如果判断出有所述指示信息,将所述第一当前时间确定为所述第三时间窗口的右边界,滑动所述第二时间窗口至所述第三时间窗口的右边界,并将所述第三时间窗口的右边界向前推移所述第三时间窗口的长度,得到所述第三时间窗口的左边界,根据所述第三时间窗口的右边界和所述第三时间窗口的左边界确定所述第三时间窗口。
4.根据权利要求1所述的方法,其特征在于,在将所述第一增量模型进行线上发布之后,所述方法还包括:
按照预设周期判断所述第一增量模型中是否存在失效数据,其中,所述失效数据为停止推送的第一待处理数据;
如果按照所述预设周期判断出所述第一增量模型中存在所述失效数据,从所述第一增量模型中清除所述失效数据,得到更新增量模型;
将所述更新增量模型进行线上发布。
5.根据权利要求4所述的方法,其特征在于,从所述第一增量模型中清除所述失效数据,得到所述更新增量模型包括:
将所述第二时间窗口扩大预设倍数,得到第四时间窗口;
获取所述第一增量模型中不在所述第四时间窗口内的第二待处理数据,其中,将所述第一增量模型中不在所述第四时间窗口内的第二待处理数据作为所述失效数据;
从所述第一增量模型中清除所述失效数据,得到所述更新增量模型。
6.根据权利要求5所述的方法,其特征在于,在推送所述更新增量模型上线之后,所述方法还包括:
根据第二当前时间和第四时间窗口确定第五时间窗口,其中,所述第五时间窗口与所述第四时间窗口具有第三预设重叠区域;
获取在所述第四时间窗口对应的时间之后产生的第三新增数据,并将所述第三新增数据和所述第二待处理数据合并为第四待处理数据;
通过所述第四待处理数据中位于所述第五时间窗口内的第四目标数据对所述更新增量模型进行第四预设次数的迭代训练,得到所述神经网络的第三增量模型,其中,所述第四预设次数小于等于所述第一预设次数;
将所述第三增量模型进行线上发布。
7.根据权利要求1所述的方法,其特征在于,在通过所述第二时间窗口内的第一待处理数据对所述种子模型进行第二预设次数的迭代训练,得到所述神经网络的第一增量模型之后,所述方法还包括:
通过所述第一增量模型对历史数据进行拟合,得到拟合结果,其中,所述历史数据为处理过的待处理数据;
通过所述第一增量模型携带所述拟合结果。
8.根据权利要求1所述的方法,其特征在于,通过所述第一待处理数据中位于第一时间窗口内的第一目标数据对所述神经网络进行第一预设次数的迭代训练包括:
在冷启动状态下,对所述神经网络的各层参数进行随机初始化处理,得到初始化参数,其中,所述冷启动状态为对所述神经网络进行首次处理时的状态;
通过所述第一待处理数据中位于第一时间窗口内的第一目标数据和所述初始化参数对所述神经网络进行所述第一预设次数的迭代训练,得到所述神经网络的种子模型。
9.根据权利要求8所述的方法,其特征在于,对所述神经网络的各层参数进行随机初始化处理包括以下之一:
对所述神经网络的各层参数进行平均分布随机初始化处理;
对所述神经网络的各层参数进行高斯分布随机初始化处理;
对所述神经网络的各层参数进行Xavier初始化处理。
10.一种数据处理装置,其特征在于,包括:
第一获取单元,用于在预设场景下,获取输入至神经网络的第一待处理数据,其中,所述神经网络为待更新的模型,所述第一待处理数据包括媒体文件曝光日志中的用户特征和媒体文件特征在组合离散化后的独热编码向量;
第一迭代单元,用于通过所述第一待处理数据中位于第一时间窗口内的第一目标数据对所述神经网络进行第一预设次数的迭代训练,得到所述神经网络的种子模型,其中,所述种子模型为所述神经网络的初始化模型;
第二获取单元,用于获取在所述第一时间窗口对应的时间之后产生的第一新增数据,并将所述第一新增数据和所述第一待处理数据合并为第二待处理数据;
第二迭代单元,用于通过所述第二待处理数据中位于第二时间窗口内的第二目标数据对所述种子模型进行第二预设次数的迭代训练,得到所述神经网络的第一增量模型,其中,所述第二时间窗口与所述第一时间窗口具有第一预设重叠区域,所述第二预设次数小于等于所述第一预设次数;
第一发布单元,用于将所述第一增量模型进行线上发布,其中,线上发布的所述第一增量模型用于预估媒体文件的点击率。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
确定单元,用于在将所述第一增量模型进行线上发布之后,根据第一当前时间和所述第二时间窗口确定第三时间窗口,其中,所述第三时间窗口与所述第二时间窗口具有第二预设重叠区域;
第三获取单元,用于获取在所述第二时间窗口对应的时间之后产生的第二新增数据,并将所述第二新增数据和所述第二待处理数据合并为第三待处理数据;
第三迭代单元,用于通过所述第三待处理数据中位于所述第三时间窗口内的第三目标数据对所述第一增量模型进行第三预设次数的迭代训练,得到所述神经网络的第二增量模型,其中,所述第三预设次数小于等于所述第一预设次数;
第二发布单元,用于将所述第二增量模型进行线上发布。
12.根据权利要求11所述的装置,其特征在于,所述确定单元包括:
判断模块,用于判断是否有用于推送新模型的指示信息,其中,所述新模型包括所述第二增量模型;
确定模块,用于在判断出有所述指示信息时,将所述第一当前时间确定为所述第三时间窗口的右边界,滑动所述第二时间窗口至所述第三时间窗口的右边界,并将所述第三时间窗口的右边界向前推移所述第三时间窗口的长度,得到所述第三时间窗口的左边界,根据所述第三时间窗口的右边界和所述第三时间窗口的左边界确定所述第三时间窗口。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
判断单元,用于在将所述第一增量模型进行线上发布之后,按照预设周期判断所述第一增量模型中是否存在失效数据,其中,所述失效数据为停止推送的第一待处理数据;
清除单元,用于在按照所述预设周期判断出所述第一增量模型中存在所述失效数据,从所述第一增量模型中清除所述失效数据,得到更新增量模型;
第三发布单元,用于将所述更新增量模型进行线上发布。
14.根据权利要求13所述的装置,其特征在于,所述清除单元包括:
扩大模块,用于将所述第二时间窗口扩大预设倍数,得到第四时间窗口;
获取模块,用于获取所述第一增量模型中不在所述第四时间窗口内的第二待处理数据,其中,将所述第一增量模型中不在所述第四时间窗口内的第二待处理数据作为所述失效数据;
清除模块,用于从所述第一增量模型中清除所述失效数据,得到所述更新增量模型。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610900390.7A CN107527091B (zh) | 2016-10-14 | 2016-10-14 | 数据处理方法和装置 |
PCT/CN2017/105813 WO2018068742A1 (zh) | 2016-10-14 | 2017-10-12 | 数据处理方法和装置 |
US16/026,784 US11151451B2 (en) | 2016-10-14 | 2018-07-03 | Data processing method and apparatus for training incremental model of neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610900390.7A CN107527091B (zh) | 2016-10-14 | 2016-10-14 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107527091A CN107527091A (zh) | 2017-12-29 |
CN107527091B true CN107527091B (zh) | 2021-05-25 |
Family
ID=60748503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610900390.7A Active CN107527091B (zh) | 2016-10-14 | 2016-10-14 | 数据处理方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11151451B2 (zh) |
CN (1) | CN107527091B (zh) |
WO (1) | WO2018068742A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650045B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
USD898059S1 (en) | 2017-02-06 | 2020-10-06 | Sas Institute Inc. | Display screen or portion thereof with graphical user interface |
USD898060S1 (en) | 2017-06-05 | 2020-10-06 | Sas Institute Inc. | Display screen or portion thereof with graphical user interface |
CN110708469B (zh) * | 2018-07-10 | 2021-03-19 | 北京地平线机器人技术研发有限公司 | 用于适配曝光参数的方法和装置以及相应的相机曝光系统 |
CN110888668B (zh) * | 2018-09-07 | 2024-04-16 | 腾讯科技(北京)有限公司 | 一种模型更新的系统、方法、装置、终端设备和介质 |
CN109615060B (zh) * | 2018-11-27 | 2023-06-30 | 深圳前海微众银行股份有限公司 | Ctr预估方法、装置及计算机可读存储介质 |
CN109886415A (zh) * | 2019-01-07 | 2019-06-14 | 鲁班嫡系机器人(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111856362A (zh) * | 2019-04-24 | 2020-10-30 | 深圳先进技术研究院 | 磁共振成像方法、装置、系统及存储介质 |
US11620518B2 (en) * | 2019-05-13 | 2023-04-04 | Nec Corporation | Landmark-based classification model updating |
CN110288093A (zh) * | 2019-06-06 | 2019-09-27 | 博彦科技股份有限公司 | 数据处理方法、装置、存储介质及处理器 |
CN110610500A (zh) * | 2019-09-06 | 2019-12-24 | 北京信息科技大学 | 基于动态语义特征的新闻视频自适应拆条方法 |
US11488014B2 (en) * | 2019-10-22 | 2022-11-01 | International Business Machines Corporation | Automated selection of unannotated data for annotation based on features generated during training |
CN113098916B (zh) * | 2019-12-23 | 2023-11-14 | 中国移动通信集团辽宁有限公司 | 基于网络行为数据的信息推送方法及装置 |
CN111239137B (zh) * | 2020-01-09 | 2021-09-10 | 江南大学 | 基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法 |
CN113139563B (zh) * | 2020-01-19 | 2024-05-03 | 深圳云天励飞技术有限公司 | 一种图像分类模型的优化方法及装置 |
CN111311014B (zh) * | 2020-02-27 | 2024-04-12 | 广州酷旅旅行社有限公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
CN111768243A (zh) * | 2020-06-30 | 2020-10-13 | 创新奇智(上海)科技有限公司 | 销量预测方法、预测模型构建方法、装置、设备及介质 |
CN111881950A (zh) * | 2020-07-10 | 2020-11-03 | 交控科技股份有限公司 | 道岔转辙机电流时间序列的特征表示方法及装置 |
US11710148B2 (en) | 2021-01-31 | 2023-07-25 | Walmart Apollo, Llc | Deep learning-based revenue-per-click prediction model framework |
CN112860303B (zh) * | 2021-02-07 | 2023-07-04 | 济南大学 | 一种模型增量更新的方法及系统 |
CN112766501A (zh) * | 2021-02-26 | 2021-05-07 | 上海商汤智能科技有限公司 | 增量训练方法和相关产品 |
CN113206757B (zh) * | 2021-04-25 | 2022-04-19 | 烽火通信科技股份有限公司 | 流式同步网管配置全量数据和增量数据的方法及电子设备 |
CN116029770B (zh) * | 2022-12-26 | 2023-10-20 | 中国科学技术大学 | 广告创意智能化推送方法、系统、设备与存储介质 |
CN116910006B (zh) * | 2023-07-24 | 2024-03-29 | 深圳市盛弘新能源设备有限公司 | 基于新能源电池的数据压缩存储处理方法及系统 |
CN116823407B (zh) * | 2023-08-29 | 2024-01-12 | 北京国电通网络技术有限公司 | 产品信息推送方法、装置、电子设备和计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765728A (zh) * | 2014-01-08 | 2015-07-08 | 富士通株式会社 | 训练神经网络的方法和装置以及确定稀疏特征向量的方法 |
CN105138963A (zh) * | 2015-07-31 | 2015-12-09 | 小米科技有限责任公司 | 图片场景判定方法、装置以及服务器 |
CN105183720A (zh) * | 2015-08-05 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 基于rnn模型的机器翻译方法和装置 |
KR101646461B1 (ko) * | 2015-04-22 | 2016-08-12 | 강원대학교산학협력단 | 딥 러닝을 이용한 한국어 의존 구문 분석 방법 |
CN106021364A (zh) * | 2016-05-10 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 图片搜索相关性预测模型的建立、图片搜索方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060224532A1 (en) * | 2005-03-09 | 2006-10-05 | Case Western Reserve University | Iterative feature weighting with neural networks |
US8595154B2 (en) * | 2011-01-26 | 2013-11-26 | Google Inc. | Dynamic predictive modeling platform |
CN103489034B (zh) * | 2013-10-12 | 2016-02-10 | 山东省科学院海洋仪器仪表研究所 | 预测与诊断在线海流监测数据的方法和装置 |
CN104598552A (zh) * | 2014-12-31 | 2015-05-06 | 大连钜正科技有限公司 | 一种支持增量式更新的大数据特征学习的方法 |
CN105095964B (zh) * | 2015-08-17 | 2017-10-20 | 杭州朗和科技有限公司 | 一种数据处理方法和装置 |
CN105279556B (zh) * | 2015-11-05 | 2017-11-07 | 国家卫星海洋应用中心 | 一种浒苔检测方法和装置 |
-
2016
- 2016-10-14 CN CN201610900390.7A patent/CN107527091B/zh active Active
-
2017
- 2017-10-12 WO PCT/CN2017/105813 patent/WO2018068742A1/zh active Application Filing
-
2018
- 2018-07-03 US US16/026,784 patent/US11151451B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765728A (zh) * | 2014-01-08 | 2015-07-08 | 富士通株式会社 | 训练神经网络的方法和装置以及确定稀疏特征向量的方法 |
KR101646461B1 (ko) * | 2015-04-22 | 2016-08-12 | 강원대학교산학협력단 | 딥 러닝을 이용한 한국어 의존 구문 분석 방법 |
CN105138963A (zh) * | 2015-07-31 | 2015-12-09 | 小米科技有限责任公司 | 图片场景判定方法、装置以及服务器 |
CN105183720A (zh) * | 2015-08-05 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 基于rnn模型的机器翻译方法和装置 |
CN106021364A (zh) * | 2016-05-10 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 图片搜索相关性预测模型的建立、图片搜索方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107527091A (zh) | 2017-12-29 |
WO2018068742A1 (zh) | 2018-04-19 |
US20180314944A1 (en) | 2018-11-01 |
US11151451B2 (en) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107527091B (zh) | 数据处理方法和装置 | |
CN110119467B (zh) | 一种基于会话的项目推荐方法、装置、设备及存储介质 | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN110659678B (zh) | 一种用户行为分类方法、系统及存储介质 | |
CN112085293B (zh) | 训练交互预测模型、预测交互对象的方法及装置 | |
CN110689110B (zh) | 处理交互事件的方法及装置 | |
CN111950593A (zh) | 一种推荐模型训练的方法及装置 | |
CN111506821B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN111046188A (zh) | 用户偏好度确定方法、装置、电子设备及可读存储介质 | |
CN114298851A (zh) | 基于图表征学习的网络用户社交行为分析方法、装置及存储介质 | |
CN110659394A (zh) | 基于双向邻近度的推荐方法 | |
CN113610610B (zh) | 基于图神经网络和评论相似度的会话推荐方法和系统 | |
Singh et al. | Contextual bandits with side-observations | |
CN113592593A (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
CN113688306A (zh) | 一种基于强化学习的推荐策略生成方法及装置 | |
CN116975686A (zh) | 训练学生模型的方法、行为预测方法和装置 | |
CN110347916A (zh) | 跨场景的项目推荐方法、装置、电子设备及存储介质 | |
CN113868466B (zh) | 视频推荐的方法、装置、设备和存储介质 | |
EP4002213A1 (en) | System and method for training recommendation policies | |
Xu et al. | Generalized contextual bandits with latent features: Algorithms and applications | |
CN115439192A (zh) | 医疗商品信息的推送方法及装置、存储介质、计算机设备 | |
CN112669127B (zh) | 用于商品推荐的方法、装置及设备 | |
CN114187077A (zh) | 基于边增强型全局解耦图神经网络的序列推荐方法 | |
CN114493674A (zh) | 一种广告点击率预测模型及方法 | |
JP6558860B2 (ja) | 推定装置、予測装置、方法、及びプログラム |
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 |