5

我開發了分類(0/1)NLP任務的ML模型並將其部署到生產環境中。模型的預測會顯示給用戶,用戶可以選擇提供反饋(如果預測是正確的或錯誤的)。在ML模型中引入用戶反饋

如何持續將此反饋納入我的模型?從用戶體驗的觀點來看,您不希望用戶對特定輸入進行兩次/三次以上的更正/教導系統,系統可以快速學習,即將反饋信息「快速」加入。 (谷歌優先收件箱以無縫方式完成此操作)

如何建立這個「反饋循環」,使用我的系統可以改進?我在網上搜索了很多,但找不到相關材料。任何指針都會有很大的幫助。

請不要說從頭開始重新訓練模型,包括新的數據點。這當然不是谷歌和Facebook如何構建他們的智能系統

爲了進一步解釋我的問題 - 想想谷歌的垃圾郵件檢測器或他們的優先收件箱或他們最近的「智能答覆」功能。其衆所周知的事實是,他們有能力學習/整合(快速)用戶饋送。

所有的時候,當它快速合併用戶反饋(即用戶必須教導系統正確的輸出,每個數據點最多2-3次,並且系統開始爲該數據點提供正確的輸出)並且還確保它保留舊的學習,並且不會在較舊的數據點(它在早期給出正確的輸出的地方)給出錯誤的輸出,同時結合來自新數據點的學習。

我還沒有發現任何博客/文學/討論WRT如何建立這樣的系統 - 智能系統,在ML系統detaieedback循環」解釋

希望我的問題是,現在更加清楚一點

更新:我發現一些相關的問題是:

更新:我還沒有一個具體的答案,但這樣的配方不存在。閱讀以下博客Machine Learning != Learning Machine中的「從反饋中學習」部分。在這裏,Jean談到了「向機器添加反饋消化循環」。相同的herehere,這裏是4

+1

這取決於你如何到達輸出模型。如果您使用類似隨機梯度下降或其他增量訓練的方法,則可以添加新數據點以進行更多迭代。 – Mai

+0

@Mai:我已經爲我的問題添加了更多解釋。請閱讀** bold ** –

+0

的部分但您尚未描述您是如何訓練模型的......'DeepLearning is used'可能不是模型訓練過程的描述......我錯過了什麼嗎? – Mai

回答

0

可能有幾種方法可以做到這一點:

1)你可以將您從用戶處獲得的反饋納入到僅訓練模型的最後一層,保持所有其他圖層的權重不變。直觀地說,例如,在CNN的情況下,這意味着您正在使用您的模型提取功能,但稍微調整分類以說明特定用戶的特性。

2)另一種方法可以是建立一個全局模型(已經在您的大型訓練集上進行了訓練)以及一個用戶特定的簡單邏輯迴歸。對於最終預測,您可以合併兩個預測的結果。請參閱this paper谷歌他們如何做他們的優先收件箱。