王棟: 要做好推薦,只有技術是不夠的

jopen 8年前發布 | 28K 次閱讀 推薦

 

非商業轉載請注明作譯者、出處,并保留本文的原始鏈接: http://www.ituring.com.cn/article/208749

王棟,美團網技術總監,負責美團外賣的搜索推薦及數據團隊。2009年他博士畢業于清華大學人工智能實驗室,研究機器學習算法及計算機視覺的中層語義表示 問題。畢業后先后任職于hulu及優酷,主要從事網絡視頻中的搜索、推薦、廣告等流量變現工作。曾多次帶隊或參與TRECVID/KDDCUP等國際機器 算法競賽并取得第一名。2011年帶領團隊搭建出世界上第一個實用的視頻人臉標注系統( hulu face match )。王棟是國內推薦系統的早期關注和研究者,對視頻搜索有豐富研究經驗,他實現了展示及效果廣告的流量預估,在線匹配及用戶定向等多項核心技術的大規模應 用,另外,他在電影票房預測等數據挖掘的前沿方向也取得了突破。王棟目前關注O2O領域中的數據、算法及平臺化問題,期望借助智能技術,更方便快捷地滿足 用戶吃喝玩樂的需求,同時助力商戶理解其目標用戶,發現并促成商機。

機器學習的一萬小時理論

“我的導師張鈸老師現在已經80多歲了,由于各種政治運動的影響,他40歲才開始做研究。"

問: 您是什么時候開始接觸計算機的?

我接觸網絡其實挺早的,但是最開始只是玩,沒有意識到有機會去做一些真正能改變世界的事情,比較后知后覺。我在清華大學學的電子計算機,可能因為性格原因,所以一直偏向于研究性的東西。之前也曾經有過很多好玩、可以創業的想法,但是沒有真正自己去動手從頭做到尾。

問:您在清華從事研究工作很長時間,對于計算機科學的研究來說,學術界和工業界有什么差別?

學術界其實更多的是要做更有趣的研究,要有創新。學術界并不在乎工業上應用某個算法是否現實。比如一個用戶的一次推薦花上十分鐘對學界來說可能 是可以接受的,只要推薦效果好,可以隨后再去優化實現的速度。但在工業界,更多的是從實際效果出發,有給定響應時間等限制條件,且需要有和業務掛鉤的客觀 衡量的指標,包括從用戶維度和公司商業維度去考量,所以會受到比較多的現實限制。

國內的大部分公司現在并不會花很多人力去做純粹的研究,美團也類似。但我們會關注學界的發展,看有哪些看起來接近靠譜的東西,我們可以拿過來為 我所用。但我們不會自己去做很多探索性的研究,這個可能是一個比較明確的界限。在平時,我們的工作任務也會有偏向“研發”的工作,也就是又有研究、又有開 發,需要兩者結合的工作。所以如果有同學有自己的想法,可以自己去花10%到20%的時間去嘗試。

問:您曾經在清華大學從事的都是計算機視覺方面的研究,現在是否可以說您已經脫離了這個領域?

具體研究現在當然不搞了,但也沒有完全脫離。以前我們做的是語音、圖像、視頻的內容分析和理解,以及一些算法的研究,這些研究和推薦搜索背后的 原理還是類似的,都是機器學習,或者說是能夠深入和自發學習一些復雜規則的系統。對于這樣的系統來說,輸入和輸出的標準都是人設定的,系統自身現在還不具 備自主學習的能力。所以從這個角度上說,這兩種技術我覺得還是相通的。

比如,之前我們做的物體識別或人臉識別其實就是一個樣本,機器學習系統來抽取一些特征,從而通過模型判斷某些屬性是否存在。語音也是類似的。 對于現在的大數據研究來說,真正的核心問題就是如何建立一個合理的問題表示,或者說一個層次化的表示結構,能夠把問題表達清楚。 然后通過明確優化的目標,你就可以利用各種工具去做優化,最后得到一個滿足你要求的結果。

問:您之前說過,您現在很多精力其實都用在協調和激發您的同事上。您現在在管理和技術上如何平衡自己的時間和精力?

總體的思路還是成就別人,然后成就事業。我自己只是牽線搭橋,為別人提供更好的環境和機會,我日常處理的很多工作就是協同目標和協調資源。除此之外,我也 需要對業務有比較多的思考。比如做商戶:商戶相關的基礎邏輯是什么?商戶最根本的需求是什么?我們怎么樣去滿足需求?以什么樣的路徑、什么樣的產品形態去 滿足?有一些可能會涉及到技術的運營方式,比如怎么樣能更快地吸引商戶進來?這些都需要蠻多的積累。

對我來說,技術只能靠自己周末去抽空補了,平時沒時間。工作中管理是一方面,另外還有很多業務相關的事情需要去了解、去同步,所以沒有很多時間去自學和沉淀。畢竟是做技術管理,也需要不斷同步前沿的信息,好在持續學習研究了這么多年,也是很有意思的事情。

從宏觀上說,我對于技術的關注包括某種技術的歷史源流、它之前是什么樣子、現在發展到什么階段,以及能夠對我們當前的業務產生什么樣的作用。從公司的業務 上說,有可能用戶發表的評論信息文本處理以后效果會很明顯,所以至少我們在這個技術上要持續保持關注。從個人興趣上說,我最近一直對DNN比較感興趣,我 們團隊也在嘗試做一些合適的應用。DNN下一步會有怎樣的進展,人工智能在未來十年二十年會有什么樣的發展,我們都拭目以待。我覺得, 我們的下一代長大后都要學會跟機器人共處,因此,我經常會想怎么樣能夠讓他們更早、更好地去了解計算機 ,將來也好打交道。

問:對于那些對機器學習感興趣或者正在相關專業學習的同學,您有哪些學習方面的建議?

現在的互聯網時代提供了一個特別好的機會。我剛上大學的時候看論文還都需要去圖書館借閱期刊,現在arxiv上尚未正式發表的最新研究成果都有 了,想學什么都很方便。你還可以用Coursera這樣的網站直接在課堂上學習,有世界知名的老師授課,只要想學肯定能學好。你還有各種機會可以去跟大家 交流、去公司實習,或者參加各種競賽,這些活動都會讓你獲得很好的實戰經驗。

如果要學習機器學習,首先就是要堅持。我知道有些比較牛的人原先本來不做算法,對計算機也不懂,但就是感興趣,他能夠持之以恒地去學、去做,然后在學和做 的過程中不斷反思、復盤,看自己到底還有哪些地方做得不夠好,然后不斷提高,最后做到了頂尖的水平。比如我的博士導師張鈸老師,他現在已經80多歲了,之 前一直因為各種運動影響而沒有機會做研究,40歲改革開放之后才開始做。他的數學很好,而他也一直很努力地學習和思考。所以他能把這個東西想得很清楚,很 快就站在了世界的前沿。

在堅持的前提下,第二是要不斷去反思。到底怎么樣能讓自己的思考更加深入,能夠對問題的感受更清楚。

第三,就是要選好一個方向,因為機器學習最終還是要實際應用的。如果還沒有確定方向的話,可以先去探索一下,然后找一個自己感興趣的,未必是最時髦的方向。然后你要在這個方向上持之以恒地鉆研,無論是圖像、文本,還是結構化的數據分析,其實都是跟應用領域相關的。

2006年 The Cambridge Handbook of Expertise and Expert Performance 出版。很多人在此基礎上提出了一萬小時的學習理論,我覺得在機器學習領域也適用。有很多數學理論你要去了解,很多編程方法你要去掌握,還有很多跟特定應用 領域相關的知識,比如做語言需要了解語言學,做圖像或者語音需要了解的人的視覺感知機制或聽覺機制。另外,還有對之前的研究成果的理解和判斷,也是需要時 間去積累的。所以歸根到底,堅持還是最重要的。

在數據中淘金

“要從算法原理上說,美團相比于其他公司可能并沒有多大優勢,但是我們有我們的特點。”

問:無論在清華大學還是在Hulu,您都曾完成很多富有挑戰性的活動或項目,比如TRECVID/KDDCUP國際機器算法競賽和視頻人臉標注系統。O2O領域最吸引您的是什么?對于您的研究和開發來說最大的挑戰是什么?

現在大家都說O2O,之前很多人叫團購,以后的話,可能大家會想到的是服務引擎的概念,也就是我們做的本地生活服務。怎樣能把消費者和商家的需 求匹配起來?商家肯定希望能找到比較適合他品牌定位的用戶,針對這些用戶可能會做促銷活動進行拉新,或者對老客進行更好的維護;消費者或者說用戶則有不同 的要求,拿吃飯為例,有人希望能吃到符合自己口味又有性價比的東西,有人希望環境安靜一點,有人希望不用跑太遠。從餐飲業推廣到美發、結婚等行業,這些行 業其實都有很長的決策、支付和履約的鏈條,大家在做某些決策的時候都很困惑,所以需要獲取很多信息。如果我們能夠對個人信息進行積累,再結合我們對商家線 上線下服務的整體信息,然后利用一種比較復雜的匹配方式,就能在用戶沒有非常精確地說出他的需求時,就幫他匹配到。我覺得這是未來非常有潛力的方向。

問:在工業界,您能接觸到大量這樣的真實數據?

王棟:這是肯定的,但工業界的數據跟學術界不太一樣,有很多噪聲。我們在現實中處理這些數據時,一方面會遇到爬蟲,或者有人去刷單,我們需要結合風控部門 在訓練模型時把這些噪聲處理掉;還有一些用戶可能數據特別稀疏,這時如果把他直接加進樣本集用于訓練未必是一個好的選擇,所以需要做很多前期處理工作。為 了讓大家做算法調研時能夠更快地迭代,我們在這方面比較注重平臺化建設,這樣就不需要花費時間重復開發工具,可以集中精力調算法。

問:能否請您介紹一下美團基于Spark的離線訓練平臺?和基于Hadoop的系統是如何結合的?

我們離線數據的收集是在Hadoop上,一些統計數據的處理也是在Hadoop上,這是我們用來做機器學習訓練的一個平臺。Spark現在和 Hadoop統一采用YARN管理,部署在同一個集群上,這樣數據交互會更容易。我們很早就開始用Spark,比如早期我們發現算法可能在某些情況下不收 斂,所以我們還向Mllib的項目提交過一些Patch。

現在的研發已經比較完善了,所以我們在現有平臺的基礎上做了很多工具,能夠在訓練的時候很快提取我們需要的特征、打好標記,然后迅速通過離線的 方法得知最終效果是什么樣的。要做離線調研的話,大部分時間實際上是在取數據、分析數據,最后看效果,不好了再去調。整個離線調研過程占用大家工作時間的 比例很高,所以我們很有必要去做優化,這樣我們才能有更多的時間去做真正重要的事。

關于我們的排序解決方案,可以參考美團技術博客 http://tech.meituan.com/meituan-search-rank.html

問:相比于你們的競爭對手,你認為美團的架構和算法有什么特點?

可能不太好評價競對或者說友商,就說說我們自己吧。我們這邊對于推薦一直是蠻看重的,最早從PC端的時候就開始做,2013年時大家把注意力轉 到了移動端上。隨著屏幕變小,推薦,尤其是個性化的推薦變成了非常有價值的事。當時移動端的負責人陳亮(他現在負責酒店業務),很早就看到了這一點,隨即 開始招團隊做這方面的事情。

我覺得當時比較好的一個思路就是,上來我們先搭了一個很好的框架,這個框架能夠很方便地去實現算法。對工程和算法進行了簡單的集成之后,我們一方面可以不斷地迭代優化這個架構,另一方面可以用算法本身做很多靈活的實驗,包括流量分配、不同的算法測試,等等。

我們接下來所做的工作其實更多涉及用戶的各種行為,我們會把搜索過程中的行為以及歷史上使用美團的行為數據搜集起來。另外我們也想辦法去獲取一些用戶的評價反饋,也就是讓用戶自己去主動吐槽。我們再利用各種收集信息的手段,把這些數據累積起來。

第三步,我們開始做個性化推薦的排序。在當時,雖然推薦排序在學術界已經研究得比較清楚了,但在工業界還沒有很廣泛的應用。最早的時候大家都用 傳統的item CF/user CF這樣簡單粗暴又有效的做法。但是要做得好,繼續做深化提高,做算法調優是避免不了的。我們當時試著研究了各種排序的策略,做到了個性化推薦,后來從個 性化搜索到個性化排序,我們也都做到了。

具體內容可以參考美團技術博客中機器學習InAction系列的文章,如 http://tech.meituan.com/machinelearning-data-feature-process.html

問:剛才第二步您提到了跟用戶有關的信息搜集。亞馬遜的首席科學家Andreas Weigend曾說過:"亞馬遜做的不是從數據中分析出信息,而是建立一套有效的評價和反饋機制,讓用戶形成一個良好的社區,讓用戶自身對于產品進行推 薦。"在美團的推薦系統中,是否也考慮讓用戶群體成為產品的一部分?

我們之前也做過一些嘗試,比如把用戶不感興趣的內容刪除,或者用戶自己提交興趣。在影視相關應用上,如果用戶看到下面的條目,點擊了,但是沒有看上面的, 那就說明上面內容可能是用戶不感興趣的。這些方法很多也是被業界廣為使用的,事實上各種效果好的模型業界也都在用,要從算法原理上說,美團相比于其他公司 可能并沒有多大優勢。 我們的特點在于,首先我們能更好地利用美團特有的數據,其次我們可以利用數據結合業務找到很多有效的特征,這些特征可能跟我們的應用場景相關。

我們之前也和豆瓣、阿里等公司交流過彼此的一些經驗,發現在不同場景下,真正產生效果的特征是不太一樣的。比如,現在本地電商的商品推薦,是跟用戶當時所 在的位置有很大關系的,用戶有需求的時候一般是找離他比較近的,所以這是一個很大的制約因素。另外推薦也和用戶本身有關,比如一個剛畢業的學生不一定每天 會去吃大餐。反倒在豆瓣上,這種不同形態的消費更多的是基于用戶的興趣,因為用戶付出的成本就是時間,很可能不需要花錢。而我們受現實的約束更大一些,我 們需要考慮離用戶比較近的商家的評價、銷量,以及價格優惠的力度,還有用戶以前的消費記錄、搜索記錄,以及用戶對類似品類的興趣,這些都是我們排序的依 據。 我覺得推薦是蠻偏業務場景的,和產品相關,并不光是技術好就能做好。

關于我們推薦的工作總結,可以參考 http://tech.meituan.com/mt-recommend-practice.html

問:美團的四個產品美團團購、美團外賣、貓眼電影,以及美團酒店的技術架構相對獨立程度如何?這些產品存在哪些技術上的共享?

美團的所有業務都是部署在美團云上的。美團云作為美團業務的基礎,穩定支撐了整個業務。美團云的技術架構主要有以下幾個特點:

  • 分鐘級的云資源交付,支持虛擬機和物理機。

  • 美團云使用可見性隔離虛擬機減小了應用之間的影響,避免軟件沖突、管理維護沖突等問題。

  • 面對CPU、內存、存儲空間、io能力的利用率低問題,多元化業務分時復用資源將資源利用率提高了10倍。

  • 美團云采用單實例的資源分配與回收,解決了資源回收難、業務淡出、不能整合及混布其他應用等問題。

  • 建立了分業務的精細計量模型,可精確計算各業務部門的運營成本資源使用情況。

另外,美團云在調度方面做了很多優化。比如,同業務的VM使用不同Host;將業務分為I/O型、CPU型、內存型;并且在餐飲和電影票業務上分閑忙時段,錯開高峰期。

在技術架構特點方面,美團云現在采用的是多機房部署模式,每一個機房都是自主運營,多個機房資源串連在一起,避免單機房出現故障而導致服務中斷 的問題。美團云提供的存儲有兩種:本地存儲和分布式IP SAN存儲。本地存儲提供高性能穩定性,分布式IP SAN存儲則提供靈活性。

除了底層架構,再往上各個業務有自己各自的特點。比如外賣其實并不只是關心下單,還要看之后的履約配送環節。我們以前也做過一些和電影相關的數 據工作,后來為了讓業務跑得更快,貓眼電影就成立了獨立的技術團隊。現在,大家會有一些技術交流,內部討論,然后我們會提供一些平臺級別的工具,比如分詞 的技術,就是各業務都在用,再比如我們做的搜索平臺架構,各個業務也都在用,他們可以直接基于搜索的框架,提供自己業務的邏輯。比如查詢的內容是五道口, 在貓眼里面就是找相關的附近電影院,比如五道口工人俱樂部電影院;如果在酒店頻道里找,可能找的就是賓館。業務理解上的差異會讓最后出來的結果也不一樣, 這部分是可以定制化的,我們的平臺現在提供這樣的能力。

問:貓眼電影的票房預測現在進展到了什么程度?

2015年六、七月份的時候我們做出過一版票房預測,當時提前一個月預測的準確率差不多能達到百分之七八十。貓眼產品的負責人,他也會去跟發行 方商量要不要跟美團做聯合發行。他反饋票房預測是很有價值的方向。這塊美團肯定還會持續去改進,因為我們的數據搜集比以前做得更好了。

我們現在用到的特征還是貓眼本身的一些用戶行為特征,包括搜索、歷史評價等等。好多人都說要利用導演、演員,以及微博搜索量去做, 我們實踐之后發現這種方法不靠譜,還是我們自己的數據最有效。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!