當前位置:
首頁 > 知識 > 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必不可少

從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必不可少

機器學習是用數據來學習、概括、預測的研究。近幾年,隨著數據的開發、演算法的改進以及硬體計算能力的提升,機器學習技術得以快速發展,不斷延伸至新的領域。從模式識別到電子遊戲,開發者們通過訓練 AI 演算法實現了各種各樣好玩的應用:

Richard-An / Wechat_AutoJump

GitHub 地址:

https://github.com/Richard-An/Wechat_AutoJump

AI 玩微信跳一跳的正確姿勢。

SethBling / MarI/O

源碼地址:

https://pastebin.com/ZZmSNaHX

一段用神經網路和遺傳演算法寫的程序,可以玩「超級馬里奧世界」。

lllyasviel / style2paints

GitHub 地址:

https://github.com/lllyasviel/style2paints

AI 漫畫線稿自動上色工具。

tensorflow / magenta

GitHub 地址:

https://github.com/tensorflow/magenta

機器智能音樂與藝術生成器。

jbhuang0604 / awesome-computer-vision

GitHub 地址:

https://github.com/jbhuang0604/awesome-computer-vision

很不錯的計算機視覺資源。

雖然研究者們在機器學習領域取得了讓人興奮的成果,不過我們仍然處於機器學習發展的早期階段。

對於剛接觸機器學習的開發者來講,想要理解什麼是機器學習,首先要搞懂三個部分:輸入、演算法、輸出。


輸入:驅動機器學習的數據

輸入指的是演算法和訓練模型需要的數據集,從源代碼到統計數據,數據集可以包括任何東西:

GSA/data

GitHub 地址:

https://github.com/GSA/data

來自美國總務管理局的分類數據。

GoogleTrends / data

GitHub 地址:

https://github.com/GoogleTrends/data

Google 開源數據的索引

nationalparkservice / data

GitHub 地址:

https://github.com/nationalparkservice/data

一個非官方的美國國家公園資料庫。

fivethirtyeight / data

GitHub 地址:

https://github.com/fivethirtyeight/data

新聞網站 FiveThirtyEight 上的一些代碼和數據。

zalandoresearch / fashion-mnist

GitHub 地址:

https://github.com/zalandoresearch/fashion-mnist

一個類似 MINIST 的時尚產品資料庫。

beamandrew / medical-data

GitHub 地址:

https://github.com/beamandrew/medical-data

機器學習醫療數據清單。

src-d / awesome-machine-learning-on-source-code

GitHub 地址:

https://github.com/src-d/awesome-machine-learning-on-source-code

與機器學習相關的鏈接和論文的代碼。

PAIR-code/facets

GitHub 地址:

https://github.com/PAIR-code/facets

機器學習數據集可視化工具。

由於我們需要這些數據來訓練機器學習演算法,所以獲取高質量的數據集是如今機器學習領域的最大挑戰之一。


演算法:如何處理和分析數據

機器學習演算法可利用數據執行特定的任務,最常見的機器學習演算法有如下幾種:


1.監督學習。

監督學習使用以及標註過的和結構化的數據,通過制定一組輸入數據集合所需的輸出,機器可以學習如何識別目標並且映射到其他的學習任務上。

例如,在決策樹的學習中,數值可通過應用一組輸入數據的決策規則來預估:

igrigorik / decisiontree

GitHub 地址:

https://github.com/igrigorik/decisiontree

基於 ID3 的機器學習決策樹演算法的實現。


2.無監督學習

無監督學習是使用非結構化數據來發現模式和結構的過程。監督學習可能會使用電子表格作為數據的輸入,而無監督學習可能會用來理解一本書或者一篇文章。

例如,無監督學習是自然語言處理中非常流行的方法:

keon / awesome-nlp

GitHub 地址:

https://github.com/keon/awesome-nlp

專門用於自然語言處理(NLP)的資源清單列表。


3.增強學習

增強學習可要求演算法實現一個特定的目標,它通過獎懲的方式使 Agent 行為性能達到最大。

例如,增強學習可以用於開發自動駕駛汽車或者教會一個機器人如何生產物件。

openai / gym

GitHub 地址:

https://github.com/openai/gym

一個用於開發和比較增強學習演算法的工具包。

aikorea / awesome-rl

GitHub 地址:

https://github.com/aikorea/awesome-rl

專門用於強化學習的資源清單。

一些可以用於練習的項目:

umutisik / Eigentechno

GitHub 地址:

https://github.com/umutisik/Eigentechno

音樂循環的主成分分析

jpmckinney / tf-idf-similarity

GitHub 地址:

https://github.com/jpmckinney/tf-idf-similarity

在 Ruby gem 上用 tf * idf 來計算文本之間的相似度。

scikit-learn-contrib / lightning

GitHub 地址:

https://github.com/scikit-learn-contrib/lightning

Python 的大規模線性分類、回歸和排名。

gwding / draw_convnet

GitHub 地址:

https://github.com/gwding/draw_convnet

用於說明卷積神經網路(ConvNet)的 Python 腳本。

一些庫和工具:

scikit-learn / scikit-learn

GitHub 地址:

https://github.com/scikit-learn/scikit-learn

用 Python 實現機器學習。

tensorflow / tensorflow

GitHub 地址:

https://github.com/tensorflow/tensorflow

一個採用數據流圖(data flow graphs),用於數值計算的開源軟體庫

Theano / Theano

GitHub 地址:

https://github.com/Theano/Theano

可以高效定義、優化、評估涉及多維數組數學表達式的 Python 庫。

shogun-toolbox/shogun

GitHub 地址:

https://github.com/shogun-toolbox/shogun

高效的開源機器學習工具。

davisking / dlib

GitHub 地址:

https://github.com/davisking/dlib

用 C++ 編寫的機器學習與數據分析應用工具包。

apache / predictionio

GitHub 地址:

https://github.com/apache/predictionio

面向開發者和機器學習工程師的機器學習伺服器,基於Apache Spark,HBase 和 Spray 。

更多的深度學習框架,可查看文章:


輸出:最終的結果

機器學習的輸出結果可以是一種識別顏色的模式,也可以是簡單的網頁色調分析,或者是某個置信區間里的預估值。總之,輸出的結果可以是任何事情。

獲取輸出結果的方式有以下幾種:

分類:為數據集中的每一個項目生成一個輸出值

回歸:給出數據,預測所考慮變數最可能的值

聚類:將相似模式的數據聚集在一起

以下是幾個應用例子:

deepmind / pysc2

GitHub 地址:

https://github.com/deepmind/pysc2

DeepMind 用增強學習玩星際爭霸2。

gokceneraslan / awesome-deepbio

GitHub 地址:

https://github.com/gokceneraslan/awesome-deepbio

一個用於生物計算領域的深度學習應用程序清單。

buriburisuri / ByteNet

GitHub 地址:

https://github.com/buriburisuri/ByteNet

用 DeepMind ByteNet 實現的,基於 Tensorflow 的法語轉英語翻譯器。

OpenNMT/OpenNMT

GitHub 地址:

https://github.com/OpenNMT/OpenNMT

Torch 上的開源神經機器翻譯。


準備好開始上手機器學習了嗎?

好好利用開源項目來掌握機器學習,你也可以像下面的開發者那樣貢獻出你的資源:


機器學習:

josephmisiti / awesome-machine-learning

GitHub 地址:

https://github.com/josephmisiti/awesome-machine-learning

一些機器學習框架、庫和軟體的清單。

ujjwalkarn/Machine-Learning-Tutorials

GitHub 地址:

https://github.com/ujjwalkarn/Machine-Learning-Tutorials

機器學習和深度學習的教程、文章以及其他的一些資源。


深度學習

awesome-deep-learning

GitHub 地址:

https://github.com/ChristosChristofidis/awesome-deep-learning

一些不錯的深度學習教程、項目和社區。

fastai / courses

GitHub 地址:

https://github.com/fastai/courses


Tensorflow:

jtoy / awesome-tensorflow

GitHub 地址:

https://github.com/jtoy/awesome-tensorflow

TensorFlow 資源清單http://tensorflow.org。

nlintz / TensorFlow-Tutorials

GitHub 地址:

https://github.com/nlintz/TensorFlow-Tutorials

TensorFlow 的簡單教程。

pkmital / tensorflow_tutorials

GitHub 地址:

https://github.com/pkmital/tensorflow_tutorials

一些 TensorFlow 的基礎知識和有趣的應用。

最後再附上兩個程序員佛系注釋,願佛祖保佑你們編程無 Bug。

Guicai-Li/OneDay

GitHub 地址:

https://github.com/Guicai-Li/OneDay

YondoL/Buddha

GitHub 地址:

https://github.com/YondoL/Buddha/blob/master/index.html

上海交通大學博士講師團隊

從演算法到實戰應用

涵蓋 CV 領域主要知識點

手把手項目演示

全程提供代碼

深度剖析 CV 研究體系

輕鬆實戰深度學習應用領域!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

PaddlePaddle視頻分析案例

TAG:AI研習社 |