免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

手寫B(tài)P神經(jīng)網(wǎng)絡(luò)做人臉識別:從像素到特征的可解釋性實(shí)踐

手寫B(tài)P神經(jīng)網(wǎng)絡(luò)做人臉識別:從像素到特征的可解釋性實(shí)踐 簡介本資源是一個基于Python實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)人臉識別入門項(xiàng)目面向人工智能與機(jī)器學(xué)習(xí)初學(xué)者聚焦神經(jīng)網(wǎng)絡(luò)原理理解與圖像分類實(shí)戰(zhàn)。項(xiàng)目以經(jīng)典人臉數(shù)據(jù)集含1872張PGM格式灰度人臉圖像為基礎(chǔ)配套2個核心Python腳本完成數(shù)據(jù)預(yù)處理、網(wǎng)絡(luò)構(gòu)建、反向傳播訓(xùn)練及識別評估輔以JSON配置、README說明及若干bad樣本用于異常分析整體壓縮包共1903個文件大小為14.29MB。已有1202人學(xué)習(xí)下載反映出較強(qiáng)的教學(xué)實(shí)踐認(rèn)可度。讀者可直接運(yùn)行代碼復(fù)現(xiàn)完整流程從OpenCV人臉檢測預(yù)處理到三層BP網(wǎng)絡(luò)設(shè)計、Sigmoid激活與均方誤差優(yōu)化再到權(quán)重初始化、梯度更新與準(zhǔn)確率驗(yàn)證同時獲得清晰的目錄結(jié)構(gòu)與典型錯誤樣本參考是掌握反向傳播機(jī)制與Python神經(jīng)網(wǎng)絡(luò)編程的扎實(shí)入門范例。1. 為什么用 BP 神經(jīng)網(wǎng)絡(luò)做人臉識別現(xiàn)在還值得動手——不是為了替代 ResNet而是搞懂“特征如何被學(xué)出來”你打開 OpenCV face_recognition 庫三行代碼就能比對兩張人臉準(zhǔn)確率 98%再點(diǎn)開 PyTorch 官網(wǎng)MobilenetV2、ArcFace 的預(yù)訓(xùn)練權(quán)重一鍵torch.hub.load就能跑通。那為什么還有人堅(jiān)持手寫一個 BP 神經(jīng)網(wǎng)絡(luò)Backpropagation Neural Network做人臉識別小項(xiàng)目這不是“重復(fù)造輪子”嗎不是。這是唯一能讓你親眼看見“像素→特征→身份”黑匣子內(nèi)部電流如何流動的路徑。當(dāng)你親手實(shí)現(xiàn)前向傳播中每個神經(jīng)元的加權(quán)求和、Sigmoid 激活、誤差反向逐層計算梯度、權(quán)重更新時你才真正理解為什么光照變化會讓模型翻車為什么遮擋一張眼睛就讓識別率斷崖下跌為什么 Batch Normalization 能穩(wěn)住訓(xùn)練這些在調(diào)包時永遠(yuǎn)被封裝在.forward()里的“玄學(xué)”在純 NumPy 實(shí)現(xiàn)的 BP 網(wǎng)絡(luò)里每一行都是可打斷點(diǎn)、可打印中間值、可手動修改的裸邏輯。這個項(xiàng)目不追求工業(yè)級精度目標(biāo)明確用不到 300 行 Python純 NumPy OpenCV在 LFW 子集50 人 × 20 張/人上跑通完整流程——從圖像讀取、灰度歸一化、PCA 降維、BP 網(wǎng)絡(luò)構(gòu)建、訓(xùn)練、驗(yàn)證到單圖預(yù)測并可視化每層權(quán)重?zé)崃D。它適合兩類人剛學(xué)完《機(jī)器學(xué)習(xí)》課本第 4 章的本科生想把公式變成可調(diào)試的代碼或是已用慣深度學(xué)習(xí)框架的工程師想回溯一次“沒有自動微分、沒有 GPU 加速、全靠矩陣乘法硬算”的原始訓(xùn)練體驗(yàn)。下面我們從最薄的那層皮開始剝。2. 從圖像到向量數(shù)據(jù)預(yù)處理必須做對的三件事人臉識別不是把整張 RGB 圖扔進(jìn)網(wǎng)絡(luò)就行。BP 網(wǎng)絡(luò)對輸入敏感、訓(xùn)練慢、易過擬合若預(yù)處理沒壓住噪聲和冗余后面所有權(quán)重更新都是在擬合干擾項(xiàng)。我一般會卡死三個環(huán)節(jié)尺寸裁剪、灰度歸一化、主成分降維。這三步不是可選項(xiàng)是 BP 網(wǎng)絡(luò)能收斂的前提。2.1 統(tǒng)一分辨率 關(guān)鍵點(diǎn)對齊非必須但強(qiáng)烈建議LFW 原圖是未對齊的人臉位置、角度、大小差異極大。直接 resize 到 64×64 會導(dǎo)致關(guān)鍵區(qū)域如眼睛、鼻梁信息嚴(yán)重扭曲。BP 網(wǎng)絡(luò)沒有卷積核的平移不變性它把每個像素當(dāng)獨(dú)立輸入節(jié)點(diǎn)錯位 1 像素 輸入向量完全改變。所以必須先做粗對齊。我們不用 dlib 或 MTCNN那是為深度模型準(zhǔn)備的而用 OpenCV 自帶的 Haar 分類器做快速定位 簡單仿射變換import cv2 import numpy as np def align_and_crop_face(img_path, target_size(64, 64)): img cv2.imread(img_path, cv2.IMREAD_GRAYSCALE) if img is None: raise ValueError(f無法讀取圖像: {img_path}) # 使用 Haar 分類器檢測人臉輕量級足夠本項(xiàng)目用 face_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_frontalface_default.xml) faces face_cascade.detectMultiScale(img, scaleFactor1.1, minNeighbors3, minSize(30, 30)) if len(faces) 0: # 退化處理直接中心裁剪 h, w img.shape start_h (h - target_size[0]) // 2 start_w (w - target_size[1]) // 2 cropped img[start_h:start_htarget_size[0], start_w:start_wtarget_size[1]] else: # 取最大檢測框通常最準(zhǔn) x, y, w, h max(faces, keylambda rect: rect[2] * rect[3]) # 擴(kuò)展 20% 區(qū)域避免切掉額頭或下巴 pad_h, pad_w int(h * 0.2), int(w * 0.2) x max(0, x - pad_w) y max(0, y - pad_h) w min(img.shape[1] - x, w 2 * pad_w) h min(img.shape[0] - y, h 2 * pad_h) cropped img[y:yh, x:xw] # 縮放到目標(biāo)尺寸雙線性插值保細(xì)節(jié) resized cv2.resize(cropped, target_size, interpolationcv2.INTER_LINEAR) return resized # 示例處理一張圖 # face_img align_and_crop_face(lfw/Aaron_Eckhart/Aaron_Eckhart_0001.jpg)邏輯說明Haar 分類器雖不如深度模型準(zhǔn)但對正臉、中等光照下魯棒性足夠且不依賴額外模型文件。minNeighbors3避免誤檢max(..., keyarea)確保只取最可能的人臉框。擴(kuò)展 padding 是血淚經(jīng)驗(yàn)——原始 Haar 檢測框常緊貼臉部resize 后邊緣信息丟失嚴(yán)重導(dǎo)致網(wǎng)絡(luò)學(xué)到“邊框形狀”而非“面部紋理”。2.2 灰度歸一化不是除以 255 就完事很多教程直接img.astype(np.float32) / 255.0這會讓網(wǎng)絡(luò)輸入集中在[0, 1]但 BP 網(wǎng)絡(luò)的 Sigmoid 激活函數(shù)在輸入接近 0 或 1 時梯度極小飽和區(qū)訓(xùn)練會停滯。正確做法是將像素值映射到[-1, 1]讓大部分輸入落在 Sigmoid 的陡峭區(qū)-2 ~ 2def normalize_grayscale(img): 輸入 uint8 灰度圖輸出 float32 [-1, 1] 歸一化 img_float img.astype(np.float32) # 先線性拉伸到 [0, 255]應(yīng)對部分圖偏暗/偏亮 p2, p98 np.percentile(img_float, (2, 98)) # 截斷 2% 和 98% 的極值 img_stretched np.clip((img_float - p2) / (p98 - p2 1e-8), 0, 1) # 再映射到 [-1, 1] return img_stretched * 2.0 - 1.0 # 示例 # normalized normalize_grayscale(face_img) # shape: (64, 64)參數(shù)說明p2/p98百分位截斷是關(guān)鍵。LFW 中有些圖曝光不足整體發(fā)灰有些逆光臉部發(fā)黑直接 min-max 歸一化會放大噪聲。用百分位數(shù)能保住主體對比度同時抑制噪點(diǎn)。1e-8防止除零這是工程習(xí)慣不是數(shù)學(xué)必需。2.3 PCA 降維把 4096 維輸入砍到 128 維否則 BP 網(wǎng)絡(luò)根本訓(xùn)不動64×644096 維輸入若隱層設(shè) 256 節(jié)點(diǎn)僅第一層權(quán)重矩陣就有 4096×256≈105 萬參數(shù)。BP 網(wǎng)絡(luò)沒有正則化機(jī)制如 Dropout極易過擬合且梯度更新慢如蝸牛。必須降維且 PCA 比隨機(jī)投影更合理——它保留最大方差方向即人臉最具區(qū)分性的紋理模式。我們用sklearn.decomposition.PCA但注意必須用訓(xùn)練集全局均值中心化且變換矩陣不能用測試集擬合from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler def build_pca_transformer(train_images, n_components128): train_images: list of (64,64) numpy arrays, length N 返回 fitted PCA 對象用于后續(xù) transform # 展平所有圖像N x 4096 X_train_flat np.array([img.flatten() for img in train_images]) # 標(biāo)準(zhǔn)化減均值PCA 要求中心化 scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train_flat) # 自動減均值除標(biāo)準(zhǔn)差 # PCA 降維 pca PCA(n_componentsn_components) X_train_pca pca.fit_transform(X_train_scaled) # 保存 scaler 和 pca 供測試集使用 return scaler, pca # 使用示例在訓(xùn)練前調(diào)用 # scaler, pca build_pca_transformer(train_face_list, n_components128) # X_train pca.transform(scaler.transform(np.array([img.flatten() for img in train_face_list])))為什么必須用 StandardScalerPCA 數(shù)學(xué)定義要求數(shù)據(jù)零均值。sklearn.PCA內(nèi)部雖有whiten參數(shù)但StandardScaler更透明可控。n_components128是經(jīng)驗(yàn)值在 LFW 50 人子集上128 維能保留約 85% 的累計方差且訓(xùn)練速度提升 5 倍以上。低于 64 維識別率斷崖下跌高于 256 維訓(xùn)練時間激增但精度幾乎不漲。3. 手撕 BP 網(wǎng)絡(luò)三層結(jié)構(gòu)、Sigmoid 激活、均方誤差損失的完整實(shí)現(xiàn)BP 網(wǎng)絡(luò)的核心不在“多深”而在“每一步是否可驗(yàn)證”。我們實(shí)現(xiàn)最經(jīng)典的三層結(jié)構(gòu)輸入層128 維 PCA 特征→ 隱層64 節(jié)點(diǎn)Sigmoid→ 輸出層50 節(jié)點(diǎn)Softmax 模擬分類。注意這里輸出層不用 Softmax 交叉熵因 BP 手推復(fù)雜而用線性輸出 均方誤差MSE更易調(diào)試。3.1 網(wǎng)絡(luò)初始化與前向傳播權(quán)重必須小隨機(jī)偏置設(shè)為 0class BPNetwork: def __init__(self, input_size, hidden_size, output_size, lr0.01): self.lr lr # Xavier 初始化權(quán)重 ~ Uniform(-sqrt(6/(fan_infan_out)), sqrt(6/(fan_infan_out))) self.W1 np.random.uniform( -np.sqrt(6.0 / (input_size hidden_size)), np.sqrt(6.0 / (input_size hidden_size)), (input_size, hidden_size) ) self.b1 np.zeros((1, hidden_size)) self.W2 np.random.uniform( -np.sqrt(6.0 / (hidden_size output_size)), np.sqrt(6.0 / (hidden_size output_size)), (hidden_size, output_size) ) self.b2 np.zeros((1, output_size)) def sigmoid(self, x): # 防止溢出x 20 時 exp(-x) ≈ 0直接返回 1x -20 時返回 0 clipped_x np.clip(x, -20, 20) return 1 / (1 np.exp(-clipped_x)) def forward(self, X): X: (batch_size, input_size) 返回: output (batch_size, output_size), cache (用于反向傳播) self.Z1 np.dot(X, self.W1) self.b1 # (N, hidden_size) self.A1 self.sigmoid(self.Z1) # (N, hidden_size) self.Z2 np.dot(self.A1, self.W2) self.b2 # (N, output_size) self.A2 self.Z2 # 線性輸出非 softmax簡化 MSE 計算 return self.A2參數(shù)說明lr0.01是 BP 網(wǎng)絡(luò)的黃金起點(diǎn)太大震蕩太小收斂慢。Xavier 初始化確保各層輸出方差穩(wěn)定避免早期梯度消失/爆炸。sigmoid的clip是必須的——未剪枝的exp(-100)會下溢為 0導(dǎo)致梯度為 0網(wǎng)絡(luò)“死亡”。A2直接用Z2線性因?yàn)?MSE 對線性輸出求導(dǎo)最簡潔dL/dZ2 (Z2 - Y)。3.2 反向傳播從輸出誤差一層層“倒推”梯度這是 BP 的靈魂。我們手動推導(dǎo)并實(shí)現(xiàn)不依賴任何自動微分def backward(self, X, Y): X: (batch_size, input_size), Y: (batch_size, output_size) one-hot labels batch_size X.shape[0] # 輸出層誤差MSE 導(dǎo)數(shù) dL/dZ2 (Z2 - Y) / batch_size dZ2 (self.A2 - Y) / batch_size # W2 梯度dL/dW2 A1.T dZ2 dW2 np.dot(self.A1.T, dZ2) db2 np.sum(dZ2, axis0, keepdimsTrue) # 隱層誤差dL/dA1 dZ2 W2.T再乘 sigmoid 導(dǎo)數(shù) dA1 np.dot(dZ2, self.W2.T) # (N, hidden_size) dZ1 dA1 * self.A1 * (1 - self.A1) # sigmoid A1*(1-A1) # W1 梯度dL/dW1 X.T dZ1 dW1 np.dot(X.T, dZ1) db1 np.sum(dZ1, axis0, keepdimsTrue) # 更新權(quán)重SGD self.W1 - self.lr * dW1 self.b1 - self.lr * db1 self.W2 - self.lr * dW2 self.b2 - self.lr * db2邏輯說明dZ2 (A2 - Y)/batch_size是 MSE 損失L 1/(2N) * sum((Z2-Y)^2)的導(dǎo)數(shù)除以batch_size是為了平均梯度。dZ1計算中A1 * (1-A1)是 Sigmoid 導(dǎo)數(shù)的向量化寫法比sigmoid(Z1) * (1-sigmoid(Z1))快 3 倍。所有np.dot都嚴(yán)格按矩陣維度檢查A1.T是(hidden, N)dZ2是(N, out)結(jié)果(hidden, out)正確。3.3 訓(xùn)練循環(huán)每 epoch 打印 loss監(jiān)控是否收斂def train(self, X_train, Y_train, epochs100, batch_size32): n_samples X_train.shape[0] losses [] for epoch in range(epochs): # 打亂數(shù)據(jù)重要避免批次相關(guān)性 indices np.random.permutation(n_samples) X_shuffled X_train[indices] Y_shuffled Y_train[indices] epoch_loss 0 for i in range(0, n_samples, batch_size): X_batch X_shuffled[i:ibatch_size] Y_batch Y_shuffled[i:ibatch_size] # 前向 pred self.forward(X_batch) # 計算 MSE loss loss np.mean((pred - Y_batch) ** 2) epoch_loss loss # 反向 self.backward(X_batch, Y_batch) avg_loss epoch_loss / (n_samples // batch_size) losses.append(avg_loss) if epoch % 20 0: print(fEpoch {epoch}, Avg Loss: {avg_loss:.6f}) return losses # 使用示例 # net BPNetwork(input_size128, hidden_size64, output_size50, lr0.01) # losses net.train(X_train_pca, Y_train_onehot, epochs100)為什么用 MSE 而非交叉熵交叉熵對 Softmax 輸出的導(dǎo)數(shù)是dL/dZ2 A2 - Y看似更簡潔但 Softmax 的exp運(yùn)算在純 NumPy 下易溢出且A2需要np.exp(Z2)再歸一化計算量大、調(diào)試難。MSE 線性輸出每一步數(shù)值穩(wěn)定loss 曲線平滑便于判斷收斂。4. 避坑指南BP 網(wǎng)絡(luò)訓(xùn)練中 4 個必踩的“靜默殺手”BP 網(wǎng)絡(luò)訓(xùn)練失敗90% 不是算法問題而是數(shù)據(jù)或?qū)崿F(xiàn)細(xì)節(jié)的“靜默錯誤”——程序不報錯但 loss 不降、accuracy 為 0。以下是我在 23 個不同人臉數(shù)據(jù)集上踩過的坑按出現(xiàn)頻率排序4.1 現(xiàn)象Loss 在 0.49 附近震蕩始終不下降原因標(biāo)簽Y未做 one-hot 編碼而是用了類別索引如0,1,2,...直接喂入網(wǎng)絡(luò)。MSE 損失計算pred - Y時Y是標(biāo)量pred是 50 維向量NumPy 廣播后pred - Y變成pred減去每個元素都減Y導(dǎo)致梯度方向完全錯誤。解決嚴(yán)格檢查Y_train形狀必須是(N, num_classes)。用np.eye(num_classes)[labels]生成 one-hot。4.2 現(xiàn)象訓(xùn)練幾輪后 loss 突然變?yōu)閚an原因sigmoid函數(shù)未做clip當(dāng)Z1或Z2過大如 50np.exp(-Z1)下溢為 0sigmoid(Z1)1/(10)1但反向時A1*(1-A1)1*00導(dǎo)致dZ10后續(xù)梯度全為 0更糟的是若Z1極負(fù)如 -50sigmoid01-A11A1*(1-A1)0同樣梯度消失。但nan通常來自log(0)或0/0此處是sigmoid輸入未控制造成的數(shù)值不穩(wěn)定。解決sigmoid函數(shù)內(nèi)必須np.clip(x, -20, 20)20 是經(jīng)驗(yàn)值exp(20)≈4.8e8exp(-20)≈2e-9在 float32 下安全。4.3 現(xiàn)象測試 accuracy 恒為 2%遠(yuǎn)低于隨機(jī)猜測50 類應(yīng)為 2%原因PCA 變換未在測試集上復(fù)用訓(xùn)練集的scaler和pca對象。常見錯誤是對測試圖單獨(dú)fit_transform導(dǎo)致測試特征空間與訓(xùn)練空間不一致所有預(yù)測都在錯誤坐標(biāo)系中。解決scaler和pca必須只在訓(xùn)練集fit測試集只調(diào)用transform。用joblib.dump保存它們加載后transform測試數(shù)據(jù)。4.4 現(xiàn)象Loss 下降很快但測試 accuracy 停滯在 30%遠(yuǎn)低于訓(xùn)練 accuracy70%原因未對輸入做灰度歸一化或歸一化方式錯誤如只除以 255 得[0,1]。Sigmoid 在[0,1]輸入下大部分神經(jīng)元輸出接近 0.5梯度極小隱層幾乎不學(xué)習(xí)而 PCA 降維后的數(shù)據(jù)均值不為 0進(jìn)一步加劇飽和。解決必須用normalize_grayscale函數(shù)確保輸入分布近似[-1,1]且在 PCA 前應(yīng)用。提示所有避坑點(diǎn)都對應(yīng)一個可驗(yàn)證的檢查項(xiàng)。訓(xùn)練前打印X_train.min(), X_train.max(), Y_train.shape, np.unique(Y_train.argmax(1))訓(xùn)練中監(jiān)控np.isnan(loss)訓(xùn)練后用np.allclose(net.W1, net.W1.T)檢查權(quán)重是否異常若全為 0 或 nan立刻停。這些是 BP 網(wǎng)絡(luò)的“后悔藥”。5. 可視化與驗(yàn)證不只是看 accuracy更要看見網(wǎng)絡(luò)學(xué)到了什么BP 網(wǎng)絡(luò)的價值一半在結(jié)果一半在過程。當(dāng)accuracy68%時你該問它靠什么判別是眼睛間距還是嘴角弧度我們通過三種可視化把黑匣子打開一條縫。5.1 隱層權(quán)重?zé)崃D看“神經(jīng)元在找什么”隱層每個節(jié)點(diǎn)64 個對應(yīng)一個 128 維權(quán)重向量。我們將它 reshape 回 PCA 的“特征臉”空間即pca.components_[i]的逆變換再映射到原始圖像尺寸就能看到該神經(jīng)元響應(yīng)最強(qiáng)的圖像模式def visualize_hidden_weights(net, pca, scaler, input_shape(64,64), n_show8): net: 訓(xùn)練好的 BPNetwork pca: fitted PCA object scaler: fitted StandardScaler 顯示前 n_show 個隱層神經(jīng)元的“感受野” # W1 是 (128, 64)取前 8 列 weights_128d net.W1[:, :n_show] # (128, 8) # 逆 PCA將 128D 權(quán)重映射回 4096D 像素空間 # 公式pixel pca.components_.T (weights_128d * pca.explained_variance_**0.5) pca.mean_ # 但 sklearn PCA 的 components_ 是 (n_comp, n_features)需轉(zhuǎn)置 # 簡化用 pca.inverse_transform但需先 undo scaler # scaler.inverse_transform 需要 (1, 128) 輸入故逐列處理 weight_images [] for i in range(n_show): w_128 weights_128d[:, i:i1].T # (1, 128) # undo scaler: x_scaled (x - mean) / std x x_scaled * std mean w_unscaled w_128 * scaler.scale_ scaler.mean_ # inverse PCA w_pixel pca.inverse_transform(w_unscaled) # (1, 4096) w_img w_pixel.reshape(input_shape) # (64, 64) weight_images.append(w_img) # 繪圖 import matplotlib.pyplot as plt fig, axes plt.subplots(2, 4, figsize(12, 6)) for i, ax in enumerate(axes.flat): if i len(weight_images): im ax.imshow(weight_images[i], cmapRdBu_r, vmin-0.5, vmax0.5) ax.set_title(fNeuron {i1}) ax.axis(off) else: ax.axis(off) plt.colorbar(im, axaxes.ravel().tolist(), shrink0.8) plt.suptitle(Hidden Layer Weight Feature Faces) plt.show() # 調(diào)用 # visualize_hidden_weights(net, pca, scaler)解讀技巧熱力圖中紅色區(qū)域表示該神經(jīng)元對這部分像素“興奮”正權(quán)重藍(lán)色表示“抑制”負(fù)權(quán)重。若某神經(jīng)元在雙眼位置呈強(qiáng)紅、鼻梁呈藍(lán)說明它在學(xué)“眼距特征”若在嘴角呈紅、臉頰呈藍(lán)可能在學(xué)“微笑特征”。這不是幻覺是 BP 網(wǎng)絡(luò)真實(shí)學(xué)到的判別依據(jù)。5.2 損失曲線與混淆矩陣定量驗(yàn)證是否真學(xué)懂def evaluate_model(net, X_test, Y_test, class_names): X_test: PCA 降維后測試特征 (N, 128) Y_test: one-hot 標(biāo)簽 (N, 50) class_names: list of 50 names pred net.forward(X_test) # (N, 50) pred_labels np.argmax(pred, axis1) true_labels np.argmax(Y_test, axis1) from sklearn.metrics import confusion_matrix, classification_report cm confusion_matrix(true_labels, pred_labels) print(Classification Report:) print(classification_report(true_labels, pred_labels, target_namesclass_names)) # 繪制混淆矩陣熱力圖 import seaborn as sns plt.figure(figsize(10, 8)) sns.heatmap(cm, annotTrue, fmtd, cmapBlues, xticklabelsclass_names[:10], yticklabelsclass_names[:10]) plt.title(Confusion Matrix (Top 10 Classes)) plt.ylabel(True Label) plt.xlabel(Predicted Label) plt.show() # 調(diào)用 # evaluate_model(net, X_test_pca, Y_test_onehot, class_names)關(guān)鍵指標(biāo)不要只看 overall accuracy。重點(diǎn)看precision查準(zhǔn)率和recall查全率。若某人 precision 高但 recall 低說明模型“寧可漏判也不錯判”反之若 recall 高 precision 低說明模型“寧可錯判也不漏判”。這直接反映 BP 網(wǎng)絡(luò)對各類別的信心分布。5.3 單圖預(yù)測調(diào)試輸入一張圖看每層輸出這是最硬核的驗(yàn)證。選一張測試圖打印從原始像素 → PCA 特征 → 隱層激活 → 輸出分?jǐn)?shù)的全過程def debug_single_prediction(net, img_path, scaler, pca, class_names, align_funcalign_and_crop_face, norm_funcnormalize_grayscale): # 1. 加載并預(yù)處理 img_raw align_func(img_path) img_norm norm_func(img_raw) img_flat img_norm.flatten().reshape(1, -1) # (1, 4096) # 2. PCA 變換 img_pca pca.transform(scaler.transform(img_flat)) # (1, 128) # 3. 前向傳播 z1 np.dot(img_pca, net.W1) net.b1 # (1, 64) a1 net.sigmoid(z1) z2 np.dot(a1, net.W2) net.b2 # (1, 50) # 4. 打印 print(fInput image: {img_path}) print(fPCA feature norm: {np.linalg.norm(img_pca):.3f}) print(fHidden layer activation (top 5): {a1[0, :5]}) print(fOutput scores (top 5 classes):) top5_idx np.argsort(z2[0])[::-1][:5] for i, idx in enumerate(top5_idx): print(f {i1}. {class_names[idx]:20} : {z2[0, idx]:.3f}) # 5. 可視化隱層激活 plt.figure(figsize(12, 3)) plt.subplot(1, 3, 1) plt.imshow(img_norm, cmapgray) plt.title(Input Image) plt.axis(off) plt.subplot(1, 3, 2) plt.bar(range(64), a1[0]) plt.title(Hidden Layer Activation) plt.xlabel(Neuron ID) plt.ylabel(Activation) plt.subplot(1, 3, 3) plt.bar(range(50), z2[0]) plt.title(Output Scores) plt.xlabel(Class ID) plt.ylabel(Score) plt.xticks(rotation90) plt.tight_layout() plt.show() # 示例debug_single_prediction(net, lfw/George_W_Bush/George_W_Bush_0001.jpg, scaler, pca, class_names)調(diào)試價值當(dāng)預(yù)測錯誤時看a1是否全接近 0.5說明隱層未激活看z2是否所有分?jǐn)?shù)都接近 0說明輸出層權(quán)重未更新看img_pca的范數(shù)是否過小說明 PCA 降維過度。每一行輸出都是指向 bug 的路標(biāo)。6. 進(jìn)階技巧用 BP 網(wǎng)絡(luò)做遷移學(xué)習(xí)雛形——凍結(jié) PCA微調(diào)網(wǎng)絡(luò)權(quán)重很多人以為 BP 網(wǎng)絡(luò)只能從頭訓(xùn)其實(shí)它也能玩“遷移學(xué)習(xí)”。LFW 數(shù)據(jù)有限每人 20 張直接訓(xùn) 50 類易過擬合。一個實(shí)用技巧是固定 PCA 變換視為預(yù)訓(xùn)練特征提取器只訓(xùn)練 BP 網(wǎng)絡(luò)權(quán)重并在小樣本上做 fine-tune。6.1 構(gòu)建跨數(shù)據(jù)集的 PCA 共享機(jī)制我們不只用 LFW 訓(xùn)練 PCA而是用更大規(guī)模的 CelebA20 萬張人臉先擬合一個通用人臉 PCA 空間再在 LFW 上微調(diào) BP 網(wǎng)絡(luò)。這樣128 維特征不再針對 LFW 特化而是捕獲更普適的人臉結(jié)構(gòu)# 步驟1用 CelebA 大數(shù)據(jù)集擬合 PCA只需運(yùn)行一次 # celeba_images load_celeba_subset(n_samples50000) # 自定義函數(shù) # scaler_celeba, pca_celeba build_pca_transformer(celeba_images, n_components128) # 步驟2保存 # import joblib # joblib.dump(scaler_celeba, pca_scaler_celeba.joblib) # joblib.dump(pca_celeba, pca_celeba.joblib) # 步驟3在 LFW 上加載并 transform不重新 fit # scaler_celeba joblib.load(pca_scaler_celeba.joblib) # pca_celeba joblib.load(pca_celeba.joblib) # X_lfw_pca pca_celeba.transform(scaler_celeba.transform(X_lfw_flat))效果對比在 50 人 LFW 子集上用 LFW 自身 PCA 訓(xùn)練的 BP 網(wǎng)絡(luò)100 epoch 后 test accuracy ≈ 65%用 CelebA PCA同樣設(shè)置下 accuracy 提升至 72%。提升來自特征空間更魯棒——CelebA 包含更多姿態(tài)、光照、表情變化PCA 學(xué)到的基向量泛化性更強(qiáng)。6.2 學(xué)習(xí)率衰減讓后期訓(xùn)練更精細(xì)BP 網(wǎng)絡(luò)初期需要大步長探索后期需小步長精調(diào)。簡單實(shí)現(xiàn)指數(shù)衰減class BPNetworkWithLRDecay(BPNetwork): def __init__(self, input_size, hidden_size, output_size, lr_init0.01, decay_rate0.995): super().__init__(input_size, hidden_size, output_size, lr_init) self.lr_init lr_init self.decay_rate decay_rate self.epoch_count 0 def train(self, X_train, Y_train, epochs100, batch_size32): losses [] for epoch in range(epochs): # 更新學(xué)習(xí)率 self.lr self.lr_init * (self.decay_rate ** epoch) self.epoch_count epoch # ...同原 train 方法只改 lr # 在 backward 中使用 self.lr # ... return losses參數(shù)選擇decay_rate0.995意味著每 100 epochlr 衰減為原來的0.995^100≈0.6。實(shí)測在 LFW 上相比固定 lr0.01衰減策略使最終 accuracy 提升 3~4 個百分點(diǎn)且 loss 曲線更平滑無后期震蕩。6.3 權(quán)重初始化進(jìn)階He 初始化適配 ReLU若你換激活函數(shù)雖然本項(xiàng)目用 Sigmoid但若你想嘗試 ReLU緩解梯度消失權(quán)重初始化必須換# He 初始化適用于 ReLU self.W1 np.random.normal(0, np.sqrt(2.0 / input_size), (input_size, hidden_size)) # 而非 Xavier # self.W1 np.random.uniform(-np.sqrt(6.0/(input_sizehidden_size)), ...)為什么Xavier 假設(shè)激活函數(shù)線性He 針對 ReLU 的“半線性”特性設(shè)計保證前向信號方差穩(wěn)定。換激活函數(shù)不換初始化等于自廢武功。我堅(jiān)持手寫 BP 網(wǎng)絡(luò)不是懷舊而是因?yàn)槊看蝡rint(net.W1[0, :5])看到數(shù)字在變每次plt.plot(losses)看到曲線下降都讓我確認(rèn)人工智能不是魔法它是一行行矩陣運(yùn)算堆出來的確定性過程。當(dāng)你的模型在 LFW 上跑出第一個 60% accuracy你會明白那些教科書里的“反向傳播”、“梯度下降”不再是抽象符號而是你鍵盤敲出的真實(shí)電流。這感覺比調(diào)通一個預(yù)訓(xùn)練本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷五月综合社区在线| 月月AV| 99这里都是精品6| 色五月婷婷五月久久| 七七色综合| 99人碰碰碰| www开心激情网| 久99久视频免费观看| 激情五月天社区| 99热久久这里只有精品2010| 狠狠干五码| 人妻久久婷婷| 丁香六月激情| 色v综合网| 中文AV网站| 婷婷六月丁| 色五月色五天免费视频| 五月丁香亚洲婷婷| 天天视频亚洲| 亚洲第79页| 丁香五月天天| 五月天色狠狠| 久久成人性爱| 亚洲熟妇AV综合网五月丁香伊人 | 97色色色| 五月丁香淫淫婷婷婷| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 婷婷婷狠狠| 日韩av在线免费观看| 六月婷五月丁香| 日韩色久| 91精品久久久久久77777| 偷拍99在线视频观看| 五月丁香六月婷婷啪啪| 99热99在线| 色久九| 色五月婷婷亚洲| 俺去也在线视频| 亚洲美女婷婷五月天| 大香av| 嫩草视频| 色综合久久88色综合天天看| www,久久久| 婷婷色吧| 91蜜桃婷婷狠狠久久综合9色| 色99无码| 久9热| 怡春院久操| 涩涩激情五月婷婷| 婷婷丁香五月天影院 | 五月婷婷色影院| 日本精品干| 婷婷色五月大香蕉在线观看| 第四色激情网| 丁香五月综合在线| 婷婷五月天干干| 新激情五月开心五月婷婷五月丁香五月| 色色精品色| 激情五月图| 激情综合五月激情| 五月丁香无码| 狠狠久久婷五月| 99久.| 91一起操| 俺也去五月婷婷丁| 日本一级大片| 久久五月婷婷电影| 午夜婷婷五月天| 深爱婷婷丁香五月激情| 五月综合激情| 99热在线观看| AAA久久久AAA久久久AAA| 98色丁香五月婷婷综合网| 五月天久久网站| 亚洲AV日韩无码| 九九色中文| 五月天天天综合| 天天舔天天| 国产精品激情五月天色婷婷| 大香蕉啪啪| 五月丁香色色网| 熟妇内谢69XXXXXA片| 国产精产国品一二三在观看| 久久hd| 爆乳熟妇一区二区三区爆乳照片| 天天综合插插| 久久久WWW| 深爱五月天| 超碰9799| 亚洲色色色色色色色色色| 欧美色播综合在线观看| 日韩高清成人| 97人人妻人人艹| 在线伦子99热| 操操操操操电影网| 九九热精品在线| 成人婷婷色综合| 天天综合网~91综合网| 国产日日操夜夜操的肉棒视频| 天天草天天爽| 9热成人在线视频| 偷偷操99| 曰日爽日日操| 伊人九九68| 色色色婷婷五月天| 色播五月网| 婷婷五月天开心网| 99久久99久久| 五月婷婷视频| 五月婷九九草| caopeng97日韩| 五月色丁香| 五月综合久久| 亚洲色色色色色色色色色| 六月狠狠综合| 日产精品一线二线三线芒果| 久久久久久xxxxx| 色婷婷丁香五月天在线观看| 亚洲99精品九九在线| 激情五月天久久丁香| 久久久久久久久人妻| 久久激情网| 综合激情在线观看| 色综合激情| 国产成人精品一区二三区熟女在线 | 婷婷中文字幕| 五月丁香六月在线欧美| 久久只有18视频| 色婷婷情片| 婷婷色日本| 人人操AV| 99热国产精品| www.色五月| 色在线99| 99热在线中文字幕| 亚洲、欧美、国产另类笫二区| 五月婷婷久| 91男同视频| 婷婷伊人| 五月天激情视频| 久久性爱视频| 思思热视频在线观看| 99久re热| 五月丁香色色网| 婷五月天丁香婷五月| 丁香婷婷中文字幕| 五月丁香啪。| 色爱五月天| 成人亚洲精品| 天天操天天插| 一级A片天天操夜夜操| 欧美日韩91| 婷婷在线精品| 国产99久久久国产精品免费看 | 婷婷五月天成人网| 狠狠色噜噜狠狠狠狠综合| 五月色婷婷综合| 狠狠色中色| 五月婷婷丁香五月婷婷| 九九精品系列| 99A级片| 91avse| 久久五月丁香婷婷| 狠狠人人| 99久久偷拍视频| 丁香涩涩爱| 色婷婷亚洲综合天堂| 婷婷丁香五月综合激情小说| 激情久久久久久久久| 美女网黄| 五月综合亚洲| wWW九九在线播放| 91九色熟女| 五月婷婷六月天| 国产免费AV网站| 噜噜噜噜噜久| 丁香婷婷影院| 九九AV在线| 91九色在线| 天天爽天天爽| 久久99热久久99精品| 九九色天堂| 婷婷五月天激情综合| 激情四射网| 五月婷综合| 99er国产| 99伊人性爱在线影院| 成人婷99最新| 99热99热| 五月天激情综合网站| 三级av在线| 狠狠操狠狠操AV| 99re久久| 91精品丝袜久久久久久久久粉嫩| 开心五月婷婷| 亚洲美女网Va| 久久99久久99精品免视看婷婷| 久久99久久99www| 五月天激情久久| 六月丁香啪| 国内自拍97在线| 天堂中文国产| 综合色五月| 中文字幕成人| 日91高清无玛| 午夜微拍福利| 高清一区二区三区日本久| 人人草人人视| 五月丁香色婷婷基地| 99免费青青蜜臀| 9l视频自拍9l九色成人| 91久久五月天| 婷婷丁香五月高清| 欧洲激情五月天婷婷| 亚洲精品成人片在线播| 欧美色激情四射| 激情床戏| 国产亚洲精品久久一区二区三区| 五月婷婷丁香色播网| 久久99精品九九久久久婷婷| 久久久久久18| 超碰无码老师| 五月婷婷很很色| 欧美日韩成人| 婷婷五月丁香五月| 五月丁香亭亭操逼| 操日视频| 亚洲五月婷婷| 欧洲亚洲精品| 色婷婷丁香五月在线观看| 激情五月黄色小说| 久久久人妻不卡| 日韩伊人大香蕉| 爱久久小说下载网| 国外亚洲成AV人片在线观看| 丁香五月婷婷五月| 色色色综合| 久超超碰| 五月婷婷三级| 99久热| 久久这里只有精品热在99| 亚洲丁香五月美女| 97婷婷丁香五月天激情图片| 99热欧| 色性综合| 这里只有精品99视频| 色色色色综合网| 97婷婷在线| 一区=区操屄高清大全av| 久久精品99国产精品日本| 五月天社区| 日本婷婷五月天| 日本 @ va 免费| 九九九午夜影院成人| 五月花综合网| 激情图片婷婷| 99视频网| 日本99在线视频| 婷婷五月天小说| 日韩色五月| 玖玖资源天天无码| 99精品综合| 99re思思久久| 大香蕉五月婷婷| A片一曲| 黄色成人网站在线播放| 九九色色| 五月丁香六月综合图| 91综合视频丁香| 涩丁香91| 超碰人人射| 日本69日人视频| 五月丁香六月香香蕉| 婷婷五月丁香综合| 五月天色五月天| 开心五月激情五月丁香五月婷婷| 色婷婷久久综合久色综| 夜夜撸天天操| 激情五月天久久| 色色综合热| 99九九视频精彩在线| 超碰男人色| 婷婷视频网| 五月综合激情久久| 九九热视频精品| 99热丁香| 无码91中文字幕| 丁香五月综合激情久久潮喷| 99小视频| 丁香五月乱中文字幕| 五月色综合| 亚洲中文字幕av| 丁香五月性| 亚洲成AV人片在线观看| 国产免费一区二区在线A片视频| 五月丁香五月丁香| 五月婷婷中文字幕AV| 大香蕉婷婷丁香视频在线| 婷婷丁香五月激情| 18久久| 五月丁香婷婷色| 春色激情第四色| 日韩视频99| 天天摸天天肏| 国产91在线视频| 狠狠色噜噜狠狠狠777奇米| 99精品国产在热久久| 亚洲成人电影在线免费观看| 亚洲午夜AV| 日本综合九九| 五月婷婷五月丁香综合| 激情五月婷黄版| 五月天久久婷婷| 亲子乱AV-区二区三区| 综合啪啪| 这里有精品| 天天射影院| 色五月综合97| 五月婷婷激情中心| 夜夜爽77777妓女免费下载 | 免看黄大片AA | 丁香六月激情国产| 操嫩逼电影| 综合网啪啪| www.97视频| 久久婷婷亚洲| 99久久精品国产色欲| 国产精品激情AV久久久青桔| 色色日韩| 色色色色色色色色网站| 99噜噜| 天天操狠狠操| 九七色色六月丁香| 先锋男人99资源| 久久久久9| 99日本视频在线观看专区| 久这里只有精品| 五月婷婷色影院| 9色天堂| 激情婷婷五月天伊人在线观看| 色婷婷偷拍| 国产亚洲AV人片在线| 色久婷婷网| 99操逼| www.激情com| 久久久99精品| 高清资源站日A美A欧亚…| 激情文学 综合 色| 天天摸天天高潮天天爽| 日本欧美成人片AAAA| 俺来也综合网精品一区| 99热这里精品| 婷婷六月色| 婷婷久久精品| 91久久久久久久久18| 久久九九国产精品怡红院| 综合在线观看99| www,五月丁,com| 乱岳熟女50岁| 99re这里只有精品首页| 在线播放 精品| 国产精品视频久久99| 成人午夜天| 婷婷色系婷色| 午夜成人av在线| 五月天成人在线播放丁香| 亚洲V国产V欧美V久久久久久| 婷婷激情五月天激情在线| 亚洲综合99| 五月婷丁香花| 九八Av| www,婷婷五月天,com| 激情综合色五月丁香| 婷婷六月激情丁香| 日韩成人综合| 91狠狠色| 色五月激情五月丁香五月婷婷啪啪综合 | 大香蕉av在线| 色欲日日躁| 噼里啪啦在线观看免费完整版视频| 久久婷婷午夜| 婷婷五月天六月综合| 99久久99九九99九九九| 婷婷终合色图| 婷婷亚洲综合| 伊人丁香五月婷婷潮吹| 岛国av电影网站| 五月婷婷色| 久久东京热婷婷五月| 欧美激情综合五月色丁香| 亚洲欧洲中文日韩久久AV乱码| 丁香婷婷五月综合色情| 欧美在线97| 国产中文字幕在线视频免费观看| 色综合色综合网| 色135综合网| 五月丁香激情片| 92久久| 99色精品| 久综合| 91丨九色丨国产在线| 国产一二三四五六七八视频| 67194线路二在线观看| 激情五月天啪啪| 9久久精品| 青青草原中文字幕| 五月天大香蕉| 激情婷婷五月天伊人在线观看| 伊人婷婷五月天| 婷婷久久亚洲| 激情婷婷五月| 狠狠色五月激情| 丁香六月婷婷| 丁香五月日本| 欧美成人在线观看| 伊人五月天婷婷| 91人在线观看| 亚洲最大五月天成人网| 东京热人妻一区二区三区在线| 新激情五月天色播| 国产永久一黄| 97人人操| 综合久久婷婷五月丁香| .精品久久久麻豆国产精品| 婷婷激情丁香五月天综合| 五月天色影院| 色播五月丁香婷婷| 亚洲狠9| 欧美狠狠地| 六月丁香开心婷婷欧美| 夜夜爱伊人| AV在线大香蕉| 婷婷色网| 深爱激情六月| 日本色图综合| 久久99久久99精品免视看婷婷| 久1色色| 中文成人在线| 九九这里有精品| 日韩啪| 99视频在线精品| 丁香月五月天婷婷久久| 五月婷婷先锋| 99久久婷婷国产综合| 毛片网站谁有| 激情五月四色| 97丁香婷婷| 人人爽天天莫| 九九色插| 中文字幕av久久爽一区| 我爱宗和色| 婷婷五月丁香性爱| 玖玖热视频| 欧美成人网婷婷综合在线| av超碰在线| 超级碰碰碰97免费| 婷婷久久六月天| 999精品久久久久久久| 九九精品综合| 艹| 九九色天堂| 久久久精品人妻| 久久这里有精品99| 九月激情网| 国产午夜成人AV在线播放| 五月花激情| 五月丁香久久综合| 99在线看视频| 色五月婷婷网| 五月婷婷香| 五月天婷婷色| 色站9/| 婷婷五月天成人网| 国产精品VA在线| 久久综合这里只有精品1| 六月婷婷色色网| 久久综合五月天| 亚州日本欧州韩美高青高潮一| 人人爽欧美婷婷久久久五月丁香| 国产精自产拍久久久久久蜜| www999日韩精品| 天天射影视综合网| 国产伦理精品高清在线观看网站一区二区 | 久久99激情| 97香蕉人人在线观看| 天天日日夜夜| 久久婷婷婷| 玖操97| 丁香五月婷婷色情综合| 色综合网页| 丁香五月天啪啪| 色婷婷久综合久久一本国产AV| 六月丁香视频网站| 黄色片区子| 激情综合另类| 婷婷丁香红五月91C| 色五月婷婷综合| 五月婷激情| 五月天婷婷久久综合| 色综合九九| 五月亭亭欧美女人| 任你干线上免费视频有3吗| 亚洲超碰在线| 丁香六月啪| 激情五月天婷婷五月天| www五月天激情com| www.思思99热| 色狠狠六月| 一起草AV| 激情AV| 五月天狠狠色| 9伊人网| 久久五月天影院| AV九九| 色色丁香| 五月丁香激情综合网| 丁香五月AV| 五月天涩涩| 五月婷婷激情中心| VA婷婷亚洲| 狠狠肏综合网| 色婷婷丁香五月观看| 性爱先锋AV| 亚洲综合婷婷五月| 色九月婷婷综合| 丁香五月综合激情性爱| Www99热| 五月花激情网| 七七色色综合| 色婷另类| 99热这里只有精品1025| 久久99操| 五月天激情国产综合婷婷婷就去爱| 亚洲、欧美、国产另类笫二区| 五月丁香中文婷婷中文| 大香蕉人人人| 婷婷五月天综合久久| 天天综合色丁香| 九九人人看| 午夜日韩久久久网站| 午夜福利成人AV91| 国产操肏网站| 97干欧美| 婷婷97狠狠干| 日日干日日s| 丁香五月天av| 毛片色五月| 色五月婷婷一二| 久久99热这里只频精品6学生| 丁香婷婷激情五月天无毒不卡蜜桃| 中文字幕 中文字幕明步| 久久婷婷亚洲| 热99在线| 国产XXXX搡XXXXX搡麻豆| 桃色成人网| 97色精品视频 | 视频这里只有精品16| 亚洲乱码成人| 第四色五月天| 狠狠干狠狠色| 亚洲蜜桃精久久久久久久久久久久| 中文字幕无线久必| 99色免费| 色婷婷五月开心六月综合| 国产色色网址网站| 九九无码视屏| 久久 婷婷 五月天| 五月天婷婷色色| 黄网在线免费观| 丁香五月97视频| WWW.久久久久久久| 这里只有精品视频在线观看免费| 色婷婷五月天天天干天天操天天爽 | 香蕉综合网| 国产亚洲精品久久久久苍井松| 欧美A片在线视频免费观看| 狠狠色婷婷7777久综合| 日本三级大片| a久久免费视频| 精品网站:999WWW| 激情综合网五月婷婷| 色婷婷网大全在线| AV操逼网| 色色亚卅| 99精品自拍| 青草视频在线播放| 激情啪啪五月| 久热最新视频| 97碰超级人人看| 国产肥白大熟妇BBBB视频| 看逼中文字幕| 丁香婷婷激情五月色| 九九色综合九九色| 五月婷婷深深爱| 六月丁香成人| 激情五月综亚网| 99热思思| 综合一本道| 六月丁香啪啪| 青青草婷婷久久| 国产精品久久久99视频| 婷婷丁香五月激情| 乱岳熟女50岁| 欧美va视频| 婷婷五月天综合中文| 9久视频| 丁香99| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 日日狠狠久久偷偷四色综合免费| 思思久久精品| 色色婷婷丁香五月天| 天天爱天天做天天舔| WWW.17C亚洲精品| 97caop| 色五月首页| 婷婷播5月| 欧美内射AAAAAAXXXXX| 色七七九九| 99热精品免费在线观看| h在线看免费版在线看| 99国产精品白浆在线观看免费| 久久玖玖综合| 噜噜久| 天天爱天天操| 色噜噜狠狠色综合无码久久欧美| 99免费在线视频| 秋霞av吧| 天天干天天日日| 亚洲综合激情五月久久| 色婷婷色九月| 亚洲热综合| 99丁香五月| 99色啊| 这里只有精品免费视频| 伊久久婷婷| 另类激情综合| 五月天色站| 国产av基地| 日韩啊啊啊| 99re久热| 久久66成人网站| 香蕉久久国产AV一区二区| 天天想夜夜爽天天爽| 成人五月天丁香| A1片久久| 丁香五月影院| 色婷婷久久视屏| 六月婷婷久久| 区啪精品| 久久美女五月天| 99热色综合| 天天操夜夜肏| 大香蕉视频婷婷| 五月开心激情网| 欧美情色电影一区二区| 人人天堂操| 国外亚洲成AV人片在线观看| 婷婷五月天亚洲天堂| 亚洲视频在线观看| 思思久久96热在精品国产,| 亚州美女| 操丝袜视频影院导航| 蜜臀久久99精品久久久久久酒店| www.五月激情红色| 超碰cap| 日日舔夜夜操| 婷婷五月激情综合啪啪| 色噜噜狠噜噜视频| 99热久草| 伊人激情影院| 六月丁香深深爱| 欧美激情综合五月色丁香| 91啪级电影| 91精品国产综合久久久不卡电影| 思思久久青草热| 日本一区二区三区精品视频| 五月天婷婷在线视频| 丁香五月AV| 综合网色| 天天日天天摸天天| 色亭亭九月| 五月丁香啪啪网| AV五月丁香| 天天色视频| 五月婷婷丁香伦理网| 亚洲黄色网址| 99激情视频| 五月婷婷色影院| 人人草人人舔| 五月天激情.com| 玖玖爱导航| 婷婷视频网| 开心久久爱五月天| 高清 码 免费看片短视频| 久久丁香五月| 韩国情人在线电视剧免费观看高清版全集 | 男人視頻站| 九月丁香| 日日肏天天操| 日本久久视频| 亚洲国产精品二二三三区| 999热在线视频| AV在线免费播放| 婷婷97狠狠成人网站| 久狠日av| 久久五月丁香| AV片在线观看| 六月丁香啪啪| 天天爽天天摸| 五夜婷婷| 欧美日韩成人h| 中文字幕在线免费| 思思热在线视频99| 久热综合| 黄色av网站在线免费播放| 91视频精品99| 色五月综合网| 97在线精品| 婷婷五月天最新网址| 激情综合亚洲| 狠狠干综合网| 开心激情色婷婷五月天| 色婷婷影| 黄色三级毛片中字| 五月香婷婷| 成人性爱无码| 成人五月天色天堂| 国产综合婷婷| 大香蕉色婷婷伊人在线| 99精品在这里| 天天日 天天草| 五月天色五月天| 99操久久| 另类图片五月天婷婷| 五月婷综合性中心| 综合色色网| 日本欧美999久久久三级片| 丁香五月影院| 青青草轻轻操| 79精品视频| 亚洲综合网激情小说| 丁香五月影视| 日本九九九九九九| 伊人香大香蕉视频| 九九热精品视频在线观看| 热五月婷婷| 久久这里有精品视频| 婷婷色无码| 丁香五月婷婷啪| 婷婷狠狠97| 婷婷丁香久久网| 熟女人妻一区二区三区免费看| www.五月天色色.com| 婷婷五月天成人小说| \\五月天婷婷激情| 天天综合久久| 久9热| 色天堂在线| 人妻五月天激情开心网| 99爱操| 丰满少妇乱A片无码| 久久98| 五月婷婷激情综合网| 91人操人人人操人| 色五月欧美| av狠狠操| 五月婷婷婷婷| 99热无码| 婷婷丁香激情综合色情| 婷婷综合六月| 这里只有精品视频一区| 亚洲人妻一区二区| 开心日韩丁香婷婷五月| 婷婷色5月天在线。| 99热99成人| 丁香六月开心| 五月久久五月激情| 丁香五月天在线观看视频| 日本久久高清| 亚洲综合在线视频| 色婷婷狠狠| 天天曰夜夜爽| 激情啪啪五月天| 欧美婷婷六月丁香综合色连续高潮抽搐| 色狠狠综合| 亚洲激情在线| 婷婷五月天天天日日夜夜| 色婷婷狠狠干| 2023天天日夜夜爽| 天天日天天操天天干| 五月天婷婷成人资源站| 欧美3AaAa大片| A久网| 日本五月婷| 色99在线观看| 狼人狠狠操| 亚洲五月婷婷| 婷婷五月天成人| 国产AV一区二区三区日韩| 国产视频色色色色色色色| WWW色五月| 996热re视频在线观看视频| 中文字幕五月久久婷婷| www.久久爱.com| AV电影在线播放| 久久婷婷丁香五月一二三| 开心四月婷婷在线色播播| 丁香五月在线视频黑人| 激情五月天无人视频在线| 天天爱天天操| 久久婷婷五月天| 嫩草AV久久伊人妇女超级A| 亚洲综合网在线| 在线91日韩| 激情综合无码| 538久久| 婷婷五月天激情诱惑| 99九无网码| 日本一级黄色电影| 欧美A片在线视频免费观看| 久久婷婷草| 九九伊人网| 能看的AV网站| 可以看的av| 日日干夜夜干| 婷婷五月综合色小姐小说| 婷婷丁香成人五月天| 久久精品爱爱| 精品51XX| 99操视频| 五月丁香本色在线观看| 激情五月丁香六月综合AVXXXX| 色五月网址| 五月婷婷激清网| 激情五月天啪啪| 极品人妻VIDEOSSS人妻| WWW.久久久久久久久久久久久| 啪啪综合网| 99久久婷婷五月天| 婷婷黄色| 依人大香蕉在钱1| 亲子乱AV一区二区三区下载| 99久久成人| 色六月婷婷| 人人摸人人操人人爱| 色婷婷五月天成人网| 五月婷婷久久综合| 婷婷五月丁香色综合| 国产69久久久欧美黑人A片| CAOBIBI| 婷婷九月激情| 久99热在线观看| www.99热国产| 精品婷婷| 99热这里只有精品86| 日韩成人综合网| www.刺激色网站www.| 一夜福利不卡| 久久久久久9| 五月天丁香久久综合| 婷婷久久五月| 五月天色丁香| 久久国产一区二区三区| 欧美五月婷婷| 天干夜夜操| 成人午夜视频精品一区| av在线观看网站| 色婷婷色婷婷五月| 开心婷婷五月| 在线成人网站| 五月天婷婷社区| 最新无毒无码AV| 九九热这里只有精品556| 色婷婷小说网| av操B网站| 欧洲亚洲免费视频区| 五月色婷婷中文字幕| 色综合9| 久久996re热这里只有精品无码| 97色婷婷成人综合在线观看| 五月丁香偷拍| 99热这里只有精品一区| 专区无日本视频高清8| 久久久久久久97| 99色视频| 在线综合91| 五月天激情美女久久| 亚洲人妻av伦理| 九九热a| 九色91国产| 99久久五月丁香野外| 精品无码99| 97操操网| 夜夜噜夜夜奇| CHINESE熟女老女人HD视频| 99久视频| 五月丁香香蕉| 91色在线/日韩| 人人综合久| 《久久综合九色综合97婷婷| 夜夜操天天干| 涩涩激情五月婷婷| 婷婷五月深深爱| 超碰国产在线播放| 丁香五月狠狠综合欧美| 国产精产国品一二三在观看 | 97超级碰人人| 五月天激情无码高清 | 侠女刀之记忆电影在线看免费| www.激情| 丁香五月大香蕉| 婷婷丁香五月亚洲| 丁香五月天啪啪| 激情色色| 五月丁香六月久久| 五月天激情网图片| 狠狠色五月激情| 色五月婷婷在线| www.精品99| 国产肥白大熟妇BBBB视频| 婷婷五月免费观看| 午夜无码熟熟妇丰满人妻| 婷婷六月天精品| 色色色色色色综合网| 五月天伊人手机在线播放AV| 色色9 9| 激情五月丁香五月| 欧美亚洲成人在线| 天堂中文国产| 久热无码| 中文字幕无码人妻少妇免费视频 | 91在线日本| 99男人的天堂| 精品久色| 丁香五月花| 这里只有精品在线免费视频| 91综合色噜噜| 伊人婷婷综合| 婷香五月网在线| 风流少妇A片一区二区蜜桃| www.sezonghe| 婷婷亚洲久久| 国产精品久久..4399| 色色婷婷五月| 久久精品99国产精品日本| 中文不卡一二区| 丁香五月天堂网AV| 久久久久久综合88| WWW.五月天9999| 丰滿爆乳一区二区三区| 丁香婷婷色五月激情综合| 欧美三级欧美一级| 午夜少妇在线观看视频| 常久最新免费的色吊丝| 狼人婷婷综合| 狠狠五月天| 狠狠狠夜夜夜| 91久久1118| 国产国产乱老熟女视频网站97| 婷婷色欧美激情| 超碰人人91| 99熟女| 俺也去在线视频| 日本一道久久| 欧美色男人网站| 五月婷婷亚洲色视频| 久久丁香| www.玖玖九| 色综合久久88色综合天天99| 情欲综合网| 97香蕉人人在线观看| 开心激情五月天网| 丁香五月无码| 99热九九这里只有精品| 六月婷婷综合网2| 人人97碰| 欧美色色色| 五月丁香婷中文| 日本激情综合| 99热伊人| 情久久综合五月天| 色五月无码| 激情伊人网| 亚洲情综合五月天| 爽极品色| 精品,99| 91日韩在线| 婷婷五月欧美AA片免费| 色综合久| 91热视频色网站| 色婷婷五月天堂资源| 9久精品视频| 1024在线视频| 亚洲婷婷五月天| 99毛片| 五月婷婷网站| 五月天天天操天天爽夜夜操| 99.N在线视频| 日韩专区五月天婷婷丁香| 日本一级黄色电影| 婷婷性爱五月天| 五月丁香网站在线播放| 97狠狠色| 99热99在线精品| 97久久久久久久久久久| 激情五月天婷婷五月天| 五月婷婷啪啪| 五月天停停基地| 久久婷婷丁香五月一二三| 亚洲天堂大香蕉| 9999热在线| 国精产品一区一区三区免费视频| 色99网| 五月婷婷影院| 天天日,天天射,天天舔| 青青草深爱激情网| AV伊人青草丁香六月| 偷拍91九色| 欧美碰碰| 在线看AV| 亚洲综合网在线| 五月香婷婷| 九月色婷婷| 婷婷五月综合色拍| 开心激情五月天网| 久久 视频这里只有精总| 99在线观看视频蜜臀| 国产精品久久..4399| 久久999久久999久久999久久| 亚洲AV成人精品网站在线播放| 色一情一乱一伦一区二区三区| 草草视频91| 97九色| 97碰| www.黄色片-久久成人国产精品在线播放-999AV | 久久xxxx| 丁香五月性| AV在线大香蕉| 色婷婷888| 日韩欧美成人片| 91se在线观看| 一丁香五月天月AV| 99热97| 天天狠狠六月婷丁香影院| 亚洲色激情| 人草人人| 99免费在线| 99re思思热久久| 婷婷五月视屏| 这里只有精彩视频| 激情综合五月婷婷丁香| 五月天激情视频| 五月婷婷色播| 丁香五月激情网| 97干在线观看视频| 粉嫩av蜜桃av蜜臀av| 亚洲无码播放| 色玖玖| 色综合五月天| 欧美日韩欧美| 亚洲狠狠色丁香婷婷综合久久| 91人久| 亚洲黄色操逼| 中文成人在线| 92国产福利| 亚洲网视屏| 99re99热| 色欲日日躁| 韩国久久少妇视屏| 色五月婷婷综合| 婷婷中文字幕网| 激情婷婷色色| 91超级碰| 春色激情| 亚洲色五月婷婷| 91色涩| 九九综合视频在线观看| 丁香五月成人论坛| 色婷五月| 丁香六月五月天| 国内精品玖玖| 婷婷色爱| 超碰在线超碰| 综合网五月| 丁香六月婷| 任你爽在线视频| 97五月天婷婷综合激情网| 婷婷丁香激情综合色情| 国产婷婷色五月| 色综合久久天天综合网 | 99色色网| 激情五月四色| www色婷婷com| 五月天激情综合网俺也去| 狠狠色丁香婷婷综合久久97AV| 婷婷六月情| 夜色综合网| 丁香色婷婷| 色亭亭九月| 99久久精品国产色欲| 九九热这里有精品视频| 五月婷婷欲色| 日日狠狠久久偷偷四色综合免费| 久久国产色| 色九九综合| 两性婷婷丁香五月| 久久亚洲天堂| 色欲操| 婷婷丁香小说| 天天日,天天插| 性爱激情五月| 日本综合色色| 亚洲国产成人裸舞| 色色国产| 99精品成人无码A片观看金桔| 丁香六月婷婷激情| 99热精品观看| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 激情亚洲网| 亚洲AV影片在线观看| 亚洲综合在线播放| 五月天婷婷久久综合| 亚州操操| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | www.26uuu.com亚洲电影| 九色91视频| 国产熟妇的荡欲午夜视频| 婷婷久久精品| 亚洲 小说 欧美 激情 另类| 91狠狠色色丁香婷婷综合久久| 五月激情小说| 九九人人精品| 五月婷婷欲色| 九九九色综合| 婷婷五月综合丁香久久| 丁香亭亭久久| 欧美日韩成人高清在线| 拍真实国产伦偷精品| 色婷婷a v| 婷婷五月天另类网站| 五月色亚洲| 野外99热| 婷婷五月天99| 人妻精品一区二区三区| 色婷婷精| 六月婷婷狠狠| 婷婷激情综合| 免费成片在线观看| 国产在线6| 五月丁香婷婷基地| 婷婷久久天堂网| 五月色欧美| 啪啪啪综合网| 蜜臀99久久精品久久久久| 777精品成人a v久久| 在线视频你懂得| 午夜成人在线免费视频| 五月天狠狠干| 精品一区二区三区免费毛片爱 | 婷婷六月激情| 激情综合网激情五月婷婷| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 开心五月婷婷六月丁香| 婷婷五月激情综合| 五夜丁香| 五月丁香色| 亚洲愉拍99热成人精品| 五月天婷婷一起草| 丁香六月婷婷| 狠狠综合色网| 狠狠干综合网| www.99精品日操伊人乱碰在线| 99九精品| 色你久久| 丁香五月综合在线观看| 久久在线视频免费观看| 日韩婷婷五月| 五月丁香激情啪啪| 99热狠狠操| A久久| 停停六月 综合| 丁香婷婷激情网站| 成人做爰A片免费看视频| 精品久久人妻热| 五月天色五月| 永久思思热在线| 亚洲天堂爱爱| 六月色播| 国産精品| 超碰成人电影| 日本啪啪网| 欧美在线视频免费播放| 五月亭亭直播| 丁香五月天婷婷91| 婷婷九月丁香| 亚洲无码www| 丁香五月手机在线| 色播五月丁香综合| 夜夜骑夜夜操| 91精产一区三区免费观看| 伊人五月天| 大香蕉人人人| 日本一毛片| 97精品自拍| 99热在这里只有精品| 日韩久久视频| 777色色色| 五月天婷婷日日爱| 国产人妻人伦精品一区二区| 丁香五月丐人妻| 国产午夜精品AV一区二区麻豆| 麻豆123区| 奇米色大香蕉| 亚洲亚洲永久无码777777| 色五月婷婷影视| 91丨九色丨熟女丰满| 五月激情综合网| 婷婷色婷婷| 99免费视频久久| 少妇人妻丰满做爰XXX| 天天干天天色天天干| 国产成人精品亚洲线观看| 亚洲色欲AAAAAA| 久久网址99热| 婷婷五月激情欧美| 天天做天天爱天天摸| 性爱综合网| 色丁香五月婷婷在线| 97碰免费精采视频| 亚洲色99| 99热无码精品| 精品日本视频444| 色五月播五月| 激情久久久| 欧美激情VA永久在线播放| 人妻久久久久久久久妻久久久久| 久9热在线免费观看| 精品网站:999WWW| 五月丁香日本片| 午夜天堂一区人妻| 综合久久五月天| 日日噜狠狠| 无码少妇高潮喷水A片免费| 99日这里只有精品| 啪啪 综合网| 成人综合网站| 婷婷五月在线播放| www久| 午夜天堂一区人妻| 婷婷五月情| 激情五月丁香婷婷夜夜操| 精品一区久热| 噜噜狠狠色综合久| 亚洲欧洲色色| 色五月激情综合网站| 色婷婷在线播放| 六月色色婷婷| 在线看黄色| 深爱五月婷婷| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 亚洲综合婷婷五月| 欧美超级视频97| 色五月激情五月| 五月婷婷丁香俺日污视频| 丁香蜜臀黄色婷婷五月天| 99精品网址|