回覆列表
  • 1 # 武漢Lee博士

    要回答這個問題,首先,我們先了解一下什麼是Python和深度學習,各用於什麼領域?瞭解了這兩個問題,對於人工智慧方向是需要學什麼?先學什麼?都會有一個清晰的答案。

    一、Python

    Python是一種跨平臺的計算機程式設計語言。 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向物件的指令碼語言。最初被設計用於編寫自動化指令碼(shell),隨著版本的不斷更新和語言新功能的新增,越多被用於獨立的、大型專案的開發。

    Python是一種解釋型指令碼語言,可以應用於以下領域:

    Web 和 Internet開發科學計算和統計人工智慧桌面介面開發軟體開發後端開發網路爬蟲

    Python與人工智慧的關係:

    Python是一門在人工智慧科學領域被廣泛應用的計算機程式語言,廣泛應用就表明各種庫,各種相關聯的框架都是以Python作為主要語言開發出來的。

    谷歌的TensorFlow大部分程式碼都是Python,其他語言一般只有幾千行。

    Python雖然是指令碼語言,但是因為容易學,迅速成為科學家的工具,從而積累了大量的工具庫、架構,人工智慧涉及大量的資料計算,用Python是很自然的,簡單高效。

    Python有非常多優秀的深度學習庫可用,現在大部分深度學習框架都支援Python。

    二、深度學習

    深度學習(DL, Deep Learning)是機器學習(ML, Machine Learning)領域中一個新的研究方向,它被引入機器學習使其更接近於最初的目標——人工智慧(AI, Artificial Intelligence)。

    深度學習是學習樣本資料的內在規律和表示層次,這些學習過程中獲得的資訊對諸如文字,影象和聲音等資料的解釋有很大的幫助。它的最終目標是讓機器能夠像人一樣具有分析學習能力,能夠識別文字、影象和聲音等資料。 深度學習是一個複雜的機器學習演算法,在語音和影象識別方面取得的效果,遠遠超過先前相關技術。

    深度學習在搜尋技術,資料探勘,機器學習,機器翻譯,自然語言處理,多媒體學習,語音,推薦和個性化技術,以及其他相關領域都取得了很多成果。深度學習使機器模仿視聽和思考等人類的活動,解決了很多複雜的模式識別難題,使得人工智慧相關技術取得了很大進步。

    深度學習是一類模式分析方法的統稱,就具體研究內容而言,主要涉及三類方法:

    (1)基於卷積運算的神經網路系統,即卷積神經網路(CNN)。

    (2)基於多層神經元的自編碼神經網路,包括自編碼( Auto encoder)以及近年來受到廣泛關注的稀疏編碼兩類( Sparse Coding)。

    (3)以多層自編碼神經網路的方式進行預訓練,進而結合鑑別資訊進一步優化神經網路權值的深度置信網路(DBN)。

    通過多層處理,逐漸將初始的“低層”特徵表示轉化為“高層”特徵表示後,用“簡單模型”即可完成複雜的分類等學習任務。由此可將深度學習理解為進行“特徵學習”(feature learning)或“表示學習”(representation learning)。

    以往在機器學習用於現實任務時,描述樣本的特徵通常需由人類專家來設計,這成為“特徵工程”(feature engineering)。眾所周知,特徵的好壞對泛化效能有至關重要的影響,人類專家設計出好特徵也並非易事;特徵學習(表徵學習)則通過機器學習技術自身來產生好特徵,這使機器學習向“全自動資料分析”又前進了一步。

    近年來,研究人員也逐漸將這幾類方法結合起來,如對原本是以有監督學習為基礎的卷積神經網路結合自編碼神經網路進行無監督的預訓練,進而利用鑑別資訊微調網路引數形成的卷積深度置信網路。與傳統的學習方法相比,深度學習方法預設了更多的模型引數,因此模型訓練難度更大,根據統計學習的一般規律知道,模型引數越多,需要參與訓練的資料量也越大。

    20世紀八九十年代由於計算機計算能力有限和相關技術的限制,可用於分析的資料量太小,深度學習在模式分析中並沒有表現出優異的識別效能。自從2006年, Hinton等提出快速計算受限玻耳茲曼機(RBM)網路權值及偏差的CD-K演算法以後,RBM就成了增加神經網路深度的有力工具,導致後面使用廣泛的DBN(由 Hinton等開發並已被微軟等公司用於語音識別中)等深度網路的出現。與此同時,稀疏編碼等由於能自動從資料中提取特徵也被應用於深度學習中。基於區域性資料區域的卷積神經網路方法今年來也被大量研究。

    深度學習的典型模型

    典型的深度學習模型有卷積神經網路( convolutional neural network)、DBN和堆疊自編碼網路(stacked auto-encoder network)模型等,下面對這些模型進行描述。

    (一)卷積神經網路模型

    在無監督預訓練出現之前,訓練深度神經網路通常非常困難,而其中一個特例是卷積神經網路。卷積神經網

    絡受視覺系統的結構啟發而產生。第一個卷積神經網路計算模型是在Fukushima(D的神經認知機中提出的,基於神經元之間的區域性連線和分層組織影象轉換,將有相同引數的神經元應用於前一層神經網路的不同位置,得到一種平移不變神經網路結構形式。後來,Le Cun等人在該思想的基礎上,用誤差梯度設計並訓練卷積神經網路,在一些模式識別任務上得到優越的效能。至今,基於卷積神經網路的模式識別系統是最好的實現系統之一,尤其在手寫體字元識別任務上表現出非凡的效能。

    (二)深度信任網路模型

    DBN可以解釋為貝葉斯概率生成模型,由多層隨機隱變數組成,上面的兩層具有無向對稱連線,下面的層得到來自上一層的自頂向下的有向連線,最底層單元的狀態為可見輸入資料向量。DBN由若2F結構單元堆疊組成,結構單元通常為RBM(RestIlcted Boltzmann Machine,受限玻爾茲曼機)。堆疊中每個RBM單元的可視層神經元數量等於前一RBM單元的隱層神經元數量。根據深度學習機制,採用輸入樣例訓練第一層RBM單元,並利用其輸出訓練第二層RBM模型,將RBM模型進行堆疊通過增加層來改善模型效能。在無監督預訓練過程中,DBN編碼輸入到頂層RBM後,解碼頂層的狀態到最底層的單元,實現輸入的重構。RBM作為DBN的結構單元,與每一層DBN共享引數。

    (三)堆疊自編碼網路模型

    堆疊自編碼網路的結構與DBN類似,由若干結構單元堆疊組成,不同之處在於其結構單元為自編碼模型( auto-en-coder)而不是RBM。自編碼模型是一個兩層的神經網路,第一層稱為編碼層,第二層稱為解碼層。

    人工智慧、機器學習、深度學習的關係:

    人工智慧是一類非常廣泛的問題,機器學習是解決這類問題的一個重要手段。深度學習則是機器學習的一個分支。在很多人工智慧問題上,深度學習的方法突破了傳統機器學習方法的瓶頸,推動了人工智慧領域的發展。

    三、總結:

    從以上內容可以看出,Python只是一個程式設計工具,但是,由於在人工智慧領域應用較多,因此,如果未來想往人工智慧方向發展,這是必須要首先學習掌握的。

    深度學習是機器學習的一個分支,可以認為是淺層次的人工智慧應用。

    因此,如果未來準備往人工智慧方向發展,也是需要首先學習瞭解的。

    總之,如果未來準備往人工智慧方向發展,首先要學習掌握Python,這個不難,其次,要學習瞭解深度學習、機器學習的相關內容,這是學習人工智慧的初級內容。

  • 2 # Zane子樂

    有一定的事實證明,Python語言更適合初學者,大致分為五個階段的學習。Python語言並不會讓初學者感到晦澀,它突破了傳統程式語言入門困難的語法屏障,初學者在學習Python的同時,還能夠鍛鍊自己的邏輯思維,同時Python也是入門人工智慧的首選語言。

    學習程式設計並非那麼容易,有的人可能看完了Python語法覺得特別簡單,但再往後看就懵了,因為到後期發現並不能學以致用,理論結合專案才是學好一門程式語言的關鍵。可以選擇報班入門,一般在2W左右,根據自己的實際需要到“U”就業實地瞭解,可以先在試聽之後,再選擇適合自己的。

  • 中秋節和大豐收的關聯?
  • 暑假快到了,該怎麼給孩子安排學習計劃?