本科AI學習建議

注:ctrl+點擊進入超鏈接查看網頁;crtl +k查看超鏈接指向url(部分鏈接請複製打開)。

一、總體學習架構

 

 

二、各部分講解及資料

2.1 編程

2.1.1 語言

需要良好的編程能力,重點是python,其次是C++javaC學過就不提了,經常出現在github裏的lua和新興的julia有餘力者也要看下,最後是現在有點過氣的MATLABR

特別需要注意的是,在線教程是很好的資源,當然書籍也不錯。但編程永遠是以實戰爲上,不是死讀書本,更不是看完了書和教程再寫代碼。此外,學會代碼調試也非常重要。

2.1.2 寫代碼工具

2.1.2.1  IDE

體系化開發,提示全面快捷,但比較笨重。可安裝個性化插件,比如pycharm的Save Actions、Rainbow Brackets、YAPF、Material Theme UI等,安裝方式很容易。

pycharm面向python,IDEA面向Java,Clion面向c和c++,微軟的visual studio萬能但是很笨重。前三者都是jetbrains公司的產品,學生可利用學校的學生郵箱在有效期內申請註冊教育賬號,然後免費使用專業版。

2.1.2.2 文本編輯器

輕巧便捷,萬能開發且自定義,但提示一般不全。可安裝大量個性化插件。

vscode是微軟開源的工具,罕見的微軟良心。

atom很美觀,但是插件安裝需要番羽土嗇。

sublime text很簡潔。

2.1.3 框架

  1. TensorFlow、torch、keras是深度學習框架。
  2. sklearn是機器學習框架。
  3. caffe也是深度學習框架,但主要面向計算機視覺。
  4. matplotlib是畫圖工具。

安裝指南:

win10系統人工智能框架安裝指南及常見問題解決方案——anaconda、python27、python35、numpy、tensorflow-gpu、matplotlib、caffe及中間的相關插曲

ubuntu系統人工智能框架安裝指南及常見問題解決方案——numpy、sklearn、TensorFlow、opencv、caffe2、caffe及中間的相關插曲

使用指南:

入門推薦莫凡python,深入推薦官網教程,比如TensorFlowtorch、caffe(見參考目錄下“Caffe官方教程中譯本”)、matplotlib

2.1.4 重要工具

  1. git是版本控制工具,可以參見廖雪峯的教程github上有很多有意思的代碼項目,但下載速度較慢。可以從碼雲上引入已有的github項目,通過國內網絡傳輸,下載速度在github十倍之上。
  2. office是基本的操作。word的排版,excel的公式、ppt的排版都是基礎。對於word和excel需要不會就多學,而且要和同學多交流。此外,有一個很好的馮注龍的ppt教程
  3. latex,重要的論文書寫工具,教程見參考目錄下“一份不太簡短的 LaTeX2ε 介紹”。
  4. 畫圖軟件可用於ppt和文檔中,良好的構圖可以起到極佳的講解作用。Visio是最通用的,processon比較便捷,億圖很漂亮,要花錢買,但也可以破解
  5. anaconda是管理多個python的工具,附上使用教程
  6. 正則表達式可以從字符串中抓取到需要的部分,另外還有在線驗證正則表達式的網站
  7. 數據庫操作的核心是SQL語句,其次需要熟練數據庫與常用語言如python的API接口,最後是數據的管理操作。當然數據庫界面操作工具Navicat是肯定少不了的。
  8. 爬蟲是獲取數據的重要手段,有一個北理的教程可以快速入門,進階的話需要學習scrapy,以及嘗試在微信公衆號抖音app這樣的複雜環境下爬蟲。
  9. 安卓模擬器,比如夜神安卓模擬器,是用來輔助爬蟲的好工具,比如無破解加密的爬取抖音的數據。
  10. 網絡抓包工具用於分析網絡報文,推薦使用fiddler
  11. 多線程操作主要是掌握python的多線程,類似博客很多。
  12. linux操作系統主要是學習ubuntu系列,16.04或18.04皆可。不用盯着書死看,80%時間下會用的東西其實不到全部的20%,所以要抓重點,不會的再查。常用的操作包括文件操作比如複製移動刪除,權限管理用戶管理進程管理磁盤掛載apt換源加速下載、pip換源加速下載(windows也可換pip源)等。
  13. gpu主要是環境搭建(可參照之前的2.1.3 框架一節的兩個鏈接)和查看管理,一般深度學習框架如torch,TensorFlow(直接安裝TensorFlow-GPU即可)已經高度封裝了這些操作,所以比較簡單。當然,沒有gpu一切都是白搭。這是表示gpu性能的天梯圖
  14. everything是一款給本地所有文件建立索引的快速查詢工具,迅速查找本機所有文件。
  15. xmind8是一款極好的思維導圖工具,可以輔助理清ppt、演講、項目等系統的思路。csdn上有破解方法
  16. 看paper可能需要標註,福昕編輯器是一個不錯的pdf編輯器。csdn上有破解方法
  17. 對linux服務器的操作,可以使用xshell命令行操作,通過winscp傳輸文件。當然,atomvscode和jetbrains的產品比如pycharm也有遠程同步、執行代碼的操作。

2.2 數學

對數學如何重視都是不足爲過的,AI或者更廣義的計算機,其基礎都是建立在數學的基礎上的。因此務必強化數學的學習。但由於本人的數學基礎有限,無法給出比較全面的介紹,僅將推薦教材列出,並輔助簡單講解。

2.2.1 基礎

微積分、線性代數、概率論、離散數學,跟着學校的教材走就好了。唯一重要的是,課後題都做了,並且認真改錯總結。除此之外,紮實數學基礎別無它法。

2.2.2 進階

高等代數 復旦 姚慕生 第三版

數學分析 華東師大 第五版

數理統計學講義 高教 第三版

組合數學 中科大 第二版

凸優化理論 清華

凸優化 清華

矩陣理論 高教

隨機過程 高教

實變函數與積分變換 高教 夏道行 第二版

複變函數與積分變換 高教 蘇變萍 第三版

普林斯頓數學指南 科學

2.3 計算機基礎

2.3.1 基礎

課堂的學習是很重要的,比如數據結構與算法、操作系統、計算機網絡和計算機組成成原理這四門計算機核心基礎課程。比起教材,這四門課更重要的是理解,數據結構與算法重點要理清數據結構模型和常用算法原理,操作系統要建立進程調度執行的概念,計算機網絡要建立網絡架構和通信協議的概念,計算機組成原理要建立模型機的靜態組成模型和動態運行過程。教材就學校的教材即可,好好聽課。

2.3.2 進階

數據挖掘 機械工業 第三版

計算機體系結構:量化研究方法 人民郵電 第五版

量子計算、優化與學習 科學

實用軟件架構:從系統環境到軟件部署 機械工業

編譯原理 機械工業 第二版

2.4 人工智能

本章將機器學習、深度學習和應用三部分的資源進行整合。

從事AI需要一定的數學、計算機、編程和英語能力。

首先,不推薦初學者看周志華的《機器學習》,也就是西瓜書。AI入門需要對機器學習的基礎知識有一個良好的全面認識,不求深,也一定要求廣——既瞭解全局,也爲之後的研究找準感興趣的方向。因此,初學者推薦百面機器學習 算法工程師帶你去面試

在對基礎知識和基本算法有了基本瞭解後,就需要深入瞭解算法背後的原理,因此,推薦李航的統計學習方法(出第二版了)。對於還不太清楚的數學,可以快速查閱圖像處理中的數學修煉中的相關數學知識。

再之後,可以根據自己的興趣方向瞭解深度學習強化學習知識圖譜,或者自己感興趣的具體方向,比如視覺(cs231n)、自然語言處理(cs224n)等。

科研的話,可以瞭解一下各大AI會議。查詢的話,可以利用谷歌學術谷歌dblp或者中國知網(校內ip免費下載paper)查找自己感興趣的paper。

至於各種應用,既可以去github上搜項目,也可以去csdn博客園等網站上看大佬教程。此外,還有一些科研前沿的觀察統計網站,具有極高的價值,常見的比如機器之心,清華的Aminer。還有就是要關注下知乎上的大佬們,指導AI科研學習和數據挖掘競賽等,比如魚遇雨欲語與餘zibuyu9(清華劉知遠教授)、Ivan Yan等,可以關注一波,看看他們在幹啥,與時俱進,不斷學習。

參考書目百度雲盤地址

鏈接:https://pan.baidu.com/s/1C0ZVDROVD-REuK94_a9n9Q  
提取碼:u91f

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章