您是否注意到推薦引擎并不是那么聰明? “爛番茄”的影評很好地傳達了評論家和其他觀(guān)眾的看法,但他們評出的高分電影也許并不一定合我的口味。反倒是有些低分的“爛片”,您反而可能會(huì )看得津津有味。人工智能可以解決這種矛盾嗎? 人工智能 (AI) 系統需要高質(zhì)量的輸入來(lái)讓它們“學(xué)習”。Pandora的音樂(lè )推薦引擎根據數千億條用戶(hù)反饋,人工標注了每首曲目的流派、節奏與和弦進(jìn)行, 然后借助這些標注信息,通過(guò)70多種不同的算法向用戶(hù)進(jìn)行推薦。這真是了不起的黑科技……嗎? 反正在點(diǎn)了不知多少次“跳過(guò)”后,我還是不知道該怎么評價(jià)它。我提出了一個(gè)更簡(jiǎn)單的AI系統(圖1),來(lái)幫助大家確定接下來(lái)想看的電影。下面,就來(lái)介紹下我使用的設計流程。 ![]() 圖1:通過(guò)幾個(gè)簡(jiǎn)單的步驟構建更好的AI推薦(圖源:貿澤電子) 從一個(gè)問(wèn)題開(kāi)始 首先,我要用一個(gè)問(wèn)題來(lái)概括本文所要解決的問(wèn)題: “更聰明、更準確的電影推薦引擎是什么樣的?” 接下來(lái),我要概括出用戶(hù)希望得到的結果:“系統將準確預測用戶(hù)是否喜歡某一部電影! 當然,兩者之間依然有很多空白地帶,但是用戶(hù)得到的結果必須要解決上面提出的問(wèn)題。如果沒(méi)有解決,或者我可以想象到其他呈現給用戶(hù)的結果也可以解決前面的問(wèn)題,那么我將會(huì )返回并簡(jiǎn)化這個(gè)問(wèn)題或用戶(hù)結果,直到它們互相匹配。 現在,我有了起點(diǎn)和終點(diǎn),我從用戶(hù)希望得到的結果反向回推到開(kāi)頭的問(wèn)題,在這一過(guò)程中將兩者加以簡(jiǎn)化,確保過(guò)程中的每一點(diǎn)都有助于回答開(kāi)頭提出的問(wèn)題。 我記下了我對當前解決方案不滿(mǎn)意的地方!盃番茄”上的短評需要閱讀并加以分析, 這真是太燒腦了! 我希望系統能為我做出決定, 判斷出我會(huì )喜歡還是不喜歡這部電影; 或者,更好(更簡(jiǎn)單)的方法是機器僅向我顯示它認為我會(huì )喜歡的電影。 為了讓機器采取機器的方法思考,我們必須使其非人化,將情緒從數據中剝離。電影評論家的意見(jiàn)主觀(guān)性太強,不適合讓機器采用。我們需要的只是“贊”或“踩”, 對應到“1”或“0”,因為沒(méi)有什么比二進(jìn)制對象更簡(jiǎn)單了。 在搭建系統的大體框架時(shí),我喜歡概括!拔也恍湃坞娪霸u論家的意見(jiàn),因為他們跟我想的不一樣。系統需要把我和其他與我想法一樣的人歸到一起! 在這里似乎要回答的關(guān)鍵問(wèn)題是“什么使一個(gè)人的意見(jiàn)值得信賴(lài)?” 許多系統嚴重依賴(lài)于“1”(人們喜歡的電影)而忽略“0”(人們不喜歡的電影),但是我相信這是一個(gè)錯誤!0”可以幫助我們極大地提高機器的準確度。 例如:芝加哥的Jeremy喜歡《教父3》,而不喜歡《壯志凌云2:獨行俠》。我們對這兩部電影的感受是一樣的。接下來(lái),Jeremy對《節奏組》評了分,這部片子我還沒(méi)看過(guò)。他贊了這部電影。借助這條信息,系統推薦我觀(guān)看《節奏組》(圖2)。如果看完電影后,我也“贊”了這部電影,Jeremy推薦的權重就會(huì )增加,他的意見(jiàn)也會(huì )變得更加值得信賴(lài)一些。 ![]() 圖2:向系統中添加更多意見(jiàn)后,推薦的準確性將會(huì )提高。(圖源:貿澤電子) 就這么簡(jiǎn)單。設計得宜的系統應該僅使用幾個(gè)數據點(diǎn)即可實(shí)現目標,并以此為基礎進(jìn)行構建。在我們的案例中,我們的機器可以通過(guò)收集越來(lái)越多的用戶(hù)對越來(lái)越多電影的“贊”和“踩”,來(lái)繼續提高準確性。 簡(jiǎn)化 設計好機器的運行機制后,我接下來(lái)要問(wèn):“系統還可以簡(jiǎn)化嗎?” 我發(fā)現我并不需要知道“來(lái)自芝加哥的Jeremy”是誰(shuí)。我不需要看他的個(gè)人資料照片或推薦的其他電影。我甚至不需要看到他的名字(實(shí)際上匿名系統可能更可。。我關(guān)心的只是機器會(huì )以越來(lái)越高的精度來(lái)推薦電影,這樣就可以擺脫系統中的所有社交負擔。我可以想象一個(gè)干凈的用戶(hù)界面,它只顯示機器認為我會(huì )喜歡的一部電影的海報。 我看到過(guò)系統因為設計人員未能一直簡(jiǎn)化下去而失敗,所以我想提醒自己,只要仍能達到預期的目標,解決方案越簡(jiǎn)單就越精巧。 擴展 我的電影推薦引擎現在可以通過(guò)每部電影僅收集一個(gè)數據點(diǎn)而進(jìn)一步變得“更聰明”。10,000個(gè)用戶(hù)中,每個(gè)用戶(hù)只要評價(jià)50部電影,就可以實(shí)現可接受的準確度。當然,在數據自身足夠可靠,并且機器可以準確地預測我接下來(lái)應該看哪部電影之前,一切都還是猜測。但這才是重點(diǎn)。我們剛剛設計了一個(gè)非常簡(jiǎn)單的系統,當我們將模型擴展到更大的用戶(hù)群時(shí),可以輕松地進(jìn)行準確性測試。 機器之美就在于其中。當您設計簡(jiǎn)單而有效的AI系統時(shí)……先提出問(wèn)題, 加以簡(jiǎn)化, 然后再進(jìn)行擴展。 文章來(lái)源:貿澤電子 作者簡(jiǎn)介:Stephen經(jīng)常受邀為《財富》100強企業(yè)提供總體產(chǎn)品戰略和架構設計方面的建議,尤其是在涉及工作流管理、電子商務(wù)、人工智能和機器學(xué)習的領(lǐng)域,他對當前流程有著(zhù)客觀(guān)的看法。他建議在戰略上進(jìn)行小幅調整,以產(chǎn)生長(cháng)期重大收益以及快速的投資回報。 作為首席技術(shù)官/首席系統架構師,Stephen深刻了解搭建成功的“軟件即服務(wù)”平臺所需的一切。一般是通過(guò)基于云的可擴展架構,將多個(gè)舊系統組合在一起,讓復雜數據集能夠以安全、統一的視圖呈現給用戶(hù)。 |