文章目錄
- 1. 神經網絡基礎
- 1.1 感知器(Perceptron)
- 1.2 深度神經網絡(DNN)
- 2. 卷積神經網絡(CNN)
- 2.1 核心思想
- 2.2 典型結構
- 2.3 ?程碑模型:
- 2.4 卷積層 - CNN 核心
- 2.5 池化層
- 3. 循環神經網絡(RNN)
- 3.1 傳統序列架構
- 核心思想
- 原始 RNN 的局限性
- RNN 優化
- 3.2 編碼器-解碼器架構
- 4. 詞嵌入算法
- 4.1 基本概念
- 4.2 解決問題
- 4.3 嵌入矩陣
- 4.4 詞嵌入模型
- 4.5 詞嵌入算法
1. 神經網絡基礎
1.1 感知器(Perceptron)
- 符號主義稱之為感知機,連接主義稱之為神經元
- f(n)={0,w1x1+w2?x2≤θ1,w1x1+w2?x2>θf(n) = \begin{cases} 0, & w_1x_1+ w_2\cdot x_2 \le \theta \\ 1, & w_1x_1+ w_2\cdot x_2 \gt \theta \end{cases}f(n)={0,1,?w1?x1?+w2??x2?≤θw1?x1?+w2??x2?>θ?
- 單層感知機:簡單邏輯門(AND, NAND, OR)
- 多層感知機:NOR
1.2 深度神經網絡(DNN)
- 組成:神經網絡由輸入層、隱藏層和輸出層組成,每層包含多個神經元
- 訓練過程:主要包括前向傳播、損失計算和反向傳播三個步驟
- 前向傳播
- 輸入層:輸入原始數據,假設有兩個神經元,a(0)=[x0,x1]Ta^{(0)}=[x_0, x_1]^Ta(0)=[x0?,x1?]T
- 隱藏層:z(1)=W1?a(0)+b(1),a(1)=g1(z(1))z^{(1)} = W^{1}?a^{(0)}+b^{(1)}, a^{(1)} = g_1(z^{(1)})z(1)=W1?a(0)+b(1),a(1)=g1?(z(1)) , g 是任意的激活函數
- 輸出層,z(2)=W2?a(1)+b(2),a(2)=g2(z(2))z^{(2)} = W^{2}?a^{(1)}+b^{(2)}, a^{(2)} = g_2(z^{(2)})z(2)=W2?a(1)+b(2),a(2)=g2?(z(2))
- 損失函數
- 回歸任務:均方誤差(MSE)-> 計算預測值與真實值的平方差的平均值
- 分類任務:交叉熵損失,二分類或多分類 -> 衡量兩個概率分布(預測分布$ \hat y $與真實分布y)的差異
- 代價函數
- 代價函數是訓練集上所有樣本損失的平均值,用于衡量模型在整體數據上的表現
- J(W,b)=1m∑i=1mL(yi^,yi)+λ?R(W)J(W,b) = \frac{1}{m}\sum_{i=1}^{m}L(\hat{y_i}, y_i) + \lambda\cdot{R(W)}J(W,b)=m1?∑i=1m?L(yi?^?,yi?)+λ?R(W),λ\lambdaλ 為懲罰系數,正則項 R(W) 又稱懲罰項,常用L1、L2正則。
- 反向傳播
- 利用鏈式法則計算代價函數對各層權重 W 和偏置 b 的梯度,并通過梯度下降法更新參數,最終減小化代價函數。
- 前向傳播
- 激活函數是神經網絡的重要組成部分,它們決定了神經元如何將輸入信號轉換為輸出信號,可以用于學習非線性關系
2. 卷積神經網絡(CNN)
2.1 核心思想
- 利?卷積層和池化層構建層級化的特征提取器。
2.2 典型結構
- 輸? -> [ [卷積層 -> 激活函數] x N -> 池化層? ] x M -> [ 全連接層 -> 激活函數 ] x K -> 輸出層
2.3 ?程碑模型:
- LeNet-5 (1998): 卷積?絡的早期成功應?(手寫數字識別),奠定基礎結構。
- AlexNet (2012): ImageNet 競賽冠軍,引爆深度學習?命。關鍵貢獻:更深的?絡、ReLU、Dropout、GPU 加速。
- VGGNet (2014): 探索深度影響。使??的 (3x3) 卷積核堆疊,結構簡潔,證明深度是關鍵。
- GoogLeNet / Inception (2014): 引? Inception 模塊,實現“網絡中的網絡”,在增加深度和寬度的同時控制計算成本。
- ResNet (2015): 引?殘差連接 (Residual Connection),解決了深度?絡訓練中的梯度消失/退化問題,使構建數百甚?上千層?絡成為可能。
2.4 卷積層 - CNN 核心
- ?作原理
- 使?卷積核 (Kernel) 在輸入數據(如圖像)上滑動,提取局部特征。
輸入矩陣邊緣處理:填充 0 -> 寬卷積 v.s. 窄卷積
- 關鍵特性
- 參數共享: 同?個卷積核在整個輸入上共享權重,極大減少參數量。
- 局部連接:神經元只與輸入的?個局部區域連接。
- 平移不變性: 對特征的位置不敏感。
- 主要參數
- 卷積核大小
- 步長 (Stride)
- 填充 (Padding)
- 通道數
2.5 池化層
- 目的
- 降維、減少計算量
- 增強特征魯棒性 (對微小位移不敏感)
- 作用
- 逐步減小特征圖的空間尺寸,增大感受野。
- 常見類型
- 最大池化 (Max Pooling): 取區域內的最大值。
- 平均池化 (Average Pooling): 取區域內的平均值。
3. 循環神經網絡(RNN)
3.1 傳統序列架構
核心思想
- 處理序列數據(文本、語音、時間序列),利用隱藏狀態傳遞歷史信息。
原始 RNN 的局限性
- 難以捕捉長期依賴 (梯度消失/爆炸問題)。
RNN 優化
- LSTM (Long short-Term Memory)
- 通過精密的門控單元(遺忘門、輸入門、輸出門)和細胞狀態 (Cell state),有效控制信息的長期記憶和遺忘。
- GRU (Gated Recurrent Unit)
- 結構比 LSTM 簡單(只有更新門、重置門),參數更少,在許多任務上表現與 LSTM 相當。
3.2 編碼器-解碼器架構
序列到序列模型 (Seq2Seq)
- 典型應用: 序列到序列(Seq2Seq)任務,如機器翻譯
- 結構組成:
- 編碼器: 將輸入序列編碼為固定長度向量
- 解碼器: 基于編碼向量生成輸出序列
- 工作流程: 如"歡迎來北京"→"welcome to Beijing"的翻譯過程
- 實現方式: 通常使用 GRU 或 LSTM 作為基礎單元
4. 詞嵌入算法
4.1 基本概念
詞嵌入是自然語言處理(NLP)中用于將文本中的 “詞” 轉換為低維稠密向量的技術,核心目標是用數值向量表示詞的語義信息。在神經網絡中,嵌入層(Embedding Layer)的功能就是通過嵌入矩陣將詞的索引轉換為嵌入向量
4.2 解決問題
傳統方法(如 one-hot 編碼)只能將文本轉化為離散稀疏向量,實現簡單但存在維度災難和語義鴻溝(無法描述詞與詞之間的語義關聯)等問題。
4.3 嵌入矩陣
嵌入矩陣是存儲所有詞嵌入的參數矩陣,是詞嵌入技術的核心數據結構
- 存儲與查詢:嵌入矩陣本質是一個查找表,通過詞的索引(one-hot編碼)可直接獲取對應的嵌入向量(如詞匯表中 “貓” 的索引是 0,則嵌入向量為 W [0,:]);
- 參數學習:嵌入矩陣是模型的可學習參數,通過訓練數據(如大規模文本)迭代優化,最終使向量滿足語義相關性等特性(初始化時通常為隨機值,通過反向傳播更新)。
4.4 詞嵌入模型
- Skip-Gram 模型
- CBOW 模型
4.5 詞嵌入算法
- word2vec (本質是一個softmax多標簽分類)
- Glove