GitHub終極指南,教你如何在GitHub中“挖礦”

人工智慧頻道發表於2018-11-09

"我應該在我的專案中使用GitHub嗎?"——有抱負的資料科學家經常問我這個問題。只有一個答案——"絕對!"

GitHub終極指南,教你如何在GitHub中“挖礦”


GitHub對於那些想要脫穎而出的資料科學家來說是一個非常有價值的平臺。你可以把它當做一份線上簡歷,用來向招聘人員和其他專業人士展示你的程式碼。GitHub上有來自谷歌、Facebook、IBM、英偉達等頂尖科技巨頭的開源專案,這些舉措讓GitHub更加受到人們的關注。

如果你是資料科學的初學者,或者是專業人士,你應該有一個GitHub賬戶。為了節省你尋找高含金量庫的時間(雖然這樣的庫有很多),我很高興在這篇文章中羅列出它們並將它們直接提供給你。

這篇文章集合了各種用例——計算機視覺(目標檢測和分割),PyTorch實現的谷歌人工智慧打破了用於NLP的BERT模型,提取最新的研究論文及其摘要等。

為什麼我們要在這篇文章中加入關於Reddit的討論呢?我個人覺得Reddit是一個極其有益的平臺——因為它有著豐富的內容,眾多機器學習/深度學習專家提出的想法,一些"駭人聽聞"的話題,以及開源資源,等等。我可以繼續說下去我喜歡它的原因,這足以表明我是有多麼的推崇Reddit——它們是那樣的獨特而有價值。

你可以看看我關於GitHub上的頂級儲存庫和Reddit討論(從4月份開始),我們每個月都在討論:

一月:https://www.analyticsvidhya.com/blog/2018/02/top-5-github-repositories-january-2018/

二月:https://www.analyticsvidhya.com/blog/2018/03/top-5-github-repositories-february-2018/

三月:https://www.analyticsvidhya.com/blog/2018/04/top-7-github-repositories-march-2018/

四月:https://www.analyticsvidhya.com/blog/2018/05/top-5-github-reddit-data-science-machine-learning-april-2018/

五月:https://www.analyticsvidhya.com/blog/2018/06/top-5-github-reddit-data-science-machine-learning-may-2018/

六月:https://www.analyticsvidhya.com/blog/2018/07/top-github-reddit-data-science-machine-learning-june-2018/

七月:https://www.analyticsvidhya.com/blog/2018/08/best-machine-learning-github-repositories-reddit-threads-july-2018/

八月:https://www.analyticsvidhya.com/blog/2018/09/best-machine-learning-github-repositories-reddit-threads-august-2018/

九月:https://www.analyticsvidhya.com/blog/2018/10/best-machine-learning-github-repositories-reddit-threads-september-2018/

GitHub終極指南,教你如何在GitHub中“挖礦”


PyTorch 1.0中的https://github.com/facebookresearch/maskrcnn-benchmark)

GitHub終極指南,教你如何在GitHub中“挖礦”


如今,計算機視覺已經變得非常流行,以至於各個組織都在爭先恐後地在他們的產品中實現和整合最新的演算法。

當然,目標檢測是這個領域中最受歡迎的技能。這是Facebook所提供的一個很酷的專案,它的目標是通過使用PyTorch 1.0框架建立分割和檢測模型的構建模組。Facebook宣稱,這比它的Detectron模型快兩倍,而且還配有預先訓練好的模型,以及足夠的資源和細節。

如果你需要快速複習一下,我鼓勵你點選這個連結:https://www.analyticsvidhya.com/blog/2018/10/a-step-by-step-introduction-to-the-basic-object-detection-algorithms-part-1/。如果你熟悉PyTorch的基礎知識,點選這個教程你會有所收穫:https://www.analyticsvidhya.com/blog/2018/02/pytorch-tutorial/。

騰訊ML圖片(最大的開源多標籤影像資料庫)(https://github.com/Tencent/tencent-ml-images)

GitHub終極指南,教你如何在GitHub中“挖礦”


這個倉庫是所有深度學習愛好者的"金礦"。你是不是覺得稱它為"最大的開源多標籤影像資料庫"有些言過其實。但如果你檢視關於此資料集的一些數字:如有17,609,752條訓練和88,739條驗證影像url。而且這些url最多由11,166個類別註釋。簡直難以置信!

這個專案還包括一個預先訓練的Resnet-101模型,該模型到目前為止已經通過遷移學習在ImageNet上達到了80.73%的準確率。該儲存庫包含了詳盡的細節和所必須的一切程式碼。這是向社群提供高質量資料所邁出的重要一步。

哦,我有提到過這些圖片都有註釋嗎?你在等什麼,現在就下載吧!

谷歌AI的BERT (NLP)的PyTorch實現(https://github.com/codertimo/BERT-pytorch)

GitHub終極指南,教你如何在GitHub中“挖礦”


你不知道BERT這個模型已經變得多麼流行。對於那些沒有聽說過BERT的人來說,這是一個語言表示模型,它代表了轉換器的雙向編碼器表示。這聽起來有點拗口,但它在機器學習領域以引起了極大的轟動。

BERT在11個自然語言處理(NLP)任務中設定了各種各樣的新基準。在廣泛的NLP任務中,使用預先訓練好的語言模型可能聽起來有些古怪,但是BERT模型已經將它變成了現實。

這個儲存庫包含在你自己的機器上實現BERT的PyTorch程式碼。正如谷歌大腦研究科學家Thang Luong在推特上說的那樣,這很可能是NLP新時代的開始。

如果你有興趣閱讀相關研究論文,請點選這裡。如果你(像我一樣)想要檢視官方的谷歌程式碼,請將此儲存庫放入收藏夾。

最新Arxiv研究論文及其摘要的提取(https://github.com/chiphuyen/sotawhat)

GitHub終極指南,教你如何在GitHub中“挖礦”


我們如何才能掌握機器學習方面的最新研究成果?似乎我們幾乎每週都會看到新研究,跟上它們的科研進度是一項艱鉅的挑戰。總的來說,大多數頂級研究人員在是在arxiv.org上發表了他們的全部論文的,那麼有沒有辦法對最新的文章進行排序呢?

是的,有!這個儲存庫使用Python (v3.x)通過抓取arxiv論文並彙總它們的摘要來返回最新的結果。這是一個非常有用的工具,因為它可以幫助我們與最新的論文保持聯絡,讓我們選擇我們想讀的。正如儲存庫中提到的,你可以執行以下命令來搜尋關鍵字:

GitHub終極指南,教你如何在GitHub中“挖礦”


如果沒有指定需要多少篇論文,指令碼預設返回五個結果。

DeepMimic(https://github.com/xbpeng/DeepMimic)

GitHub終極指南,教你如何在GitHub中“挖礦”


我總是試圖在每回的文章中加入至少一個強化學習庫——主要是因為我覺得這個領域的每個人都應該知道這個領域的最新進展。這個月我選擇的是動作模仿與深度強化學習。

這個儲存庫是在SIGGRAPH 2018年版上發表的一篇論文《深度模擬:基於物理的角色技能的示例引導的深度強化學習》中實現的(https://xbpeng.github.io/projects/DeepMimic/index.html)。從庫中引用,"使用強化學習來訓練一個模擬的人形機器人來模仿各種運動技能"。請檢視上面的專案連結,其中包括關於如何實現自己模型的視訊和程式碼。

AdaNet(由谷歌AI提供)(https://github.com/tensorflow/adanet)

GitHub終極指南,教你如何在GitHub中“挖礦”


我不能漏掉這個非常有用的庫。AdaNet是一個輕量級的、基於tensorflow的框架,用於自動學習高質量的模型。最好的部分是你不需要過多的干預——框架足夠聰明和靈活,可以構建更好的模型。

你可以在這裡閱讀關於AdaNet的更多資訊:https://ai.googleblog.com/2018/10/introducing-adanet-fast-and-flexible.html。像往常一樣,谷歌在解釋複雜概念方面做得很好。

Reddit討論

GitHub終極指南,教你如何在GitHub中“挖礦”


在未來5年裡,我們可以期待機器學習方面的哪些發展?(https://www.reddit.com/r/MachineLearning/comments/9rtc7q/d_what_developments_do_you_expect_to_see_in/)

這是每個人都在想的問題。機器會統治世界嗎?硬體將如何發展?最終會有關於道德領域的官方規則和政策嗎?機器學習是否已經融入了社會結構?強化學習最終會在這個行業找到一席之地嗎?

這些只是討論中所提出想法中的一部分。每個人對自己的期望和想要看到的都有自己的推測,這個討論很好地結合了這兩者。在技術話題和非技術話題之間的對話各不相同,所以你可以選擇你更喜歡閱讀的話題。

對管理機器學習研究人員的非ML工程師的建議(https://www.reddit.com/r/MachineLearning/comments/9mbo2g/d_whats_your_advice_to_an_engineer_that_manages/)

這是一個有趣的話題。我們以前見過這種現象,即一個非ML專業人士被指派領導一個ML專家團隊,這通常會給雙方帶來挫折。由於各種原因(時間限制排在第一位),人們常常覺得事情陷入了僵局。

我懇求所有的專案經理,領導,執行長等,花點時間看一下這個討論主題。有一些非常有用的想法,你可以儘快在你自己的專案中實現。讓所有的技術人員和非技術人員齊頭並進是整個專案成功的關鍵所在,所以領導者樹立這樣的榜樣是很重要的。

機器學習專案的主題思想(https://www.reddit.com/r/MachineLearning/comments/9nu9hs/d_grad_students_of_rml_whats_your_topic_why_is_it/)

在尋找一個新的實驗專案?或者你的論文需要創意?你在正確的地方"著陸"了。現如今,研究生正在努力磨練和微調他們的機器學習技能。對我來說最突出的是:

預測行人軌跡

通過聲學估計天氣現象(利用訊號處理和機器學習)

利用深度學習改進助聽器語音處理

這就是Reddit非常有用的地方,你可以在討論中提出你的問題,並且你將收到(來自社群的)關於如何應對你所面對的種種挑戰的建議。

為什麼大部分機器學習論文中的數學研究結果都很糟糕?(https://www.reddit.com/r/MachineLearning/comments/9l7j46/d_why_do_machine_learning_papers_have_such/)

這是一個完全技術性的討論,你可能已經從標題中認識到。這是一個完全主觀的問題和答案,取決於讀者的經驗水平和研究人員對他/她的想法的瞭解程度。我喜歡這個討論,因為有非常具體的例子,相關的研究論文,讓你可以探索和形成你自己的意見。

這是一個眾所周知(並被接受)的事實,很多論文的數學和研究結果都是拼湊在一起的,並不是每個人都有耐心、意願甚至有能力以清晰的方式展示他們的研究成果。在你可以的時候練習你的演講技巧總是個好主意。

機器學習大肆宣傳的弊端(https://www.reddit.com/r/MachineLearning/comments/9p9ccz/d_ml_is_losing_some_of_its_luster_for_me_how_do/)

當成熟的專業人士開始受到新手的關注時,他們會有什麼樣的感受?這是一個可能跨越領域的有趣問題,但這更側重於機器學習。

這本身並不是一個技術性的討論,但值得注意的是,頂尖的資料科學家和應用機器學習專業人員對於最近對這一領域的興趣激增有何看法。這次討論有120多條評論,這些討論中有一些非常富有建設性。當專業人士和非專業人士打交道時,會有無數的奇思妙想"蹦"出來。

尾註

最近真的看到了一些令人驚奇的研究被開源。不管微軟正式收購GitHub之後會發生什麼,它仍然是程式設計師、開發人員和資料科學家之間協作的主要平臺。我懇請大家經常使用GitHub,即使它只是用於瀏覽最新的儲存庫。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545819/viewspace-2219350/,如需轉載,請註明出處,否則將追究法律責任。

相關文章