本申請(qǐng)涉及大數(shù)據(jù)處理領(lǐng)域,尤其涉及一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法和訓(xùn)練系統(tǒng)。
背景技術(shù):
現(xiàn)如今,服務(wù)好用戶是各互聯(lián)網(wǎng)公司都希望實(shí)現(xiàn)的目標(biāo)。為此,絕大部分公司都采用機(jī)器學(xué)習(xí)的方式捕捉用戶的偏好和習(xí)慣,提供個(gè)性化的服務(wù)。舉例來說,各網(wǎng)站可以利用機(jī)器學(xué)習(xí)系統(tǒng),收集用戶上網(wǎng)的行為數(shù)據(jù),為不同性別/年齡的用戶提供不同的搜索結(jié)果,做到最大程度地根據(jù)用戶的喜好提供服務(wù)。
上述的機(jī)器學(xué)習(xí)系統(tǒng)可以收集大量用戶的行為數(shù)據(jù),例如用戶瀏覽/點(diǎn)擊/購買/頂帖子/發(fā)表對(duì)帖子的意見等等,并利用某些機(jī)器學(xué)習(xí)算法,離線對(duì)機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。在得到一個(gè)預(yù)測(cè)模型之后,放在線上系統(tǒng),對(duì)用戶提供服務(wù)。例如亞馬遜的推薦系統(tǒng),其可以根據(jù)用戶以往的行為日志(比如包含昨天以及昨天再向前推2周的日志),學(xué)習(xí)用戶偏好之后,給不同用戶推薦不同的商品.
這種利用以往用戶行為數(shù)據(jù),離線進(jìn)行訓(xùn)練,得到模型的方式稱為離線學(xué)習(xí)。然而正常情況下用戶行為和興趣可能在一天之內(nèi)都會(huì)發(fā)生顯著變化,由于離線學(xué)習(xí)系統(tǒng)中用戶當(dāng)下產(chǎn)生的日志并不能馬上加入到系統(tǒng)中去訓(xùn)練,離線學(xué)習(xí)顯然不能捕獲這種變化。
在線學(xué)習(xí)就是模型隨著接收的新訓(xùn)練數(shù)據(jù),不斷更新模型本身。因而它能取得更好的效果。在線學(xué)習(xí)精度比較高,但由于數(shù)據(jù)采集的時(shí)間段比較短,模型受數(shù)據(jù)中噪聲影響比較大,造成模型訓(xùn)練不穩(wěn)定;同時(shí)由于在線學(xué)習(xí)采用異步更新模型的方式,訓(xùn)練數(shù)據(jù)不斷流入模型,模型不斷進(jìn)行更新學(xué)習(xí),經(jīng)常由于某些不可控的問題導(dǎo)致模型訓(xùn)練卡死,出現(xiàn)訓(xùn)練失敗,導(dǎo)致無法產(chǎn)出可用的模型、影響線上服務(wù)、損害用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本申請(qǐng)實(shí)施例以便提供一種克服上述問題或者至少部分地解決上述問題的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法和訓(xùn)練系統(tǒng)。
為解決上述問題,本申請(qǐng)公開一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法,利用訓(xùn)練數(shù)據(jù)對(duì)所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練,所述訓(xùn)練方法包括:
將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
本申請(qǐng)實(shí)施例至少具有以下優(yōu)點(diǎn):
根據(jù)本申請(qǐng)實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法和訓(xùn)練系統(tǒng),通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異常或第二類異常,可以拋棄本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了 系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
附圖說明
圖1是本申請(qǐng)第一實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法的流程圖。
圖2是本申請(qǐng)第二實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法的流程圖。
圖3是本申請(qǐng)第三實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法的流程圖。
圖4是本申請(qǐng)第四實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)的方框圖。
圖5是本申請(qǐng)第五實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)的方框圖。
圖6是本申請(qǐng)第六實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)的方框圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
本申請(qǐng)的核心思想之一在于,提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法,在該方法中,首先將訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;匯總這些本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);當(dāng)檢測(cè)結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;當(dāng)檢測(cè)結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
第一實(shí)施例
本申請(qǐng)第一實(shí)施例提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法,如圖1所示為本申請(qǐng)第一實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法的流程圖。該機(jī)器學(xué)習(xí)系統(tǒng)優(yōu)選 為分布式機(jī)器學(xué)習(xí)系統(tǒng),包括參數(shù)服務(wù)器(parameterserver),該參數(shù)服務(wù)器例如可以包括多個(gè)工作機(jī)(worker或者slaver)、多個(gè)服務(wù)器(server)、一個(gè)協(xié)調(diào)器(coordinator)。如圖1所示,該訓(xùn)練方法包括如下步驟:
步驟s101,將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
在這一步驟中,例如,每個(gè)工作機(jī)可以根據(jù)其標(biāo)識(shí)讀取屬于自己的訓(xùn)練數(shù)據(jù),各工作機(jī)之間的數(shù)據(jù)不重疊。這一步驟例如可以由協(xié)調(diào)器按照每個(gè)工作機(jī)的id將訓(xùn)練數(shù)據(jù)劃分為屬于每一個(gè)工作機(jī)的訓(xùn)練數(shù)據(jù),并由對(duì)應(yīng)的工作機(jī)讀取該訓(xùn)練數(shù)據(jù)。
步驟s102,將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
在這一步驟中,例如,每一個(gè)工作機(jī)基于其自身的系統(tǒng)配置將其分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片,每一個(gè)工作機(jī)的每次處理是基于一個(gè)數(shù)據(jù)片進(jìn)行處理。即,每個(gè)工作機(jī)每次只處理一個(gè)數(shù)據(jù)片。
步驟s103,獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
在這一步驟中,例如,在每一個(gè)工作機(jī)中,基于該工作機(jī)獲得的訓(xùn)練數(shù)據(jù)中的一個(gè)數(shù)據(jù)片,計(jì)算獲得該工作機(jī)該次計(jì)算對(duì)應(yīng)的本地權(quán)重和本地?fù)p失函數(shù)值;由于該機(jī)器學(xué)習(xí)系統(tǒng)包括多個(gè)工作機(jī),在這一步驟中,可以獲得多個(gè)工作機(jī)在該次計(jì)算中獲得的本地權(quán)重和本地?fù)p失函數(shù)值。
步驟s104,匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
在這一步驟中,例如,每一個(gè)工作機(jī)將計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值發(fā)送至服務(wù)器,由服務(wù)器對(duì)由多個(gè)工作機(jī)在本次計(jì)算出的多個(gè)本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值。匯總的過程包括但不限于相加、相加后平均等,本發(fā)明并不特別限制。
在步驟s103中每一個(gè)工作機(jī)計(jì)算出本地權(quán)重和本地?fù)p失函數(shù)值之后,可以異步地發(fā)送給服務(wù)器,在步驟s104中,可以由協(xié)調(diào)器驅(qū)動(dòng)服務(wù)器進(jìn)行多個(gè)本地權(quán)重和本地?fù)p失函數(shù)的匯總。
步驟s105,利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
在這一步驟中,例如,可以將匯總后的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值輸入模型異常檢測(cè)裝置,根據(jù)預(yù)設(shè)的條件對(duì)模型是否異常進(jìn)行檢測(cè)。檢測(cè)的結(jié)果例如可以為正常、第一類異常和第二類異常,并在后續(xù)分別針對(duì)這三種情況進(jìn)行對(duì)應(yīng)處理。
在一實(shí)施例中,模型異常檢測(cè)裝置的輸入值為當(dāng)前權(quán)重、當(dāng)前損失函數(shù)值、上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值。上一次匯總后的權(quán)重由每一個(gè)工作機(jī)基于上一次計(jì)算使用的數(shù)據(jù)片計(jì)算得出的上一次本地權(quán)重進(jìn)行匯總獲得;上一次匯總后的損失函數(shù)值由每一個(gè)工作機(jī)基于上一次計(jì)算使用的數(shù)據(jù)片計(jì)算得出的上一次本地?fù)p失函數(shù)值進(jìn)行匯總獲得。
步驟s106,當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
在這一步驟中,例如檢測(cè)結(jié)果為第一類異常,則忽略或刪除每一個(gè)工作機(jī)本次計(jì)算獲得的本地權(quán)重和本地?fù)p失函數(shù)值以及匯總后的當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
步驟s107,當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
在這一步驟中,例如檢測(cè)結(jié)果是第二類異常,可以進(jìn)入模型微調(diào)裝置,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值減去預(yù)設(shè)的第一閾值,獲得每一個(gè)元素的數(shù)值均位于第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。特別地,當(dāng)?shù)谝淮螠p去預(yù)設(shè)的第一閾值仍不能得到位于第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值時(shí),則可以再進(jìn)行一次或多次減去第一閾值的處理,直到每一個(gè)元素的數(shù)值均位于第一閾值內(nèi)。
在本申請(qǐng)第一實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法中,通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪 聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異常或第二類異常,可以拋棄本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
第二實(shí)施例
本申請(qǐng)第二實(shí)施例提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法,如圖2所示為本申請(qǐng)第二實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法的流程圖。該機(jī)器學(xué)習(xí)系統(tǒng)優(yōu)選為分布式機(jī)器學(xué)習(xí)系統(tǒng),如圖2所示,該訓(xùn)練方法包括如下步驟:
s201,將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
s202,將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
s203,獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
s204,匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
s205,利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
s206,當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
s207,當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
上述步驟s201至s207與第一實(shí)施例中的步驟s101至s107相同的部分在此不再贅述。
在本實(shí)施例中,步驟s205,即所述利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值 執(zhí)行模型異常檢測(cè)的步驟包括:
子步驟s205a,判斷當(dāng)前損失函數(shù)值是否大于上一次匯總后的損失函數(shù)的值的k倍;
在這一子步驟中,可以預(yù)先設(shè)置數(shù)值k,作為判定當(dāng)前損失函數(shù)值是否異常的判定依據(jù)。
子步驟s205b,當(dāng)判斷出當(dāng)前損失函數(shù)值是否大于上一次匯總后的損失函數(shù)的值的k倍時(shí),判定所述模型異常檢測(cè)的結(jié)果為第一類異常。
在這一子步驟中,當(dāng)判斷出當(dāng)前損失函數(shù)值大于上一次匯總后的損失函數(shù)的值的k倍時(shí),可以認(rèn)為本次計(jì)算并匯總出的當(dāng)前損失函數(shù)值為第一類異常,即較為嚴(yán)重的異常。當(dāng)判斷出模型出現(xiàn)這一類異常,則可以直接拋棄本次計(jì)算出的當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值。
在本實(shí)施例中,步驟s205,即所述利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè)的步驟還可以包括:
子步驟s205c判斷當(dāng)前權(quán)重中的元素的最大值和/或最小值的絕對(duì)值是否大于預(yù)設(shè)的第二閾值;
在這一子步驟中,當(dāng)前權(quán)重為包括n個(gè)元素的向量,在匯總得出當(dāng)前權(quán)重后,可以判斷該向量的每一個(gè)元素(即每一個(gè)維度)的最大值和/或最小值的絕對(duì)值是否大于預(yù)設(shè)的第二閾值;第二閾值可以預(yù)先指定。
子步驟s205d,當(dāng)判斷出當(dāng)前權(quán)重中的元素的最大值和/或最小值的絕對(duì)值是否大于預(yù)設(shè)的第二閾值時(shí),判定所述模型異常檢測(cè)的結(jié)果為第二類異常。
在這一子步驟中,當(dāng)判斷出當(dāng)前權(quán)重中的元素的最大值和最小值中的至少一者的絕對(duì)值大于預(yù)設(shè)的第二閾值時(shí),則認(rèn)為所述模型存在第二類異常,即相對(duì)較為輕微的異常。可以通過修正保留本次計(jì)算出的當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值,將其修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
優(yōu)選地,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的本地權(quán)重和/或本地?fù)p失函數(shù)值的步驟可以包括:
將所述最大值和/或最小值的絕對(duì)值大于預(yù)設(shè)的第二閾值的元素減去所述第二閾值,獲得每一個(gè)元素均位于所述第二閾值內(nèi)的當(dāng)前權(quán)重。
在本實(shí)施例中,步驟s205,即所述利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè)的步驟還可以包括:
子步驟s205e,判斷前n次匯總后的損失函數(shù)值的平均值是否大于第一次匯總后的損失函數(shù)值;
在這一子步驟中,前n次匯總得出的損失函數(shù)值例如存儲(chǔ)在特定的存儲(chǔ)區(qū)域,可以計(jì)算前n次匯總后的損失函數(shù)值的平均值,并判斷該值是否大于第一次匯總得出的損失函數(shù)值。
子步驟s205f,當(dāng)判斷出前n次匯總后的損失函數(shù)值的平均值大于第一次匯總后的損失函數(shù)值時(shí),判定所述模型異常檢測(cè)的結(jié)果為第一類異常。
在這一子步驟中,當(dāng)判斷出前n次匯總后的損失函數(shù)值的平均值大于第一次匯總后的損失函數(shù)值時(shí),則可以認(rèn)為該模型存在第一類異常,即較為嚴(yán)重的異常,當(dāng)判斷出模型出現(xiàn)這一類異常,則可以直接拋棄本次計(jì)算出的當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值。
在本申請(qǐng)第二實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法中,通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異?;虻诙惍惓?,可以拋棄本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
第三實(shí)施例
本申請(qǐng)第三實(shí)施例提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法,如圖3所示為本申請(qǐng)第三實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法的流程圖。該機(jī)器學(xué)習(xí)系統(tǒng)優(yōu)選為分布式機(jī)器學(xué)習(xí)系統(tǒng),如圖3所示,該訓(xùn)練方法包括如下步驟:
s301,將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
s302,將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
s303,獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
s304,匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
s305,利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
s306,當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
s307,當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
上述步驟s301至s307與第一實(shí)施例中的步驟s101至s107相同的部分在此不再贅述。
在本實(shí)施例中,在步驟s305即所述利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè)的步驟之后,所述訓(xùn)練方法還可以包括:
s308,當(dāng)所述模型異常檢測(cè)的結(jié)果為正常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
在這一實(shí)施例中,當(dāng)檢測(cè)出本次計(jì)算并匯總后的當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值下該模型正常,則可以將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值作為有效的計(jì)算結(jié)果,輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
進(jìn)一步地,在該實(shí)施例中,在步驟s308即所述當(dāng)所述模型異常檢測(cè)的結(jié)果為正常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練的步驟之后,所述方法還包括:
s309,判斷訓(xùn)練是否結(jié)束;
在該步驟中,例如,當(dāng)檢測(cè)到當(dāng)前損失函數(shù)的值與上一次匯總后損失函數(shù)的值小于第三閾值時(shí),判定訓(xùn)練結(jié)束。該第三閾值可以是系統(tǒng)檢測(cè)到的閾值。
然而,本領(lǐng)域技術(shù)人員可以明確,該判斷步驟并不限定于通過與差值與第三閾值的比較的方式進(jìn)行,本領(lǐng)域還有多種驗(yàn)證訓(xùn)練是否可以結(jié)束的方法,在此不再贅述。
s310,當(dāng)判定訓(xùn)練結(jié)束,產(chǎn)出所述模型;
在這一步驟中,當(dāng)判斷出訓(xùn)練結(jié)束,即該模型已可以使用,則產(chǎn)出該模型,例如可以使該模型上線進(jìn)行應(yīng)用。
s311,當(dāng)判定訓(xùn)練未結(jié)束,重復(fù)執(zhí)行獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值的步驟。
在這一步驟中,例如,當(dāng)檢測(cè)到當(dāng)前損失函數(shù)的值與上一次匯總后損失函數(shù)的值大于第三閾值時(shí),判定訓(xùn)練未結(jié)束。在此情況下,可以重復(fù)執(zhí)行獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值的步驟,即讓每一個(gè)工作機(jī)繼續(xù)基于其他數(shù)據(jù)片計(jì)算出本地權(quán)重和本地?fù)p失函數(shù)值,并在后續(xù)匯總獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值,重復(fù)該訓(xùn)練方法,直到獲得滿足使用要求的模型。
另外,在第一至第三實(shí)施例公開的方案中,優(yōu)先地,在將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī)的步驟之前,所述方法還包括:
獲取訓(xùn)練數(shù)據(jù);
將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī)的步驟還包括:
按照每一個(gè)工作機(jī)的標(biāo)識(shí),將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī)。
另外,在第一至第三實(shí)施例公開的方案中,優(yōu)先地,所述匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值的步驟可以包括:
將每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重相加,獲得當(dāng)前權(quán)重;
將每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地?fù)p失函數(shù)值相加,獲得當(dāng)前本地?fù)p失函數(shù)。
在本申請(qǐng)第三實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法中,通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異?;虻诙惍惓?,可以拋棄本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
第四實(shí)施例
本申請(qǐng)第四實(shí)施例提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng),如圖4是本申請(qǐng)第四實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)的方框圖。該機(jī)器學(xué)習(xí)系統(tǒng)優(yōu)選為分布式機(jī)器學(xué)習(xí)系統(tǒng),如圖4所示,該訓(xùn)練系統(tǒng)400包括:
訓(xùn)練數(shù)據(jù)分配模塊401,用于將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
訓(xùn)練數(shù)據(jù)劃分模塊402,用于將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
獲取模塊403,用于獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
匯總模塊404,用于匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
異常檢測(cè)模塊405,用于利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
第一處理模塊406,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
第二處理模塊407,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
在本申請(qǐng)第四實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)中,通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異常或第二類異常,可以拋棄本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
第五實(shí)施例
本申請(qǐng)第五實(shí)施例提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng),如圖5是本申請(qǐng)第五實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)的方框圖。該機(jī)器學(xué)習(xí)系統(tǒng)優(yōu)選為分布式機(jī)器學(xué)習(xí)系統(tǒng),如圖5所示,該訓(xùn)練系統(tǒng)500包括:
訓(xùn)練數(shù)據(jù)分配模塊501,用于將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
訓(xùn)練數(shù)據(jù)劃分模塊502,用于將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
獲取模塊503,用于獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
匯總模塊504,用于匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
異常檢測(cè)模塊505,用于利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
第一處理模塊506,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
第二處理模塊507,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
在該實(shí)施例中,所述異常檢測(cè)模塊505包括:
第一判斷子模塊505a,用于判斷當(dāng)前損失函數(shù)值是否大于上一次匯總后的損失函數(shù)值的k倍;
第一判定子模塊505b,用于當(dāng)判斷出當(dāng)前損失函數(shù)值大于上一次匯總后的損失函數(shù)值的k倍時(shí),判定所述模型異常檢測(cè)的結(jié)果為第一類異常。
第二判斷子模塊505c,用于判斷當(dāng)前權(quán)重中的元素的最大值和/或最小值的絕對(duì)值是否大于預(yù)設(shè)的第二閾值;
第二判定子模塊505d,用于當(dāng)判斷出當(dāng)前權(quán)重中的元素的最大值和/或最小值的絕對(duì)值大于預(yù)設(shè)的第二閾值時(shí),判定所述模型異常檢測(cè)的結(jié)果為第二類異常。
所述異常檢測(cè)模塊505還包括:
第三判斷子模塊505e,用于判斷前n次匯總后的損失函數(shù)值的平均值是否大于第一次匯總后的損失函數(shù)值;
第三判定子模塊505f,用于當(dāng)判斷出前n次匯總后的損失函數(shù)值的平均值大于第一次匯總后的損失函數(shù)值時(shí),判定所述模型異常檢測(cè)的結(jié)果為第一類異常。
優(yōu)選地,當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng) 前損失函數(shù)值修正為第二閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值的步驟包括:
將所述最大值和/或最小值的絕對(duì)值大于預(yù)設(shè)的第二閾值的元素減去所述第二閾值,獲得每一個(gè)元素均位于所述第二閾值內(nèi)的當(dāng)前權(quán)重。
在本申請(qǐng)第五實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)中,通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán)重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異?;虻诙惍惓?,可以拋棄本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
第六實(shí)施例
本申請(qǐng)第六實(shí)施例提出一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng),如圖6所示為本申請(qǐng)第六實(shí)施例的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)的方框圖。該機(jī)器學(xué)習(xí)系統(tǒng)優(yōu)選為分布式機(jī)器學(xué)習(xí)系統(tǒng),如圖6所示,該訓(xùn)練系統(tǒng)包括:
訓(xùn)練數(shù)據(jù)分配模塊601,用于將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī);
訓(xùn)練數(shù)據(jù)劃分模塊602,用于將每一個(gè)工作機(jī)分配得到的訓(xùn)練數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)片;
獲取模塊603,用于獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值;
匯總模塊604,用于匯總每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重和本地?fù)p失函數(shù)值,獲得當(dāng)前權(quán)重和當(dāng)前損失函數(shù)值;
異常檢測(cè)模塊605,用于利用當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值執(zhí)行模型異常檢測(cè);
第一處理模塊606,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為第一類異常,將上一次匯總后的權(quán)重和上一次匯總后的損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練;
第二處理模塊607,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為第二類異常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值修正為第一閾值內(nèi)的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,并輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
在本實(shí)施例中,所述系統(tǒng)還包括:
訓(xùn)練模塊608,用于當(dāng)所述模型異常檢測(cè)的結(jié)果為正常,將當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值輸入所述機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。
在本實(shí)施例中,所述系統(tǒng)還包括:
結(jié)束判定模塊609,用于判斷訓(xùn)練是否結(jié)束;
模型產(chǎn)出模塊610,用于當(dāng)判定訓(xùn)練結(jié)束時(shí),產(chǎn)出所述模型;
返回執(zhí)行模塊611,用于當(dāng)判定訓(xùn)練未結(jié)束,重復(fù)執(zhí)行獲取每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的本地權(quán)重和本地?fù)p失函數(shù)值的步驟。
在本實(shí)施例中,所述結(jié)束判定模塊用于當(dāng)檢測(cè)到當(dāng)前損失函數(shù)的值與上一次匯總后損失函數(shù)的值小于第三閾值,判定訓(xùn)練結(jié)束。
在本實(shí)施例中,所述系統(tǒng)還可以包括:
訓(xùn)練數(shù)據(jù)獲取模塊,用于獲取訓(xùn)練數(shù)據(jù)。所述訓(xùn)練數(shù)據(jù)分配模塊用于按照每一個(gè)工作機(jī)的標(biāo)識(shí),將所述訓(xùn)練數(shù)據(jù)分配給多個(gè)工作機(jī)。
優(yōu)選地,所述匯總模塊包括:
權(quán)重累加模塊,用于將每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地權(quán)重相加,獲得當(dāng)前權(quán)重;
損失函數(shù)值累加模塊,用于將每一個(gè)工作機(jī)基于每一個(gè)數(shù)據(jù)片計(jì)算出的所述本地?fù)p失函數(shù)值相加,獲得當(dāng)前本地?fù)p失函數(shù)。
在本申請(qǐng)第六實(shí)施例提出的機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練系統(tǒng)中,通過使每一個(gè)工作機(jī)一次只針對(duì)一個(gè)數(shù)據(jù)片進(jìn)行處理、并根據(jù)該數(shù)據(jù)片計(jì)算得出的本地權(quán) 重和本地?fù)p失函數(shù)值進(jìn)行匯總,達(dá)到了每一次計(jì)算后能夠準(zhǔn)確地小幅度更新權(quán)重和損失函數(shù)值的效果,避免了現(xiàn)有技術(shù)的在線學(xué)習(xí)中容易受到數(shù)據(jù)中噪聲影響的問題。同時(shí),在獲得當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值之后執(zhí)行異常檢測(cè),當(dāng)檢測(cè)出所獲得的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值屬于第一類異?;虻诙惍惓#梢話仐壉敬斡?jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值,而將上一次匯總得到的權(quán)重和損失函數(shù)值輸入機(jī)器學(xué)習(xí)模型,或者對(duì)本次計(jì)算出的當(dāng)前權(quán)重和/或當(dāng)前損失函數(shù)值進(jìn)行修正,將每次計(jì)算和匯總獲得的權(quán)重和損失函數(shù)值的更新限制在有效范圍內(nèi),避免了模型訓(xùn)練的不穩(wěn)定性,增強(qiáng)了系統(tǒng)抗數(shù)據(jù)噪聲的能力,提升了在線學(xué)習(xí)的機(jī)器學(xué)習(xí)系統(tǒng)的穩(wěn)定性,確保了機(jī)器學(xué)習(xí)系統(tǒng)的正常產(chǎn)出,提高了上線后的機(jī)器學(xué)習(xí)系統(tǒng)的服務(wù)能力。
對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
在一個(gè)典型的配置中,所述計(jì)算機(jī)設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信號(hào)存儲(chǔ)。信號(hào)可以是計(jì)算機(jī)可讀指令、 數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信號(hào)。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以, 所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對(duì)本申請(qǐng)所提供的一種機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練方法和系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。