谷歌大腦提出AutoML-Zero,只會數學運算就能找到AI算法|開源

2021-01-18 量子位

曉查 發自 凹非寺量子位 報導 | 公眾號 QbitAI

AlphaGo戰勝了人類最強棋手,但前提是它先學會了人類棋譜,離不開人類指導。

接著谷歌又推出了AlphaGo Zero,只讓AI知道圍棋規則,從零開始學下棋,結果再次登上棋藝頂峰。

AI既然能從零學習圍棋,是否可以從零開始摸索機器學習算法?當然可以,谷歌大腦團隊最新的研究成果已經做到了。

谷歌將這種技術稱之為AutoML-Zero,意為「從零開始的自動機器學習」,已經在GitHub開源,並在Arxiv上提交了論文。

而且這一研究還是來自谷歌大腦的Quoc V.Le大神之手。

AutoML-Zero僅使用基本數學運算為基礎,從一段空程序開始,即可自動發現解決機器學習任務的電腦程式。

AutoML Zero能發現什麼

AutoML是一種實現從數據集到機器學習模型的自動化方法,讓你無需高深專業知識,就能自動部署ML模型。

雖說是自動,但現階段的AutoML還要對搜索空間進行很大的限制,這使我們在使用AutoML的時候仍然需要一些專業知識去設計神經網絡的層。

谷歌的目標是讓AutoML可以走得更遠,僅僅使用基本的數學運算作為構建塊,就可以自動發現完整的機器學習算法,進一步降低機器學習的門檻。

儘管AutoML-Zero巨大的搜索空間充滿挑戰性,但進化搜索還是能發現具有梯度下降的線性回歸算法、具有反向傳播的二層神經網絡。

值得注意的是,可以AutoML-Zero的進化過程也是一個不斷「發明」的過程解釋進化的算法,它已經找到了雙線性交互、權重平均、歸一化梯度、數據增強等技術,甚至在某些情況下還發現了類似Dropout的算法。

下面我們先來看看,AutoML在CIFAR-10的二元分類任務上是如何一步步進化的。它首先發現了線性回歸,然後找到了損失函數、梯度下降。

隨著訓練的進行,出現了隨機學習率、隨機權重、激活函數ReLU、梯度歸一化,最後得到了84.06 ± 0.10%正確率的終極算法。

只訓練一個二元分類結果還不太具有說服力,作者又用3種極端情況考察了Auto ML。

首先,當樣本數量很少的時候,在80個樣本上運行100個epoch。AutoML竟然進化出另一種適應性算法,給輸入數據加上了噪聲,並開始使用Dropout來訓練模型。

在快速訓練的情況下,只有800個樣本和10個epoch,結果導致學習率衰退反覆出現,這是一個我們在快速訓練訓練機器學習模型中常見的策略。

至於多類別的分類問題,作者使用了CIFAR-10數據集的所有10個類。AutoML進化算法有時會使用權重矩陣的變換平均值作為學習速率。甚至作者也不知道為什麼這種機制會更有利於多類任務,雖然這種結果在統計學上是顯著的。

上面的所有測試整個過程中,人類沒有告訴程序任何先驗的機器學習知識。

演示

現在谷歌將AutoML-Zero的程序提交到GitHub,普通電腦只需5分鐘就能體驗一下它的實際效果。

安裝好Bazel後,將代碼下載到本地,運行其中的demo程序:

git clone https://github.com/google-research/google-research.git

cd google-research/automl_zero

./run_demo.sh

這個腳本在10個線性任務上運行進化搜索。每次實驗後,它都會評估在100個新的線性任務中發現的最佳算法。一旦算法的適應度大於0.9999,就選擇該算法作為最終結果,將代碼列印在屏幕上。

在普通電腦上使用CPU在5分鐘內就能發現類似於梯度下降進行線性回歸的程序:

Algorithm found: def Setup(): s3 = -0.520936 s2 = s2 * s3 s2 = dot(v1, v1) v2 = s2 * v1 s2 = s3 * s2 v1 = s0 * v2 s2 = s0 - s3 s2 = -0.390138 v2 = s2 * v0 s1 = dot(v1, v0)def Predict(): s2 = -0.178737 s1 = dot(v1, v0)def Learn(): s1 = s1 * s2 s3 = s3 * s2 s2 = s0 * s2 s1 = s1 - s2 v2 = s1 * v0 v1 = v2 + v1 v2 = s3 * v0 v1

由人工設計的ML算法是,有興趣的話,你可以比較這兩段程序的差異。

def Setup(): s2 = 0.001 # Init learning rate.def Predict(): # v0 = features s1 = dot(v0, v1) # Apply weightsdef Learn(): # v0 = features; s0 = label s3 = s0 - s1 # Compute error. s4 = s3 * s1 # Apply learning rate. v2 = v0 * s4 # Compute gradient. v1 = v1 + v2 # Update weights.

關於作者

這篇文章的四位作者分別是:Esteban Real、Chen Liang、David R. So以及谷歌大腦的大神Quoc V.Le。

前兩位都是有物理背景的博士生。Esteban Real畢業於哈佛大學,擁有物理學士學位和神經科學博士學位。他的研究方向是視網膜的神經編碼。

Chen Liang畢業於北京大學物理系,之後獲得了西北大學的人工智慧和機器學習博士學位,現在是谷歌大腦的一名研究員,研究方向是強化學習、NLP和AutoML。

傳送門

論文地址:https://arxiv.org/abs/2003.03384

GitHub地址:https://github.com/google-research/google-research/tree/master/automl_zero

相關焦點

  • 谷歌AutoML新進展,進化算法加持,僅用數學運算自動找出ML算法
    機器之心報導參與:魔王、杜偉、小舟僅使用基礎數學運算就能自動搜索機器學習算法?谷歌 Quoc V. Le 等人提出了 AutoML-Zero 方法。論文連結:https://arxiv.org/pdf/2003.03384.pdfGitHub 項目地址:https://github.com/google-research/google-research/tree/master/automl_zero#automl-zero在這項研究中,谷歌提出了新方法 AutoML-Zero
  • 谷歌大腦開源項目 AutoML-Zero:用數學運算能探索出機器學習算法
    我們提出的方法,稱為 AutoML_Zero,從空程序開始,僅使用基本的數學運算作為構建塊,應用進化方法自動找到完整機器學習算法的代碼。針對小圖像分類問題,我們的方法重新發現了基本的機器學習技術,如帶有反向轉播的二層神經網絡、線性回歸等,這些都是多年來研究人員發明的。這一結果證明了自動發現更多新的機器學習算法來解決未來更難的問題的可行性。
  • 谷歌AutoML鼻祖新作AutoML-Zero:從零開始構建機器學習算法
    【新智元導讀】市面上的自動機器學習算法多如牛毛,但並沒有得到很好的普及,因為這些算法限制了搜索的空間,很多研究者還是需要自己設計機器學習模型的結構,而谷歌此次發布的AutoML-Zero搜索空間完全沒有限制,可以從最基礎的數學公式開始。「新智元急聘主筆、編輯、運營經理、客戶經理,添加HR微信(Dr-wly)了解詳情。」
  • 谷歌開源量子算法框架Criq,有望找到量子計算機真正用途
    量子糾纏使分處兩地的兩個量子比特能共享量子態,創造出超疊加效應:每增加一個量子比特,運算性能就翻一倍。比方說,使用五個糾纏量子的算法,能同時進行 25 或者 32 個運算,而傳統計算機必須一個接一個地運算。理論上, 300 個糾纏量子能進行的並行運算數量,比宇宙中的原子還要多。
  • 開發者必備:基於Linux生態的十大AI開源框架盤點
    Deeplearning4j團隊在官網表示,他們希望通過一些深度學習算法的開發,將商業帶入智能化數據的時代。也正是為了實現這一理想,惠及更多的用戶,因此選擇了移植性更好的Java環境來實現這些算法。目前,Deeplearning4j的這些算法已經在谷歌、Facebook和微軟等平臺得到了廣泛應用。
  • 中國完成首例AI+5G心臟手術!谷歌大腦新型優化器LAMB加速大批量
    手術期間的AI技術是由曾靠「貪心算法」成功追回被搶車的聖母大學計算機系終身副教授史弋宇團隊提供。這次手術也是AI在臨床上的一次落地應用。2.【業界 | 76分鐘訓練BERT!谷歌大腦新型優化器LAMB加速大批量訓練】來源:arXiv
  • Talk預告|谷歌梁辰:AutoML-Zero,從0開始搜索機器學習算法
    他與大家分享的主題是AutoML-Zero: 從0開始搜索機器學習算法,將介紹如何用進化算法重新發現包括反向傳播在內的各種機器學習算法。Talk·信息主題:AutoML-Zero, 從0開始搜索機器學習算法嘉賓:Google Brain研究員 梁辰上線時間:北京時間 5月13日 (周三) 20:00地點:將門TechBeat技術社區Talk·提綱自動機器學習(AutoML)取得了很多的成功應用,但是目前的方法因為依賴於人工設計的搜索空間和模塊而不夠自動化
  • 百倍提升張量計算:谷歌開源TensorNetwork
    張量網絡正越來越多地用於機器學習領域,它被用於執行複雜計算任務,但對於大多數人來說它仍然遙不可及——我們還沒有開源庫來大規模運行這種底層算法。幸運的是,谷歌正在解決這一問題。昨天,Google AI 發布了 TensorNetwork,它使用 TensorFlow 機器學習框架作為後端,並用 GPU 優化來提高張量計算的效率。
  • 開發者必備:基於 Linux 生態的十大AI開源框架盤
    Deeplearning4j團隊在官網表示,他們希望通過一些深度學習算法的開發,將商業帶入智能化數據的時代。也正是為了實現這一理想,惠及更多的用戶,因此選擇了移植性更好的Java環境來實現這些算法。目前,Deeplearning4j的這些算法已經在谷歌、Facebook和微軟等平臺得到了廣泛應用。
  • 谷歌最牛的是它的算法,三個基本特徵表述算法
    01谷歌的核心算法谷歌作為世界上最大的搜尋引擎提供商,每年要處理的搜索數據達兆/萬億級,而要保證搜索結果的準確性和實用性,谷歌採用了高級算法來解讀用戶的需求,在2013年的時候,谷歌推出「蜂鳥」(Hummingbird)算法,進一步完善了搜索技術。
  • 科學家破解了谷歌的量子優化算法
    谷歌在量子近似優化算法中採用的這一著名方法引發了廣泛的商業興趣,並激發了全球研究界探索其新穎應用的興趣。但是,對於谷歌的量子近似優化算法的最終性能限制知之甚少。最近,俄羅斯斯科爾科沃科技學院(Skoltech)深量子實驗室(Deep Quantum Laboratory)的一組科學家應對此提出了挑戰。
  • Jeff Dean兩年AMA全盤點:26個關於谷歌大腦和機器學習未來的問題...
    如果有論文引用了你的成果,谷歌學術會給你發提醒,那如果你已經在某個問題上發表了一篇論文就能起到一些幫助。Hacker News上也有一篇關於這個問題的討論,https://news.ycombinator.com/item?id=12233289  ,我覺得挺好的。
  • 告別調參煉丹,谷歌「權重無關」神經網絡開源了!
    新智元報導 來源:Google AI 作者:Adam Gaier&David Ha 編輯:小芹 【新智元導讀】谷歌大腦備受關注的
  • AI技術的天花板:圖靈機無法建立「自我」意識的概念
    主張將智能建立在大量簡單的計算單元上,經過複雜連接後,並行運算的結果。這一學派基於神經生物學和認知科學,因為人類大腦就是由1萬億個簡單的神經元細胞,錯綜複雜地連接起來產生的。  神經網絡誕生於上世紀60年代,最初只包括輸入層、隱藏層和輸出層。輸入層和輸出層通常由應用決定,隱含層包含神經元可供訓練。
  • 【全自動機器學習】ML 工程師屠龍利器,一鍵接收訓練好的模型
    現在,有一項工作希望讓這些過程自動化,只需一個按鈕,就能讓你得到訓練好的模型,這就是「自動機器學習」(autoML)。而自動機器學習的兩大工具,Auto-weka 有可視化界面,只需輕點滑鼠就能完成訓練工作,auto-sklearn 也僅需數行代碼便可構建可用的模型。操作如此簡單,還不用擔心訓練後的模型不 work,是不是很值得上手試驗一番?
  • 谷歌大腦提出「洗髮水」二階優化算法,Transformer訓練時間減少40%
    無論是SGD還是Adam,此類優化算法在都是計算損失函數的一階導數——梯度,然後按照某種規定的方式讓權重隨梯度下滑方向迭代。其實二階梯度會有更好的特性,因為它是計算梯度的導數,能夠更快地找到最合適的下降方向和速度。然而出於計算量和存儲成本的考慮,二階優化算法很少用到。
  • 使用AI和TPU人類首次重建果蠅大腦神經元,論文登上《細胞》雜誌
    為了生成詳盡的大腦圖像,研究人員使用了多達 7062 個大腦切片,共計 2100 萬張圖片——其背後使用的算法和硬體可謂強大。谷歌 AI 負責人,計算機大神 Jeff Dean 點評了這項最新研究:TPU 帶你飛!這一連接組學研究有望加速人類對於果蠅——乃至所有生物學習、記憶和感知方面的研究。
  • 谷歌大腦新型優化器LAMB加速大批量訓練
    選自arXiv作者:Yang You、Jing Li等機器之心編輯部去年,谷歌發布了基於雙向 Transformer 的大規模預訓練語言模型 BERT 並開源。該模型參數量非常大——3 億,訓練時間也很長。
  • 谷歌開源量子計算軟體原始碼,便利科學家利用量子計算機
    開源、開源、開源,重要的事情說三遍。繼開源tensorflow、caffe等深度學習開發框架後,當地時間10月24日,谷歌在自己的官方博客上宣布,開源量子計算軟體OpenFermion,從而讓科學家更方便的使用量子計算機。
  • 谷歌造出拉馬努金機:幾毫秒求解數學常數,無需任何先驗信息
    能算近似值,還能在數學計算中快速找出精準規律,機器學習表示 I can I up。這就是以色列理工學院和谷歌一起開發的拉馬努金機器(Ramanujan Machine)。拉馬努金,這位英年早逝的天才數學家,總能發現一些讓世人驚嘆的數學公式。