感謝閱讀!
我是一名C 軟件工程師,而且也在學(xué)習(xí)人工智能。分享一下我是怎樣學(xué)習(xí)的。不一定適合你,僅供參考,不對的地方還望批評指正!
我研究生是研究模式識別方向,圖像處理領(lǐng)域。學(xué)過《模式識別》《機(jī)器挖掘》等類似的課程,對我學(xué)習(xí)AI有一定的幫助,但是對于學(xué)習(xí)AI也有一定的難度。我的學(xué)習(xí)過程是這樣的:
Python的學(xué)習(xí)是轉(zhuǎn)行人工智能的基礎(chǔ),這個(gè)是一定要學(xué)的。如果你是C 或者Java工程師,學(xué)python會(huì)非??欤?yàn)槎际敲嫦驅(qū)ο蟮恼Z言?;疽恢芫涂梢钥礄C(jī)器學(xué)習(xí)的開源代碼。學(xué)習(xí)編程語言對于程序員來說很easy了,這里不再多說。
可以簡單的學(xué)習(xí)一些機(jī)器學(xué)習(xí)基本Python庫,比如numpy,scikit-learn,Theano,Tensorflow,Caffe2等等。選擇就是,用到再學(xué)!
機(jī)器學(xué)習(xí)分為:圖像識別,語音識別,自然語言處理等方向,選擇一個(gè)自己感興趣的方向,然后找對應(yīng)的項(xiàng)目。從項(xiàng)目出發(fā)并不是說從做項(xiàng)目開始,對于沒有領(lǐng)域知識的程序員,寫代碼是很痛苦的。從項(xiàng)目出發(fā)的本意是:
不要從學(xué)習(xí)概率論,高等數(shù)學(xué)等基本理論開始。我第一階段就是從這些基本理論開始,效果很不好。這些理論枯燥,沒有針對性,沒法理解這些理論跟AI到底是什么關(guān)系。因此,很容易放棄。
從項(xiàng)目開始:找個(gè)開源項(xiàng)目,比如GitHub上的開源項(xiàng)目OpenFace,去讀源碼,看人臉識別是如何做到的。讀源碼的時(shí)候一定會(huì)碰到各種機(jī)器學(xué)習(xí)的Python庫,一些機(jī)器學(xué)習(xí)算法。以此為出發(fā)點(diǎn),熟悉Python庫的使用方法。碰到的機(jī)器學(xué)習(xí)算法這就是開始學(xué)習(xí)AI的切入點(diǎn)。
從項(xiàng)目開始的好處是,能將理論和實(shí)踐相結(jié)合,比單純學(xué)習(xí)理論更能理解理論的妙處!
在項(xiàng)目中碰到的機(jī)器學(xué)習(xí)算法,要想清楚明白是怎么來的,就要去論文中追本溯原,學(xué)習(xí)算法的使用環(huán)境,算法實(shí)施過程,算法的數(shù)學(xué)推導(dǎo)。這個(gè)時(shí)候就是學(xué)習(xí)數(shù)學(xué)基礎(chǔ)的時(shí)機(jī),只學(xué)習(xí)對應(yīng)的章節(jié),用不到的暫時(shí)不用學(xué)。
學(xué)習(xí)算法,還借助一些介紹機(jī)器學(xué)習(xí)算法的基礎(chǔ),把算法徹底弄懂。系統(tǒng)學(xué)習(xí)基本算法基礎(chǔ),比如卷積人工神經(jīng)網(wǎng)絡(luò),反向傳導(dǎo),線性回歸,貝葉斯網(wǎng)絡(luò),支持向量機(jī)SVM,決策樹等等。這也很有幫助!
算法動(dòng)手:
在學(xué)習(xí)理論知識,機(jī)器學(xué)習(xí)的算法時(shí),都會(huì)碰到算法的實(shí)現(xiàn)過程。一般現(xiàn)在很多Python庫已經(jīng)提供了算法的實(shí)現(xiàn),直接調(diào)用即可。但是如果自己有時(shí)間還是要實(shí)現(xiàn)一下算法,能加深理解。作為程序員都知道,只有在親自動(dòng)手的時(shí)候,才發(fā)現(xiàn)問題。
應(yīng)用動(dòng)手:
學(xué)習(xí)機(jī)器學(xué)習(xí),一定要自己動(dòng)手,真正用機(jī)器學(xué)習(xí)解決一個(gè)問題。但是現(xiàn)在機(jī)器學(xué)習(xí)對硬件要球較高,訓(xùn)練時(shí)間也很高。因此,我建議,無需用巨大的數(shù)據(jù)集,用非常小的即可,只要能解釋過程即可。
對于上班族來說,時(shí)間很寶貴,所以要從996的時(shí)間之外擠出時(shí)間學(xué)習(xí)十分不容易,因此就要十分有毅力,有恒心。既然開始,就不能輕易放棄,要養(yǎng)成固定一個(gè)在一個(gè)固定時(shí)間點(diǎn)學(xué)習(xí),比如每晚10點(diǎn)學(xué)習(xí)兩小時(shí),那就每晚都學(xué),即使沒狀態(tài)哪怕看看以前的也要學(xué)。這樣,固定的時(shí)間做固定的事,堅(jiān)持下來概率較大!
做一名程序員不易,要轉(zhuǎn)行的程序員更不易!任何時(shí)候,身體健康第一!且行且珍重!如果有需要的資料,可以私信我,希望能給你提供幫助!
聯(lián)系客服