自學3天的阿法元完爆阿法狗,GitHub2017年度報告見證人工智能有多火!
Nature 今天上線的這篇重磅論文,詳細介紹了谷歌 DeepMind 團隊最新的研究成果。人工智能的一項重要目標,是在沒有任何先驗知識的前提下,通過完全的自學,在極具挑戰(zhàn)的領域,達到超人的境地。
2017 人工智能到底有多火
01人工智能從 0 到 1, 無師自通完爆阿法狗 100-0
去年,有個小孩讀遍人世所有的棋譜,辛勤打譜,苦思冥想,棋藝精進,4-1 打敗世界冠軍李世石,從此人間無敵手。他的名字叫阿法狗。
今年,他的弟弟只靠一副棋盤和黑白兩子,沒看過一個棋譜,也沒有一個人指點,從零開始,自娛自樂,自己參悟,100-0 打敗哥哥阿法狗。他的名字叫阿法元。
阿爾法元的最大亮點,在于無需任何人類指導,通過全新的強化學習方式自己成為自己的老師,在圍棋這一最具挑戰(zhàn)性的領域達到超過人類的精通程度。
自學 3 天,就打敗了舊版 AlphaGo
人類其實把阿法狗教壞了! 新一代的阿法元(AlphaGo Zero),完全從零開始,不需要任何歷史棋譜的指引,更不需要參考人類任何的先驗知識,完全靠自己一個人強化學習(reinforcement learning)和參悟,棋藝增長遠超阿法狗,百戰(zhàn)百勝,以 100-0 擊潰阿法狗。
達到這樣一個水準,阿法元只需要在 4 個 TPU 上,花三天時間,自己左右互搏 490 萬棋局。而它的哥哥阿法狗,需要在 48 個 TPU 上,花幾個月的時間,學習三千萬棋局,才打敗人類。
AlphaGo Zero 與此前版本有明顯差別:
AlphaGo-Zero 的訓練時間軸
- AlphaGo Zero 僅用棋盤上的黑白子作為輸入,而前代則包括了小部分人工設計的特征輸入。
- AlphaGo Zero 僅用了單一的神經(jīng)網(wǎng)絡。在此前的版本中,AlphaGo 用到了“策略網(wǎng)絡”來選擇下一步棋的走法,以及使用“價值網(wǎng)絡”來預測每一步棋后的贏家。而在新的版本中,這兩個神經(jīng)網(wǎng)絡合二為一,從而讓它能得到更高效的訓練和評估。
- AlphaGo Zero 并不使用快速、隨機的走子方法。在此前的版本中,AlphaGo 用的是快速走子方法,來預測哪個玩家會從當前的局面中贏得比賽。相反,新版本它依靠高質量的神經(jīng)網(wǎng)絡來評估下棋的局勢。
人工智能的一項重要目標,是在沒有任何先驗知識的前提下,通過完全的自學,在極具挑戰(zhàn)的領域,達到超人的境地。零基礎之上,進而自我訓練,實現(xiàn)超越。
通過數(shù)百萬次自我對弈,AlphaGo Zero 從零開始掌握了圍棋,在短短幾天內就積累起了人類幾千年才有的知識。但它也發(fā)現(xiàn)了新的知識,發(fā)展出打破常規(guī)的策略和新招,與 AlphaGo 在對戰(zhàn)李世石和柯潔時創(chuàng)造的那些交相輝映,卻又更勝一籌。
這些創(chuàng)造性的時刻給了我們信心:人工智能會成為人類智慧的增強器,幫助我們解決人類正在面臨的一些嚴峻挑戰(zhàn) 。
盡管才剛剛發(fā)展起來,AlphaGo Zero 已經(jīng)走出了通向上述目標的關鍵一步。對于希望利用人工智能推動人類社會進步為使命的 DeepMind 來說,圍棋并不是 AlphaGo 的終極奧義,他們的目標始終是要利用 AlphaGo 打造通用的、探索宇宙的終極工具。
AlphaGo Zero 的提升,讓人們看到了利用人工智能技術改變人類命運的突破性機會。人工智能未來的發(fā)展,碼農(nóng)或將大批失業(yè),程序員將成為"馴獸師"。
02人工智能系統(tǒng)完爆程序員實現(xiàn)真正自主編程
讓 AI 自動編程是人工智能領域長久以來的夢想之一。不久前,來自彭博和英特爾實驗室的兩位研究人員,號稱實現(xiàn)了首個能夠自動生成完整軟件程序的 AI 系統(tǒng)“AI Programmer”。
這個“AI 程序員”利用遺傳算法和圖靈完備語言,開發(fā)的程序理論上能夠完成任何類型的任務,AI 自動編程的時代,大幕已開。
這個首個能夠自動生成完整軟件程序的機器學習(ML)系統(tǒng),全程只需最低限度的人類參與。以遺傳算法(GA)為核心,加上緊密約束的編程語言,將其 ML 搜索空間的開銷降到最低。
AI Programmer 的軟件架構
從圖中可見,由人類驅動的部分非常少,只需要在開始輸入指令,最后接收適用于某項任務的函數(shù)即可,剩下部分全部由機器完成。
AI Programmer 的新穎部分源于:
- 獨特的系統(tǒng)設計,包括用于效率和安全性的嵌入式手工解釋器(hand-crafted interpreter)。
- 對遺傳算法的增強,納入了指令基因(instruction-gene)隨機化綁定,以及編程語言特定的基因組構建及消除技術。
目前這個方面的成果還非常有限,比如讓 AI 自動補完編程語言,或者執(zhí)行簡單的加法程序。
研究人員表示,他們用這個系統(tǒng)證明了長久以來的假設,那就是功能完備的程序確實能夠被自動生成。
具體到這項工作,AI Programmer 利用機器學習中的遺傳算法,模擬復雜的指令。雖然現(xiàn)在 AI Programmer 生成的程序,復雜程度與人類新手程序員編寫的結果相當。但研究人員認為,AI Programmer 編寫的程序完全可以超越傳統(tǒng)范疇,不受人類時間和智慧的局限。
AI 編寫的程序只是在測試復雜度和計算資源之間找到了最適合的點。換句話說,可能性無限。
研究人員還表示,我們需要重新思考,設計新的、面向機器的編程語言,因為當前的編程語言是面向人類的,不適用于基于 ML 的編程。“在考慮ML驅動程序生成的未來時,我們需要放棄和重新考慮典型程序語言創(chuàng)建的方法。”
研究人員表示,只有這樣做,我們才能開始設想一個由 AI 系統(tǒng)驅動,以人類創(chuàng)造力和設計為指導的計算機軟件開發(fā)的新未來。
GitHub 2017 年度報告見證人工智能有多火
GitHub Universe 是 GitHub 的年度盛會,今年 10 月10-12 日,GitHub Universe 大會在舊金山召開。同時,GitHub 也在其官網(wǎng)發(fā)布了 2017 年年度數(shù)據(jù)報告 —— GitHub Octoverse 報告。
報告顯示,2017 年 GitHub 社區(qū)共匯集了 2400 萬開發(fā)人員,150 萬個組織和企業(yè),6700 萬個存儲庫,其中有 2500 萬個公共存儲庫,用戶遍布世界 200 多個國家,“全球最大的同性交友網(wǎng)站”實至名歸啊!
GitHub 每年都會在年度盛會中推出數(shù)據(jù)報告,其中列出了一些年度的數(shù)據(jù),包括其網(wǎng)站中最受歡迎的編程語言、開源項目等。今年的數(shù)據(jù)更是讓人眼前一亮,Python 這匹編程語言中的黑馬,勢不可擋!
01.終結語言之爭,GitHub 得分最高的語言
編程語言之間的戰(zhàn)爭是一場持久戰(zhàn),程序員們雖然對于這樣的內容有些審美疲勞了,但是每次看到還是瘋狂的為自己的應用打 Call。而 GitHub 作為一個豐富的資源庫,其中包含有337種獨特的編程語言開發(fā)的開源項目。
那么,在 GitHub 中哪種語言可以封王呢?JavaScript,你想到了嗎?JavaScript 這一年在 GitHub 中共獲得 230 萬 pull request,比第二名 Python 多了兩倍還不止。
Python 今年的請求比去年增加了 40%,成功擠掉 Java 上升為第二位。Typescript 也是今年的黑馬語言,它在 GitHub 上的 pull request 比去年多了四倍。
2017 GitHub 上最受歡迎的前 15 門語言
排名前十五的語言(按先后順序):
- JavaScript
- Python
- Java
- Ruby
- PHP
- C++
- CSS
- C#
- Go
- C
- TypeScript
- Shell
- Swift
- Scala
- Objective-C
從 2017 GitHub 上最受歡迎的前 15 門語言可以看出:JavaScript 穩(wěn)居第一, 遙遙領先于第二名 Python,這可能和 GitHub 上關于 Web 前端的項目、開發(fā)者的數(shù)量龐大有一定關系。
值得注意的是:Python 已代替 Java 從去年的第三突進了第二,相比去年它新增了 40% 的 PR 數(shù)。
近幾年 Python 的增長勢頭一直非常迅猛,Python 雖然是腳本語言,但容易學,同時,Python 有非常多優(yōu)秀的深度學習庫可用,現(xiàn)在大部分深度學習框架都支持 Python。所以,Python 作為 AI 時代頭牌語言的位置基本確立。
再來看看 Java,Java 則被擠到第三位,不過 Java 9 剛發(fā)布不久,而且它的模塊化特性深受開發(fā)者喜愛,霸主地位還是很難撼動的。
同時,我們注意到 Objective-C 排行下降,從中可以看出移動開發(fā)的熱度在減退。今年提交的 PR 甚至比去年還少不少,而 OC 是 iOS 開發(fā)的最主要語言,再聯(lián)想到 Java 排名的下降,可以看出,移動開發(fā)的火熱度在下降,而且今年可能是首次下降。
究其本質原因是,智能手機已經(jīng)越來越普及,當你身邊的爺爺奶奶都擁有一部智能手機的時候,那只能說明,智能手機的市場份額已基本到頭了。
再加上現(xiàn)在流量基本被一些頭部的大廠占領,移動時代的流量獲取越來越難,移動創(chuàng)業(yè)也就越來越難,自然移動開發(fā)的市場需求沒法再持續(xù)增長了。
不過,移動開發(fā)市場沒那么火熱是事實,但并不意味著移動開發(fā)找不到工作,現(xiàn)在穩(wěn)定發(fā)展的公司移動開發(fā)崗位是不可或缺的,缺的是真正有能力的人才。
所以,如果你已經(jīng)在從事移動開發(fā),不必過多焦慮,專注提升自身技術才是王道,而如果你是想學習編程轉行的,那么現(xiàn)如今不建議再從 0 學習移動開發(fā)了。
02.2017年誰是最贊的開源者?誰是最棒的開源項目?
GitHub 自 2007 年成立,如今已經(jīng)十年了,如今已經(jīng)是全球影響力最大、最權威的開源社區(qū)了,每年都有大量的企業(yè)和個人將自己的項目開源到這里進行交流學習。
那么今年哪些項目最具價值?哪些項目獲得了程序員的廣泛討論?哪些項目又收集到了最全的資料呢?
被 fork 最多的前十個項目
TensorFlow 當選第一,TensorFlow 是谷歌的第二代機器學習系統(tǒng),這也反映了越來越多的人對人工智能感興趣,并且正在學習準備投入到機器學習當中。
也側面說明了,現(xiàn)如今,很多開發(fā)者還是積極擁抱未來的,因為開源社區(qū),讓我們的心態(tài)更加開放,也讓我們接受、了解、學習新事物的成本低了太多。經(jīng)歷了被稱為“人工智能元年”的 2016 年,人工智能在 2017 年也迎來了更大的發(fā)展。
貢獻者最多的前十個項目
review 最多的前十個項目
discuss 最多的前十個項目
上面四個排行榜,TensorFlow 在其中三個都留下了自己的名字,再一次證明人工智能火熱的同時,也從側面反映了越來越多的開發(fā)者對未來人工智能的發(fā)展充滿信心。
03.2017 年,GitHub 的參與人群出現(xiàn)了新變化
與 2016 年相比,2017 年 GitHub 有了更多的參與者。這些貢獻者中接近半數(shù)是學生,28% 是專業(yè)人士,22% 是編程愛好者。在經(jīng)驗方面,只有 10% 的程序員是有經(jīng)驗的,其中有 45% 的程序員是完全新手。
GitHub 參與人群變化
毫無疑問,開發(fā)人員永遠都是 GitHub 的核心。2017 年 4 月,GitHub 擴展了其開發(fā)者計劃,其中 GitHub 的開發(fā)人員以及付費用戶的開發(fā)人員都包括在內。這個計劃也使得 GitHub 上的開發(fā)人員大漲。
03.2017年 machine-learning 是最被廣泛使用的標簽
2017 年 GitHub 增加了一個新功能"主題-存儲庫標簽",支持用戶通過技術、行業(yè)等等搜索項目,那么經(jīng)過一年的運營,哪些標簽成為了 2017 年的主旋律標簽呢?
毫無疑問,游戲是 2017 年的大熱門,從全民王者榮耀就可見一斑,但"游戲"并不是天下無敵的,至少機器學習就可以和它平分秋色。
被使用最廣的標簽
以下為標簽詳情:
● machine-learning:https://github.com/topics/machine-learning
● game:https://github.com/topics/game
● iOS:https://github.com/topics/ios
● API:https://github.com/topics/api
● blog:https://github.com/topics/blog
● website:https://github.com/topics/website
● deep-learning:https://github.com/topics/deep-learning
● library:https://github.com/topics/library
● arduino:https://github.com/topics/arduino
● plugin:https://github.com/topics/plugin
● database:https://github.com/topics/database
● bot:https://github.com/topics/bot
整體數(shù)據(jù)概述:
- 2400 萬用戶
- 150 萬組織
- 6700 萬 Repostitories
- 130 萬學生開發(fā)者
- 用戶橫跨 200 個國家
- 四分之一的 GitHub 企業(yè)賬戶來自美國以外的國家
- 自 2016 年 9 月,公開發(fā)表 10 億 Commit
- 自 2016 年 9 月,2530 萬活躍項目
- 自 2016 年 9 月,1250 萬活躍 Issue
- 自 2016 年 9 月,新增 670 萬開發(fā)者
- 自 2016 年 9 月,新增 45.1 萬個組織入駐 GitHub
- 自 2016 年 9 月,120 萬人提交了他們的第一個 Pull Request
- 自 2016 年 9 月,410 萬人創(chuàng)建了他們的第一個 Repo
- 自 2016 年 9 月,130 萬新 Pull Request ,包括 Linus Torvald 的第一個 GitHub Pull Request:https://github.com/Subsurface-divelog/subsurface/pull/155
- 合并了 100,000,000 次 Pull Request
- 關閉了 68,800,000 個 Issue
- 62.4 萬 Pull Request 被 review
- 140 萬人在他人的 Issue 下討論
- Emoji 表情在 GitHub 上被用得很多
- 19.1 萬人 star 或 fork 了項目但沒有提交代碼
- 不包括框架和語言,下面的標簽被使用得最多
- machine-learning
- game
- iOS
- API
- blog
- website
- deep-learning
- library
- arduino
- plugin
- database
- bot
最后點有趣的,emoji 表情排行榜,妥妥的排行第一,看來程序員很喜歡相互點贊的呢。
隨著社區(qū)的不斷發(fā)展,開源項目的不斷增長,GitHub 的報告對于我們對未來的技術趨勢判斷有很大的參考意義。
互聯(lián)網(wǎng)行業(yè)最怕的是固步自封,不與時俱進,做技術的一樣,我們要時刻更新自己,不人云亦云,但是要擁抱變化,只有這樣,我們才能在時代的潮流中立于不敗。
最后,感謝 GitHub,感謝開源精神,讓我們做技術的可以與全世界接軌,更改變了我們學習新事物的方式。感興趣的不妨點擊“閱讀原文”查看完整報告。