搜狗大資料總監、Polarr 聯合創始人關於深度學習的分享交流

七牛雲發表於2017-03-10

架構師小組交流會是由國內知名公司技術專家參與的技術交流會,每期選擇一個時下最熱門的技術話題進行實踐經驗分享。 第一期:來自滬江、滴滴、蘑菇街、扇貝架構師的 Docker 實踐分享

第二期:來自滴滴、微博、唯品會、魅族、點評關於高可用架構的實踐分享

第三期:京東、宅急送的微服務實踐分享(上)(下)

第四期小組交流會邀請到了 Polarr 聯合創始人宮恩浩、搜狗大資料總監高君、七牛雲 AI 實驗室負責人彭垚,對深度學習框架選型、未來趨勢展開了交流。


自由交流

Polarr 宮恩浩

我是宮恩浩,現在在史丹佛在讀,主要做深度學習研究,特別是醫學影像相關的研究。同時也在一家創業公司,國內叫潑辣修圖,在美國是 Polarr,做圖片的大資料,有云端的,也有手機端的,PC 端的。我們的 App 收集資料,建立優化的演算法,我們在雲端提供圖片整理、圖片選擇、圖片資訊的識別,把識別的模型通過壓縮手段,把整個深度學習放在手機的 App,實現圖片裁定、識別、選擇、渲染,國內可能叫霹靂相簿吧。我主要負責所有的 AI 的部分。

搜狗高君

我是高君, 目前在搜狗負責精準廣告的演算法研究和大資料相關的技術研發工作。搜狗從使用者端的產品來講,有兩個產品與深度學習有較強關係,一個是語音識別,應用在輸入法,用於語音輸入轉文字,另一個是影像搜尋。在我的團隊中,深度學習主要是用在廣告領域中,如 CTR 預估、廣告檢索,廣告相關性的評估上。未來,我們希望在 NLU 上面做一些有價值的工作,也希望在網路壓縮方向取得一些成績。

彭垚

我是七牛雲 AI 實驗室的負責人彭垚,七牛是一個以雲端儲存起家的公司,在我們雲平臺上面有廣泛的影像、視訊、音訊的資料,富媒體客戶非常多,所以我們 AI 實驗室的主要職責是對大量的富媒體資料去做分析,並做一些內容稽核,識別等相關領域的應用,以服務我們平臺上面的客戶。 話題交流


Q:關於網路壓縮方面的分享一下?

Polarr 宮恩浩:網路壓縮有幾部分。

一部分首先找一個最適合的架構,這部分我個人覺得還得根據具體的應用、效能要求來定。

第二個部分是網路壓縮,在不改變模型效果前提下儘量減少模型引數。我一個同學在做這方面工作叫 Deep Compression,然後我也和這個同學一起參與一些新的深度學習演算法研究,基於在 Deep Compression 來進一步優化模型。最近一些研究發現一個深度模型可以壓縮甚至壓縮到幾十倍幾百倍,那說明整個有很大的冗餘性,基於這個我們能不能選擇一些適當的模型 trade off,在保持模型體積基礎上效能比原來顯著提升,比如它本身網路是 Dense Network,壓縮到 Sparse Network,然後再長成 Dense Network 可以一步步進行優化。可以想像這個 Network 一會胖,一會瘦,最終達到一個體積和效能更好的狀態,我個人主要在做的是這個方法的統計分析。

第三個部分是模型編碼。我們公司有在做想把影像識別的 Network 放在手機上,那麼首先基於模型壓縮。具體實現的方法是:每步迭代的時候,一部分把小的部分變成零,然後不斷迭代優化,最終模型還有一些優化,會小很多。然後同時還可以在手機上 Network 優化編碼,我實驗的時候權重也可以從原來的 32 位 float,變成 16 位,就是少了一半,或者是變成 8 位的話做了 encoding 就會小很多,基於這些(優化模型結構,閾值讓模型稀疏,編碼來減少儲存)就可以不斷進行壓縮。但是主要還是看需求,比如在雲端的話可能就不一定非要壓特別深,但我們遷往移動端就需要壓得比較大,要不可能 App 就太大,同時你壓縮完了,還得做解壓的工作,需要花費一定的時間。

搜狗高君:今年看到有 paper 在說 teach student 這種網路,然後我有這麼一個假設,因為廣告領域涉及到的特徵空間非常大,用 teach student 的這種思路,能否把一個千萬量級以上的網路,想辦法讓它降到百萬量級,同時讓它的 performance 還是能維持在不錯的效能。

Polarr 宮恩浩:我說一下,首先我覺得並不是模型越小它就越快,這可能跟架構有關。我覺得可以拿一些簡單的例子試一下。可以先看一下別人已經被驗證過更小更快的模型。看一下基於那個做會不會合理,是否能達到你的需求。然後不行的話,犧牲一些精度,還得看你的具體精度各方面效能大概多少可以用。

Q:宮博士你們現在是做模型壓縮,主要是應用在手機上吧。那壓縮了以後,在一定的精準度情況下,你的運算能耗能下降嗎?

Polarr 宮恩浩:運算能耗的話,如果你直接用它的 Framework 的話,其實是一樣的。但是你可以再 hack 一些東西他就能提高。比如可以用低精度的乘法。 我覺得 iOS 的 Metal 很好。比如 AlexNet 大概能手機上,能 30 到 42 fps,然後 inception 模型,大概是 10 fps。同時他們出一些剛剛優化,所以我覺得未來移動端的深度學習,會有很多的公司用移動端解決問題,很有前景。

Q:你們是用的是哪個 framework?

Polarr 宮恩浩:其實用挺多的,iOS 上肯定用它的 Metal Framework。然後其他的就是後端,很多都會去用,Caffe,Tensorflow 都有過一些接觸。

Q:搜狗的廣告推薦是以推薦結構化資料為主,還是以推薦非結構化資料為主?

搜狗高君:兩種都有,有搜尋類的廣告問題,還有展示類的廣告問題,對於搜尋廣告來講,它是有一個明確的查詢詞,你可以理解為是一個結構化。假設把文字理解為結構化,那麼對於展示類的廣告就很複雜了,為了提高線上的 CTR,你需要明確使用者的興趣,那麼處理使用者興趣的過程中,它的資料差異非常大,你肯定會用到搜尋,但是你也會用到它站內的一些瀏覽的行為,比方說我們拿到客戶站內所有的資料,它整個資料的來源很複雜。所以對於展示類廣告來講,可以認為所有的處理的資料基本都是異構的,可以理解為是個非結構化的問題。

Q:廣告領域,深度學習的應用是什麼樣的呢?

搜狗高君:其實這個領域裡邊的工作跟影像差異蠻大的,很大的原因在於學術界是不關注廣告的。其中還一個很重要的原因是廣告資料也沒有那麼多,那麼很難看到有一些 paper,會專門關注於廣告領域裡邊的深度學習的應用,所以業內的做法都在摸著石頭過河。我這邊的情況來講,深度學習,至少在排序問題,會比我們現有的策略基礎至少高 10 個點。深度學習,在廣告領域,百度用的相對早一點。現在阿里發展很快,在商品推薦領域有不少應用。所以從應用的角度來講,我感覺是有收益,但是投入跟收益目前不成正比。

在廣告領域裡邊,我們看到的就是 GPU 機器在加速比沒有呈現過優勢,可能是由於我們在廣告領域,不像影像領域會有大量的 CNN。在廣告領域,我小範圍的比過一些加速比的問題,GPU 的機器沒有優勢,所以我一直心裡邊有一個問題,到底為什麼在影像和語音,大家都會考慮用 GPU 的機器,難道是由於卷積網路的原因嗎?就完全不考慮 CPU 的任何的問題。

主持人:最核心的是裡面的這些函式,這些解方程,大量的矩陣計算,所以說矩陣計算 CPU 肯定是沒有優勢的,GPU 因為可以同時多個核算一個資料,所以它的優勢很明顯。所以在影像語音,包括 NLP 處理,GPU 優勢是很明顯的,基本上 CPU 的計算貢獻非常小,然後像廣告很多不是矩陣計算,所以導致加速比不高是很正常的事情,可能還沒有 CPU 運算的快。

七牛彭垚:其實我這邊也有用過 CPU 跑過一些測試的。之前在有客戶也用過我們的鑑黃系統,一開始他們說採購不了 GPU 機器,我就用 CPU 給他們測了一輪,他那個效率就很低,大概單個 GPU 和 CPU 比的話,就 20 倍了。

搜狗高君:我還有一個小問題,不知道大家在多機並行做深度學習會處理到多大的叢集問題。至少我們在做一些多機並行的時候,是從 Tensor 遷到了 MXNet 上,然後我們發現 Tensor 的效率似乎有點問題,我不知道業內在多機多卡這件事上,有沒有更好的,能有效地提升加速的問題。宮博士,在美國那邊,在並行問題上,你瞭解到有沒有一些新的進展?

Polarr 宮恩浩:我之前有看到一個基於 Spark 的在 CPU 叢集上的深度學習 caffe franework 變種,但後來沒太關注,我覺得有可能是可行的,Spark 在資料處理上用的比較多一點。但是我個人暫時沒有涉及到多機多卡。但我覺得既然 Amazon 那麼推 mxnet,他們肯定會推出來更好的多機多卡的東西。

七牛彭垚:之前有去調研過多機多卡,包括 Tensorflow、Caffe。Tensorflow 它本身並沒有提供好的 paramter server 設計。框架提供你根據應用情況更好的去設計引數伺服器。倒是覺得 Caffe poseidon 提供了一好 Paramter server 的設計,包括它矩陣同步的時候,怎麼去傳輸,把矩陣就是做變換變小,能夠更高效的去做同步。

Q:有沒有覺得用 Tensorflow 訓練的時候,比 MXNet 和 Caffe 慢很多,有沒有碰到過這樣的問題?

搜狗高君:遇到過,而且在多機上面差距非常大,所以我們還把傳統裡邊一部分,涉及到多級並行策略的做了一小部分修改,改的地方不多,但是在 CPU 的基礎上,我們當時看了一下,效果還不錯。

七牛彭垚:有沒有人用過 Torch,因為我聽一些朋友說 Torch 在跑同樣的資料集和網路情況下,和 Caffe 比,收斂率和準確率都要好一點,可能是他在底層演算法上有一些 tricky 的地方。

Polarr 宮恩浩:我之前做 DSD 研究,就用了 Torch,是基於 resnet 的 Torch。對 Torch 的感覺,首先是太麻煩了,因為用的人太少了,有什麼問題也不太好問。但是他有一些好處,比如說我想改一些 regularization 和迭代過程中修改 weights,在 Torch上改,它就相對方便很多,因為它很多底層的操作更 expose 一些,比在 Caffe 改更方便一些。比如我們想每一步做一個調整,和獲得最新的調整,我們就可以通過 Torch。相對來說和 Python 類似,是比較好實現的,這是一個感受。

Q:大家怎麼看深度學習在應用領域的發展?

七牛彭垚:內容的稽核,就比方說鑑黃,就是鑑別黃色視訊這種,大量簡化了鑑黃師的工作。有一些內容標籤,特別是對社交網站,我們會給社交網站,直播,短視訊,打一些標籤,幫助客戶理解影像視訊的內容。

搜狗高君:我問個小問題,您剛才有提到有為社交網站去做一些工作,是做一些視訊理解的方向的一些東西嗎?

七牛彭垚:舉個例子,根據客戶的需求,我們做了一個人臉檢測,稽核上傳的照片到底有沒有頭像。如果他上傳的照片裡一個頭像都沒有,那這個使用者其實是一個 bad user。在比如,我們把某個社交網站的圖片收集起來,實際上這些圖片是雜亂無章的,那麼我們做一個應用,幫所有的圖片打上標籤,還包括做了人臉的聚類、場景的識別,社交客戶就可以根據我們的標籤應用做相簿歸類,這樣就可以做一些資料分析,分析網站上每個使用者的自拍的數量等。就是從影像方面做一些人群分析。

搜狗高君:我今年聽過的一個比較有意思的深度學習應用,就是應用在視訊推薦,傳統的視訊推薦使用文字去處理的。快手裡是很少文字資訊的,完全是使用者上傳視訊,所以他們今年用了深度學習,去理解視訊的內容,然後再做推薦,也做的蠻有意思的。

七牛彭垚:我覺得這塊就相當於是幫客戶的一些非結構化的一些資料,打上標籤。然後打上標籤以後,其實能做的事情就非常多,就可以做分類、搜尋、推薦,能做的事情就很多,我甚至可以對每一個切片,比方說每 10 秒鐘的一個視訊的切片打標,然後你就能做很多事情了。比方說新聞片的剪輯,就是對新聞片的每個地方,它會去打一些標籤。比方說我這一段新聞,我有我的主持人出現,然後他會去檢測下面的主題的那個文字,把文字在 OCR 出來,他就會把那些新聞一段一段的打上標籤,這樣能夠方便做剪輯、後期處理等。

搜狗高君:七牛的 AI 是主要是做 to B 服務,就是幫助一些企業去解決他們內部的需求,用機器學習處理問題嗎?

七牛彭垚:我們最開始是做鑑黃的內容稽核系統,後面才去做各種標籤系統,和定製化識別應用等。

搜狗高君:七牛 AI 的這種模式下邊,你們會把這種商業模式,當做一個長期的商業模式去運作嗎,因為我在北京接觸過一些公司,甚至是大公司,比如說招行這個量級的公司,我目前還沒有看到很強的付費能力,他們內部很難提出這種需要用機器學習的方法去解決問題,他們也很難形成一個估值,就是估價。我一直對這件事挺好奇,這種模式真的是可以做出一個真正的盈利的模式嗎?

七牛彭垚:要看客戶的群體的,像鑑黃是幫客戶節省了很多成本,原來他們需要很多基礎的人力,人力成本非常高的,所以它其實是很樂意做這個事情,而且鑑黃師這個事情特別難做,他都要熟練工,然後那種人他又幹個半年一年他就不幹了,其實用工成本就很高。還有其他應用,我們都致力於大量節省人力成本的應用。

Q:七牛是否有一些 AI 方面的戰略?

七牛彭垚:我們後期主要會在視訊方向做一些文章,包括像視訊分析之類的,包括一些視訊通用檢測的一些事情,我們會致力於解決我們平臺上客戶的實際問題來投入這方面的研究,主要是視訊分析領域,因為我們儲存上面視訊非常多,視訊的細粒度檢測也是其中的一個重點方向。

Q:大家對深度學習有何展望?

搜狗高君:我問一個小的開放性的問題,由於深度學習出來以後,亞馬遜做了 echo 的那件事情。會不會在五年以後,真的會出現一個像鋼鐵俠裡的家庭祕書一樣,就像原來蘋果手機把手機全搞了一遍,會不會五年以後也出現這樣一件事情?大家是怎麼看這件事兒。

亞馬遜的 echo 現在提供了非常充分的 API,將家庭的一些裝置等等,或者說你一些App 上的功能做對接。那麼我自己就是在想,如果未來真是有這樣一種趨勢的話,那很有可能就會變成家庭必備的裝置了。那如果這種場景下,它可以衍生出很多服務,比如說它可以對接攝像頭,它本身也有語音,它可以變成無所不能的事。就是我們現在可能做的所有的這個事,都能被它給幹掉。因為它能完全改變生活,所以我一直在想這件事會不會發生。

主持人:我覺得這個事情,如果只是一個智慧家居,我覺得應該可以。如果你是特別極客,在家裡放一些燈,或者機器人在家裡,我覺得沒有問題。但是很多人可能對隱私保護比較在意,他不一定會樂意放機器人在家裡面。這個問題,我覺得小範圍推應該沒有問題,大範圍我覺得還是會有問題。

Polarr 宮恩浩:我覺得 echo 最近比較火,但是我覺得以後每個人手機都可以有這種服務吧,其實就是更直接一些,而現在好像有很多 startup 搞個人助理,他們主打的想法是變成 AI 的助理,比如說幫我叫個車,就不用麻煩再自己叫車了,手機助理可以和網際網路服務通過 AI 連線。我覺得這都是不久將來可以實現。

搜狗高君:在美國那邊做這個方向創業的公司多嗎?

Polarr 宮恩浩:最近就看見過一些,包括國內,我之前有同學回國做個人助理,最終肯定是想做,就是語音識別的,就是人工智慧,現在可能就一開始都是人手人工實現服務,我覺得還是一個剛開始的方向吧,都想往 AI 上做。

搜狗高君:記得國內也有類似的團隊,跟亞馬遜 echo 很像。甚至有做車載的後視鏡的,好像也在往這個方向打。

我是平常用微軟的小冰,有時候會用它來調一些程式,做一點小東西。

主持人:個人習慣吧,從普通大眾來說,有多少人會用這些東西,我覺得可能用的也不多。

Polarr 宮恩浩:我覺得主要是有幾點問題,這就是識別準確率,另外是說他就和其他的,比如在微信裡給發啥,他無法實現這個功能,比如說著目前是很計費一個東西。

主持人:我覺得聊天機器人大家可以探討一下,現在覺得還沒有一個特別好的應用,演算法上可能還沒有特別成熟。

搜狗高君:之前有朋友跟我說過聊天機器人,他跟我提到語料是一個非常麻煩的事兒,我不知道你們那邊怎麼處理的。

主持人:最核心的就是知識圖譜的構建。在聊天機器人上,技術上不是問題,其實就是生產資料的問題,就是你怎樣去構建專業領域的聊天知識圖譜,這是目前聊天機器人做的好不好的差異化。怎麼樣去跟行業深度應用,這是一個未來的趨勢。技術是沒有門檻的,隨便幾個人,可以建立一家機器人聊天公司。

搜狗高君:如果做一個垂直領域的自動問答,有一個領域級的知識庫,可能對這些問題的解決幫助會很大。那比如說做小冰這種很寬泛的,我一直很好奇有個問題,比如說像電影和電視劇裡邊有大量的對白,那麼在這個場景裡邊真的用這種對白有沒有價值能幫助這個聊天機器人的演算法會變得更好?如果只是從這種 QA 的角度來講,要蒐集這種配對關係,這個耗費的人力非常大的。但有的時候聊天機器人可能只是想讓大家感覺到它像一個人。所以這樣為什麼不能從電視劇和電影裡邊去拿到大量的對白。

七牛彭垚:我覺得其實客服機器人是相對好做的,反而把它做得像人,我覺得是比較難。我之前就接觸到一個例子,是讓機器人去學習大家平時的聊天內容。比方說“我生病了,我今天不舒服”,然後去做人工去打標,比方說 5 個回答,它這裡面就有一個回答就是“怎麼了”。結果它搞了好幾組人打標,選“怎麼了”的人最多,其實“怎麼了”這種說法你在任何場景都是通用的,這個機器人它什麼都給你回怎麼了。實際上,它還是沒有到融匯上下文,能夠理解所有東西的地步。

Q:大家可以探索一些新的領域。

Polarr 宮恩浩:除了公司這邊,我個人科研主要做醫學影像,算比較新的一些應用,比如說用深度學習來幫助醫生做一些診斷,或者看到一些人看不到的診斷,就是其提供圖片的質量,其實就是跟凸顯相關,同時我覺得 NLP 也可以用在這種就是醫學診斷方面,最近好像有些人來用就用各種這種非結構化的資料來預測,這就是說我個人比較感興趣,可能在做一些比較小的嘗試。

搜狗高君:我讀博期間的實驗室是一個 cv 的實驗室,我很多的師兄師弟在做一些影像相關的創業。剛才宮博士提到的醫學影像是我目前在關注的一件事情,確實很感興趣,因為國內目前也有幾個小的創業公司,比如說 deep care,然後他們也貌似在做類似的工作,好像好多人在學的 IBM 那個 Watson,好像是那個方法,國內有這樣一批的公司正在做,還有另外一批公司確實有在用 NLP 的方法在做病症判斷和分診的問題,醫學上這兩個方向。我感覺現在創業公司比較多,但是目前在製藥這件事上我沒有聽到,所以我平常在廣告這件事完了以後,關注的最多的就是醫學影像,我會找這行的師兄師弟們聊聊天,聽聽他們的一些想法,因為我覺得這件事似乎商業價值蠻大的。

七牛彭垚:這種專案一般都非常大,對於這種,其實是解決一些非常通用性的問題,你只要解決一個科室的一些,比方說醫學影像,那其實就解決了這個非常通用的問題。

搜狗高君:不過我目前不看好國內做這件事情,因為我的一個基本判斷是,你想讓醫院把正兒八經有用的資料拎出來就不太靠譜,因為他們跟我說過這麼一件事兒,他們拿到過幾萬份的病例,然後就是相關的資料,刪完了以後,大概能用的資料是千條,我當時的感受,就是這個行業別說用深度學習了,你拿個邏輯迴歸都搞不起來,資料量太小。國內其實很難有這麼大的時間,能讓你搞這個,所以可能在美國很少做,但我覺得國內應該長期會有一個機會。

Polarr 宮恩浩:國內其實這種病例還是多,主要是醫院和學校也可以合作,比如清華就有很多這方面資源,將來如果再想做這事的話,就是從每一個病人開始做起,就現在國內基本上一週多的病人,就跟美國一個月一年的病人的數目差不多那種感覺。

七牛彭垚:對,像清華浙大交大這種醫學院研究院,有很多附屬醫院,資料還是非常多。剛才宮博士也說,是給到某些大學,而大學裡面這些影像中心可以流出去,所以這一塊其實有很多機會的。問題倒是以哪些病為突破口,這個倒是可以再探索。

Polarr 宮恩浩:最近基於 CNN 的 segmentation 發展有一定進展,就可以做一些很多醫療方面的應用。

搜狗高君:但是有一點像醫學影像,即使就目前來看,就算能拿到很好的資料,它也不太可能變成一個主要的手段吧?我是這麼想,畢竟它是有錯誤率的,如果讓一個機器去做主要建議的話,一旦出了事故會比較麻煩,我是這樣感覺的。所以我覺得這種工具在未來,也僅僅是給醫生做一個參考的作用。我不知道大家會對這件事有更大的期待嗎?

Polarr 宮恩浩:這些醫學倫理和管理方面問題,主要是你不管做的再好,目前你不可能一個機器來給你做這做那,都是最後簽字是有人來負責,但是對於醫生來說,比如他需要看很多層的圖片,很多個不同的層的片,那如果能告訴他,你就看這一層,就是主要的一層,這種減少他的工作量,從實質上來說,非常非常好。前幾天我跟一個醫學院的老師聊這事,他覺得就需要這方面的東西。

相關文章