不写代码,用图形界面搞机器学习:MIT发布“全球最快AutoML”
栗子發(fā)自凹非寺
量子位報道公眾號 QbitAI
來自《鐵男》
科幻劇情里,沒有看過哪位大佬拿 Python 寫代碼。
眼前凈是藍汪汪的全息畫面,用手指拖幾下,再點幾下,就算出了結果。
“我夜觀星象,算出你上班時間看P站。” (誤)
回到現(xiàn)實,雖說是沒有全息圖,但不寫代碼、拖拖拽拽就能搞機器學習,這等美事已經達成了:
MIT 和布朗大學聯(lián)合開發(fā)了交互式數(shù)據(jù)科學系統(tǒng),名字叫Northstar。
團隊說,這是“全球最快的交互式 AutoML 工具”;除了速度,它生成模型的成績,也已經在 DARPA D3M AutoML 比賽上超越了所有對手。
作為用戶,你只要加載好數(shù)據(jù)集,再把想預測的目標,拖進一個預測器。幾 (十) 秒的光景,系統(tǒng)便會幫你找出最適合的機器學習模型。
有位不愿透露姓名的評論員說:
比用 TNT 還容易。
即便不是數(shù)據(jù)科學家,也可以充分利用手上的數(shù)據(jù),來分析各種行業(yè)的現(xiàn)實問題。
并且,這套系統(tǒng)支持多人協(xié)作,不管是用同一臺設備還是多臺設備。電腦、平板、交互式白板……各種設備已支持。
現(xiàn)在,Northstar 在工業(yè)界和學界都有了用戶,Adobe便是其中之一。
能做些什么?
先拿醫(yī)學研究人員舉個栗子。
MIT 在波士頓,那么就把整個波士頓的 ICU 患者健康信息全部投喂給 Northstar。
加載完成之后,性別、年齡、BMI、有沒有消化疾病、心臟衰竭等等,各種參數(shù)都會進入“屬性(Attributes) ”這一欄。
滑動的部分,就是各種屬性
機器學習出場前
可以先觀察不同屬性之間的聯(lián)系。
比如,通常認為男性比女性更容易發(fā)生心臟衰竭(Heart Failure) ,就來驗證一下這個規(guī)律適不適用。
把“心衰”和“性別”兩個屬性拖出來,然后相連,發(fā)現(xiàn)女性的發(fā)病人數(shù)稍低。但把兩個屬性拖近彼此就會看到,按照比例計算,反而是女性比男性發(fā)病率高:
拖到靠近的位置,就可以計算比例
另外,還可以輕松觀察多類疾病共存的概率。
比如,傳染病、血液疾病和代謝疾病。
除了把三者相連之外,Northstar 還有一種更簡潔的工具,叫frequent itemset:
它可以把三類疾病的所有可能組合,概率全部計算出來:
最容易并發(fā)的是代謝疾病和血液疾病,而代謝疾病單獨存在的概率是全部可能性里最高的。
這時候,再用“年齡”屬性篩選出 50 歲以上的患者,代謝疾病的百分數(shù)飆升到了 73%。
注:發(fā)現(xiàn)數(shù)據(jù)里,有很多患者年齡填了零,也可以一鍵清除他們,只留有效部分。
數(shù)據(jù)就觀察到這里。
機器學習出場了
如果要預測某個患者有沒有心臟衰竭,就從算法欄里拽出一個預測器(Predictor) 。
然后把要預測的“心臟衰竭”,拖到預測器的“目標 (Target) ”里去。
這樣,預測器的右邊,便會產出一系列模型,每個模型的預測準確率都會顯示出來。
模型生成完畢之后,可以選擇一個成績最好的模型,打開來仔細查看:
這個準確率92. 25%的方案,一共有 8 個步驟。
現(xiàn)在可以把這個模型導出為 Python 腳本,今后可以手動優(yōu)化,也可以直接投入使用。
除此之外,還可以看到各個不同參數(shù)的權重:
其中,對預測心衰最有幫助的是一個叫“heart_ischemic”的特征。
意思是心臟缺血,常常是伴隨著心臟衰竭而生。
所以下一步,就把這個特征也扔進預測器的目標里。
這樣的話,再生成的模型就不依靠這個癥狀來預測了。
還有,可以把自己選中模型的預測結果,和 Ground Truth 對比觀察。
像上圖這樣直接拖進去,就會得出假陰和假陽的情況。
選中這兩部分,把它們和“年齡“擺在一起,就知道 AI 在哪個年齡段的預測更容易出錯。
這個模型的錯誤率,幾乎是隨時間線性增長。
到這里,一個栗子就講完了。
可問題是,AutoML 找出的模型一定是有效的么?
并不,如果預測成績看上去很迷,可能是因為屬性欄里的數(shù)據(jù)集,并不是有用的預測工具。
但沒關系,系統(tǒng)自帶數(shù)據(jù)集搜索工具datamart,輸入關鍵字,可以查找相關的數(shù)據(jù)集。
比如,輸入“貧困 (Poverty) ”,就能看到美國各個縣的人口數(shù)據(jù)。
有了這些數(shù)據(jù),系統(tǒng)找出的貧困預測器,表現(xiàn)也會有所提升。
怎么做到的?
Northstar 的英勇體現(xiàn)在三個角度,一是速度,二是生成模型的質量,三是交互能力。
團隊說,這是由系統(tǒng)的四個部分共同決定的 (第三部分高能) 。
第一部分叫 Vizdom,就是前端,人類最直觀感受到的部分,像一個沒有邊界的畫板,可以在上面自在地發(fā)揮。
之所以自在,是因為背后有個強大的數(shù)據(jù)引擎:
第二部分叫 IDEA,就是這個引擎。全稱“交互式數(shù)據(jù)探索加速器“,可以理解成樣本管理器。
它把內存分成三份,一是結果緩存 (Result Cache) ,二是樣本存儲 (Sample Store) ,三是索引 (Indexes) 。
當用戶開始操作,IDEA 就會從各種數(shù)據(jù)源吸取數(shù)據(jù),推測性地 (Speculatively) 執(zhí)行運算,然后把結果緩存下來,支援用戶后面可能下達的指令。
同時,IDEA 還會把所有傳入的數(shù)據(jù),緩存到“樣本存儲”的位置。如果沒空間了,IDEA 就開始更新緩存:用水塘抽樣(Reservoir Sampling),給數(shù)據(jù)集生成一個代表性樣本(Representative Sample) ,就算數(shù)據(jù)流有偏差也是后面再處理:
要避免數(shù)據(jù)流的偏差 (Bias) 帶來的影響,IDEA 利用了許多數(shù)據(jù)庫都有的采樣算子,以及這些數(shù)據(jù)的隨機偏移 (Random Offsets) 。
IDEA 還可能把水塘樣本分成幾個分層 (Stratified) 的子樣本,用來過度表示 (Overrepresent) 一個分布的尾端,或者用來創(chuàng)建專門的索引。
它所有的決定,都要根據(jù)用戶過往和當下的操作不斷優(yōu)化:
比如,當用戶把一個新屬性拖進畫布,系統(tǒng)就會分配更多資源到這個新屬性上,為用戶可能發(fā)出的請求提前做好準備。
另外,隨著計算的進行,IDEA 還會把精確度越來越高的結果,不斷傳輸?shù)角岸耍舶ㄟ@些結果的完整性和誤差分析。
這樣,即便用戶任意發(fā)揮,系統(tǒng)也能快速待命,不論數(shù)據(jù)大小,不論數(shù)據(jù)類型。
第三部分叫 Alpine Meadow,重中之重。
在 IDEA 準備好數(shù)據(jù)之后,就是它負責選出最適合的算法,最適合的超參數(shù)。
2013 年,團隊曾經開發(fā)出MLbase:用一種簡單的聲明式方法 (Declarative Way) ,來說明 ML 任務是什么 (但不發(fā)出具體指令) ;還提供一個新的優(yōu)化器,選出一個學習算法,并且能夠動態(tài)地適應當前的任務。
只不過,MLbase 不是為了和人類交互而生的,調參常常要幾小時。
所以,團隊在此基礎上一頓操作,獲得了快速有效的 Alpine Meadow:
先是證明了,把基于規(guī)則的優(yōu)化(Rule-Based Optimization) 方法,和多臂老虎機、貝葉斯優(yōu)化以及元學習,巧妙結合在一個系統(tǒng)里,能有效找到最好的 ML 模型。
并設計了一個自適應的選擇算法,通過對比訓練集和驗證集的誤差,早期就可以剪掉 (Prune) 一些不靠譜的 pipeline。這在訓練實例的樣本越來越大的情況下,有助于達到更高的效率。
結果是,Alpine Meadow 廣泛支持各類任務,多才多藝的程度,遠遠超過其他 AutoML 系統(tǒng):
并且,它在從前沒見過的數(shù)據(jù)集上,有 80% 的情況超越了作為基線的專家系統(tǒng):
下面看速度。
綠色是 Alpine Meadow 找出第一個方案需要的時間。在成功的數(shù)據(jù)集數(shù)量相同的情況下,用時遠低于其他算法:
方案在數(shù)據(jù)集上的相對排名,依然明顯超過其他算法 (越低越好) :
然后,是 DARPA 比賽的分數(shù) (已 Normalized) :
截至目前,它已經超越了 DARPA D3M AutoML 比賽上的全部對手。
雖然,Alpine Meadow 單打獨斗也沒有問題。但在這個四部分組成的系統(tǒng)里,還有最后一個部分:
第四部分是 QUDE,它可以監(jiān)控用戶的每一個交互動作,對常見的錯誤和問題給出警告。
這些模塊合在一起,才是完整的 Northstar。
美中不足,現(xiàn)在似乎還沒有個人用戶的入口。
“全 MIT 最聰明的人”
MIT 和布朗大學組成的團隊,已經在 NorthStar 上面耗時四年。
領隊是 Tim Kraska 副教授,來自 MIT 赫赫有名的 CSAIL 實驗室。
項目已經發(fā)射了許多篇論文,其中核心的Meadow Alpine論文,登上了 SIGMOD ’19。
論文一作名叫尚澤遠,也來自 CSAIL,是 Kraska 的博士生。
少年的校園主頁,域名矚目:http://smartest.mit.edu/
下方還有一行傲嬌的說明:
如果想知道誰是 MIT 最聰明的人,請前往 https://www.shangzeyuan.com/
Alpine Meadow 論文傳送門:
http://sci-hub.tw/https://dl.acm.org/citation.cfm?id=3319863
NorthStar 論文傳送門:
http://www.vldb.org/pvldb/vol11/p2150-kraska.pdf
作者系網易新聞·網易號“各有態(tài)度”簽約作者
總結
以上是生活随笔為你收集整理的不写代码,用图形界面搞机器学习:MIT发布“全球最快AutoML”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软银宣布新愿景基金:规模1080亿美元
- 下一篇: 游戏AI智障史