Giter Club home page Giter Club logo

ai-training-and-new-tech's Introduction

ai-training-and-new-tech's People

Contributors

sbinlin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ai-training-and-new-tech's Issues

自然語言理解技術大進展!免斷詞,Google語意框架剖析器SLING能自動找出語句架構

SLING in GitHub

Google最近開源釋出實驗性的語意框架剖析器(Parsing)SLING,有別於以往用斷詞的方式,SLING不需要靠人工的方式標註語句,而是可以透過語意框架(Frame Semantic Parsing)的方式自動抽取出文字所要描述的語意結構,再以語意框架圖(Semantic frame graph)的方式呈現,Google研究團隊表示,SLING是透過Tensorflow和Dragnn訓練過的標註語料庫,這是自然語言理解技術的一大進展,語意分析不再靠斷詞,而是從語言意義層面,自動標註出語句的結構。

SLING是採用一個特定用途的遞歸神經網路(Recurrent neural network,RNN)模型,在該框架圖上,透過輸入文字的遞增編輯動作,來計算輸出值,也就是說,該框架圖因為靈活的特性,可以擷取多個語意任務,SLING的語意剖析器只用了輸入詞句來訓練,沒有採用額外的生成的標註,像是語句相依性分析產生的標註。

2018學習清單:150個最好的機器學習,NLP和Python教程

Original Link

本文英文出處:Robbie Allen

翻譯/ 吳楚

校對/ 田晉陽

機器學習的發展可以追溯到1959年,有着豐富的歷史。這個領域也正在以前所未有的速度進化。在之前的一篇文章(https://unsupervisedmethods.com/why-artificial-intelligence-is-different-from-previous-technology-waves-764d7710df8b)中,我們討論過爲什麼通用人工智能領域即將要爆發。有興趣入坑ML的小夥伴不要拖延了,時不我待!

在今年秋季開始準備博士項目的時候,我已經精選了一些有關機器學習和NLP的優質網絡資源。一般我會找一個有意思的教程或者視頻,再由此找到三四個,甚至更多的教程或者視頻。猛回頭,發現標收藏夾又多了20個資源待我學習(推薦提升效率工具Tab Bundler)。

找到超過25個有關ML的「小抄」後,我寫一篇博文(https://unsupervisedmethods.com/cheat-sheet-of-machine-learning-and-python-and-math-cheat-sheets-a4afe4e791b6),裏面的資源都有超鏈接。

爲了幫助也在經歷類似探索過程的童鞋,我把至今發現的最好的教程彙總了一個列表。當然這不是網絡上有關ML的最全集合,而且其中有一部分內容很普通。我的目標是要找到最好的有關機器學習子方向和NLP的教程。

我引用了能簡潔介紹概念的基礎內容。我已經迴避包含一些大部頭書的章節,和對理解概念沒有幫助的科研論文。那爲什麼不買一本書呢? 因爲教程能更好地幫助你學一技之長或者打開新視野。

我把這博文分成四個部分,機器學習,NLP,Python,和數學基礎。在每一小節我會隨機引入一些問題。由於這方面學習材料太豐富了,本文並未涵括所有內容。

乾貨 | 請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程

機器學習

1、機器學習就是這麼好玩!(medium.com/@ageitgey)

機器學習速成課程(Berkeley的ML):

Part I:https://ml.berkeley.edu/blog/2016/11/06/tutorial-1/

Part II:https://ml.berkeley.edu/blog/2016/12/24/tutorial-2/

Part III:https://ml.berkeley.edu/blog/2017/02/04/tutorial-3/

機器學習入門與應用:實例圖解(toptal.com)

https://www.toptal.com/machine-learning/machine-learning-theory-an-introductory-primer

機器學習的簡易指南 (monkeylearn.com)

https://monkeylearn.com/blog/a-gentle-guide-to-machine-learning/

如何選擇機器學習算法?(sas.com)

https://blogs.sas.com/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/

2、Activation and Loss Functions

激活函數與損失函數

sigmoid 神經元 (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap1.html#sigmoid_neurons

激活函數在神經網絡中有什麼作用?(quora.com)

https://www.quora.com/What-is-the-role-of-the-activation-function-in-a-neural-network

神經網絡的激活函數大全及其優劣 (stats.stackexchange.com)

https://stats.stackexchange.com/questions/115258/comprehensive-list-of-activation-functions-in-neural-networks-with-pros-cons

激活函數及其分類比較(medium.com)

https://medium.com/towards-data-science/activation-functions-and-its-types-which-is-better-a9a5310cc8f

理解對數損失 (exegetic.biz)

http://www.exegetic.biz/blog/2015/12/making-sense-logarithmic-loss/

損失函數(Stanford CS231n)

http://cs231n.github.io/neural-networks-2/#losses

損失函數L1 與L2 比較(rishy.github.io)

http://rishy.github.io/ml/2015/07/28/l1-vs-l2-loss/

交叉熵損失函數(neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap3.html#the_cross-entropy_cost_function

3、偏差(Bias)

神經網絡中的偏差的作用(stackoverflow.com)

https://stackoverflow.com/questions/2480650/role-of-bias-in-neural-networks/2499936#2499936

神經網絡中的偏差節點(makeyourownneuralnetwork.blogspot.com)

http://makeyourownneuralnetwork.blogspot.com/2016/06/bias-nodes-in-neural-networks.html

什麼是人工神經網絡中的偏差 (quora.com)

https://www.quora.com/What-is-bias-in-artificial-neural-network

4、感知器(Perceptron)

感知器模型(neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap1.html#perceptrons

感知器(natureofcode.com)

http://natureofcode.com/book/chapter-10-neural-networks/#chapter10_figure3

一層的神經網絡(感知器模型)(dcu.ie)

http://computing.dcu.ie/~humphrys/Notes/Neural/single.neural.html

從感知器模型到深度網絡(toptal.com)

https://www.toptal.com/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks

5、迴歸算法

線性迴歸分析簡介(duke.edu)

http://people.duke.edu/~rnau/regintro.htm

線性迴歸 (ufldl.stanford.edu)

http://ufldl.stanford.edu/tutorial/supervised/LinearRegression/

線性迴歸 (readthedocs.io)

http://ml-cheatsheet.readthedocs.io/en/latest/linear_regression.html

邏輯斯特迴歸 (readthedocs.io)

http://ml-cheatsheet.readthedocs.io/en/latest/logistic_regression.html

機器學習之簡單線性迴歸教程(machinelearningmastery.com)

http://machinelearningmastery.com/simple-linear-regression-tutorial-for-machine-learning/

機器學習之邏輯斯特迴歸教程(machinelearningmastery.com)

http://machinelearningmastery.com/logistic-regression-tutorial-for-machine-learning/

softmax 迴歸(ufldl.stanford.edu)

http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

乾貨 | 請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程

6、梯度下降

基於梯度下降的學習 (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap1.html#learning_with_gradient_descent

梯度下降(iamtrask.github.io)

http://iamtrask.github.io/2015/07/27/python-network-part2/

如何理解梯度下降算法?(kdnuggets.com)

http://www.kdnuggets.com/2017/04/simple-understand-gradient-descent-algorithm.html

梯度下降優化算法概覽(sebastianruder.com)

http://sebastianruder.com/optimizing-gradient-descent/

優化算法:隨機梯度下降算法 (Stanford CS231n)

http://cs231n.github.io/optimization-1/

7、生成學習

生成學習算法 (Stanford CS229)

http://cs229.stanford.edu/notes/cs229-notes2.pdf

貝葉斯分類算法之實例解析(monkeylearn.com)

https://monkeylearn.com/blog/practical-explanation-naive-bayes-classifier/

8、支持向量機

支持向量機(SVM)入門(monkeylearn.com)

https://monkeylearn.com/blog/introduction-to-support-vector-machines-svm/

支持向量機(Stanford CS229)

http://cs229.stanford.edu/notes/cs229-notes3.pdf

線性分類:支持向量機,Softmax (Stanford 231n)

http://cs231n.github.io/linear-classify/

9、後向傳播算法(Backpropagation)

後向傳播算法必知(medium.com/@karpathy)

https://medium.com/@karpathy/yes-you-should-understand-backprop-e2f06eab496b

來,給我圖解一下神經網絡後向傳播算法?(github.com/rasbt)

https://github.com/rasbt/python-machine-learning-book/blob/master/faq/visual-backpropagation.md

後向傳播算法是如何運行的?(neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap2.html

沿時後向傳播算法與梯度消失(wildml.com)

http://www.wildml.com/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/

簡易入門沿時後向傳播算法(machinelearningmastery.com)

http://machinelearningmastery.com/gentle-introduction-backpropagation-time/

奔跑吧,後向傳播算法!(Stanford CS231n)

http://cs231n.github.io/optimization-2/

10、深度學習

果殼裏的深度學習(nikhilbuduma.com)

http://nikhilbuduma.com/2014/12/29/deep-learning-in-a-nutshell/

深度學習教程 (Quoc V. Le)

http://ai.stanford.edu/~quocle/tutorial1.pdf

深度學習,什麼鬼?(machinelearningmastery.com)

http://machinelearningmastery.com/what-is-deep-learning/

什麼是人工智能,機器學習,深度學習之間的區別? (nvidia.com)

https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

11、優化算法與降維算法

數據降維的七招鍊金術(knime.org)

https://www.knime.org/blog/seven-techniques-for-data-dimensionality-reduction

主成分分析(Stanford CS229)

http://cs229.stanford.edu/notes/cs229-notes10.pdf

Dropout: 改進神經網絡的一個簡單方法(Hinton @ NIPS 2012)

http://videolectures.net/site/normal_dl/tag=741100/nips2012_hinton_networks_01.pdf

如何溜你們家的深度神經網絡?(rishy.github.io)

http://rishy.github.io/ml/2017/01/05/how-to-train-your-dnn/

乾貨 | 請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程

12、長短期記憶(LSTM)

老司機帶你簡易入門長短期神經網絡(machinelearningmastery.com)

http://machinelearningmastery.com/gentle-introduction-long-short-term-memory-networks-experts/

理解LSTM網絡(colah.github.io)

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

漫談LSTM模型(echen.me)

http://blog.echen.me/2017/05/30/exploring-lstms/

小學生看完這教程都可以用Python實現一個LSTM-RNN (iamtrask.github.io)

http://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/

13、卷積神經網絡(CNNs)

卷積網絡入門(neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap6.html#introducing_convolutional_networks

深度學習與卷積神經網絡模型(medium.com/@ageitgey)

https://medium.com/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721

拆解卷積網絡模型(colah.github.io)

http://colah.github.io/posts/2014-07-Conv-Nets-Modular/

理解卷積網絡(colah.github.io)

http://colah.github.io/posts/2014-07-Understanding-Convolutions/

14、遞歸神經網絡(RNNs)

遞歸神經網絡教程 (wildml.com)

http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/

注意力模型與增強型遞歸神經網絡(distill.pub)

http://distill.pub/2016/augmented-rnns/

這麼不科學的遞歸神經網絡模型(karpathy.github.io)

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

深入遞歸神經網絡模型(nikhilbuduma.com)

http://nikhilbuduma.com/2015/01/11/a-deep-dive-into-recurrent-neural-networks/

15、強化學習

給小白看的強化學習及其實現指南 (analyticsvidhya.com)

https://www.analyticsvidhya.com/blog/2017/01/introduction-to-reinforcement-learning-implementation/

強化學習教程(mst.edu)

https://web.mst.edu/~gosavia/tutorial.pdf

強化學習,你學了麼?(wildml.com)

http://www.wildml.com/2016/10/learning-reinforcement-learning/

深度強化學習:開掛玩Pong (karpathy.github.io)

http://karpathy.github.io/2016/05/31/rl/

16、對抗式生成網絡模型(GANs)

什麼是對抗式生成網絡模型?(nvidia.com)

https://blogs.nvidia.com/blog/2017/05/17/generative-adversarial-network/

用對抗式生成網絡創造8個像素的藝術(medium.com/@ageitgey)

https://medium.com/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7

對抗式生成網絡入門(TensorFlow)(aylien.com)

http://blog.aylien.com/introduction-generative-adversarial-networks-code-tensorflow/

《對抗式生成網絡》(小學一年級~上冊)(oreilly.com)

https://www.oreilly.com/learning/generative-adversarial-networks-for-beginners

17、多任務學習

深度神經網絡中的多任務學習概述(sebastianruder.com)

http://sebastianruder.com/multi-task/index.html

NLP

乾貨 | 請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程

1、NLP

《基於神經網絡模型的自然語言處理》(小學一年級~上冊)(Yoav Goldberg)

http://u.cs.biu.ac.il/~yogo/nnlp.pdf

自然語言處理權威指南(monkeylearn.com)

https://monkeylearn.com/blog/the-definitive-guide-to-natural-language-processing/

自然語言處理入門(algorithmia.com)

https://blog.algorithmia.com/introduction-natural-language-processing-nlp/

自然語言處理教程 (vikparuchuri.com)

http://www.vikparuchuri.com/blog/natural-language-processing-tutorial/

Natural Language Processing (almost) from Scratch (arxiv.org)

初高中生課程:自然語言處理 (arxiv.org)

https://arxiv.org/pdf/1103.0398.pdf

2、深度學習和 NLP

基於深度學習的NLP應用(arxiv.org)

https://arxiv.org/pdf/1703.03091.pdf

基於深度學習的NLP(Richard Socher)

https://nlp.stanford.edu/courses/NAACL2013/NAACL2013-Socher-Manning-DeepLearning.pdf

理解卷積神經網絡在NLP中的應用(wildml.com)

http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/

深度學習,NLP,表示學習(colah.github.io)

http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/

嵌入表示,編碼,注意力,預測 : 新一代深度學習因NLP的精妙而存在(explosion.ai)

https://explosion.ai/blog/deep-learning-formula-nlp

理解基於神經網絡的自然語言處理(Torch實現) (nvidia.com)

https://devblogs.nvidia.com/parallelforall/understanding-natural-language-deep-neural-networks-using-torch/

深度學習在NLP中的應用(Pytorch實現) (pytorich.org)

http://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html

3、詞向量(Word Vectors)

詞袋法遇到感知器裝袋法(kaggle.com)

https://www.kaggle.com/c/word2vec-nlp-tutorial

學習單詞嵌入表示法(sebastianruder.com)

Part I:http://sebastianruder.com/word-embeddings-1/index.html

Part II:http://sebastianruder.com/word-embeddings-softmax/index.html

Part III:http://sebastianruder.com/secret-word2vec/index.html

單詞嵌入表示的神奇力量(acolyer.org)

https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/

解釋word2vec 的參數學習(arxiv.org)

https://arxiv.org/pdf/1411.2738.pdf

word2vec教程 skip-gram 模型,負採樣(mccormickml.com)

http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/

4、Encoder-Decoder

注意力機制與記憶機制在深度學習與NLP中的應用(wildml.com)

http://www.wildml.com/2016/01/attention-and-memory-in-deep-learning-and-nlp/

序列到序列模型(tensorflow.org)

https://www.tensorflow.org/tutorials/seq2seq

利用神經網絡學習序列到序列模型(NIPS 2014)

https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf

基於深度學習和魔法序列的語言翻譯(medium.com/@ageitgey)

https://medium.com/@ageitgey/machine-learning-is-fun-part-5-language-translation-with-deep-learning-and-the-magic-of-sequences-2ace0acca0aa

如何使用編碼-解碼LSTM輸出隨機整數對應的序列(machinelearningmastery.com)

http://machinelearningmastery.com/how-to-use-an-encoder-decoder-lstm-to-echo-sequences-of-random-integers/

tf-seq2seq (google.github.io)

https://google.github.io/seq2seq/

Python

乾貨 | 請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程1、Python

使用Python精通機器學習的七步法(kdnuggets.com)

http://www.kdnuggets.com/2015/11/seven-steps-machine-learning-python.html

機器學習的一個簡例(nbviewer.jupyter.org)

http://nbviewer.jupyter.org/github/rhiever/Data-Analysis-and-Machine-Learning-Projects/blob/master/example-data-science-notebook/Example Machine Learning Notebook.ipynb

2、實例

小白如何用python實現感知器算法(machinelearningmastery.com)

http://machinelearningmastery.com/implement-perceptron-algorithm-scratch-python/

小學生用python實現一個神經網絡(wildml.com)

http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/

只用11行python代碼實現一個神經網絡算法(iamtrask.github.io)

http://iamtrask.github.io/2015/07/12/basic-python-network/

自己動手用ptython實現最近鄰算法(kdnuggets.com)

http://www.kdnuggets.com/2016/01/implementing-your-own-knn-using-python.html

python實現長短期記憶網絡的記憶機制(machinelearningmastery.com)

http://machinelearningmastery.com/memory-in-a-long-short-term-memory-network/

如何用長短期記憶遞歸神經網絡輸出隨機整數(machinelearningmastery.com)

http://machinelearningmastery.com/learn-echo-random-integers-long-short-term-memory-recurrent-neural-networks/

如何用seq2seq遞歸神經網絡學習加法運算(machinelearningmastery.com)

http://machinelearningmastery.com/learn-add-numbers-seq2seq-recurrent-neural-networks/

3、Scipy 和 numpy

Scipy課程筆記(scipy-lectures.org)

http://www.scipy-lectures.org/

Python Numpy 教程(Stanford CS231n)

http://cs231n.github.io/python-numpy-tutorial/

Numpy 與 Scipy 入門(UCSB CHE210D)

https://engineering.ucsb.edu/~shell/che210d/numpy.pdf

給科學家看的Python微課程(nbviewer.jupyter.org)

http://nbviewer.jupyter.org/gist/rpmuller/5920182#ii.-numpy-and-scipy

4、scikit-learn

PyCon會議上的Scik-learn 教程(nbviewer.jupyter.org)

http://nbviewer.jupyter.org/github/jakevdp/sklearn_pycon2015/blob/master/notebooks/Index.ipynb

Scikit-learn 中的分類算法(github.com/mmmayo13)

https://github.com/mmmayo13/scikit-learn-classifiers/blob/master/sklearn-classifiers-tutorial.ipynb

Scikit-learn教程(scikit-learn.org)

http://scikit-learn.org/stable/tutorial/index.html

簡明版Scikit-learn教程(github.com/mmmayo13)

https://github.com/mmmayo13/scikit-learn-beginners-tutorials

5、Tensorflow

Tensorflow教程(tensorflow.org)

https://www.tensorflow.org/tutorials/

Tensorflow入門--CPU vs GPU

(medium.com/@erikhallstrm)

https://medium.com/@erikhallstrm/hello-world-tensorflow-649b15aed18c

Tensorflow入門(metaflow.fr)

https://blog.metaflow.fr/tensorflow-a-primer-4b3fa0978be3

Tensorflow實現RNNs (wildml.com)

http://www.wildml.com/2016/08/rnns-in-tensorflow-a-practical-guide-and-undocumented-features/

Tensorflow實現文本分類CNN模型(wildml.com)

http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/

如何用Tensorflow做文本摘要(surmenok.com)

http://pavel.surmenok.com/2016/10/15/how-to-run-text-summarization-with-tensorflow/

6、PyTorch

Pytorch教程(pytorch.org)

http://pytorch.org/tutorials/

Pytorch快手入門 (gaurav.im)

http://blog.gaurav.im/2017/04/24/a-gentle-intro-to-pytorch/

利用Pytorch深度學習教程(iamtrask.github.io)

https://iamtrask.github.io/2017/01/15/pytorch-tutorial/

Pytorch實戰(github.com/jcjohnson)

https://github.com/jcjohnson/pytorch-examples

PyTorch 教程(github.com/MorvanZhou)

https://github.com/MorvanZhou/PyTorch-Tutorial

深度學習研究人員看的PyTorch教程(github.com/yunjey)

https://github.com/yunjey/pytorch-tutorial

數學

乾貨 | 請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程

1、機器學習中的數學 (ucsc.edu)

https://people.ucsc.edu/~praman1/static/pub/math-for-ml.pdf

機器學習數學基礎(UMIACS CMSC422)

http://www.umiacs.umd.edu/~hal/courses/2013S_ML/math4ml.pdf

2、線性代數

線性代數簡明指南(betterexplained.com)

https://betterexplained.com/articles/linear-algebra-guide/

碼農眼中矩陣乘法 (betterexplained.com)

https://betterexplained.com/articles/matrix-multiplication/

理解叉乘運算(betterexplained.com)

https://betterexplained.com/articles/cross-product/

理解點乘運算(betterexplained.com)

https://betterexplained.com/articles/vector-calculus-understanding-the-dot-product/

機器學習中的線性代數(U. of Buffalo CSE574)

http://www.cedar.buffalo.edu/~srihari/CSE574/Chap1/LinearAlgebra.pdf

深度學習的線代小抄(medium.com)

https://medium.com/towards-data-science/linear-algebra-cheat-sheet-for-deep-learning-cd67aba4526c

複習線性代數與課後閱讀材料(Stanford CS229)

http://cs229.stanford.edu/section/cs229-linalg.pdf

3、概率論

貝葉斯理論 (betterexplained.com)

https://betterexplained.com/articles/understanding-bayes-theorem-with-ratios/

理解貝葉斯概率理論(Stanford CS229)

http://cs229.stanford.edu/section/cs229-prob.pdf

複習機器學習中的概率論(Stanford CS229)

https://see.stanford.edu/materials/aimlcs229/cs229-prob.pdf

概率論(U. of Buffalo CSE574)

http://www.cedar.buffalo.edu/~srihari/CSE574/Chap1/Probability-Theory.pdf

機器學習中的概率論(U. of Toronto CSC411)

http://www.cs.toronto.edu/~urtasun/courses/CSC411_Fall16/tutorial1.pdf

4、計算方法(Calculus)

如何理解導數:求導法則,指數和算法(betterexplained.com)

https://betterexplained.com/articles/how-to-understand-derivatives-the-quotient-rule-exponents-and-logarithms/

如何理解導數,乘法,冪指數,鏈式法(betterexplained.com)

https://betterexplained.com/articles/derivatives-product-power-chain/

向量計算,理解梯度(betterexplained.com)

https://betterexplained.com/articles/vector-calculus-understanding-the-gradient/

微分計算(Stanford CS224n)

http://web.stanford.edu/class/cs224n/lecture_notes/cs224n-2017-review-differential-calculus.pdf

計算方法概論(readthedocs.io)

http://ml-cheatsheet.readthedocs.io/en/latest/calculus.html

IBM發表機器學習瘦身術,讓大型深度學習訓練模型精簡95%,連在手機上都能跑

原文網址
Paper for Net-Trim: Convex Pruning of Deep Neural Networks with Performance Guarantee

IBM研究所研究員Nam Nguyen在2017年NIPS會議發表論文,揭露研究中的人工智慧最佳化框架Net-Trim,以分層凸集架構( Layer-wise convex scheme)來修剪精簡預先訓練的深度類神經網路模型,解決大型機器訓練模型在嵌入式系統運作資源短缺的問題。

隨著技術的發展,從影像辨識到語言翻譯,深度學習逐漸成為人工智慧應用程式的首選,而為了增加結果精確度,開發者使用更多的資料以及更多層的深度學習網路,以期得到更好的結果,然而越龐大的訓練模型意味著需要更多的運算資源,不過對於運算資源有限的嵌入式系統來說,如果這些龐大的預訓練模型無法在上頭運行,那也是徒勞。

Nam Nguyen與其團隊開發的Net-Trim,能夠在不犧牲精確度的情況下降低機器學習訓練模型複雜度。其中一個工作便是移除冗贅的權重值,讓網路變的稀疏。常見的方法便是使用L1正規法(L1 regularization),但是這個方法在深度學習無用武之地,部分原因是因為跟深度學習相關的公式為高度非凸性。

Net-trim能找到每一層網路中最稀疏的一組權重,並維持輸出與起始訓練的回應值一致。使用L1鬆弛(L1 relaxation),由於整流器線性單元活化是分段線性的,因此允許透過解決凸程式來搜尋。

訓練資料在類神經網路一層一層的往下傳遞,Net-trim在結果輸出與前置預算網路的回應值一致的前提,每一層以最佳化架構提升權重稀疏度。Net-Trim其中一項優點便是能使用凸公式(Convex formulation),能夠適用各種標準凸優化。

而Net-Trim於其他修剪方法不同之處在於,Net-Trim方式是數學可證的,在學習網路修剪前與修剪後維持相似效率。另外,與其他使用閾值修剪的方法相比,Net-Trim在第一次修剪完後,不需要再花其他多重再訓練的步驟。而且受惠於Net-Trim後處理階段的特性,Net-Trim可以搭配各種最新的類神經網路,再縮小模型大小之餘,還能增進模型的穩定度以及預測精準度。

Net-Trim是第一個有效能保證的修剪架構。Net-Trim可以讓前置預算可追蹤,凸公式可以推導出再訓練的模型與起始模型的距離理論值。Net-Trim使用MNIST資料集,可以無損分類精準度的修剪掉超過95%的資料量,以模型大小相比,100MB可以縮減成5MB,這樣的成果非常有利於在行動裝置上使用。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.