AI產品之路:神經元與神經網絡
要了解深度學習,首先必須了解“深度學習”的前身:神經網絡與神經元的概念。
關于神經網絡與深度學習的概念和區別,我在“機器學習(一)”那篇文章已經展現就不贅述了。
深度學習可以說是目前“人工智能浪潮”火熱的一個根本原因,就是因為它的興起,其中包括深度神經網絡、循環神經網絡和卷積神經網絡的突破,讓語音識別、自然語言處理和計算機視覺等基礎技術突破以前的瓶頸。而要了解深度學習,就必須首先了解“深度學習”的前身,神經網絡與神經元的概念。
一、神經元的構成
神經元可以說是深度學習中最基本的單位元素,幾乎所有深度學習的網絡都是由神經元通過不同的方式組合起來。
一個完整的神經元由兩部分構成,分別是“線性模型”與“激勵函數”。如果看過之前的文章,相信可以回憶起其中“線性回歸”和“激勵函數”的概念
1.線性模型
(1)構成
假設這個線性模型的函數:? y=wx+b(有木有很熟悉),其中x是一個1xn的向量矩陣,矩陣中的每個向量值即代表樣本一個特征的值,w為nx1的權重矩陣(對應向量的所占的比重),b為偏置項。
(2)工作流程
以判定一個蘋果的品質為例,我們假定y代表品質變量,x為1×3矩陣,w為3×1矩陣(偏置忽略為0的情況下),具體如下
x矩陣里的向量值“1、2、3”分別代表一個數據中提取出來的特征向量的值。
w矩陣里的“0.2、0.6、0.7”分別代表每個特征向量的權重取值大小。
這兩個矩陣相乘,最終會得到一個實數(涉及到數學矩陣運算,并非所有都會是實數哦~)
1X0.2+2X0.6+3X0.7=3.5
得到的3.5即我們擬合出來的一個蘋果的品質假定為y1,用這個值與已經標定好的真實品質y0做差,就可以得到一個數據的擬合值與真實值的誤差,當然真實的計算這可是海量數據計算
用到我第一章分享“線性回歸”中對全局性誤差函數的定義
通過這個函數來描述所有數據擬合值與真實值之間的關系,目的也是和機器學習一樣,最終是要找到一個符合要求的Loss與w,b之間的映射關系
以上單個神經元中“線性模型”的運算流程,本質和機器學習中的“線性回歸”過程是沒有區別的
2.激勵函數
(1)激勵函數的作用
激勵函數位于一個神經元線性模型之后,也有翻譯成激活函數。它的作用有兩個:
- 加入“非線性”因素
- 根據不同訓練目的的需要,進行數學函數映射
為什么要加入“非線性”因素,那是因為“現實世界”的數據不可能都是線性的,如果你強行用“線性模型”去擬合非線性數據,最后得到的結果肯定是“欠擬合”
怎么理解數學函數映射呢,在這里拿最常用的Sigmoid函數舉例
Sigmoid函數定義:
激勵函數之前的線性模型“y=wx+b”已經經過運算得到了一個實數(即前面的3.5)
可以作如下的推導
則激勵函數sigmoid變為
下圖為Sigmoid函數圖形,由圖像可以看出,最初的x經過“線性模型”映射為z(z理論上可以為任意大小的實數),而z經過激勵函數的再一次映射,最后的輸出必然為了【0,1】區間的實數,這就實現了一次數學函數的映射。
它可以實現一個簡單的概率分類判斷,假定“0”和“1”各代表一個概念,那么最后的輸出在區間【0,1】,更接近“1”,就代表它是更可能是“1”所代表的概念
(2)激勵函數的種類
激勵函數的種類實在很多,應用的場景也各不相同,比較常見的除了上面提到的Sigmoid函數外,還有多用于RNN(循環神經網絡)的Tanh函數,大部分用于CNN(卷積神經網絡)的ReLU函數,以及Linear函數等。
在這里就不一一列舉他們的公式和函數圖像了,總之每個激勵函數都有自己的“個性”(特性),根據不同的算法模型和應用場景,會搭配使用不同的激勵函數,當然最終的目的只有一個,就是讓算法模型收斂的越快,擬合的越好
二、神經網絡
1.神經網絡的構成
神經網絡,其實就是多個神經元橫向與縱向的堆疊,最為簡單和基礎的神經網絡可以用下圖來表示
通常分為以下三層:
輸入層:負責直接接受輸入的向量,通常情況下不對數據做處理,也不計入神經網絡的層數。
隱含層:是整個神經網絡最為重要的部分,它可以是一層,也可是N層,隱含層的每個神經元都會對數據進行處理。
輸出層:用來輸出整個網絡處理的值,這個值可能是一個分類向量值,也可能是一個類似線性回歸那樣產生的連續的值。
2.神經網絡工作流程
初步的理解,神經元就是通過圖中首尾相連的方式進行連接并實現數據傳遞,上一個神經元的輸出,會成為下一層神經元的輸入。對于一個x向量中的任意一個維度的分量,都會在整個神經網絡進行一層一層地處理。
神經網絡的厲害之處就在于,我們可以調節神經網絡的層數,網絡的拓撲結構以及神經元的參數,去改變對一個輸入向量x的不同數學維度上的處理方式,進而達成不同的訓練目的。這也是后來像DNN、RNN、CNN成為當下人工智能炙手可熱的一大原因。(其實DNN,但從結構上來說,可以簡單理解為層數的增加,進而帶來對特征的提取和抽象能力的增強)
當然,隨著網絡層數的增加,拓撲結構的復雜,隨之而來也會帶來整個神經網絡的副作用和難題,比如容易陷入局部最優解,梯度消失嚴重等問題。這也是后續需要探討和深化了解的東西。
相關閱讀
本文由 @?Free 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自unsplash,基于CC0協議
缺了個圖誒
我也是現為互聯網PM,未來看好AIPM
??寫得簡單易懂,思路清晰
會繼續分享噠