天天看點

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

目錄

第1個問題:學習材料采用視訊?文字?代碼?

第2個問題:個人學習還是跟團學習?

第3個問題:漸進式學習還是一次性精煉學習?

第4個問題:是否需要先精通python?

第5個問題:是否需要先精通數學?

第6個問題:學習理論與代碼實作的關系?

6.1 學習理論與代碼實作的關系有哪些?

6.2 不建議的學習方式:

6.3 個人建議:選用第3種方案的網絡或下線課程

第7問題:工具的選用?

第8問題: gpu還是cpu?

第9問題:人工智能的可預見的難點?

第10個問題:學習“深度學習”的幾個等級

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

(1)學習材料的多樣性

理論學習以視訊課程為主,字面課程為輔。

特别是對于人工智能小白,不建議一個人閉門造車,一個人死磕書本,一個人死磕書本,效率低,理論與實踐脫落。視訊的好處是:專業人士已經整理出人工智某一個領域的主體架構,跟着專業人士的課程,能夠抓住主線,還能有受益于他人的總結和經驗。

就課堂學習, 有老師教和那一本數自學,學習效果是完全不同的。

(2)理論聯系實際:

人工智能課程是一門實踐性很強的課程,不建議死磕書本,要以視訊課程為主線,配合文字課程,或書本,或網絡文章,最重要的是:再結合實際的軟體代碼,包括某一個領域的示範或某一個實際的工程檔案。

代碼分為:

學習性、示範性代碼

工程性、項目性代碼

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

 深度學習的架構、算法都是有一定的門檻,要想學好這些課程,不能單槍匹馬,那樣效率較低。

好的學習方式是如下幾種手段的結合:

大課程老師授課,或網絡視訊授課;=》這一步的關鍵是好的老師。

小組學習或具備相同技能的同僚間讨論;=》這一步的關鍵是好的同僚、同學。

交流群老師的輔導;=》這一步的關鍵是好的輔導老師。

個人專研 =》這一部分的關鍵好的教材與個人的刻苦專研。

隻聽課,不讨論,隻能浮于表面,無法深入。

隻有小組讨論,沒有個人的專研,無法形成實質性突破。

隻有一個人專研,沒有老師授課,這種學習方式效率低下。

切記:切忌一個人閉門造車。

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

人工智能是有一定的門檻很難度,特别是算法與模型,是以不建議一次性把每個涉及的環節搞得非常清楚。

 建議采用疊代式、多次輪回的學習方法,逐漸精進。一點帶面,一面帶整體,經過多輪學習,完成深度學習的學習。

切忌:試圖一個輪回把所有的知識點全部搞清楚,容易陷入得到某個難點無法自拔,最終放棄人工智能的學習。

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

 個人的觀察是如果能夠精通python,能夠幫忙我們了解用python寫的代碼。

但如果是人工智能的入門,沒有精通python語言的基礎,也不需要預先研習python。

也就是說,精通python并不是學習人工智能的必要條件。

隻需要掌握python必要的基礎知識和技能就可以看懂、編寫深度學習的代碼。

深度學習所涉及到的python語言的文法技能不并多,主要包括兩方面:

python的語言基礎

數學庫的使用,如矩陣、導數等,學習庫的使用可以結合“相關數學理論”一起學習。

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

個人的觀察是,如果能夠精通那是最好。如果沒有這樣的條件,也沒有關系。

了解上述數學的一些基本機率即可,畢竟對于大多數學習者,是學習現有的原理、模型,架構。

主要是利用架構、使用現有的模型,而不是自己從頭建立新的模型和算法。

數學的學習可以結合如下:

數學的概念:導數、矩陣、機率

集合python相幹的數學庫

集合jupter開發工具的使用

通過上述方法,達到理論和實踐相結合,熟悉python的同時、熟悉所需要的數學知識、還同時熟悉了工具的使用。為進一步的“神經網絡”的學習打下基礎。

深度學習,涉及到很多的理論:

數學理論:矩陣、導數、機率等

深度學習的理論:反向傳播、loss、強化學習等

神經網絡模型的理論:卷積網絡、知識圖譜等。

python語言的程式是實作這裡理論的工程實踐和代碼實作。

(1)是學習完整套理論,然後上機實踐呢?

(2)還是邊學習理論,變上機實踐呢?

(3)還是邊學習理論、邊結合代碼講解、再上機實踐?

(1)學習完整套理論,然後上機實踐。

在個人電腦如此普及的今天,這種學習方式是低效的,是傳統的學校課堂式理論學習的主要 形式,而不是技能型學習的方法。

(2)授課者隻講理論,學習者自己上機實踐摸索:

這種方法的缺點是,需要學習者能夠學習的理論快速的轉換成代碼,這對學習者提出了擡高的要求,對于人工智能的小白而言,對于大多數學習者而言,是很難實施的,即使實施了,效果也比較差。

(3)授課者不講理論,直接講代碼,學習者重複代碼。

這種方法,很多程式員喜歡,程式員對代碼有天然的敏感性和親切感。

但這種方法的最大的缺點就是:容易陷入到代碼本身中,有一種隻見樹木不見森林的感覺。再說,沒有理論指導,隻關注代碼實作,無法提升自己,把自己徹底歸屬在“碼”工的層面,不管原因,隻管砌牆。

(1)講課者:先講理論

(2)講課者:再講代碼架構與實作

(3)學習者:線下代碼實踐

上述過程,不斷循環、疊代。

(1)anaconda指令行:用于專業性操作、程式的自動化。

(2)jupter notebook:用于學習、示範。

(3)pycharm:用于程式跟蹤調試。

至于選擇cpu還是gpu,取決于學習階段:

(1)初學階段:單機版、cpu版的“深度學習”的平台

其目的用于入門學習,該平台可以訓練一些小型資料集和規模小的神經網絡,這種筆記本電腦的價格在4000塊左右。

(2)中級階段:單機版、帶gpu的“深度學習”的平台

其目的用于進階學習,該平台可以訓練一些中型資料集和規模中等的神經網絡,這種筆記本電腦的價格在1萬多。

(3)進階階段:平台是伺服器版或雲伺服器、帶gpu的“深度學習”的平台

其目的用于高階學習,該平台可以訓練一些大型資料集和大規模的神經網絡, 可用于應用實際産品的模型訓練,這種電腦的價格在3萬以上。

[人工智能-綜述-5]:人工智能課程學習的10大基本問題與學習方法的建議

人工智能學習的難點:

不在深度學習的架構,如tensorflow還是pytorch

不在python的程式設計語言;

不在複雜的數學公式(雖然這是設計新的深度學習模型的難點)

而在于各種神經網絡的工作原理,立即各種神經網絡的工作原理,即算法,對于優化算法是高階的能力。

(1)利用他人已經訓練好的模型,解決某一個特定的應用問題。

(2)利用現有的訓練好的模型,針對自身的資料集再進行一步的訓練,解決某一個特定的應用問題。

(3)利用現有的模型,使用自己的資料集,進行重新訓練,解決某一個特定的應用問題。

(4)利用現有的模型,進行調參,優化模型,使用自己的資料集,進行重新訓練,解決某一個特定的應用問題。

(5)利用深度學習的架構,建構自己的模型,使用自己的資料集,進行重新訓練,解決某一個特定的應用問題。

(6)利用深度學習的架構,建構自己的模型,優化模型,提升性能。

(7)編寫深度學習架構

繼續閱讀