廖繼紅 南寧職業(yè)技術(shù)學院
隨著信息技術(shù)和數(shù)據(jù)科學發(fā)展,作為人工智能分支領(lǐng)域的深度學習得到迅速發(fā)展,應用領(lǐng)域不斷擴大,已滲透到自然科學、生物醫(yī)學和社會科學等領(lǐng)域的方方面面,越來越受到人們的關(guān)注。
Python是一種解釋執(zhí)行的高級程序設(shè)計語言,易學易用,語法簡練,可讀性強,幾乎適應各種平臺使用,Python具有豐富的類庫,因此基于Python語言的數(shù)據(jù)處理應用功能被廣泛認可。
1.Numpy
Numpy是Python科學計算的基礎(chǔ)工具包,其提供了一個名為ndarray的多維數(shù)組,數(shù)組中的數(shù)據(jù)類型是一致的,因此可以輕松確定數(shù)組所需要的空間,并且運用向量化運算來處理數(shù)組,運算速度格外快。NumPy數(shù)組可以通過使用的切片和索引方法對數(shù)據(jù)進行訪問和修改處理。
2.Pandas
Pandas是一個開源的用于數(shù)據(jù)清洗的Python庫,實現(xiàn)數(shù)據(jù)讀出、整理、描述和統(tǒng)計,Pandas的基本操作,包括創(chuàng)建相應的數(shù)據(jù)結(jié)構(gòu) ,對數(shù)據(jù)進行選取,再調(diào)用相應的方法函數(shù),處理丟棄缺失的值,缺失值的填充、標識和刪除重復的行,數(shù)據(jù)清洗。
3.Scipy
Scipy是在Numpy庫基礎(chǔ)上增加許多數(shù)學、科學計算的函數(shù)庫,可以提供包括統(tǒng)計、優(yōu)化整合以及線性代數(shù)、信號圖象圖例、常微分方程的求解。
4.Matplotlib
Matplotlib具有的Python繪圖庫,可以在各種平臺上使用,使得數(shù)據(jù)分析具有結(jié)果的可視化,直觀化,形成箱形圖、對數(shù)圖等 。
機器學習是人工智能的一個分支,深度學習是機器學習的一個領(lǐng)域,深度學習中是從數(shù)據(jù)中學習表示的一種方法,是從連續(xù)的層中進行學習,這些分層表示 部是通過神經(jīng)網(wǎng)絡的模型來學習。
深度學習的具體過程:
1.定義訓練數(shù)據(jù),輸入樣本X,目標值Y
2.定義模型網(wǎng)絡,在X上前向傳播運行網(wǎng)絡,得到預測值Y
3.計算預測值Y和目標Y的差距
4.更新網(wǎng)絡權(quán)重,使網(wǎng)絡在這批數(shù)據(jù)上的損失略微下降。
必要時重復上述步驟。
以下是深度學習的工作原理圖:
其中,權(quán)重是神經(jīng)網(wǎng)絡中每層對輸入數(shù)據(jù)所做的具體操作,本質(zhì)是一串數(shù)字,通過權(quán)重參數(shù)對每層進行變換,可以通過反饋機制對權(quán)重進行調(diào)整。
工作的目標:找到權(quán)重的正確取值。
1.神經(jīng)網(wǎng)絡的數(shù)據(jù)表示
神經(jīng)網(wǎng)絡的數(shù)據(jù)存儲在稱為張量的多維數(shù)組NumPy中,張量是矩陣向任意維度的推廣,神經(jīng)網(wǎng)絡 由一系列張量運算組成。為了使原始數(shù)據(jù)更適用于神經(jīng)網(wǎng)絡,必須首先對數(shù)據(jù)進行轉(zhuǎn)換為張量,即數(shù)據(jù)向量化。測試數(shù)據(jù)中可能有的缺失值,要進行預處理,同時讓輸入的數(shù)據(jù)在一定的范圍內(nèi)。
2.神經(jīng)網(wǎng)絡的廣播機制
神經(jīng)網(wǎng)絡由可以稱為廣播的一系列張量運算完成,所有的變換都可以簡化為數(shù)值數(shù)據(jù)張量上的張量運算,神經(jīng)網(wǎng)絡各層的運算是通過矩陣的乘法運算進行的。因此,在深度學習中可以導入NumPy庫,使用NumPy多維數(shù)組的運算來實現(xiàn)神經(jīng)網(wǎng)絡,可以用很少的代碼完成神經(jīng)網(wǎng)絡的層的前向處理。NumPy的廣播機制可以讓形狀不同的數(shù)組之間進行運算。
以下是三層神經(jīng)網(wǎng)絡圖。
其中X表示輸入層,W1表示權(quán)重,A1表示第一層。
用NumPy實現(xiàn)基本語句:
X=np.array(x1,x2)
W1=np.array([w1,w2,w3],[w4,w5,w6])
A1=np.dot(X,W1)
以此類推,多層神經(jīng)網(wǎng)絡也可以實現(xiàn)各層信號的傳遞。
Keras是一個Python深度學習框架,具有API接口,可以快速定義、訓練和開發(fā)幾乎所有的深度學習模型,Keras內(nèi)置有計算機視覺的卷積網(wǎng)絡和用于序列處理的循環(huán)網(wǎng)絡。Keras可以通過TensorFlow后端實現(xiàn),TensorFlow是當今深度學習的主要平臺之一,它是Google開發(fā)的一款Python神經(jīng)網(wǎng)絡外部結(jié)構(gòu)包,具有生成張量,可以調(diào)用Python的計算模塊如NumPy,SciPy程序庫生成序列等功能,是構(gòu)建深度學習模型的最佳方式 。
Python以其特有的簡煉語法,豐富的程序庫,受到人們在關(guān)注,只要學習基本的Python腳本,就可以從事深度學習。深度學習技術(shù)通過使用變換實現(xiàn)模型的過程,使得越來越多的基于Python的深度學習已廣泛應用在圖像分類,語音識別,手寫識別,廣告定投等應用領(lǐng)域。