11月份最熱門的機(jī)器學(xué)習(xí)開源項(xiàng)目及Reddit討論TOP 5
介 紹
當(dāng)數(shù)據(jù)科學(xué)家最棒的事情之一就是編程。很多時(shí)候,我發(fā)現(xiàn)自己沉浸在為某個(gè)項(xiàng)目從零開始的編程時(shí)光中。當(dāng)你看到你的努力孕育了一個(gè)成功的模型時(shí),那是多么的令人興奮!
但是作為一名數(shù)據(jù)科學(xué)家(或者程序員),在不同階段創(chuàng)建代碼檢查點(diǎn)同樣重要。了解上一次開始的位置非常有幫助。這樣一來,如果你需要查看歷史代碼或者將代碼分支到不同的路徑,總會(huì)有回退的余地。這也是為什么 GitHub 是一個(gè)***的代碼平臺(tái)。
該系列的前幾篇文章已經(jīng)闡述了為什么每個(gè)數(shù)據(jù)科學(xué)家都應(yīng)該有一個(gè)活躍的 GitHub 賬戶。無論是為了合作、重新開始或組合代碼,或者為了教育目的,這都是增強(qiáng)代碼能力和知識(shí)的***平臺(tái)。
現(xiàn)在讓我們進(jìn)入文章的核心——機(jī)器學(xué)習(xí)代碼!我挑選了一些很有意思的項(xiàng)目,我覺得每個(gè)數(shù)據(jù)科學(xué)家都應(yīng)該嘗試一下。
除了編程之外,還有許多方面與數(shù)據(jù)科學(xué)家有關(guān)。我們需要了解社區(qū)中的所有***發(fā)展,其他的機(jī)器學(xué)習(xí)專家和思想先鋒在談?wù)撌裁矗谝粋€(gè)有爭(zhēng)議的項(xiàng)目中工作的道德含義是什么,等等。這也是為什么我在文章中加入了 Reddit 的討論內(nèi)容。
GitHub 熱門項(xiàng)目
Open AI 深度強(qiáng)化學(xué)習(xí)資源
項(xiàng)目地址:https://github.com/openai/spinningup
在這個(gè)系列中我們要繼續(xù)補(bǔ)充強(qiáng)化學(xué)習(xí)的資源,這里有一個(gè)迄今為止***的——OpenAI 的資源大放送!這是一個(gè)開源的教育資源,目的是讓大家更容易學(xué)習(xí)深度強(qiáng)化學(xué)習(xí)??紤]到強(qiáng)化學(xué)習(xí)對(duì)大多數(shù)人來說過于復(fù)雜,這是一個(gè)對(duì)新人很友好的知識(shí)庫(kù)。
這個(gè)代碼庫(kù)包含了一些便利的資源:
- RL 術(shù)語介紹、各種算法和基本理論
- 一篇關(guān)于如何成長(zhǎng)為 RL 研究人員的論文
- 一份按主題分類的重要論文列表
- 簡(jiǎn)短的、獨(dú)立實(shí)現(xiàn)的關(guān)鍵算法的代碼庫(kù)
- 一些練手的小練習(xí)
NVIDIA 的 WaveGlow
項(xiàng)目地址:https://github.com/NVIDIA/waveglow
這一份是為音頻、語音處理領(lǐng)域的人們準(zhǔn)備的。WaveGlow 是一個(gè)基于流的生成網(wǎng)絡(luò),用于語音合成。換句話說,它是一個(gè)可以從梅爾譜圖中生成高質(zhì)量語音的網(wǎng)絡(luò)(沒錯(cuò),一個(gè)單獨(dú)的網(wǎng)絡(luò)?。?/p>
這個(gè)項(xiàng)目包含 WaveGlow 的 PyTorch 實(shí)現(xiàn),以及一個(gè)預(yù)訓(xùn)練模型。這真的是一個(gè)不錯(cuò)的框架,如果你想再深入研究,可以點(diǎn)擊下面的鏈接:
- 研究論文:https://arxiv.org/abs/1811.00002
- 音頻樣例演示網(wǎng)站:https://nv-adlr.github.io/WaveGlow
BERT 作為服務(wù)
項(xiàng)目地址:https://github.com/hanxiao/bert-as-service
我們?cè)谏蟼€(gè)月的文章中介紹了 BERT 的 PyTorch 實(shí)現(xiàn),這里是另一個(gè)版本。對(duì)于那些剛剛接觸 BERT 的人,它代表轉(zhuǎn)換器的雙向編碼器表示(Bidirectional Encoder Representations from Transformers)。它是一種預(yù)訓(xùn)練語言表示的方法。
BERT 的結(jié)果讓 NLP 世界為之一亮,Google 的研究人員也非常友好地發(fā)布了一些 預(yù)訓(xùn)練模型 以方便研究。
這個(gè)代碼庫(kù)使用 BERT 作為語句編碼器,并且作為一種可以通過 ZeroMQ 訪問的服務(wù),你只需要兩行代碼就可將語句映射成固定長(zhǎng)度的特征表示。BERT 使用簡(jiǎn)單、速度極快、并且擴(kuò)展性好。試試吧!
谷歌 Quick Draw 游戲 Python 實(shí)現(xiàn)
項(xiàng)目地址:https://github.com/1991viet/QuickDraw
Quick Draw 是谷歌開發(fā)的一個(gè)流行的在線游戲,神經(jīng)網(wǎng)絡(luò)會(huì)猜測(cè)你在畫什么。神經(jīng)網(wǎng)絡(luò)從每幅圖畫中學(xué)習(xí),提高正確猜測(cè)涂鴉內(nèi)容的能力。開發(fā)人員從用戶先前繪制的涂鴉中建立了一個(gè)龐大的數(shù)據(jù)集。這是一個(gè)開源的數(shù)據(jù)集,這里是數(shù)據(jù)集地址:https://github.com/googlecreativelab/quickdraw-dataset。
你現(xiàn)在可以基于這個(gè)倉(cāng)庫(kù),用 Python 構(gòu)建自己的 Quick Draw 游戲。有一個(gè)詳細(xì)教程。使用這個(gè)代碼,你可以運(yùn)行一個(gè)應(yīng)用程序,可以在計(jì)算機(jī)的攝像頭前繪制,也可以在畫布上繪制。
GAN 理解和可視化
項(xiàng)目地址:https://github.com/CSAILVision/gandissect
GAN 分解是由麻省理工學(xué)院的計(jì)算機(jī)科學(xué)和人工智能實(shí)驗(yàn)室的研究人員開創(chuàng)的方法,是一種獨(dú)特的可視化和理解生成對(duì)抗網(wǎng)絡(luò)(GAN)神經(jīng)元的方法。但這并不僅限于此——研究人員還創(chuàng)建了 GANPaint 來展示 GAN 分解是如何工作的。
GAN 分解通過檢查和操縱特定 GAN 模型的內(nèi)部神經(jīng)元,探索 GAN 模型學(xué)習(xí)到了什么??梢韵瓤纯囱芯空撐暮?視頻演示,然后直接進(jìn)入 GitHub 倉(cāng)庫(kù),直接進(jìn)入代碼!
Reddit 討論
為什么一開始就需要梯度下降?
在學(xué)習(xí)基本的機(jī)器學(xué)習(xí)概念時(shí),你的腦海中是否出現(xiàn)過這個(gè)問題?梯度下降是我們?cè)诔跗趯W(xué)習(xí)時(shí)一定會(huì)遇到的基本算法之一,并且已經(jīng)證明該方法在 ML 中是非常有效的。但是一旦你開始閱讀這篇文章,你會(huì)對(duì)之前學(xué)習(xí)的內(nèi)容產(chǎn)生疑問。
起初這個(gè)問題直截了當(dāng),后來變成了 Reddit 高層人士之間的大討論。我非常喜歡瀏覽這些評(píng)論,我相信如果你對(duì)這個(gè)領(lǐng)域感興趣,對(duì)數(shù)學(xué)抱著嚴(yán)謹(jǐn)?shù)膽B(tài)度,也一定會(huì)覺得它很有用的。
大規(guī)模神經(jīng)網(wǎng)絡(luò)的逆向工程
當(dāng)復(fù)雜龐大的神經(jīng)網(wǎng)絡(luò)的開發(fā)人員突然消失,而沒有留下任何理解網(wǎng)絡(luò)所需的文檔時(shí),你該怎么做?這可不是憑白無故的虛構(gòu),而是實(shí)實(shí)在在會(huì)發(fā)生的一個(gè)常見情況,提問者本人就遇到過。
這種情況經(jīng)常發(fā)生在開發(fā)人員身上,但是當(dāng)涉及到深度學(xué)習(xí)時(shí),完全是一種新的境況。這篇文章介紹了幾種方法,科學(xué)家可以用于還原深度模型最初的設(shè)計(jì)思路。有些回答很實(shí)際,而有些則很荒謬,但每種回答都增加了一種視角?;蛟S某天當(dāng)你也遇到這種情況時(shí),它們會(huì)幫到你。
關(guān)于 TensorFlow2.0 API 的爭(zhēng)論
https://www.reddit.com/r/MachineLearning/comments/9ysmtn/d_debate_on_tensorflow_20_api/
這個(gè)話題下大量的評(píng)論吸引了我的注意力(撰寫本文時(shí)有 110 條評(píng)論),世界上有什么話題能引起如此大的爭(zhēng)議呢?但是,當(dāng)你接著閱讀時(shí),辯論者之間完全不同的意見讓人難以置信。除了 TensorFlow 被嘲笑“不是***的框架”之外,還有很多人在點(diǎn)贊 PyTorch(如果你使用過 PyTorch 就會(huì)明白這并不奇怪)。
這一切開始于 Francois Chollet 將自己的想法發(fā)布到 GitHub 上,在機(jī)器學(xué)習(xí)社區(qū)點(diǎn)了一把火。
基于預(yù)測(cè)獎(jiǎng)勵(lì)的強(qiáng)化學(xué)習(xí)
這篇文章中另一個(gè) OpenAI 的項(xiàng)目,是他們的又一個(gè)巨大突破。標(biāo)題看上去沒那么特別,但是你要理解 OpenAI 團(tuán)隊(duì)做出了什么。正如一位 Reddit 用戶所指出的,OpenAI 的工作讓我們向模仿人類行為的機(jī)器更近了一步。
它耗費(fèi)了大約一年的訓(xùn)練時(shí)間,以超越人類的水平通關(guān)了蒙提祖馬的復(fù)仇游戲,這給人留下了十分深刻的印象!
找到***份數(shù)據(jù)科學(xué)家工作
https://www.reddit.com/r/datascience/comments/9xxm3w/landed_my_first_job_as_a_data_scientist/
這是為那些有抱負(fù)的數(shù)據(jù)科學(xué)家提供的文章。文章的作者闡述了他是如何得到這份令人垂涎的工作,他的背景,他從哪里學(xué)習(xí)的數(shù)據(jù)科學(xué)等?;卮鹆诉@些標(biāo)準(zhǔn)問題之后,他寫了一篇非常好的文章,關(guān)于處于類似情況的人們可以做些什么來實(shí)現(xiàn)他們的抱負(fù)。
文章后面還給出了一些有用的意見。當(dāng)然,你也可以向作者提出你自己的問題。
結(jié)束語
這個(gè)月的收藏不少。我個(gè)人認(rèn)為 GAN 分析的代碼庫(kù)相當(dāng)吸引人。我目前正在嘗試在自己的設(shè)備上復(fù)制它,這應(yīng)該會(huì)很順利。我也在密切關(guān)注“大規(guī)模神經(jīng)網(wǎng)絡(luò)逆向工程”這個(gè)主題,因?yàn)槿绻野l(fā)現(xiàn)我自己也處在同樣的困境中,那么這個(gè)帖子給出的想法會(huì)真的很有幫助。
你最喜歡哪個(gè) GitHub 項(xiàng)目?你認(rèn)為哪個(gè) Reddit 的主題能夠脫穎而出?可以留言告訴我們。