說說我學(xué)習(xí)深度學(xué)習(xí)的經(jīng)歷吧,從開始學(xué)習(xí)到現(xiàn)在大概有4個(gè)月,只能算新手,剛好可以回答新手問題。
先說編程:自認(rèn)會(huì)用C++, 熟悉Python
英語水平:中等,能很快讀懂英文科學(xué)文獻(xiàn)
最開始對人工智能/深度學(xué)習(xí)感興趣是因?yàn)橄胗盟囈辉囎匀徽Z言生成,后來想到一個(gè)物理方面的題目,預(yù)計(jì)可以用深度學(xué)習(xí)技術(shù)解決,開始接觸深度神經(jīng)網(wǎng)絡(luò)。記錄一下學(xué)習(xí)歷程,
1. 安裝 Tensorflow(google 開源的深度學(xué)習(xí)程序), 嘗試?yán)锩孀詈唵蔚睦覯NIST 獲得激勵(lì)。
2. 之后嘗試通過讀書(看視頻)理解最簡單的全連接神經(jīng)網(wǎng)絡(luò)
先搜索找到答案:為什么要Go Deep?
(1)神經(jīng)網(wǎng)絡(luò)中輸入層,隱藏層,輸出層之間矩陣乘積的維度變化。
(2)Weight, Bias 這些是什么,改變它們有什么結(jié)果。
(3)激勵(lì)函數(shù)是什么,有什么作用,有哪些常用的激勵(lì)函數(shù)
(4)誤差如何向后傳遞,網(wǎng)絡(luò)如何通過最小化誤差函數(shù)更新,有哪些常用的優(yōu)化方法
以上這些在一本交互式電子書中可以找到答案:
Neural networks and deep learning
(5) 如何對權(quán)重正規(guī)化,L1, L2, BatchNormalization, (這些在以后真正應(yīng)用的時(shí)候再看)
Deep Learning chapter 7 for L1, L2 regulation.
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (2015) original paper for BN
why does batch normalization help? Quora
Note for BN in Chinese
Implementing Batch Normalization in Tensorflow from R2RT
Layer normalization (2016) Replace Batch Normalization in RNN
Why Does Unsupervised Pre-training Help Deep Learning?
Summary and discussion on pre training
3. 選擇一種比較比較底層的神經(jīng)網(wǎng)絡(luò)開源庫,tensorflow 或 theano,
(1) 讀官方文檔 https://www.tensorflow.org/versions/r0.11/tutorials/index.html
(2) 看周莫凡的網(wǎng)絡(luò)教程 https://www.youtube.com/user/MorvanZhou
(3) 重復(fù)敲代碼,重復(fù)實(shí)現(xiàn)例子程序
4. 開始理解各種不同神經(jīng)網(wǎng)絡(luò)架構(gòu)所能處理的問題
(1) CNN 圖像識別,圖像處理,語音處理
(2)RNN,LSTM 自然語言理解與生成
(3)增強(qiáng)學(xué)習(xí),玩游戲 :)
5. 嘗試各種開源的有意思的神經(jīng)網(wǎng)絡(luò)項(xiàng)目,新手可以從下面這個(gè)列表開始
(1)Andrej Karpathy blog char-rnn, Deep Reinforcement Learning: Pong from Pixels
(2)Neural Style In tensorflow.
6. 如果能翻墻,注冊 twitter, facebook 賬號,follow 那些文章中經(jīng)常出現(xiàn)的大牛的名字。他們每天提供很多新動(dòng)向及最新技術(shù),很多時(shí)候有很 Fancy的應(yīng)用。試試從這個(gè)大牛follow的人開始follow:twitter.com/karpathy
當(dāng)你對這些都很熟悉的時(shí)候,開始閱讀艱深的文獻(xiàn):
1. CNN 的原始文獻(xiàn)
2. RNN 和 LSTM 的原始文獻(xiàn)
3. Reinforcement Learning 的原始文獻(xiàn)
4. Google DeepMind 發(fā)表在 Nature 上的幾篇經(jīng)典
最后推薦一個(gè)高級點(diǎn)的庫: Keras Documentation
雖然這個(gè)庫還在發(fā)展階段,里面仍有不少bug,但前途不可限量,可以很容易實(shí)現(xiàn)你之前讀文章時(shí)候見到的那些復(fù)雜的構(gòu)架。作為例子,這里有個(gè)教程:
Deep learning book in ipython-notebook and Keras Many example code in Keras.
這些學(xué)習(xí)歷程中遇到的資料都記錄在了我的個(gè)人note里,希望大家共勉:web-docs.gsi.de/~lpang/
最后強(qiáng)調(diào)一個(gè)最最重要的事情:要有自己的想法,有將這種新技術(shù)用到自己項(xiàng)目中的強(qiáng)烈愿望,從開始就要Coding,不斷嘗試才能不斷進(jìn)步。
(看了很多其他的回答,在這里想補(bǔ)充一段)
說實(shí)話,作為一個(gè)其他行業(yè)(物理,工程,化學(xué),醫(yī)學(xué),農(nóng)業(yè),衛(wèi)星地圖識別,網(wǎng)絡(luò)安全領(lǐng)域,社會(huì)科學(xué))的普通程序員,在本行業(yè)有比較深的理論和實(shí)驗(yàn)背景,能接觸到海量數(shù)據(jù)(無論是傳感器數(shù)據(jù),互聯(lián)網(wǎng)數(shù)據(jù)還是蒙特卡洛模擬數(shù)據(jù)),想做處一些創(chuàng)新性,交叉性的工作,這一輪人工智能的風(fēng)絕對是要跟的。
作為一個(gè)計(jì)算機(jī)專業(yè)的人,可能覺得機(jī)器學(xué)習(xí),人工智能,深度學(xué)習(xí)已經(jīng)炒的過熱了。但是對于其他領(lǐng)域,可能大部分人還沒有想到把最基本的機(jī)器學(xué)習(xí)算法如:PCA,SVM,k-means...運(yùn)用到本行業(yè)積累的大數(shù)據(jù)上, 更不要說最近的深度學(xué)習(xí)。
作為其他行業(yè)的普通程序員(除了數(shù)學(xué)與理論物理),我們不要指望從理論上徹底解決深度學(xué)習(xí)現(xiàn)存的問題。我們的優(yōu)勢不在這里,我們的優(yōu)勢是計(jì)算機(jī)專業(yè)的人所沒有的專業(yè)知識,行業(yè)大數(shù)據(jù)。我們需要做的是把機(jī)器學(xué)習(xí),深度神經(jīng)網(wǎng)絡(luò)當(dāng)作工具,知道它們能做什么,如何去做。參考Andrew Ng 的機(jī)器學(xué)習(xí)筆記,
Machine Learning - complete course notes
舉幾個(gè)簡單的例子:
1. 使用深度學(xué)習(xí)中生成風(fēng)格化圖片的技術(shù),制備具有特定功能的抗癌藥物
The cornucopia of meaningful leads: Applying deep adversarial autoencoders for new molecule development in oncology
2.使用反常探測,尋找網(wǎng)絡(luò)攻擊 Cyber-attacks prediction
3. 對于國家來說,更加聰明的互聯(lián)網(wǎng)關(guān)鍵詞過濾
4. 自動(dòng)探測衛(wèi)星地圖上道路,建筑,車輛,河流。。。
5. 環(huán)境科學(xué)中尋找霧霾與眾多可能因素的非線性關(guān)聯(lián)
我們用卷積神經(jīng)網(wǎng)絡(luò)來區(qū)分量子色動(dòng)力學(xué)相變是crossover還是一階相變。(1年之后回來修改)回答這個(gè)問題的時(shí)候,文章剛剛寫好,最近文章已經(jīng)在《自然-通訊》Nature Communications 雜志發(fā)表,網(wǎng)上公開鏈接是 An equation-of-state-meter of quantum chromodynamics transition from deep learning , 希望能給堅(jiān)持在這個(gè)方向,做 AI + X 交叉學(xué)科應(yīng)用的同學(xué)帶來精神上的激勵(lì)。
174530bqv69c6nn5u2nla7.jpg!0 (62.7 KB, 下載次數(shù): 2)
下載附件
保存到相冊
2018-12-26 14:01 上傳
|