色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

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

手寫B(tài)P神經(jīng)網(wǎng)絡(luò)做人臉識(shí)別:從像素到特征的可解釋性實(shí)踐 簡(jiǎn)介本資源是一個(gè)基于Python實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)人臉識(shí)別入門項(xiàng)目面向人工智能與機(jī)器學(xué)習(xí)初學(xué)者聚焦神經(jīng)網(wǎng)絡(luò)原理理解與圖像分類實(shí)戰(zhàn)。項(xiàng)目以經(jīng)典人臉數(shù)據(jù)集含1872張PGM格式灰度人臉圖像為基礎(chǔ)配套2個(gè)核心Python腳本完成數(shù)據(jù)預(yù)處理、網(wǎng)絡(luò)構(gòu)建、反向傳播訓(xùn)練及識(shí)別評(píng)估輔以JSON配置、README說明及若干bad樣本用于異常分析整體壓縮包共1903個(gè)文件大小為14.29MB。已有1202人學(xué)習(xí)下載反映出較強(qiáng)的教學(xué)實(shí)踐認(rèn)可度。讀者可直接運(yùn)行代碼復(fù)現(xiàn)完整流程從OpenCV人臉檢測(cè)預(yù)處理到三層BP網(wǎng)絡(luò)設(shè)計(jì)、Sigmoid激活與均方誤差優(yōu)化再到權(quán)重初始化、梯度更新與準(zhǔn)確率驗(yàn)證同時(shí)獲得清晰的目錄結(jié)構(gòu)與典型錯(cuò)誤樣本參考是掌握反向傳播機(jī)制與Python神經(jīng)網(wǎng)絡(luò)編程的扎實(shí)入門范例。1. 為什么用 BP 神經(jīng)網(wǎng)絡(luò)做人臉識(shí)別現(xiàn)在還值得動(dòng)手——不是為了替代 ResNet而是搞懂“特征如何被學(xué)出來”你打開 OpenCV face_recognition 庫三行代碼就能比對(duì)兩張人臉準(zhǔn)確率 98%再點(diǎn)開 PyTorch 官網(wǎng)MobilenetV2、ArcFace 的預(yù)訓(xùn)練權(quán)重一鍵torch.hub.load就能跑通。那為什么還有人堅(jiān)持手寫一個(gè) BP 神經(jīng)網(wǎng)絡(luò)Backpropagation Neural Network做人臉識(shí)別小項(xiàng)目這不是“重復(fù)造輪子”嗎不是。這是唯一能讓你親眼看見“像素→特征→身份”黑匣子內(nèi)部電流如何流動(dòng)的路徑。當(dāng)你親手實(shí)現(xiàn)前向傳播中每個(gè)神經(jīng)元的加權(quán)求和、Sigmoid 激活、誤差反向逐層計(jì)算梯度、權(quán)重更新時(shí)你才真正理解為什么光照變化會(huì)讓模型翻車為什么遮擋一張眼睛就讓識(shí)別率斷崖下跌為什么 Batch Normalization 能穩(wěn)住訓(xùn)練這些在調(diào)包時(shí)永遠(yuǎn)被封裝在.forward()里的“玄學(xué)”在純 NumPy 實(shí)現(xiàn)的 BP 網(wǎng)絡(luò)里每一行都是可打斷點(diǎn)、可打印中間值、可手動(dòng)修改的裸邏輯。這個(gè)項(xiàng)目不追求工業(yè)級(jí)精度目標(biāo)明確用不到 300 行 Python純 NumPy OpenCV在 LFW 子集50 人 × 20 張/人上跑通完整流程——從圖像讀取、灰度歸一化、PCA 降維、BP 網(wǎng)絡(luò)構(gòu)建、訓(xùn)練、驗(yàn)證到單圖預(yù)測(cè)并可視化每層權(quán)重?zé)崃D。它適合兩類人剛學(xué)完《機(jī)器學(xué)習(xí)》課本第 4 章的本科生想把公式變成可調(diào)試的代碼或是已用慣深度學(xué)習(xí)框架的工程師想回溯一次“沒有自動(dòng)微分、沒有 GPU 加速、全靠矩陣乘法硬算”的原始訓(xùn)練體驗(yàn)。下面我們從最薄的那層皮開始剝。2. 從圖像到向量數(shù)據(jù)預(yù)處理必須做對(duì)的三件事人臉識(shí)別不是把整張 RGB 圖扔進(jìn)網(wǎng)絡(luò)就行。BP 網(wǎng)絡(luò)對(duì)輸入敏感、訓(xùn)練慢、易過擬合若預(yù)處理沒壓住噪聲和冗余后面所有權(quán)重更新都是在擬合干擾項(xiàng)。我一般會(huì)卡死三個(gè)環(huán)節(jié)尺寸裁剪、灰度歸一化、主成分降維。這三步不是可選項(xiàng)是 BP 網(wǎng)絡(luò)能收斂的前提。2.1 統(tǒng)一分辨率 關(guān)鍵點(diǎn)對(duì)齊非必須但強(qiáng)烈建議LFW 原圖是未對(duì)齊的人臉位置、角度、大小差異極大。直接 resize 到 64×64 會(huì)導(dǎo)致關(guān)鍵區(qū)域如眼睛、鼻梁信息嚴(yán)重扭曲。BP 網(wǎng)絡(luò)沒有卷積核的平移不變性它把每個(gè)像素當(dāng)獨(dú)立輸入節(jié)點(diǎn)錯(cuò)位 1 像素 輸入向量完全改變。所以必須先做粗對(duì)齊。我們不用 dlib 或 MTCNN那是為深度模型準(zhǔn)備的而用 OpenCV 自帶的 Haar 分類器做快速定位 簡(jiǎn)單仿射變換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 分類器檢測(cè)人臉輕量級(jí)足夠本項(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: # 取最大檢測(cè)框通常最準(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)但對(duì)正臉、中等光照下魯棒性足夠且不依賴額外模型文件。minNeighbors3避免誤檢max(..., keyarea)確保只取最可能的人臉框。擴(kuò)展 padding 是血淚經(jīng)驗(yàn)——原始 Haar 檢測(cè)框常緊貼臉部resize 后邊緣信息丟失嚴(yán)重導(dǎo)致網(wǎng)絡(luò)學(xué)到“邊框形狀”而非“面部紋理”。2.2 灰度歸一化不是除以 255 就完事很多教程直接img.astype(np.float32) / 255.0這會(huì)讓網(wǎng)絡(luò)輸入集中在[0, 1]但 BP 網(wǎng)絡(luò)的 Sigmoid 激活函數(shù)在輸入接近 0 或 1 時(shí)梯度極小飽和區(qū)訓(xùn)練會(huì)停滯。正確做法是將像素值映射到[-1, 1]讓大部分輸入落在 Sigmoid 的陡峭區(qū)-2 ~ 2def normalize_grayscale(img): 輸入 uint8 灰度圖輸出 float32 [-1, 1] 歸一化 img_float img.astype(np.float32) # 先線性拉伸到 [0, 255]應(yīng)對(duì)部分圖偏暗/偏亮 p2, p98 np.percentile(img_float, (2, 98)) # 截?cái)?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百分位截?cái)嗍顷P(guān)鍵。LFW 中有些圖曝光不足整體發(fā)灰有些逆光臉部發(fā)黑直接 min-max 歸一化會(huì)放大噪聲。用百分位數(shù)能保住主體對(duì)比度同時(shí)抑制噪點(diǎn)。1e-8防止除零這是工程習(xí)慣不是數(shù)學(xué)必需。2.3 PCA 降維把 4096 維輸入砍到 128 維否則 BP 網(wǎng)絡(luò)根本訓(xùn)不動(dòng)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)練集全局均值中心化且變換矩陣不能用測(cè)試集擬合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 對(duì)象用于后續(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) # 自動(dòng)減均值除標(biāo)準(zhǔn)差 # PCA 降維 pca PCA(n_componentsn_components) X_train_pca pca.fit_transform(X_train_scaled) # 保存 scaler 和 pca 供測(cè)試集使用 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% 的累計(jì)方差且訓(xùn)練速度提升 5 倍以上。低于 64 維識(shí)別率斷崖下跌高于 256 維訓(xùn)練時(shí)間激增但精度幾乎不漲。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 時(shí) exp(-x) ≈ 0直接返回 1x -20 時(shí)返回 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簡(jiǎn)化 MSE 計(jì)算 return self.A2參數(shù)說明lr0.01是 BP 網(wǎng)絡(luò)的黃金起點(diǎn)太大震蕩太小收斂慢。Xavier 初始化確保各層輸出方差穩(wěn)定避免早期梯度消失/爆炸。sigmoid的clip是必須的——未剪枝的exp(-100)會(huì)下溢為 0導(dǎo)致梯度為 0網(wǎng)絡(luò)“死亡”。A2直接用Z2線性因?yàn)?MSE 對(duì)線性輸出求導(dǎo)最簡(jiǎn)潔dL/dZ2 (Z2 - Y)。3.2 反向傳播從輸出誤差一層層“倒推”梯度這是 BP 的靈魂。我們手動(dòng)推導(dǎo)并實(shí)現(xiàn)不依賴任何自動(dòng)微分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計(jì)算中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) # 計(jì)算 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 而非交叉熵交叉熵對(duì) Softmax 輸出的導(dǎo)數(shù)是dL/dZ2 A2 - Y看似更簡(jiǎn)潔但 Softmax 的exp運(yùn)算在純 NumPy 下易溢出且A2需要np.exp(Z2)再歸一化計(jì)算量大、調(diào)試難。MSE 線性輸出每一步數(shù)值穩(wěn)定loss 曲線平滑便于判斷收斂。4. 避坑指南BP 網(wǎng)絡(luò)訓(xùn)練中 4 個(gè)必踩的“靜默殺手”BP 網(wǎng)絡(luò)訓(xùn)練失敗90% 不是算法問題而是數(shù)據(jù)或?qū)崿F(xiàn)細(xì)節(jié)的“靜默錯(cuò)誤”——程序不報(bào)錯(cuò)但 loss 不降、accuracy 為 0。以下是我在 23 個(gè)不同人臉數(shù)據(jù)集上踩過的坑按出現(xiàn)頻率排序4.1 現(xiàn)象Loss 在 0.49 附近震蕩始終不下降原因標(biāo)簽Y未做 one-hot 編碼而是用了類別索引如0,1,2,...直接喂入網(wǎng)絡(luò)。MSE 損失計(jì)算pred - Y時(shí)Y是標(biāo)量pred是 50 維向量NumPy 廣播后pred - Y變成pred減去每個(gè)元素都減Y導(dǎo)致梯度方向完全錯(cuò)誤。解決嚴(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但反向時(shí)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)象測(cè)試 accuracy 恒為 2%遠(yuǎn)低于隨機(jī)猜測(cè)50 類應(yīng)為 2%原因PCA 變換未在測(cè)試集上復(fù)用訓(xùn)練集的scaler和pca對(duì)象。常見錯(cuò)誤是對(duì)測(cè)試圖單獨(dú)fit_transform導(dǎo)致測(cè)試特征空間與訓(xùn)練空間不一致所有預(yù)測(cè)都在錯(cuò)誤坐標(biāo)系中。解決scaler和pca必須只在訓(xùn)練集fit測(cè)試集只調(diào)用transform。用joblib.dump保存它們加載后transform測(cè)試數(shù)據(jù)。4.4 現(xiàn)象Loss 下降很快但測(cè)試 accuracy 停滯在 30%遠(yuǎn)低于訓(xùn)練 accuracy70%原因未對(duì)輸入做灰度歸一化或歸一化方式錯(cuò)誤如只除以 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)都對(duì)應(yīng)一個(gè)可驗(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à)值一半在結(jié)果一半在過程。當(dāng)accuracy68%時(shí)你該問它靠什么判別是眼睛間距還是嘴角弧度我們通過三種可視化把黑匣子打開一條縫。5.1 隱層權(quán)重?zé)崃D看“神經(jīng)元在找什么”隱層每個(gè)節(jié)點(diǎn)64 個(gè)對(duì)應(yīng)一個(gè) 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 個(gè)隱層神經(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)置 # 簡(jiǎ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)元對(duì)這部分像素“興奮”正權(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 降維后測(cè)試特征 (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 低說明模型“寧可漏判也不錯(cuò)判”反之若 recall 高 precision 低說明模型“寧可錯(cuò)判也不漏判”。這直接反映 BP 網(wǎng)絡(luò)對(duì)各類別的信心分布。5.3 單圖預(yù)測(cè)調(diào)試輸入一張圖看每層輸出這是最硬核的驗(yàn)證。選一張測(cè)試圖打印從原始像素 → 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)試價(jià)值當(dāng)預(yù)測(cè)錯(cuò)誤時(shí)看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 類易過擬合。一個(gè)實(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 萬張人臉先擬合一個(gè)通用人臉 PCA 空間再在 LFW 上微調(diào) BP 網(wǎng)絡(luò)。這樣128 維特征不再針對(duì) 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))效果對(duì)比在 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ò)初期需要大步長(zhǎng)探索后期需小步長(zhǎng)精調(diào)。簡(jiǎn)單實(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í)測(cè)在 LFW 上相比固定 lr0.01衰減策略使最終 accuracy 提升 3~4 個(gè)百分點(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 針對(duì) ReLU 的“半線性”特性設(shè)計(jì)保證前向信號(hào)方差穩(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 上跑出第一個(gè) 60% accuracy你會(huì)明白那些教科書里的“反向傳播”、“梯度下降”不再是抽象符號(hào)而是你鍵盤敲出的真實(shí)電流。這感覺比調(diào)通一個(gè)預(yù)訓(xùn)練本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人妻熟女一区二区三区在线| 国产综合网站在线播放 | 日本大香蕉| 亚洲天堂电影网99999| 日产欧美电影一区二区三区| 99热这里是精品| 日产123区精品免费观看| 91丝袜在线播放| 欧美大香蕉专区网| 天综合网欧美| 亚洲暴力强奸AV| 男生女生啊啊啊啊| 亚洲综合网电影91| 国产精品久久久久婷婷二区次| 一级特黄aaa大片在线观看成人一级片在线观看| 91九色网| 69精品| 午夜美女福利视频| www.zbzhongsen.com| 99热8| 涩涩涩综合| 人妻出轨一区二区三区| 操b在线观看| 江都AV在线| 久草午夜| 日韩欧美视频青青| 精品欧美乱码久| 五月婷婷爱六月丁香色| 丝袜美腿91| 成人免费福利网站国产| 夜夜久久| 国产精品久久久久久久毛片1| 后入内射蜜桃臀| 国产内射爽爽大片| 成人精品欧洲亚洲| 日韩中文9| 女人18精品一区二区三区| 欧美日韩性爱无码| 九九五月天| 黑人操一区二区| 精品传媒在线一区| 日韩精品啪啪啪| 99色在线| 麻豆精品天美| 日韩 欧美 国产 麻豆| 欧美国产欧美在线观看| 精品无码一区二区人妻久久蜜桃| 丁香五月综合| 久久久啊啊啊| 免费观看欧美日韩操逼视频| 国产一区自拍欧美日韩| 人人九九精| 欧美成va视频网站| 蜜汁欧美| 安徽熟妇视频| 69精品久久久久中文字幕| 五十路成人在线视频二区三区| 国产 丝袜 欧美中文 另类| 天天在线91| 日本三级大片| 人人操,人人插| 啊啊啊啊啊啊好湿好爽视频| 五月丁香综合激情| 亚洲 无码 偷拍| 日本一区不卡| 校园春色美腿丝袜| 国产五码丝袜屁眼| 九九综合| 亚洲精品乱码线路中文字幕| 久久久久深夜无码| 99啪| 欧美精品四区| 国产AV久久久蜜爱影集| 国产91av在线播放| 欧美偷| 色第一页| 国产剧情一区在线观看| 国产女性无套 免费观看| 久久久91| 天天拍天| 啊嗯好大视频在线观看| 8x福利精品第一福利视频导航| 欧美第二页午夜| 五月丁香久久| 日本五十路熟女一区二区| 欧美写真视频一区| 日韩精品9区| 亚洲精品99| 操逼日韩无码 | 蜜乳AV网址| 爱爱动态120秒| 国产精品久久久久久久电影渣男| 91欧美综合| 九九九九九九视频| 91人妻丝袜无码| 九九拍拍精品视频在线播放 | 超碰97人妻| 啊啊啊啊,啊啊好多水| 欧美高潮在线| 另类综合另类| 男人的天堂不卡一区二区| 日本东京热加勒比久久| 99久久精品欧美国产| 综合亚洲网| 日韩精品人妻中文字幕久久久| 中文字幕高清20页视频| 大香蕉乱伦视频网| 91艹B视频| 精品国产一区二区三区四区在线看| 清纯唯美亚洲另类| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 飘花国产午夜精品不卡| 精品国产乱码久久久久久蜜臀| 美熟女逼导航AV操逼| 超碰 97国产熟女| 久久久久久精品免费看A级| 麻豆国产精品午夜视频| 久久久久国产精品久久久| 天天干夜夜鈤| 91精品操美女| 丰满人妻-区二区三区免费看| 午夜精品人妻二区三区| 国产精品久久久久久夜夜夜夜| 香蕉一区二区三区在线视频| 欧美91在线+|+欧美| 成人熟女视频一区二区三区| 婷婷五月色| 中字乱伦AV| 国产成人手机视频激情| 麻豆国产精品午夜视频| 日本性爱欧美性爱| 亚洲好看强奸乱伦| 亚洲欧美综合区自拍另类| 丰满人妻一区二区三区性色| 26uuu性物| 国产超碰人人爽人人做| 亚洲一区中文字幕一区| 亚洲精品乱码久久久久久蜜桃麻豆 | 日韩AV片| 玖玖蜜臀资源网| 91欧美长吊| 青青草吊丝| 婷婷五月天激情四射| 91视频女生| 激情婷婷黑人91| 91bbbbbb| 人人贴人人摸| 亚洲色色探花| 99自拍视频在线| 97超碰色五月| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91色插| 综合 亚洲 欧美| 日本人体九九九九九九| AV天堂国产| 岛国片在线播放| 国产无马视频| 亚洲第一综合| 偷窥自拍亚洲色图| 亚洲天堂美臀在线| 正宗无毛一线天嫩逼| 亚洲 欧美 第一页| 久久久久久久九九九九九九| 亚洲精品美女久久久久久久久| 抽插无码高清一区| 一个人在线看的黄色电影网站| 欧美白嫩在线放| 91 亚洲情侣偷拍 久久| 日韩熟女精一区二区三区不卡| 精品九九九九九九| 国产日韩欧美中文在线播放 | 亚洲成人福利电影免费| 丁香五月激情婷婷| 日本女厕偷拍| 精品国产a∨一区天美传媒| 成人性交午夜免费片| 2017大香蕉| 婷婷午夜成人色中色| 欧美中出1| 亚洲天堂男人在线| 亚洲天天影视色综合| 懂色AV网| 在线色导航| 伊人五月天| 亚洲中文字幕妇伦久久| 久久一本大香蕉| 少妇天堂| www欧美性爱| 97精品国产97久久久久久免费| 91在线/欧洲| 欧美精品激情| 两女互慰AV高潮喷水在线观看| 国产女性无套 免费观看| 亚洲精品久| 蜜桃视频精品一区二区三区| 丰满人妻-区二区三区免费看 | 深夜国产一区二区三区在线看| 377p欧洲日本亚洲大胆| 亚洲不卡AV在线| 色www精品视频在线观看| 美女91| 国模艳艳啪啪一区| 欧美少妇大量自拍视频在线观看| 麻豆天美AV传媒第一页| 色操逼网| 国内黄色精品| 欧洲性爱无码区| 亚洲精品亚洲人成在线麻豆| 九一综合精品视品av| 99热一区二区三区四区| 偷拍自拍在线视频观看| 鸥美插入视频| 三级精品三级在线观看| 狠狠中文字幕| 国产成人啪一区二区| 日韩中文字幕视频| 九一屌逼| AAAA级日本片免费视频| 高清不卡视频| 欧美双插| 蜜臀少妇一区二区| 性天堂| 性爱1区| 国产自偷| 草莓精品视频| 人妻内射一区二区在线视频| 中文字幕一区二区韩| 久九干| 国产偷人妻精品一区二区在线| av毛片aaaaa免费看| 成人综合色网| 天天色图| 蜜臀亚洲中文| 手机午夜电影神马久久| 麻豆人妻少妇在线免费观看| 天天上日日上日韩精品| 91 在线亚洲| 91爱| 国产伦精品免编号公布| 久久97精品久久久久久久不卡| 麻豆这里只有精品| 久久久久久久久久久精| 欧美日产国产在线成人第一区| 欧亚第一综合网| 69XX一中文字幕人妻91| 日本一级一级一级一级| 欧美性91| 亚洲天堂人妻一区二区| 精品人妻视频入口| 久久99草| 日本午夜精品理论片A级APP发布| 综合亚州欧美| 天天日少妇逼AV| 中文久久久| 美女啊啊啊啊pc| 2024黄色视频| 国产精品午夜成人福利| 嗯啊视频免费在线观看| 超碰久久综合| 五月天激情网图片| 久久一二三四| 欧美色图私拍91| 欧美一区二区三区另类精品| 殴美色网| 中文字幕91综合| 黄色视频60分钟| 9精品久久| 又大又长又粗又爽又黄| 中文字幕欧美精品亚洲日韩蜜臀| 色婷婷综合视频| 操屄日韩| 欧美性视频二区三区| 怡红院一区二区熟女人妻| 国产丝袜啪啪| 麻豆天美制片厂网站视频| 欧美探花网| 日韩天天综合| 日韩二级| 人看人人摸人人操| 日韩兔费看黄片| 国产青视频| 入口操逼网站| 精品熟女呻吟久久91| 老师充足的奶水小说| 亚州一区二区成人片免费| 香港久久久| 亚欧美天堂在线| 亚洲成人av电影在线| 老司机香蕉久久久久| 人人澡人人爽人人精品| 乱伦3P视频| 2023天天操夜夜操| 91老熟女91老女人| 青青草啪啪网| 67194无码不卡| 久久久久久久国产视频| 狠狠91| 一区二区亚州激情久婷婷欧美 | 大香蕉碰| 精品一啪| 国产成人精品必看 | 九九九久久久| 男人天堂无码| 精品无码人妻一区二区免费蜜桃| 日本精品一区三区| 人妻人人做人人澡人人爽欧美一区| 欧美激情区| 欧美一区二区成人一卡| 欧美另类色| 亚洲啪啪性视频| 日韩簧片免费看| 精品一区二区三区丰满熟女-亚洲欧美一区| 国产丰满熟夫69mpp| 一区在线观看中文字幕| 国产黄色av大片网站| 福利视频香蕉免费一区二区在线| 色97欧美| 超碰一区二区| 少妇69中文| 久久久久9| 国产精品一级特黄aaa大片在线观看| 午夜一区| 另类欧美色| 伊人午夜福利视频| 美女黄码视频午夜| 久久久久亚洲精品| 无码欧美有限公司| 成人短视频在线观看| 日本色色色色色视频| 最新无码国产| 18禁无码永久免费无限制| 火箭成精品视频884必出精品| 亚洲熟妇AV日韩熟妇在线| 天天天天天天天天综合| 一二三啪啪专区| 欧洲色色| 中文字幕精品一区二区精品| 欧美一区二区三区日韩| 精品人体无圣光凹凸| 高清无码久操视频| 操逼网站网站| 久久精品久久九九精品| 99亚洲精品| 麻豆精品三区视频| 91欧| 国产一区二区在线播放量| 亚洲高清91| 91痴汉| 欧美草草高清日韩视频| 99精品综合久久久久五月天| 99精品伊人| 9 7超碰在线免费观看| 18精品一区| 大香蕉手机在线视频| 99综合| 91九九| 日本免费中文一区二区三区四区| 久久五月婷| 伊人991| 欧美青青视频| 综合一区中亚洲国产成人综合精品| 伊人网综合在线视频| 免费操逼91| 欧美性xxxxx狂欢| 欧差乱伦二三| 亚洲精品三区在线观看| 欧美性爱1080p| 欧美日韩国产中文精品字幕自在自线 | 色一射色一射| 日韩人成网站在线播放| 亚洲精品aa久久伊人| 久操不卡视频| 长长久久曰曰夜夜成人网| 国产后入精品| 欧美情色男人的天堂| 嫩草影院永久在线制服丝袜| 在线 欧美 亚洲| 亚洲色图日韩丝袜制服一区二区五月在线| 清纯唯美综合| 成人av性爱电影在线观看| 狠狠操,使劲操| 综合久久97| 亚洲av综合色区图片亚洲| 男人a天堂手机在线版| 日韩中文字幕二区| 久久久久久夜夜夜夜夜| 91亚洲欧美色图| 1204人成网站色www| 久久久久久久久久久久色网| 超碰97亚洲| 久久无码一区二区二三区性色| 欧美天天干| 五月丁香激情综合网| 操狠狠| 久久亚洲不卡一区二区三区| 东京热,男人的天堂| 国产 日韩,欧美 自拍| 国产精品999zyz| 激情综合五| 日韩精品人妻中文字幕有码午| 智利AV在线网| 亚洲欧美日韩激情不卡| 午夜精品五区| 国产偷仑| 欧美综合亚洲综合| 日韩AC| 国语人妻精彩刺激| 无毛精品| 国产黄色在线播放观看| JULIA一区二区三区在线播放| 少妇与黑人高潮在线| 美国三级日本三级久久99| 欧美亚洲图片| 毛片电影一区二区三区| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 乱伦av麻豆| 乱精品一区字幕二区| 日本中文字幕一区| av网站免费看| 亚洲精品 大香蕉| 日韩av电影网站| 亚洲影院无码在线| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 乱伦强奸区日韩| 激情干在线| 草久久久| 99免费在线视频| 日本女优在线视频福利| 欧美嗯啊……在线观看视频免费| 欧美自拍网| 欧美黄片免费在线观看视频| 久久九七| 伊人热综合| 99在线精品视频| 超碰 欧美| 久久大线蕉一区| 天堂无码| 激情综合五月丁香| 精品一区99999| 中文字幕福利视频一区二区三区在线观看| 天天天天做夜夜夜夜做| 福利视频香蕉免费一区二区在线| 91无码中出人妻视频| 啊啊啊好疼| 人人玩人人添人人澡免费| 成年女人一区| 丰满人妻一区二区三区免费 | 在线不欧美| 欧美在线干| 日韩电影天堂视频一区二区| a一区二区三区乱码在线| 亚洲欧洲美腿丝袜| 综合伊人网12色| 在线观看一卡二卡| 国产精品噜噜噜日日日| 男人的天堂2019AV| 91综合站| 蜜臀在线免费观看在线免费观看| 97免费在线| 国产精品久久久亚洲一区| 97超碰美女| 色女女女导航| 国产精品一二三区18| 精品免费一区二区三区在线亚洲人成| 久草加勒比一区在线| 97人妻色| 91AV入口| 五月婷婷hd| 欧美日韩日产免费网站看| 亚洲欧美setu| 黄色小视频日本txt| 97视频新免费| 韩国一级婬片A片AAAAA| 亚欧Av| 热久久无毒不卡| 啪啪91| 天久久久噜噜噜久久国产精品爽爽| 动漫爆乳3D奶水一区在线观看| 久久久久女教师免费一区| 超碰人人在线| 国产拍偷精品网站| 日日黄色三级网站| blacked精品一区国产| 亚洲双插| 极品五月天噜噜| 男女做爰猛烈动高潮A片免费应用| 超碰97玖玖爱| 在线观看亚洲专区| 欧美激情视频一区二区| 亚洲蜜臀懂色| 免费一级视频特黄色大片| 欧美精品黑人猛交高潮| 超碰天天久久79| 亚洲第2页| 超碰色97| 97色冈| 亚洲精品白浆高清久久久久久| 97视频900| 婷婷丁香五月激情啪啪| 国产内射爽爽大片| 国产青视频| 免费看久久久性性| 亚洲图片欧美| 97视频新免费| 丝袜熟女2P| 91操人| 校园春色亚洲色图| 另类av天堂| 三级片网站在线播放| 综合网亚洲| 中文在线视频| 日本不卡高清免v欧美日韩在线观看| 另类小说综合网| 欧洲精品二区| 男人精品天堂一区| 九九久久一区二区三区| 国产成人精品日本亚洲语言 | 九九九九精| 亚洲不卡不卡中文字幕不卡| 国产又色又爽又舒服的三级视频| 日韩免费一级性爱视频| 天天躁日日躁狠狠狠躁| 久久精9| 国产精品一区二区黄片| 国产一区二区三区视频在线看| 人妻熟妇一区二区三区| 色娱乐色呦呦夜夜夜夜av| av中文字幕在线熟女| 国产乱色国产精品免费视| 天天噜| 久久风骚城市| 欲女人妻性色av| 欧美日韩性感| 麻豆这里只有精品| 日本视频在线观看污污污| 91情色| 蜜臀网 一区| 中文字幕一品色图| 亚洲aw毛茸茸在线| 伊人成人中文字幕久久网| 精品人妻一区| 天天干人人干天天日97| 18禁看网站一区| 92久久| 久操免费视频| 超碰一区二区| 天综合网欧美| 久久夜嗨| 绑缚麻绳人妻寝取完整版| 青青草密桃在线播放| 在线观看综合精品亚洲| 久久99午夜精品一区人妻| 色欲Av人妻精品一区二| 一级性爱视频免费在线| 99re在线| 青青草原香蕉日本Ap| 欧美性五月| 色偷偷男人的天堂麻豆| 劲爆欧美人妖三区91| www.男人天堂| 操淫穴亚洲五月丁香| 青青青青草av在线观看| 日韩伦理久 久久 清纯| 福利风月五月天影院| 超碰人人妻| 精品少妇后入一区二区三区四区人妻巨乳| 99久久综合| 岛国在线一区二区三区| 欧美十八禁网站| xxx0国产在线播放| 欧美成人一级免费电影| 欧美日本国产日韩激情视频| 午夜福利视频在线一区| 久久久久九九九| 手机看片1025| 大香蕉啪啪啪| 久久熟女人| 日本一区二区三区欧美日韩中文字幕| 欧美中文字幕一区| 亚洲色图a| 久久久av爱| 欧洲亚洲人妻无码中字久久三区四区| 美女裸体麻豆天美蜜桃91| 日韩三级网址| 色色综合97| 亚洲精品久久一区二区三区蜜桃臀| 激情露脸爱| 婷婷五月丁香五月| 91N欧美| 午夜丁香婷婷| 国产13区| 91天美传媒在线观看| 91欧美巨乳| 久久久555| 狠狠久久手机视频精品| 北约熟女超碰| 国产男女无套视频免费观看| 亚洲国产第一页综合视频| 午夜精品一区二区三区三上悠亚| 啊啊啊好湿久久| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 欧美中文字幕精品人妻| 亚洲精品一区二区精品| 乱欲一区二区| 蜜桃久久一区二区三区| 日韩AV色图| 综合av影片| 青青五月天| 曰韩人妻中文字幕在线| 无码WWW免费视频网站| 五月丁香啪啪网| 97这里都是精品| 国产一区二区三区,在线观看观看| 综合网亚洲1| 欧洲在线性爱视频| 亚乱色| 99国内精品| 亚欧美综合网。| 一本久道久久综合狠狠爱一密臀精| 中文一区二区三区影院| 欧美日本中字另类在线| 天天日日夜夜| 日本淫穴在线| 亚洲欧美不卡线| 亚洲第2页| 亚洲一二三精品久久网| 日日玩天天干| 色视频蜜乳| 婷婷久久综合| 欧美精品久久| 看免费一级在线播放毛片| 亚洲国产欧美中日韩成人综合视频| 国产丝袜美女诱惑| 免费男人的天堂| 91亚洲色人| 操操啪| 伊人 俄罗斯 a v| 视频不卡中文字幕| 竹菊影视国产一区二区| 97日视频| 国产白丝精品在线观看| 九九亚洲视频| 男人网站婷婷| 午夜国产成人精品视频| 开心五月深爱五月| 99在线啪| 国产精品美女在线一区| 国产精品女同| 91n欧美| 睡产熟女乱伦| 国产精品视频在线播放 | 免费人成在线观看网站品爱网| 色999五月色| laoshunv91| 欧美不卡在线一区二区| 欧美1727免费观看视频| 午夜操一视频一区| 国产三级多多影院2022国产AA一级毛片无码| 国产又黄又猛又粗又爽的网站| 粉嫩久久久极品| 亚洲色图欧美激情| 夂久色| 国内外毛片在线观看| www..com操老师| 久久111| 欧美一区二区三区互相| 国产在线不卡导航| 九九九九热| 激情开心五月天| 亚洲图片视频小说| 色婷婷九月| 人妻天天爽夜夜爽2| 亚洲精品人妻在线| 99www.bibizy香蕉资源国产一区二区三区高清 | 99999久久久久9国产精品| 亚洲欧美在线丝袜| 色婷婷电影网| 精品久久久久综合无码| 亚洲成人网站在线观看| 91天堂| 丁香五月成人| 欧美色图91| 久久久一级| 91性高| 熟女人妇一区二区三区| 夜夜免费视频| 国产成人无码网站在线视频| 少妇高潮喷水无套久久久久久| 福利在线黄片| 麻豆一区二区三区在线看| AV中文在线| 亚洲少妇视频| 中文字幕av色| 秋霞一级鲁丝片A片| 欧美性后入| 精品人妻中文字幕4399| 成熟熟女国产精品一区二区| 亚洲古典另类欧美在线| 果冻传媒A片一二三区| 婷婷久久五月| 色汉综合| 亚洲情色在线| 日本国产高清色www视频在线| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 亚洲 日韩 欧美 国产综合体| 亚洲欧美清纯| 曰本精品久久久| 911av网站免费观看| 少好三P| 五月大香蕉| 欧美色www亚洲国产阿娇要播| 一区二区三区四区久久视1| 99久久久久久久久| 超碰久超碰久| 久久水蜜臀亚洲AV无码精品| 家庭乱伦国产精品| 天天激色| 九九色综合| 日韩一区二区精彩视频| 天天插天天操天天摸天天射天天看| 人妻熟女av国产网站| 久久精品超碰| 国产乱码精品久久久久久| 欧美成人一级免费电影| 欧美日韩资源| 夜夜福利| 亚洲熟女中文字幕在线| 少妇久久久| 欧美少妇色综合| 六月丁香网| 性久久久| 国产suv一区二区三区6| av情色影音| 爱我干综合| 亚洲 无码 偷拍| 亚洲91射| 91撸色网 玖玖网 欧美| 狠狠操狠狠爱| 在线观看无码三级少妇| 国产精品噜噜噜日日日| 97视频www| 野狼激情网| 婷婷中文网| 色综合av综合久久| 欧美日韩小说| 国产精品不卡一区二区三区| 欧洲色| A片 AV一级在线播放观看免费| 91天美| 色天天野狼综合社区| xxx亚洲午夜天堂| 91久久久久久久| 最新国内自拍av免费| 97干在线视频| 91精品国产乱码| 性色乱AV一区二区| 99操逼| www.久久最新地址| 免费观看成人www精品视频| 欧美激情色婷婷花野真衣一区二区| 激情丁香五月| 国产av美女被艹的乱叫| 日本三级A片网站com| 91老司机在线| 欲色综合| 蜜桃精品一区二区三区久在线| 中文字幕少妇色 | 亚洲色性| 五月天亚洲网| 日日A∨| 欧美爆操91| 天天干一干| 偷窥自拍亚洲天堂网爆| 国产精品无码久久久久2025| 超碰免费人妻人人| 伊人网高清| 色图四区| 精品少妇一区二区| 在线电影亚洲色图| 日韩久草| 老熟妇一区二区三区| 欧美少妇性乱| av东京热男人的天堂| 国产美脚女优尤物在线观看| 97午夜剧场日韩| 天天干天天拍| 超碰人人妻| 五月丁香色婷婷| 国产精品自拍欧美在线| 日日摸夜夜夜夜爽| 少妇一区二区三区| 97亚洲综合| 少妇久久久久久| 天天综合网91| 中文字幕乱码在线| www国产无码| 九九九九九九视频免费| 久久超碰网| 天天综合中文字幕 91| 伊人骚琪琪亚洲天堂网站| 在线视频资源| 超碰97护士| 激情小说在线视频| av一区二区三区不卡| 免费看片黄| 强奸乱伦AV网址| 久久精品熟女亚洲AV麻豆软件| yazhouzaixian| 乱人乱色一区二区三区免费| 久久久无码精品人妻二区| 人妻第一页| suv精产一二三区| 91天天| 欧美日韩国产成人高清| 国产美女在线精品免费看| 三级日韩一区二区三区| 国产成人自拍视频视频| 国产一区二区三区白丝| 国产又大又硬又长又粗| 日本精品第一视频在'| 大香交伊人网| 色综合中文字幕不卡| 欧美色图成人网一区二区| 91黑丝美女| 日日嗷| 黑人在线91| 成人性爱免费播放| 成人麻豆av电影网站| 日韩免费看黄片| 九九aV| 天天干2019| 97综合国产精品高潮久久| 中文字幕第23区| 密臀成人视频久久久| 91色宗合| 无码外流操逼视频| 欧美色综合影院| 国产乱码久久| 91老熟女老女人国产老太| 男人的天堂久久狠| 久久无码精品| 国产精品爱欲| 色99视频| 天堂麻豆天美| 蜜臀久久99精品久久久久电影| 97超碰欧美中文字幕| 日韩性爱1级片视频| 天天日天天干天天整| 91亚洲精品青草| 98精品国产乱码久久久久久| 老熟女综合网| 亚洲国产一级黄色视频| 免费A V在线播放| 亚洲男人天堂Av| 欧美97视频| 久热伊人| 亚洲精品人妻在线| 五月丁香| 九九人妻| 亚洲爽图| 国产激情综合五月久久| 午夜天堂精品久久| 久久女人| 欧美中文字幕日韩在线| 亚洲成人网站在线观看| 亚洲最大黄网| 99精品九九九九九九| 中文字幕蜜乳av| 亚洲精品精品一区二区| 97资源制服丝袜| 青青草一区二区三区四| 欧美色涩| 日韩女模中文造逼| 青青草字幕AV| 屁股久久久久久久| 中文字幕日本久久| 久久骚少妇| 天天看天天日天天操| 5278欧美一区二区三区| 日韩激情视频| 亚洲在线91| 色香色欲天天综合网天天来吧| 无码一区二区三区四区五区六区七区八区九区十区视频 | 五月天亚洲网| 国产精品午夜福利亚洲综合网| 色婷婷丁香五月天| 久久久久久久久久久久黄色| 久久久久久九九九| 丁香五月婷婷基地| 亚洲黄a三级三级三级看三级| 成人一二| 日本三级韩三级99久久| 精品超碰色| 做爱A级亚欧| 久草婷婷| 亚洲无码 国产无码| 伊人AAA| 亚欧美无遮挡| 成人免费在线网站| 9精品在线| 综合国产影视三级| 97免费在线视频在线观看| 九九热国产| 国产 亚洲 丝袜 制服| 亚洲美女 晚间男人天堂 | 伊人色综合网电影| 91日日夜夜| 青娱乐福利99| 97碰| 另类图片五月| 精品国产乱码久久久久久蜜臀| 9久热| 国产精品午夜福利| 狼人久草| 风间由美日韩欧美久久| www.超碰在线| 97ai亚洲| 伊人AAA| 91 天天综合| AV 少妇 人妻 偷拍| 国产精品农村妇女精品| 国产成人网址| 情色五月天就去干| 亚洲天堂久久| 亚洲自拍97| 狠狠欧美| 搡老熟女免费视频| 人人操天天爽| 国产超碰AV在线精品| 青青操少妇| 亚洲精品尤物yw在线影院| 欧美日韩国产电影| 午夜爽爽爽在线观看永久入口姬片| 怡红院成人av| 久久AV无码网址| 色香综合天天影视综合 | 嗯嗯啊中文字幕| 黄色无码高清黄色无码网站| 一区二区三区网站日日骚| 欧美精品精品一区二区| 96爱综合| 黄色免费网页无码| 91在线丝袜| 黑丝少妇在线观看| 思思热一热婷婷热一热| 黄色av网站在线播放| 成人精品视频一区二区| 亚洲 自拍偷拍 欧美| 人妻激情在线视频| 97最新在线播放视频| 美欧色综合| 日韩精品三区四区| 久久精品欧美一区二区三区不卡| 青青青艹在线视频| 国内三级自拍小视频在线观看| 91宗合网| 久久精品天美| 国产精品探花视频| 啊啊啊久久| 中文字幕一区 二区三四五 区日 日骚 | 麻豆天美一区二区| 久久久久七视频| 五月丁香黄色网| 人人摸人人舔一区二区| 人妻啊啊人妻啊啊| 九九精品无码专区免费| 日韩专区久久久| 久久麻豆一区二区| 大香交伊人网| 精品人妻视频一区二区在线播放| 久久激情五月| 大屁股人妻女教师撅着屁股| 青草影院内射高潮| 先锋精品av色鲁| 69av一区二区三区| 伊人久大| 91女网站| 激情五月天丁香社区| 26UUU欧美日本| 天天操天天日青青草超碰av| 中文字幕二区日韩天堂| 国产中文大片资源中文字幕| 日日躁夜夜躁狠狠躁超爽| 黄网站黄视频网站进入口| 婷婷久久五月天| 欧美性生活男人的天堂| 97中文字幕九区| 99热精品在线| 国产亚洲女v在线观看| 丝袜足交视频| 东北女人操比视频| 久久熟女人| 性色av网站| 婷婷伊人五月| 欧美日韩制服| 一二三四视频在线社区中文字幕| 天堂蜜桃无码视频一区二区| 91人妻做a观看视频| 亚洲人妻在线精品| 国产又长又大又粗的视频| 97 超碰 人人做 人人爱| 色婷婷网| 亚洲一卡2卡3卡4卡乱码网站 | 亚洲脚交| 超碰碰激情97+久| 天美传媒国产原创中文字幕亚洲欧美另类 | www.AV有限公司一区| 久久久久精| av大香蕉| 久久高清欧美国产| 人人看人人爰人人操| 婷婷综合伊人一区| 超碰吊日色| 亚洲天堂日本| 亚洲人妖网| 色婷婷蜜臀av| 天综合中文| 国产亚洲色婷婷久久99精品91| 国产精品女生av| 亚洲啪啪视频免费| 激情欧美97| 撸无码不卡免费视频| 女人天堂AV五区在线| 五月激情综合网| 综合久久中文字幕综合日韩精品| 高清无码在线播放网站| 亚洲国产精品无码AV久久久| 亚洲男人天堂AV| 欧美色另类| 久久九精品| 日本99一区二区| 91国产大片| 日韩一区二区熟女| 欧美成不卡网| 欧美另类色图片| 蜜臀少妇一区二区| 天天色综亚洲91污| 91在线精品| 午夜黄色免费在线观看| 国产成人欧美一区二区三区的国产| 国产AAAAAABBBBB| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 欧美性91| 国产9熟妇视频网站| 9.1小视频| 综合五月天| 日日干日日摸| 亚洲性高潮| 国产免费一区| 亚洲素人综合| 91久久国产精品| 桑老女人九区| 密臀在线一区尤物| 人妻丝袜一区二区三区在线| 国产精品一区二区三区免费视频| 校园春色亚洲色图| 国产精品视频在线观看| 国产精品久久久久久久久久久久| 99999re| 亚欧无码线免费观看视频| 久操精品| 久久精品人人做人人看| av天堂精品久久| 操逼操逼视频操逼| 欧美日韩国产色图在线| 午夜精品久久久久久久99蜜桃一| 久久九九网| 粉嫩国产精品久久粉嫩| 欧美不卡在线美女| av午夜玫瑰| 天天看高清麻豆| 亚洲的天堂网| 超碰在线人妻不卡| 久久啊啊啊视频| 四虎在线观看网站| 很很很很操| 啊啊啊好疼| 91M一社| 中文乱码字字幕在线第5页| 91av熟女人妻| 加勒比在线视频一区二区三区| 欧美亚洲中文字幕| 女优视频第10页| 亚州精品丝袜-不卡成人免费| 黄色不卡视频| 青青操日韩| 国产精品一区二区a| 中国一级操逼视频| 亚洲图片偷拍视频区| 色噜噜综合在线| 欧美 日韩 另类 亚洲| 在线啊啊啊| 欧美激情专区| 亚洲国产一区二区入口| 色就色综合| 亚洲成人在线播放| 99蜜桃臀亚洲成人在线观看| 玖玖超碰熟| 久久精品国产亚洲AV清纯| 日韩国产乱子伦App| 99热最新网址| 蜜桃精品视频一区| 一本一道久久综合久久| 欧美日韩在线视频网站| 国产一级黄色片在线观看| 小少妇| 98超碰日本| 五月天伊人网| 亚洲乱伦图片视频| 91婷婷伊人狠人| 狠狠躁天天躁日日躁| 久久粉色| 亚洲欧美日韩制服另类| 久久激情亚洲精品无码?V| 97亚洲性爱| 久久美国毛片| 五月天婷婷在线看| 精品国产精品一区二区| 性色高清在线| 91熟女网| 人妻精品免费一二三区| 色99视频| 亚洲日韩久久精品一区| 美欧色综合| 日韩精品在线观看观看| 色色国产| 激情四射五月天| 欧洲性爱无码区| 日本一级一级一级一级| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 国产高清1234区| 天堂综合| 欧美亚洲素人制服精品| 国产精品久久久亚洲一区| 日韩中文9| 啪啪啪东京| 97亚洲一区| 亚洲色图日韩丝袜制服一区二区五月在线 | 丁香五月社区| 91久久国外网| 香蕉黄色一级视频| 操九九九九九九| 久久久久久人| 肉嘟嘟www视频在线观看高清| 亚洲永久永久永久永久一级一级一级精品| 亚洲第一页色网| 视频分类 国内精品| 九九热精品| 蜜臀99久久精品久久久久久| 艾草av| 亚洲操逼无码| 日欧毛片久久| 一级性爱视频免费在线| 亚洲.欧美.丝袜.中文.综合| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 欧美亚男人的天堂| 亚洲天堂一二| 久久久 国产精品| 四虎在线播放| 操逼大黄片|