學習神經網絡需要哪些前導知識?
這兩年,人工智能已經逐漸成為了行業最火的話題,但到目前為止,人工智能還只要停留在科學研究階段,還沒到大規模的應用階段,很多人想接觸和學習相關的知識,但是又害怕自己的知識儲備不夠用往往無法下手。目前人工智能的核心是深度學習,而深度學習的核心是神經網絡,那么需要做哪些預備知識才能夠幫助自己的更好的學習神經網絡這門課程呢?1. 最簡單的神經網絡模型讓你消除學習難度的顧慮
舉個簡單的例子,現在需要通過發動機來判定一輛車的價格,建立一個直角坐標系,橫坐標假設為發動機數據e而豎坐標假設為p,假設有一組車的數據,均勻分布在坐標系中,相信大家都學過線性回歸,就算是只上過高中也會對回歸函數有一定的了解。最終你得到的一條很好能擬合發動機和價格之間關系的折線,其中假設發動機參數和價格的關系是連續不間斷的,那么這個處理過程則可以抽象成以下的關系,如下:
這便是一個最簡單的神經網絡,中中間部分就是一個神經元,現在是不是覺得神經網絡很簡單?那么自然世界的真實用例肯定不可能這么簡單,那么我們知道除了發動機、汽車的空間大小、內飾、做工、空調系統、導航系統等等一系列的參數都可以影響汽車的價格,那么你會發現你的輸入值越來越多,那么輸出值也就越來越準確,如果再加上其他的外界因素,那么你這個模擬的模型就會越來越接近真實值,這便是神經網絡,這便是深度學習的核心,也是人工智能的核心,但是抽象以后你會覺得其實并不難。
因此為什么要覺得自己不適合或者因為自己的知識儲備不夠而拒絕接受新的知識呢?不僅僅是人工智能,其他領域也都一樣。
2. 要想有一定的造詣尤其是想吃這口飯,你必須要學習更多
當然,對于要想獲得更多的專業的知識,那么具體哪些知識能讓你事半功倍呢?首先對于學習計算機的學生來說,不管你用不用得到,有幾門本事學習好了,百利無一害,一是微積分、二是離散數學、三是英語,毫無疑問,計算機科學本質上跟數學關系緊密,甚至可以說數學就是編程的本質,這也是最早圖靈完備的計算機的最初來源,而微積分、離散數學是計算機科學的基礎數學知識。
對于英語,相信不用多說,不是必須,卻是讓你事半功倍的好工具,英語知識好,你可以看國外眾多的頂級名校的mooc,你可以第一時間找到最新的人工智能前沿知識,能第一時間翻看最新的技術文檔,毫無疑問學好英語讓你求知路上更加簡單。除此之外,你需要掌握更多的線性代數和概率論方面的知識,矩陣運算是神經網絡的核心,線性方程組、凸優化、梯度等等知識能夠讓你在算法優化上取得更好的結果。當然,你還需要較好的計算機基礎、編程基礎,建議了解一些關于視覺識別方面的行業資訊、了解一些組成、編譯方面的知識,編程語言的話python是個不錯的選擇。
3. 最后給大家推薦一些比較好的人工智能學習資源
對于人工智能的學習,毫無疑問,如果有好的學習資源、學習工具那么將會事半功倍。Stanford的CS231n是李飛飛教授關于視覺識別的比較好的課程, 人工智能領域的泰斗,神經網絡之父Geoffrey Hinton 老爺子的《Neutral Network for Machine Learning》課程,恩達博士的Deep learning課程,都是很好的學習人工智能的入門課程,讓你能更快的進入人工智能的學習。
除此之外,還有一些框架也是很好的學習資源,例如大名鼎鼎Google的人工智能學習框架tensorflow、keras、Caffe等等都是很好的人工智能學習框架,當然,人工智能目前GPU編程效果比較好,CPU編程目前來首不能獲得較好的體驗,建議大家為了真正深度學習人工智能課程,配置一個比較好的電腦,尤其是好的顯卡。
最后還是送上那句老話,不管學習什么知識,活到老、學到老,要有終身學習的精神,很多知識對于很多人來說也許永遠不會用到,但是哪怕是僅僅作為興趣愛好呢?為什么博士學位最初的來源叫做“Philosophy Doctor”,翻譯過來也就是哲學博士學位,所有的智慧知識都是哲學,而學習這些知識就好比是跟無數的哲人進行交流,像Geoffrey Hinton、Donald Ervin Knuth、RMS、John McCarthy這樣的泰斗級別的科學家,也可以說是都是偉大的哲學家,要么畢生獻給科學,要么畢生獻給教育,要么兩者都是。最后希望有志者都能夠在人工智能領域有所得。