久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Batch Normalization原理與工程實(shí)踐:從訓(xùn)練到推理的完整指南

Batch Normalization原理與工程實(shí)踐:從訓(xùn)練到推理的完整指南 Batch Normalization這個技術(shù)我從2015年它被提出時就開始在項目里用了到現(xiàn)在快十年說它是過去十年深度學(xué)習(xí)訓(xùn)練里最“潤物細(xì)無聲”的改進(jìn)之一一點(diǎn)都不夸張。今天這篇不是教科書式復(fù)述論文而是結(jié)合我這些年真正在圖像分類、目標(biāo)檢測、語義分割等多個項目里反復(fù)調(diào)參、踩坑、驗證后的理解把Batch Normalization從原理到工程實(shí)現(xiàn)再到各種坑完整地拆一遍。適合剛接觸深度學(xué)習(xí)、只會調(diào)包不太懂原理的入門者也適合已經(jīng)用過一段時間但總在某些邊界場景下翻車的中級開發(fā)者甚至對老手來說后面關(guān)于BN在推理階段和遷移學(xué)習(xí)里的坑也可能幫你解釋一些之前“明明訓(xùn)練很好但測試就是崩了”的詭異現(xiàn)象。1. 為什么需要Batch Normalization從訓(xùn)練困境說起1.1 沒有BN時深層網(wǎng)絡(luò)為什么難訓(xùn)2015年之前訓(xùn)練一個深度卷積網(wǎng)絡(luò)是件非常“看臉”的事。網(wǎng)絡(luò)層數(shù)一旦加深訓(xùn)練過程就會變得極其脆弱你精心調(diào)好的學(xué)習(xí)率在某一層可能剛剛好到另一層就變成了發(fā)散或死寂。根源在于數(shù)據(jù)在網(wǎng)絡(luò)中一層一層流動時每一層的輸出分布都在不斷變化——前一層的參數(shù)更新了后一層收到的輸入分布就整體平移或縮放后一層就得重新去適應(yīng)這個新分布。這么反復(fù)折騰的后果就是訓(xùn)練收斂慢得讓人發(fā)瘋對初始化極其敏感學(xué)習(xí)率稍微調(diào)大一點(diǎn)就梯度爆炸或者產(chǎn)生NaN。我記得早期做某個圖像分類Demo時換一個初始化種子同樣的代碼、同樣的超參數(shù)訓(xùn)練曲線能差出一大截。這種不確定性讓實(shí)驗對比變得非常困難——你沒法判斷模型效果的差異是來自算法改進(jìn)還是單純因為這次初始化運(yùn)氣好。一個直覺的解決思路是手工做數(shù)據(jù)標(biāo)準(zhǔn)化把輸入圖像的像素除以255或者做Z-score標(biāo)準(zhǔn)化。但這樣的標(biāo)準(zhǔn)化只在網(wǎng)絡(luò)入口做了一次網(wǎng)絡(luò)中間層照樣是“野路子”沒有任何約束每層的激活值分布依舊會隨著訓(xùn)練漂移。問題不在入口而在深層網(wǎng)絡(luò)內(nèi)部。1.2 “內(nèi)部協(xié)變量偏移”到底怎么理解論文里對BN動機(jī)的表述是“Internal Covariate Shift”中文翻譯成“內(nèi)部協(xié)變量偏移”。這個術(shù)語看著唬人其實(shí)理解起來并不難。協(xié)變量偏移原本是統(tǒng)計學(xué)里的概念訓(xùn)練數(shù)據(jù)的輸入分布跟測試數(shù)據(jù)的輸入分布不一致。而“內(nèi)部”協(xié)變量偏移指的就是神經(jīng)網(wǎng)絡(luò)內(nèi)部每一層的輸入分布在訓(xùn)練過程中隨著前面層數(shù)參數(shù)的更新而不斷變化。我習(xí)慣用一個類比來理解假設(shè)你要訓(xùn)練一批工人完成流水線作業(yè)每個工位只處理上一工位傳來的零件。上一工位的操作不穩(wěn)定零件時大時小、時歪時正下一工位就不得不花費(fèi)大量精力去適應(yīng)這些“變形零件”真正用在打磨自己工序上的精力就變少了。BN做的事情就是在每個工位入口加了一臺“標(biāo)準(zhǔn)化機(jī)”不管零件進(jìn)來什么樣先統(tǒng)一成標(biāo)準(zhǔn)規(guī)格再送進(jìn)去加工。這樣每個工位只需要在自己的職責(zé)范圍內(nèi)穩(wěn)定輸出整體流水線的效率自然就上去了。更嚴(yán)謹(jǐn)?shù)卣f我們期望網(wǎng)絡(luò)在訓(xùn)練過程中每一層都只負(fù)責(zé)“學(xué)”它應(yīng)該學(xué)的東西而不是被迫去追蹤前面層參數(shù)的“余波”。BN通過在每一層入口強(qiáng)制施加一個穩(wěn)定的統(tǒng)計分布把前面層參數(shù)變化帶來的“余波”攔截在層與層之間各個層之間就實(shí)現(xiàn)了某種程度的解耦。1.3 BN真正帶來的是什么很多人以為BN只是加快了收斂速度實(shí)際上它的貢獻(xiàn)是全方位的。第一收斂速度的提升非??捎^。我自己在多個CNN項目里對比過加了BN之后通常能用原來2到5倍的學(xué)習(xí)率起步訓(xùn)練到同樣精度所需的epoch數(shù)常常能減少三分之一甚至一半。原因很簡單歸一化之后的特征尺度被約束在固定范圍梯度傳播途中不容易因為尺度問題產(chǎn)生爆炸或消失。第二對初始化不再那么“挑食”。早期的網(wǎng)絡(luò)對權(quán)重初始化非常敏感初始化小了梯度消失初始化大了梯度爆炸。BN把每一層輸出拉回到均值為0、方差為1的尺度上相當(dāng)于給初始化兜了底。過去需要小心翼翼按層數(shù)調(diào)整初始化方差現(xiàn)在用常見的初始化方式配合BN基本都能正常訓(xùn)練起來。第三它天然帶有輕微的正則化效果。因為每個batch的統(tǒng)計量都有隨機(jī)波動模型被迫學(xué)會對擾動具有一定的魯棒性這跟Dropout的機(jī)制有相似之處。實(shí)踐中能觀察到加了BN后對Dropout的依賴會下降有些結(jié)構(gòu)甚至直接去掉Dropout也能保持差不多的泛化性能。第四它讓大學(xué)習(xí)率成為可能。深層的梯度尺度與層數(shù)息息相關(guān)沒有BN時學(xué)習(xí)率稍大就會出現(xiàn)loss直接飆到幾千萬甚至NaN的慘劇。有了BN梯度的尺度被約束在合理范圍很多人訓(xùn)練新模型時習(xí)慣性地先把學(xué)習(xí)率設(shè)成0.1這在很多場景下是可行的這在BN出現(xiàn)之前簡直是自殺行為。2. 算法原理與公式逐項拆解2.1 BN的計算流程四個步驟BN在訓(xùn)練時做的事情對每一個特征維度注意是每個維度單獨(dú)處理分四步走第一步計算當(dāng)前mini-batch內(nèi)該維度的均值$$mu_B \frac{1}{m} \sum_{i1}^{m} x_i$$第二步計算當(dāng)前mini-batch內(nèi)該維度的方差。這里要用無偏估計嗎訓(xùn)練時BN用的其實(shí)是有偏方差也就是除以m而不是m-1。這一點(diǎn)跟統(tǒng)計學(xué)里的樣本方差習(xí)慣不同后面細(xì)說。第三步用均值和方差把每個樣本的該維度歸一化$$\hat{x}_i \frac{x_i - mu_B}{\sqrt{\sigma_B^2 \epsilon}}$$第四步做仿射變換把歸一化后的值從標(biāo)準(zhǔn)正態(tài)分布“放回”到一個能夠表達(dá)任意分布的形狀$$y_i \gamma \hat{x}_i \beta$$其中$\gamma$和$\beta$是可學(xué)習(xí)的參數(shù)初始值通常分別設(shè)為1和0。為什么在歸一化之后還要再學(xué)一組縮放和偏移因為如果模型本來就不需要輸入是標(biāo)準(zhǔn)正態(tài)分布強(qiáng)制標(biāo)準(zhǔn)化反而會損失表達(dá)能力。比如某層學(xué)出來的特征本來就應(yīng)該分布在0到1之間且方差很小那么通過$\gamma$和$\beta$就能幾乎還原成原來的分布。換句話說理論上網(wǎng)絡(luò)可以學(xué)會“完全不使用BN”把$\gamma$設(shè)成$\sqrt{\sigma^2\epsilon}$、$\beta$設(shè)成$\mu$就能反向恢復(fù)原始輸入。這個設(shè)計保證了BN只會增加網(wǎng)絡(luò)的表達(dá)能力不會強(qiáng)制性地削弱信息。2.2 ε、γ、β每個參數(shù)到底在干什么很多初學(xué)者對著公式會覺得參數(shù)很多、不知道每個在干嘛。這里逐個說清楚。ε是一個極小的常數(shù)常見取值是1e-5。它存在的原因非常樸素防止方差為0導(dǎo)致除以0。當(dāng)一個batch內(nèi)某個維度的取值完全相同比如全連接層后的某個神經(jīng)元輸出恒定時方差恰好為0此時不加上ε就沒有數(shù)學(xué)定義。它是數(shù)值穩(wěn)定項不是超參數(shù)幾乎沒有人去調(diào)它保持默認(rèn)足夠。γ和β則是真正的可學(xué)習(xí)參數(shù)它們跟普通權(quán)重一樣通過反向傳播更新。它們存在的意義我在2.1里講過就是恢復(fù)歸一化可能“誤傷”的表達(dá)能力。實(shí)際中我觀察過不少模型的γ在訓(xùn)練后并不會乖乖停留在1附近很多通道的γ會被學(xué)到遠(yuǎn)大于1或小于1的值這說明網(wǎng)絡(luò)確實(shí)在利用這個自由度去重新縮放各通道的重要性。這里還要澄清一個常見的誤解不少人以為BN一定會把所有激活值限制在0到某個范圍因此把它當(dāng)成一種“防止梯度消失”的固定手段。實(shí)際上經(jīng)過γ和β的仿射變換后激活值完全可能被推到很大的區(qū)間BN做得只是控制分布的形狀讓它在“標(biāo)準(zhǔn)正態(tài)”和“任意分布”之間找到一個可學(xué)習(xí)的平衡點(diǎn)。2.3 反向傳播時BN層的梯度怎么流動因為BN引入了求均值、求方差的不可微環(huán)節(jié)反向傳播時需要把梯度回傳到每個輸入樣本上。推導(dǎo)過程這里不展開只說結(jié)論性的直覺。歸一化操作$\hat{x} (x - \mu)/\sigma$在反向傳播時對每個$x_i$的梯度不僅來自于自身歸一化值的梯度還來自于對均值$\mu$的梯度貢獻(xiàn)和對方差$\sigma^2$的梯度貢獻(xiàn)。這就產(chǎn)生了一個“間接路徑”當(dāng)某一個$x_i$變化時不僅它自己的$\hat{x}_i$變了整個batch的均值和方差也會變進(jìn)而影響batch里所有其他$x_j$的歸一化結(jié)果。所以BN在反向傳播時會形成類似“同batch相互關(guān)聯(lián)”的梯度結(jié)構(gòu)。這其實(shí)也是BN“正則化效果”的一個來源每個樣本的梯度計算都隱式地依賴batch中其他樣本等于引入了一種類對比的機(jī)制。如果某個樣本是離群點(diǎn)它一方面通過自身影響梯度另一方面也把均值和方差拖偏從而影響同batch內(nèi)其他樣本的梯度。模型在這種“互相牽制”中發(fā)現(xiàn)穩(wěn)定特征的能力變強(qiáng)了泛化自然更好。另外γ和β的梯度計算很輕量γ的梯度就是在歸一化值上的梯度的加權(quán)和β的梯度就是歸一化值梯度的和。它們都是按batch內(nèi)累積再平均跟普通參數(shù)的梯度更新方式一致。3. 訓(xùn)練與推理兩個完全不同的狀態(tài)3.1 訓(xùn)練時到底用的是哪種統(tǒng)計量訓(xùn)練時BN使用的是當(dāng)前mini-batch的均值與方差這是一個動態(tài)變化的統(tǒng)計量。每來一個新batch統(tǒng)計量就重新計算一次所以模型看到的分布其實(shí)一直在輕微波動。這種波動把“噪聲”注入到訓(xùn)練過程中間接提升了泛化能力。但是訓(xùn)練完成后部署模型做推理時如果仍然實(shí)時計算batch的均值和方差就會遇到兩個明顯問題。第一推理時樣本常常是一個個進(jìn)來的在線服務(wù)場景batch_size1時單個樣本的均值和方差沒有任何統(tǒng)計意義除以一個幾乎為0的方差會直接導(dǎo)致輸出爆掉。第二即使推理時有足夠大的batch也不應(yīng)該讓預(yù)測結(jié)果依賴于同batch里其他樣本——同一樣本在不同batch里預(yù)測值應(yīng)該是一致的。生產(chǎn)環(huán)境的模型預(yù)測必須是確定性的。因此BN在訓(xùn)練過程中會額外維護(hù)一組全局統(tǒng)計量滑動均值running mean和滑動方差running var。每處理一個batch就按如下方式更新一次running_mean momentum * running_mean (1 - momentum) * batch_mean running_var momentum * running_var (1 - momentum) * batch_varmomentum通常取0.9或0.99它控制全局統(tǒng)計量跟隨當(dāng)前batch統(tǒng)計量的“更新速度”。momentum越接近1統(tǒng)計量更新越慢越接近0更新越快但也會越容易受最近batch的擾動。3.2 推理公式與訓(xùn)練公式的區(qū)別推理時BN不再使用當(dāng)前batch的均值和方差而是使用訓(xùn)練階段累積好的全局統(tǒng)計量同時γ和β用訓(xùn)練好的固定值。計算過程變成y gamma * (x - running_mean) / sqrt(running_var epsilon) beta這里要強(qiáng)調(diào)一個容易忽略的細(xì)節(jié)訓(xùn)練時的歸一化用的是當(dāng)前batch的方差而且是有偏方差除以batch大小m。而推理時的running_var在絕大多數(shù)框架的實(shí)現(xiàn)里維護(hù)的是一個無偏估計實(shí)際上這里各框架的處理并不一致。以PyTorch框架為例它的BatchNorm2d在訓(xùn)練時用的是有偏方差做歸一化。更新running_var時乘以的是m/(m-1)校正因子所以running_var趨向的是無偏方差。這就造成了一個很小的偏差訓(xùn)練時歸一化用的方差偏小有偏方差通常比無偏方差小m/(m-1)倍推理時用的running_var偏大一點(diǎn)。這個偏差在batch足夠大時不明顯但batch_size很小比如2或4時會影響訓(xùn)練和推理之間的行為一致性。這也是為什么小batch_size下BN訓(xùn)練出來的模型測試性能往往比大batch_size更差的原因之一。3.3 eval模式下最常見的“翻車現(xiàn)場”我在實(shí)際項目里見到過太多人在這里翻車說幾個典型。最常見的坑訓(xùn)練流程里忘了切換模型的訓(xùn)練/推理狀態(tài)。尤其在一些自定義訓(xùn)練循環(huán)里有人把model.eval()漏掉了模型在推理時仍然使用當(dāng)前batch的統(tǒng)計量導(dǎo)致輸出跟期望的不一致甚至出現(xiàn)“同樣的輸入換個batch就出不同結(jié)果”的詭異behavior。這個bug在圖像分類這種“測試單張圖”的場景下很難自查因為單張圖時batch1用當(dāng)前batch統(tǒng)計量歸一化輸出往往還是能給出一個“看起來合理”的結(jié)果于是問題被掩蓋。第二個坑在PyTorch框架里BatchNorm的track_running_stats參數(shù)。默認(rèn)是True表示會自動維護(hù)running_mean和running_var。但如果有人把它設(shè)成了False那么即使在eval模式下BN也會使用當(dāng)前batch的統(tǒng)計量模型在單樣本推理時行為會完全不可控。這個參數(shù)平時很少碰但一旦碰了帶來的困惑相當(dāng)大。第三個坑模型partial加載參數(shù)時只加載了state_dict里的weight和bias忽略了running_mean和running_var。預(yù)訓(xùn)練模型做fine-tune還好world模型做推理卻忘了加載統(tǒng)計量就會出現(xiàn)“訓(xùn)練時loss正常加載模型做測試時輸出全亂套”的現(xiàn)象。這通常是state_dict里缺失了num_batches_tracked等鍵但框架不報錯只給出Missing key警告被很多人忽略掉了。第四個坑相對高級多卡訓(xùn)練時BN統(tǒng)計量的同步問題。DataParallel和DistributedDataParallel的默認(rèn)行為不同DataParallel下每個卡的BN統(tǒng)計量是各自計算的沒有跨卡同步而DDP默認(rèn)會把BN的統(tǒng)計量進(jìn)行全局同步syncBN。理論上syncBN能降低batch_size太小帶來的統(tǒng)計量噪聲但它也引入了跨卡通信開銷不是所有場景都值得。我在一些基準(zhǔn)測試?yán)镉^察過DDP開啟syncBN和不開最終精度差異基本在0.5%以內(nèi)但對訓(xùn)練吞吐影響不小。4. BN在網(wǎng)絡(luò)中放在哪里位置問題4.1 卷積后、激活前還是激活后這個問題的標(biāo)準(zhǔn)答案在業(yè)界經(jīng)歷了演化。原論文里BN是放在線性層之后、激活函數(shù)之前。在這個位置BN先對卷積輸出做標(biāo)準(zhǔn)化和縮放再送給ReLUReLU會截斷所有負(fù)值從而產(chǎn)生非對稱分布。這種做法的合理性在于卷積輸出的分布本身近似對稱歸一化后喂給ReLU能保證大多數(shù)激活值落在ReLU的有效區(qū)間內(nèi)。但在ResNet出現(xiàn)之前的一段時間也有不少研究工作把BN放在激活函數(shù)之后效果在某些任務(wù)上略好原因是ReLU后的分布大量零值經(jīng)過BN相當(dāng)于對稀疏激活做重新校準(zhǔn)。后來社區(qū)逐漸達(dá)成了共識對CNN而言把BN放在卷積層之后、激活函數(shù)之前是更通用的做法ResNet系列全部采用這個順序。我個人的經(jīng)驗也是如此這個位置在絕大多數(shù)視覺任務(wù)上表現(xiàn)最穩(wěn)。不過跟這個順序相關(guān)的一個小坑是BN對輸入分布的對稱性有隱含假設(shè)。如果輸入是ReLU輸出全是非負(fù)值其均值恒大于0BN為了歸一化就得強(qiáng)行把這個偏置分布搬回以0為中心這會壓縮原始激活的稀疏結(jié)構(gòu)有時反而有害。這也是為什么對激活后做BN一直沒成為主流的原因之一。4.2 全連接層里的BN怎么理解全連接層的BN跟卷積層的BN在原理上沒有區(qū)別但細(xì)節(jié)上有一個“通道”概念的變化。卷積層的BN是對每個輸出通道做統(tǒng)計而全連接層通常是每個神經(jīng)元一個維度嚴(yán)格來說BN是對每個輸出維度feature維度獨(dú)立做歸一化。實(shí)現(xiàn)上全連接層的BN層形狀是(num_features,)卷積層的BN形狀是(num_channels,)。實(shí)踐中的一個小經(jīng)驗全連接層對BN的收益往往不如卷積層明顯。因為全連接層處理的是“已經(jīng)語義化”的高層特征這些特征通常已經(jīng)被前面的卷積層很好地規(guī)整過了再強(qiáng)制歸一化帶來的收益有限有時甚至?xí)休p微的性能損失。所以我在設(shè)計網(wǎng)絡(luò)時更傾向于在卷積堆疊之后只在需要的地方加BN而不是給每個FC層都無腦加。4.3 在RNN/LSTM和Transformer里用BN為什么別扭把BN直接用在循環(huán)神經(jīng)網(wǎng)絡(luò)上效果一直不太好原因有幾個。第一RNN是時間步共享參數(shù)的同一個BN層在不同時間步上處理的數(shù)據(jù)分布其實(shí)一直在變。如果對序列的每個時間步都套用一個BN統(tǒng)計量就等于在給“不同分布”的數(shù)據(jù)用同一個標(biāo)準(zhǔn)化參數(shù)這本身就矛盾。有人說可以對每個時間步分別維護(hù)統(tǒng)計量但這樣參數(shù)數(shù)量隨序列長度增長且每步的樣本數(shù)往往很小統(tǒng)計量噪聲大到起不了作用。第二序列數(shù)據(jù)長度變化大時padding帶來的大量無效token會嚴(yán)重污染統(tǒng)計量。當(dāng)batch內(nèi)有不同長度的序列時短序列的padding位置對應(yīng)的激活值沒有實(shí)際意義把它們納入均值和方差的計算顯然是不合理的。第三是更根本的問題循環(huán)結(jié)構(gòu)天然要求“同一個處理邏輯在所有時間步上一致”而BN引入的batch級統(tǒng)計量把樣本間的信息混入到逐時間步的計算中破壞了這種一致性假設(shè)。所以在NLP、語音這類序列任務(wù)中更常見的選擇是LayerNorm層歸一化。這在Transformer架構(gòu)中幾乎是標(biāo)配BERT類模型里每個子層后面都跟著LayerNorm。LayerNorm跟BN最大的區(qū)別是它對一個樣本的所有特征維度做歸一化而不是對一個特征維度跨樣本做歸一化因此跟batch_size完全無關(guān)對變長序列也友好得多。5. 代碼實(shí)現(xiàn)從零手寫一個BN層5.1 為什么值得手寫一遍現(xiàn)在幾乎所有深度學(xué)習(xí)框架都內(nèi)置了BN調(diào)用就一兩行代碼。但我仍然強(qiáng)烈建議每個做深度學(xué)習(xí)的人至少手寫一遍BN的前向和反向過程。原因很簡單只有親手實(shí)現(xiàn)過才能真正理解訓(xùn)練和推理時統(tǒng)計量的流動、以及訓(xùn)練時“用的是當(dāng)前batch、維護(hù)的是全局狀態(tài)”這種雙重構(gòu)造的細(xì)節(jié)。在做框架遷移、自定義層、或者排查“訓(xùn)練好測試崩”這類問題的時候這些理解是直接能派上用場的。手寫B(tài)N不難關(guān)鍵是兩步前向傳播要用對訓(xùn)練/推理兩種模式反向傳播要能正確地把梯度分解回輸入。下面以PyTorch的自動梯度為基礎(chǔ)實(shí)現(xiàn)一個訓(xùn)練模式下的BN前向過程。5.2 一個教學(xué)版實(shí)現(xiàn)import torch import torch.nn as nn class ManualBatchNorm1d(nn.Module): def __init__(self, num_features, eps1e-5, momentum0.9): super().__init__() self.eps eps self.momentum momentum # 可學(xué)習(xí)參數(shù) self.gamma nn.Parameter(torch.ones(num_features)) self.beta nn.Parameter(torch.zeros(num_features)) # 全局統(tǒng)計量不參與梯度計算 self.register_buffer(running_mean, torch.zeros(num_features)) self.register_buffer(running_var, torch.ones(num_features)) def forward(self, x): # x: [batch_size, num_features] if self.training: # 1. 計算當(dāng)前batch的均值與方差有偏方差 batch_mean x.mean(dim0) batch_var x.var(dim0, unbiasedFalse) # 2. 歸一化 仿射變換 x_hat (x - batch_mean) / torch.sqrt(batch_var self.eps) out self.gamma * x_hat self.beta # 3. 更新全局統(tǒng)計量 # 注意PyTorch官方實(shí)現(xiàn)中跑的是無偏方差這里保持一致 unbiased_var x.var(dim0, unbiasedTrue) self.running_mean self.momentum * self.running_mean (1 - self.momentum) * batch_mean self.running_var self.momentum * self.running_var (1 - self.momentum) * unbiased_var else: # 推理模式使用全局統(tǒng)計量 x_hat (x - self.running_mean) / torch.sqrt(self.running_var self.eps) out self.gamma * x_hat self.beta return out這段代碼跟框架內(nèi)置BN在行為上已經(jīng)非常接近了。注意幾個關(guān)鍵細(xì)節(jié)x.mean(dim0)是對batch維做平均每個特征維度得到一個標(biāo)量unbiasedFalse表示用有偏方差歸一化更新running_var時換成了無偏方差是為了跟主流框架對齊這個細(xì)節(jié)第3章已經(jīng)講過。用這個自寫層做一次簡單驗證構(gòu)造一個隨機(jī)輸入對比自寫層跟框架內(nèi)置nn.BatchNorm1d的輸出在相同輸入、相同gamma/beta初始值下兩者的訓(xùn)練模式輸出應(yīng)該完全一致忽略浮點(diǎn)誤差推理模式在跑過幾個batch后也會趨于一致。5.3 真正需要手寫反向傳播嗎如果你的目的是理解原理那么借助自動求導(dǎo)跑通上述前向過程就足夠了因為梯度可以由框架自動計算。但如果你想徹底吃透BN我建議手動推導(dǎo)一次反向傳播的梯度公式并用torch.autograd.gradcheck來驗證手寫反向是否正確。這里只說推導(dǎo)的兩個關(guān)鍵難點(diǎn)。第一個難點(diǎn)是均值和方差的梯度必須“攤回”到每個樣本上。對$\hat{x}_i (x_i - \mu)/\sigma$求導(dǎo)時$\mu$和$\sigma$都依賴于所有$x$所以$\partial y_i/\partial x_j$在$i \neq j$時一般也不為0。這意味著反向傳播時每個輸入的梯度都包含了對同batch其他樣本的間接貢獻(xiàn)。手寫時必須先算$\partial y/\partial \hat{x}$、$\partial y/\partial \mu$、$\partial y/\partial \sigma^2$再組合出每個$x_i$的梯度。第二個難點(diǎn)是數(shù)值穩(wěn)定性。手動實(shí)現(xiàn)中如果直接使用$\sqrt{\sigma^2\epsilon}$作為分母當(dāng)方差很小時梯度會變得很大??蚣軆?nèi)置實(shí)現(xiàn)大多對此做了數(shù)值上的優(yōu)化比如用rsqrt結(jié)合torch.rsqrt或者重寫為不會產(chǎn)生極小分母的公式。自己做實(shí)驗時要注意同樣的問題不要太相信一個“裸寫”的BN在極小心方差下的梯度穩(wěn)定性。對大多數(shù)人而言到“能寫出正確前向、理解梯度流動方向”這個程度就夠了不必真的每層梯度都手寫出來。真正的價值在于弄懂那兩條統(tǒng)計量的路徑一條是當(dāng)前batch瞬時統(tǒng)計量的前向路徑另一條是running統(tǒng)計量的滑動更新路徑。6. 使用BN的訓(xùn)練技巧與調(diào)參經(jīng)驗6.1 學(xué)習(xí)率可以大膽放大的邊界在哪加了BN以后訓(xùn)練的一個直觀好處是學(xué)習(xí)率的可調(diào)整空間大了很多。沒有BN時我常用的初始學(xué)習(xí)率是0.01左右再往上就提心吊膽。有了BN在ResNet這類結(jié)構(gòu)上直接從0.1起步是常見做法甚至0.2也能訓(xùn)起來。但“能訓(xùn)起來”和“performance最好”是兩回事。學(xué)習(xí)率過大的典型癥狀是前期loss快速下降到中期開始震蕩最終收斂精度反而不如中等學(xué)習(xí)率。我通常的做法是有BN的結(jié)構(gòu)初始學(xué)習(xí)率設(shè)為無BN結(jié)構(gòu)能用的最大學(xué)習(xí)率的2到5倍然后用一個簡單的小數(shù)據(jù)集快速跑50個batch觀察loss是不是還在合理范圍內(nèi)波動以此快速試探學(xué)習(xí)的邊界。如果loss出現(xiàn)明顯的階梯式暴漲就說明學(xué)習(xí)率過大了。另一個跟BN相關(guān)的學(xué)習(xí)率經(jīng)驗是warmup。在超大batch訓(xùn)練以及Transformer類模型里warmup幾乎是必須的但對加了BN的CNN在batch規(guī)模正常比如32到256時warmup帶來的收益并不明顯可以直接跳過。只有在batch_size非常大比如1024以上時因為大batch讓統(tǒng)計量非常穩(wěn)定初始階段梯度方向一致但步長過大的風(fēng)險上升才需要配合warmup一起使用。6.2 batch size是BN最敏感的“外部旋鈕”BN對batch size的敏感程度是我在實(shí)際項目里感受最深的一點(diǎn)。它直接決定了訓(xùn)練時統(tǒng)計量的質(zhì)量batch越大均值和方差越穩(wěn)定訓(xùn)練越平滑batch越小統(tǒng)計量噪聲越大BN的行為就越不穩(wěn)定。我踩過一個印象很深的坑在某個目標(biāo)檢測項目里因為顯存限制batch_size只能設(shè)成2訓(xùn)練時loss曲線震蕩非常厲害模型勉強(qiáng)能收斂但mAP比預(yù)期低兩三個點(diǎn)。后來仔細(xì)排查發(fā)現(xiàn)BN統(tǒng)計量噪聲是主因。解決思路有三個方向第一個方向是用GroupNorm或LayerNorm替代BN。在檢測、分割這類天然需要大輸入分辨率、batch只能設(shè)很小的任務(wù)里這已經(jīng)不是“取巧”而是行業(yè)內(nèi)的標(biāo)準(zhǔn)做法。GroupNorm不需要跨樣本統(tǒng)計所以對batch大小完全免疫。第二個方向是盡量保持batch在32以上。如果卡顯存不夠就減小輸入分辨率、使用梯度累積保證BN的統(tǒng)計量有足夠樣本支撐。梯度累積雖然不直接降低統(tǒng)計量噪聲每個微batch還是很小但如果累積后再做歸一化是可以改變統(tǒng)計量計算范圍的——前提是你手動把統(tǒng)計量改為在整個累積batch上計算這實(shí)現(xiàn)起來有些麻煩多數(shù)人不會這么做。第三個方向是用SyncBN。在多卡環(huán)境下SyncBN會把所有卡上的數(shù)據(jù)合并起來計算全局統(tǒng)計量等效batch_size變大。我在8卡訓(xùn)練時開SyncBN后模型在小batch單卡場景下的表現(xiàn)明顯穩(wěn)定了。但要說清楚SyncBN不是銀彈它增加通信開銷單卡訓(xùn)練用不上它。6.3 BN跟Dropout、權(quán)重衰減、數(shù)據(jù)增強(qiáng)怎么配合BN自帶輕微正則化效果因此跟Dropout搭配時要重新審視Dropout的力度。我在圖像分類實(shí)驗里的經(jīng)驗是加了BN的模型用相同dropout比例訓(xùn)練損失和驗證損失的差距通常比無BN時小說明泛化差距已經(jīng)被BN“消化”了一部分。強(qiáng)行疊加高比例Dropout反而容易欠擬合驗證集精度不升反降?,F(xiàn)在主流的CNN結(jié)構(gòu)ResNet、DenseNet、EfficientNet都干脆不用Dropout至少不用在全連接之前的層上。權(quán)重衰減weight decay跟BN的關(guān)系就更微妙了。因為BN層里的γ和β也是可學(xué)習(xí)參數(shù)它們同樣會參與權(quán)重衰減。γ衰減過狠會限制BN的縮放表達(dá)能力β衰減過狠則會把偏移推向0。好在實(shí)踐中γ和β的權(quán)重衰減影響微乎其微絕大多數(shù)框架默認(rèn)對BN參數(shù)不做特殊的排除處理結(jié)果也沒出過毛病。不過在小數(shù)據(jù)集上過擬合嚴(yán)重時可以考慮把BN的γ和β從權(quán)重衰減中排除有時能帶來細(xì)微的精度提升。數(shù)據(jù)增強(qiáng)對BN的影響相對間接但值得注意當(dāng)數(shù)據(jù)增強(qiáng)強(qiáng)度很高時比如隨機(jī)裁剪加色彩抖動每個batch內(nèi)的樣本多樣性變大BN統(tǒng)計量的方差也隨之增大。這其實(shí)不是壞事因為更“多樣”的統(tǒng)計量反而起到了更強(qiáng)的正則化作用。但如果增強(qiáng)過于激進(jìn)導(dǎo)致batch內(nèi)出現(xiàn)明顯的離群點(diǎn)均值和方差容易被少數(shù)極端樣本拉偏個別情況下會出現(xiàn)訓(xùn)練不穩(wěn)定。我在AutoAugment強(qiáng)度翻倍后再配合小batch訓(xùn)練時確實(shí)遇到過loss陡增的情況后來把batch_size調(diào)大后問題自然消失了。7. 常見問題與排查實(shí)錄7.1 訓(xùn)練正常但測試崩了先查狀態(tài)切換這種“訓(xùn)練loss很好看測試輸出一團(tuán)糟”的案例我大概見過幾十次。絕大多數(shù)時候原因驚人地一致某個環(huán)節(jié)忘了切model.eval()或者跑推理的腳本里壓根沒有調(diào)用。這類bug最麻煩的地方在于在batch較大的推理場景下用當(dāng)前batch統(tǒng)計量歸一化并不一定會讓結(jié)果“肉眼可見地差”。很多時候模型輸出甚至看起來合理只有當(dāng)你用單樣本推理、或者對比相同輸入在不同batch下的輸出時才暴露問題——輸出不一致。排查方法很簡單寫個測試固定輸入張量A分別以batch1和batch8跑前向比較輸出。如果輸出有明顯差異幾乎可以斷定模型處于training模式。再檢查一下是否所有子模塊的BN都被正確地設(shè)為eval有時模型里某個自定義層內(nèi)部偷偷把BN的training改了也會導(dǎo)致這類問題。7.2 小batch訓(xùn)練不收斂別硬調(diào)學(xué)習(xí)率當(dāng)你發(fā)現(xiàn)batch在2到8之間訓(xùn)練loss怎么調(diào)都不對勁時先別急著懷疑學(xué)習(xí)率、優(yōu)化器、網(wǎng)絡(luò)結(jié)構(gòu)大概率就是BN統(tǒng)計量樣本太少導(dǎo)致的。判斷方法可以這樣把batch增大到32或64如果可以的話如果同樣代碼下loss曲線立刻變得平滑且收斂正常那基本確認(rèn)是BN統(tǒng)計量噪聲的問題。這種時候我建議直接在網(wǎng)絡(luò)里把關(guān)鍵層的BN換成GroupNorm或LayerNorm而不是嘗試通過調(diào)低學(xué)習(xí)率來“硬扛”。為什么換層比調(diào)學(xué)習(xí)率更有效因為小batch下BN的歸一化本身就不穩(wěn)定導(dǎo)致梯度更新信號被污染學(xué)習(xí)率再低也只是緩解癥狀沒有根治。換用不依賴batch的歸一化方式相當(dāng)于把這個不穩(wěn)定源從根上消滅。我在一個語義分割項目里把整條backbone的BN換成GN后batch從4降到2精度幾乎無損訓(xùn)練曲線也平穩(wěn)了很多這是實(shí)測過最有效的方案。7.3 loss曲線異常震蕩時怎么快速定位是不是BN的鍋loss震蕩的原因很多不一定全是BN的問題。一個快速定位方法訓(xùn)練前把BN的momentum暫時加大比如0.99改成0.5讓統(tǒng)計量快速跟蹤當(dāng)前batch的變化同時把γ初始化改成0這樣BN輸出恒為β歸一化分支暫時不起作用看loss的表現(xiàn)。如果人為抑制BN后loss反而穩(wěn)定說明問題與BN高度相關(guān)如果不相關(guān)問題更可能在數(shù)據(jù)管線、學(xué)習(xí)率或模型架構(gòu)上。這里補(bǔ)充一個工程細(xì)節(jié)momentum調(diào)大只是權(quán)宜之計不要把它當(dāng)長期訓(xùn)練的解藥。momentum過大太接近0會讓running統(tǒng)計量頻繁大幅波動不僅訓(xùn)練后期統(tǒng)計量不穩(wěn)定還會讓最終模型的推理性能變差因為訓(xùn)練和推理時的統(tǒng)計量差異越來越大。7.4 微調(diào)預(yù)訓(xùn)練模型時BN到底要不要凍結(jié)遷移學(xué)習(xí)場景下關(guān)于BN的爭議一直存在微調(diào)時是凍結(jié)BN層還是放開。我在多個項目里做過對照實(shí)驗結(jié)論是如果是小數(shù)據(jù)集幾百到幾千張微調(diào)凍結(jié)BN層通常效果更好如果是大數(shù)據(jù)集幾萬張以上或完整微調(diào)放開BN通常能帶來更高上限。原因也好理解預(yù)訓(xùn)練模型的BN統(tǒng)計量是在大規(guī)模、多樣本上積累出來的小數(shù)據(jù)集里每個batch的統(tǒng)計量噪聲大直接放開BN等于讓一個“訓(xùn)練充分”的統(tǒng)計量被少量樣本迅速帶偏反而破壞預(yù)訓(xùn)練特征的分布。凍結(jié)BN相當(dāng)于保留預(yù)訓(xùn)練階段的數(shù)據(jù)分布先驗?zāi)P椭煌ㄟ^調(diào)整其他層的參數(shù)來適應(yīng)新任務(wù)。實(shí)踐中我還遇到過另一個極端用某個預(yù)訓(xùn)練模型做超小數(shù)據(jù)集100張圖的二分類放開BN訓(xùn)練后驗證集精度從90%掉到70%以下。凍結(jié)BN后回到90%。這個案例很典型建議微調(diào)新手先把“凍結(jié)BN層”作為一個默認(rèn)選項再根據(jù)實(shí)驗結(jié)果決定是否放開。7.5 一個快速問題排查速查表癥狀常見原因排查方向訓(xùn)練正常單樣本測試輸出異常模型未切evaltrack_running_statsFalse檢查model.eval()檢查BN參數(shù)配置小batch訓(xùn)練不收斂BN統(tǒng)計量噪聲過大增大batch或替換為GroupNorm/LayerNorm多卡訓(xùn)練精度低于單卡BN統(tǒng)計量未同步或同步時機(jī)不對檢查DDP的syncBN配置微調(diào)預(yù)訓(xùn)練模型掉點(diǎn)BN統(tǒng)計量被小數(shù)據(jù)集污染凍結(jié)BN層加載模型后測試輸出全亂running_mean/running_var缺失檢查state_dict是否包含BN統(tǒng)計量訓(xùn)練后期loss周期性跳動統(tǒng)計量更新不穩(wěn)定可能momentum過小恢復(fù)momentum默認(rèn)值0.9~0.998. BN的局限與后續(xù)變體什么時候該換掉BN8.1 BN的兩個結(jié)構(gòu)性“硬傷”BN最被詬病的兩個問題都跟“batch”二字綁定。一個是batch大小波動的脆弱性訓(xùn)練時batch很大、上線后如果為了延遲強(qiáng)行降batch遇到的效果會跟訓(xùn)練時完全不同。另一個是訓(xùn)練和推理行為的割裂訓(xùn)練時模型看到的歸一化統(tǒng)計量是動態(tài)的、有噪聲的推理時卻換成了固定統(tǒng)計量這個gap在小batch、大momentum、分布漂移三種因素疊加時會變得非常明顯。這兩個“硬傷”不是靠調(diào)參能消除的本質(zhì)上是BN定義上對batch維度的依賴造成的。所以當(dāng)你的任務(wù)場景涉及“在線推理必須低延遲”“batch被迫很小”“序列樣本長度變化劇烈”三者之一時認(rèn)真考慮替代方案是值得的。8.2 GroupNorm、LayerNorm、InstanceNorm的選擇邏輯這幾類歸一化方法本質(zhì)區(qū)別在于沿著哪幾個維度做統(tǒng)計。用圖像特征圖N, C, H, W來表述最清晰BatchNorm對(N, H, W)做統(tǒng)計保留C維度。適合batch充足的視覺任務(wù)。LayerNorm對(C, H, W)做統(tǒng)計保留N維度。適合NLP、Transformer對batch不敏感。InstanceNorm對(H, W)做統(tǒng)計保留N和C。適合風(fēng)格遷移等需要對單張圖像做歸一化的任務(wù)。GroupNorm對(C分成G組每組里的C/G, H, W)做統(tǒng)計保留N和組維度。是batch受限時CNNs的主流替代。方法統(tǒng)計維度依賴batch適用場景BatchNormN,H,W是視覺任務(wù)、batch≥32LayerNormC,H,W否NLP、Transformer、變長序列InstanceNormH,W否風(fēng)格遷移、圖像生成GroupNorm分組C,H,W否檢測/分割等batch受限任務(wù)GroupNorm在目標(biāo)檢測、語義分割這類“輸入分辨率大、batch只能放幾張圖”的任務(wù)里已經(jīng)成為事實(shí)標(biāo)準(zhǔn)。我在多個檢測模型里做過GroupNorm與BN的轉(zhuǎn)換測試在等價訓(xùn)練配置下兩者精度基本持平但GroupNorm對batch變化的魯棒性明顯更好。8.3 對BN本質(zhì)的再思考跟BN打了這么多年交道我的體會是它本質(zhì)上是在“特征分布控制”和“樣本間信息共享”之間尋找平衡。它控制分布的能力非常強(qiáng)代價是引入了對batch的依賴和樣本間的耦合。理解這一點(diǎn)你就不會在面對“為什么不直接在所有地方都用BN”的問題時犯迷糊——不是BN不好而是它天生帶有一個batch大小的“適用范圍”。從工程角度看一個好的策略不是迷信某一種歸一化而是根據(jù)任務(wù)形態(tài)選型主流CNN 充足batch用BNbatch受限的視覺任務(wù)用GroupNorm序列模型用LayerNorm。這幾種方案之間的轉(zhuǎn)換成本很低通常只需要替換網(wǎng)絡(luò)中的歸一化層其他結(jié)構(gòu)不用動。但一定要在項目早期就做這個決策因為不同歸一化對超參數(shù)學(xué)習(xí)率、weight decay、batch size的敏感度不一樣中途更換意味著要把訓(xùn)練配置也重新調(diào)一遍這個成本往往被低估。在我個人的實(shí)踐里BN仍然是我接觸一個新視覺任務(wù)時的默認(rèn)起點(diǎn)因為它的收斂速度和穩(wěn)定表現(xiàn)確實(shí)讓人省心。但我也學(xué)會了時刻問自己一個問題當(dāng)前任務(wù)的batch size真的足夠支撐BN的統(tǒng)計量嗎如果答案不確定直接用GroupNorm可能省下好幾天的調(diào)參時間。畢竟做工程項目的目標(biāo)是把模型又快又好地跑起來而不是跟某個特定的歸一化方法“死磕到底”。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本亚洲熟女视频| 十八禁一区二区无码观看| 亚州男人的天堂| 国产成年精品高清在线观看91| 丝袜喷水在线| 亚洲熟女性高潮久久久| 夜夜做夜夜爽精品视频| 久久国产视频性吧| 成人自拍三级在线观看| 97精品网站| 99久视频| 狠狠91| 久久嫩草国产成人一区| 免费综合亚洲中文| 乱抡国产91| 韩国嫰模上门援交视频| 欧美黄色片AAAAA| 天天干嫩逼网| 欧美国产操逼| Julia在线播放亚洲久久| 天天欧美| 超碰97中文| 狠狠久久手机视频精品| 色丁香五月婷婷| 无码视频一区二区| ,成人免费啪啪视频| 国产三级日产三级韩国三级| 久久久久久91香蕉国产| 91亚洲色图| 午夜理论片在线观看免费| 天天日天天屌天天操| 久久超碰国产一区二区三区| 中文字幕一区二区三区蜜臀| 91热| 97 亚洲 日韩 欧美 在线| 东北操逼| 性爱视频久久| 久久国产熟女影院| 日韩一级成人毛片免费观看 | 亚拍在线| 日韩av无码网站| 日韩一级片在线看| 91欧美丨精品丨入口| 丰满人妻一区二区三区蜜桃视频| 精品人妻伦一二三区久久| 四虎884| 好爽要喷了| 亚洲AV无码黄色强奸| 久久亚洲不卡一区二区三区| 搡老女人老91妇女老熟女| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 一本色道久久天天射天天干| 99色日| 久草国产在线视频| juliaann丝袜大战黑鬼| 色综合久久88色综合久久天天| 无卡一区=区| 涩五月婷婷| 无码久久亚洲高清,| 国产美女口爆吞精| 国产一区二区三区精品观看啪| 亚洲国产97在线精品一区| 天天爽天天| 肏逼视频日本| 蜜桃狠狠色伊人亚洲综合 | 精品一国2| 91久久久久久| 久久久无码精品人妻二区| 另类 日韩 熟女| 国产美女裸体秘 永久无遮挡| 67914亚洲精品| 婷婷精品国产欧美精品亚洲人人爽| 色爱综合网| 亚欧性爱无码| 亚洲伊人a线观看视频| 九九久久久| 9精品久久| 精品无码久久久| 亚洲阿v天堂在线| 人人插人人摸人人| 黄页av| 色综合色欲色综合色综合色综合| 九九九九九九九九九九九蜜桃| 国产精品91ai| 粉嫩久久久久| 999熟女精品| 一区=区三区视频| 日本国产欧美高清在线| 区一二区日韩亚洲乱码av电影| 日本免费人成视频播放120秒| 精品美女人人干| 欧美黄色片AAAAA| 不卡av在线中文字幕| 天久久久噜噜噜久久国产精品爽爽| 人妻在线大香蕉| 中文字幕日韩人妻视频一区二区三区| 欧美丰满熟妇XXXX性ppX人交| 日韩大香蕉| 中日韩久久人妻一区二区| 最新日产中文在线麻豆| 国产AV精久久| 久久香蕉网| 26uuu性| 操屄日韩| 欧美午夜视频免费观看| 人妻丰满熟妇一区二区三| 国产精品播放| 久久精品人妻一区| 一级片在线观看高清无码| 天欧美在线| 激情五月天校园春色网| 欧美亚洲高清不卡| 大香蕉92| 色屁屁影院www国产| 中韩中文字幕在线观看| 男人综合网| 超碰一区二区| 欧美性夜| 亚洲天堂五月天国产| 中文AV制服乱伦| 日本性交操一区二区不卡系列| 国产97免费视频| 大香交| 青青草原伊人网| 九久精品| 超碰精品国产无码| 国产免费一区二区三区最新不卡| 欧美视频第二页| www.acm成人黄色毛片| 另类小说欧美激情校园春色| 欧美精品二区视频在线| 欧美v亚洲v日韩v最新在线二区| 高潮的A片激情扒开一区| 亚洲国产成人7777| 91free福利| 综合干干干av久久久综合网| 亚洲美女精品九九视频| 一起草精品人妻| 久久久久国产一区二| 精品人妻一区二区三区-国产| 日韩欧美被操黄免费观看| 大香网伊人久久综合网eew| laoshunv91| 91丝袜| 亚洲国产欧美中日韩成人综合视频| 99re视频在线观看这里只有精品| 国产精品丝袜久久亚洲不卡| 亚洲免费在线探花| 素颜老阿姨乱情色| 夜夜爽夜夜操| 女色视频社区| 亚洲本色精品一区二区久久| 免费一级精品啪啪视频| 97日本超碰综合| 欧美日韩国产人人| 人人透人人操| 加勒比久久av| 日本熟妇熟色97一本在线观看| 五毛骚逼极品美女怕怕| 久久av一级av少妇av高潮| 影音综合网| 97在线免费| 乱色视频中文字幕| 在线观看一级α片刺激高潮视频| 狼人综合婷婷激情四射 | 全球成人中文在线| av绯色| 看日韩黄片| 欧美 日韩第一性色| 91国产大片| 久久香蕉综合一本到3atv| 大香交| 四虎影院成年人片| 亚洲精品影视老司机| 果冻传媒A片一二三区| 欧美五区| 国产11页| 五月丁香综合啪啪| 人妻aa| 国产综合在线视频网站| 26uuu最新| 国产无遮挡| 激情五月综合网| 一牛影视成人片免费| 日韩综合色网| 18岁禁 茉莉成人久久| 色综合中文字幕不卡| 久久九精品| 婷婷五月天久久精品视频一区二区三区| 99re3这里只有精品| 蜜臀av中字字幕网站| 久久九九99| 99热最新网址| 啊啊啊啊视频免费| 久草精品一区 | 黄片不用下载在线观看| 一本精品日本在线视频精品| 亚洲最新a在线观看| 黑人黄片在线免费观看| 在线观看十八禁| 国产精品久久久999| 91香蕉视频在线观看免费| 99热亚洲| 日本亚洲熟女视频| 老女人91| 91性高朝久久久久久久久| 91丨人妻丨国产丨丝袜| 蜜臀久久99精品久久久久电影| 欧美97av| 乱伦强奸区日韩| 国产精品对白自产拍| 亚洲色图 91| 极品尤物在线观看| 日韩天堂av电影在线观看| 国产原创剧情在线丝袜| 久草综合京东| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 久久精品国产99国产精品亚洲| 天天干夜夜| 亚洲免费在线探花| 男人下部插入女人下部 | 99久久9| 午夜性生活av免费在线看| 色色色色日本| 欧美se亚洲| 久久久9 9 9精品| 私人尤物在线精品不卡| 可以看的av| 麻豆天美AV传媒第一页| 久久毛卡| 青青草在线视频播放器| 欧美午夜精品久久久久久超碰| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 中文字幕狠狠玩| 懂色av中文字幕一区二区三区天美 | 亚洲少妇喷视频看| 国产女主播视频在线观看| 三级网色| 极品美女嘿咻| 欧美午夜精品久久久久久3D| 啊啊啊在线观看| 国精综合一二三区影视| 韩国黄色片精品久久久| 美女黄站| 91爰爱欧美| 日亚韩精品视频二区三| 亚洲一区在线观看欧洲| 人妻精品综合中文字幕在线 | 欧美永久激情一区二区| 97AV在线观看| 久操高青| 国产成人欧美一区二区三区的国产| 久久不卡一区二区| 国产视频一区二区三区在线免费观看| 综合色图,成人综合网| 日本不卡免费二区| 丁香六月激情| www亚洲免费| 涩爱AV在线| αⅴ天堂| 亚洲资源站| 天堂日本亚洲欧美| 日本福利二区视频| 亚洲成成熟女人综合一区二区| AV大香蕉| 韩国一级AAA| 国产精品另类一区大香蕉| 性爱乱伦网址| 舔舔啊| 国产高清视频无码在线| 五月天婷婷社区| 丝袜性亚洲| 天天影视网综合少妇| 国产成人 综合亚洲 天堂| 精品人妻一区二区三区四区| 天堂资源站| 欧美视频激情久久久久久| 亚洲春色激情小说| 成人综合色网| 精品区9| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | rion磁力链接| 91观看 国产白丝| 91天天美女| 日韩亚洲97| 九九拍拍精品视频在线播放| 射欧美综合| 九久9热| 爱爱60秒免费视频| 日韩AV中文字幕电影| AV丝袜少妇| 二区熟妇韩日| 青青操少妇| 日韩在线人妻网站| 国产风韵犹存熟妇三区| 欧美后入式| 91色色综合| 精品人妻高清麻豆av| 日本黄页视频在线观看| 女优大全 - 91n| 男女日B国产| 精品人妻美妇91job| 91熟女综合| 日本三级精品| 手机看片1025| 夜夜操av亚洲一区二区| 桑老女人九区| 猛交交| 九一国产精品| 九九九精品成人免费视频小说| 国产资源中文字幕在线| 曰韩成人免费视频| 精品国产99| 外站AV在线| 97久久精品| 亚洲日本成人动漫| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 欧美色蜜桃97| 中文字幕久热视频在线| 极品丝袜无码| 欧美黑人熟妇精品91| 啪啪啪精品视频| 九九玖玖精品| 亚洲欧美啪啪| 欧美精品999| 欧美一级久久久久久久大片动画| 亚洲少妇诱惑| 麻豆国产视频精品观看| 久久久久久裸体| 亚洲国产无码精品首页久久久| 香蕉av一区二区三区| 97色在线视频| 亚洲一本色道中文无码aV天美| 中文字幕视频2区| 偷拍精品一区二区三区| 欧美高潮在线| 久久精品国产亚洲AV无码做| 精品久久久久成人码免| 九九色图| 蜜臀AV秘一区翔田千里| 色香在线| 综合色啪| 欧美狠狠| 欧美综合1性辶| 久久性视频| 69麻豆天美| 超碰97欧美在线 | 日韩综合无码色欲vv| 97综合日韩| 极品少妇久久久久| 丰满少妇人妻久久久久久| 豆花视频操逼网址| s片在线观看| 日人妻视频91| 黑人猛交| wuyechaopeng| 夜夜嗨老熟女AV一区二区三区| 嗯嗯嗯啊啊啊操的我好爽| 欧美操人| www.狠狠操| 99热超碰在线| 丰满岳乱妇一区二区三区| 亚洲中文字幕一区二区| 婷婷国产精品九区| 五月丁香网站| 国产精品熟女丝袜一区二区| 少妇高潮一区二区三区在线| 欧美中文字幕男人天堂久久精品| 黑人精品成人一区二区三区| 国产野战露脸在线播放| 中文字幕日韩电影人妻| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 丝袜美腿诱惑亚洲欧美视频在线观看| 99ri精品| 内射白嫩美女| 91N综合在线| 色五月激情AV在线| 不卡视频一区蜜桃视频| 大香蕉92| 国产成人无码a| 亚洲h片在线免费观看| 91狠狠综合久久| 欧美嫩性色| 精品久久久中文字幕不| 欧美日日操| 综合久久97| 老熟女综合| 天天久久| 国产捆绑一区| 高清国产精品福利网站| 国产精品成人久久一区二区三区| 国产日韩无码一区二区三区久久区| 视频一区二区免费在线| 亚洲好看强奸乱伦| 中文字幕av亚洲在线| 国产不卡精品91| 九九成人精品| 亚洲情色 欧美| 啪啪啪东京| 婷婷五月天激情小说| 午夜精品99久久久久传媒| 欧洲射精91| 久久久蜜桃一区二区三区| 2010男人的天堂| 操逼999| 综合影院永久入口国产| 五月婷婷无码| 色爱欲亚洲| 成人在线永久| 啊啊啊啊啊啊啊啊视频| 日本操色导航| 91女神在线视频| 国产成人主播| 三男一女不戴套的A片| 入口操逼网站| 98精品国产乱码久久久久久| 亚洲精品91| 91精品国产91久久福利| 久久国产精品一级二级三级| 超碰色97| 国产亚洲精品美女久久久m| 久久97资源 网| 精品久久久久久中文字幕三区| 色色香蕉| 欧美日韩亚洲高清不卡一区二区三区| 欧美最婬乱婬爆婬牲视频| 国产三级多多影院2022国产AA一级毛片无码| 91 手机在线播放 绯色| 97日韩欧美| 大香蕉碰碰| 欧美人体性爱互联网第一页婷婷日本| 欧美成人9797| 中字幕人妻一区二区三区| 欧美久久婷| 久久性爱视频99| 无码最新| 国产精品一区二区麻豆| 久久婷婷六月综合| 韩美日操逼| 美女淫穴| 亚洲一本大道中文字幕无码在线| 久久久久96| 国产精品免费美女视频| 欧州91高潮| 999九九精品| 日韩免费看黄片| 啊啊啊啊啊啊啊啊在线观看| 男人的天堂日韩| 又大又长又爽| 婷婷在线播放| 97人人模人人爽人人| 91综合色| 91熟女网| 日韩天天综合| 超碰1024久久| 韩国一级AAA| 熟女91网| 欧美日韩淫加| 手机在线人成免费视频| 久久综合97| 1024午夜激情男人的天堂| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 青青青青青手机视频| 久久99久久99精品免视看婷婷| 78精品| 三上制服丝AV| 五月婷婷大香蕉| 日本人妻伦在线中文字幕| 国产91专区| 久久精品亚洲婷婷| 色香色欲天天综合网天天来吧| 久久精品国产精品一区 | 色哟哟AV| 国产av热热色| 伊蕉97蜜桃97狠狠综合干| 中文字幕在线24| 手机看片1025| 久久婷婷色| 国产精品久久伊人| 国产乱伦性爱AV| 免费人成?大片在线播放| 另类一区| 九九激情网| 日本天天吊| 天天日日舔舔| 99精品伊人| 粉嫩av一区二区三区四季| 校园春色家庭伦理欧美激情| 色香欲影| 精品一啪| 最新av在线| 嗯嗯嗯啊啊在线观看| 久久精品午夜国产亚洲AV无码| 久久精品国产亚洲AV高级北京| 精品人妻1区| 亚洲欧美中文日韩视频中国语| 天天看片天天爽| 免费网站观看www在线观| 99爱爱| 97爱爱官网| 97天堂| 日韩色欲久久一二三四区| 色综合尤物| 中文字幕片| 午夜精品久久久久久久| 偷拍 欧美 日韩| 久久久不能久久久久| 精品999999| 亚洲欧美国产va在线| 黄久久| 五月丁香激情四射| 亚洲一区操| av一区二区三区 中文| 一本一道人妻久久一区二区三区 | 亚洲成a人在线观看久| 在线综合色| 国产成人免费观看在线视频| 日日夜夜天天| 看看日B真人视频| 亚洲图片日本AⅤ欧美在线| 高树玛利亚无码流出| 亚洲国产丝袜熟女av| 五月婷视频| 日本新免费二区三区| 亚洲精品国产熟女| 夜夜高潮夜夜爽高清视频一| 精品人妻一区二区三区不卡断| 日韩在线观看三级电影| 国产日韩精品suv| 亚欧性爱ab| 精品9区| 久久精品国产亚洲AV无码做| 欧美韩国你懂得在线| 人人 操人人 操人人| 99re99视频在线免费观看| 秋霞成人做爱| 久久九操在线观看| 国产免费一区二区在线A片视频| 九九九九九九九九九五码| 欧亚在线视频| 五月丁香六月综合缴清无码| 91性高潮久久久久久久久| 欧美日日人人天天| 亚洲精品日日夜夜52| 91插B网站| 午夜男人天堂| 看日韩操逼| 欧美一区二区一级岛国大片| 嗯嗯啊啊操死我| 日韩激情中文字幕有码| 91熟女丨91老女人| 91日产欧美| 操久久久久久| 欧美亚洲色图另类国产| 久久色精品视频在线| 国产第11页| 老女人日韩美91| 五月婷婷性爱| 激情五月激情综合网| 一道α片欧美| 久久免费99精品久久久久久| 色97国产69香蕉| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 天天干人人乐| 欧洲亚洲人妻无码久久三区四区| 色狠狠综合噜一二三区| www久久国产精品| 神马午夜久久| 久艹日日日| 亚洲欧美清纯| 日本不卡五区| 老女人综合| 日韩欧美久久婷婷网站| 亚洲成人ab| 超碰97COm中文| 操久久久久| 午夜性生活av免费在线看| 国产强奸乱伦欧美| 午夜120视频在线观看| 另类图片综合| wuyechaopeng| 亚洲免费97免费| 男人久久精品| 天天在线91| 少妇高潮九九九九九九九| 骚货 中文字幕 av| 亚洲蜜臀精品视频久久| 日韩欧美三级| 麻豆天美91| 日韩丝袜二区| 欧美日韩大香蕉| 欧美aaaaaaa| 色九月婷婷| yy少妇精品久久| 亚洲欧美电影| 国人欧美精品一区二区| 亚洲 欧美 天天| 色欲人妻一区二区在线| 91 综合 色| 九九九九九九九九九国产精品| 欧美97色| 亚洲一级特黄大片在线播放91| 伊香蕉综合久久久久久久噜噜噜| 国产精品99精品视频网站| 国产高清成人mv在线观看| 欧日韩不卡视.频| 亚洲影视第一页| 国产美女销魂在线观看不卡| 少妇一区二区三区精选| 久久久久国产亚洲一区欧美色图日韩| 天天综合91入口| 在线播放欧洲免费av| 亚洲男人综合| 国产精品九9| 亚洲资源站| 成视频在线观看免费看| 亚洲综人| 日韩在线一区高清在线| 极品极品色影院| 久久人妻少妇| 亚洲精品无码少妇久久| 亚洲激情欧美色图| 天天插天天操| 国产亚洲日本| 秋霞怕怕片| 99热这里只有精品8| 4141514逼喷水三级片| 4虎在线观看| 亚洲精品日日夜夜52| 裸体美女久久久| 强奸乱伦亚洲第一页| 97精品久久久久中文字幕| 国产在线视频二区| av线电影| 狠狠干综合| 91AV入口| 十八禁黄色| 国产一区二区精品久久99| 美女诱惑在线一区| 啊啊啊啊一区| 欧美性爱1080p| 亚洲天堂一区| 日日干夜夜骑| 亚洲国产精品乱码在线观看| 午夜视频久久久| 欧美操逼一二三区| WWW啪啪的com| 78精品在线| 精品久久人妻成人网| 日韩熟女精一区二区三区不卡| 国产欧美一区二区| 日韩精品永久在线观看| 精品无码秘 人妻一区二区| 夜夜爽爽夜夜精品视频| 欧美淫穴| 成人a大片在线观看| 91亚洲欧洲| 999九九九九国产动| 加勒比日本在线| 91九九九馒头| 国产超碰国产97| 亚欧高清在线| 人妻啪| 熟妇视频一区二区三区在线| 亚洲素人综合| 顶级少妇BT天堂| a网站免费观看| 日本精品第一视频在'| 日韩亚洲中文有码视频| 免费观看性欧美一级| 免费家庭乱伦视频| 免费看黄片现成| 亚洲一区在线观看欧洲| 国产精品久久天天干| 欧美的性爱网站免费| 淫荡网址| 日韩欧洲操屄视频| 国产精品九九九| 久久久青青草| 日韩天天本| 性性欧美| WWW.加勒比人妻一区不卡.com| 亚洲s在线观看| 宅男午夜在线视频| 成人久久精品| 日日躁夜夜躁狠狠躁超爽| 日本新免费二区三区| 欧美激情一| 人妻一区二区三区熟女| 91一区二区三区蜜桃| 亚洲成人久久一区二区| 久久无码成人| 超碰夫妻97| 日韩99神马视频播放片在线播放| 大香蕉青青9| 国内一区二区三区| 欧美性夜| 天堂中文日本在线观看| 污啪啪啪视频| 超碰97玖玖爱| 欧美桃色网| 黄色AV免费| 女人爽到高潮潮喷18禁网站 | 97亚洲国产影视| 尤物AV免费网站| 九九精品99| 99re99视频在线免费观看| 中国熟女网站| 天天日夜干| 另类小色呦| 超碰调教97| 欧美亚洲清纯| 久久久四区| 久热91| 少妇天堂网络| 欧美日韩*字幕一区| 黄色性爱网网| 综合一区二区影视| 日韩av不卡在线看| 久久久不能久久久久| 亚欧成人一级片在线播放| 日韩三级一区 | 操屄日韩| 中文字幕少妇色| 人人干人人操人人爱| 影音综合网| 国内毛片国产欧美拍| 欧美爆操91| 日韩欧美三级| 国产少妇与亚洲av| 欧美不卡五十路| 男人天堂综合| 在线播放成人高清免费视频| www.久久制服糖| 夜夜高潮夜夜爽高清视频一| 7777奇米影视久久| 密臀国产在线| 可以免费观看的AV| 亚洲图片激情综合另类| 啊啊啊在线观看免费视频| 一本色道综合久久欧美日韩精品| 精品一区二区成人动漫| 黑人娇小av在线播放| 可乐操在线| 久操大香蕉| 青春草莓视频在线观看网址| 91美女在线看| 亚洲成人久久一区二区| 欧美91变态| 久操B网| 91操操操操| 欧美狠狠鲁| 玖玖视频在线资源一区二区三区| 久久黄色性爱视频| 毛片一区二区| 毛片一区二区| 欧美人与动性人交a| 久草毛片| 人人搡人人肉久久精品| 人妻啊啊人妻啊啊| 秋霞影音一区二区三区| 91东北熟女| 久久久无码精品人妻二区 | 另类专区加勒比| 久久爽爽精品| 密臀在线免费观看| 欧美性暴力猛交XXXX| 人妻av在线| 乱伦Av网| 日本一级婬片试看三分钟| 天天干人人看综合| 日产操逼| 操逼视频国产无套| 国产无码高清操逼视频| 青春草莓视频在线观看网址| 电家庭影院午夜69久久夜色精品国产69乱| 日本不卡二区| 草草网站影院白丝内射| 日韩免费高清大片在线| 日本熟妇人妻一区二区三区| 欧亚三区动漫| 精品久久久一本一道| 色综合1991| 熟妇艹鸡八| 亚洲综合图片在线| 羞答答AV中文字| 粉嫩av一区二区三区天美传媒| 欧美色图自拍| 97se综合网| 欧美制服网站美腿丝袜| 91色爽欧美| 91在线页| 大香蕉免费乱伦视频| 国产强奸乱伦第1页| 91国产操逼视频| 秋霞一级A片黄色视频| 欧美1区二区三区公司| 伊人黄色视频免费观看| 99热超碰| 久久xxxx| 蜜桃色院一区久久| 国产精品久久久久久久久久久久久久吹| aa片毛片| 日本亚洲vr欧美不卡高清专区| 国产97/欧美| 99婷婷一区二区| 亚洲一级特黄大片在线播放91| 五月婷婷色色| 精品久久久久久久久久久久| 性欧美| 欧美丰满少妇xx高潮| 天天摸夜夜摸| 日韩综合无码一区久久92| 欧美性爽xyxOOOO| 色色热| 麻豆精品.欧美精品.日韩精品.| 岛国在线免费视频| 97在线欧洲| 99re6在线视频精品免费完整版安卓版| 中文字幕欧洲有码| 亚洲最新av无码成人精品区| 99国产精品久久久久久久成人热 | 女优免费一区二区永久| 78精品| 七久久久| 午夜在线播放| 亚洲第一页色| 欧美精品69性爱| 国内外色色色色色成人视频| 亚洲男人的天堂va亚洲男人社| 婷婷久久五月天| 视频不卡中文字幕| 国产精品在线一区二区| 国产午夜激片Av毛片不卡| 超碰在线97国产| 2019天天干天天操| 香蕉国产97| 成年男人的天堂| 国产精品探花视频| 美女网站黄页| 99热这里只有精品18| 久草免费在线一区二区| 白丝AV网站| 超碰99re| 人人扣人人操| 亚洲,欧美,综合网| 日本不卡高清视频| 超碰538| 国产高清成人免费视频| 精品国产人成在线| 午夜精品久久久久久久99热影院| 欧美精品97| 在线岛| 国产又大又粗又长视频在线| jazzjazz国产精品麻豆| 美女诱惑爱爱| 色欧美亚洲| 国内精品999| 黄页av| 97最新在线播放视频| 男女香蕉一区二区| 国产乱码精品一区二区三区四川| 中文字幕久久精视频久久大全| 日本操逼视频不卡直接放| 午夜天堂精品久久久久91| 日韩本不卡视频在线观看 | 国产成人在线观看综合| 一二三区视频在线观看| 成人av免费观看| 亚洲精品黑丝| 99人人干| 蜜臀视频网站| 熟妇熟女一区二三区| 国产精品露脸在线观看| 我中文字幕6区| 午夜无码精品免费看性色| 欧洲大香蕉| 秋霞视频一区二区 | 亚洲天天操| 好湿好紧好爽 视频| a片在线播放| 色鬼在线综合| 凹凸精品熟女在线观看| 亚洲av影音先锋| 久久久三区二区一区| www.色五月| 国产免费内射视频| 亚洲熟妇丝袜在线观看| 九九九色| 色www精品视频在线观看| 亚洲一区二区三区欧美日韩| 日逼97| 少妇与黑人高潮在线| 国产女人高潮嗷嗷嗷叫小说 | 黄色av网站在线播放| 呦女网站| 国产91影院| 久久久九九九九| 久综合网| 97精品一区二区视频| 亚洲视频,小说| www.99中文字幕| 亚洲国产综合久久天堂| 乱性AV| 97视频在线免费| 99国产精品人妻人伦| 中文字幕91页| asc国产精品| 午夜丁香婷婷| 日韩无码精品综合久久| 亚洲欧美性生活| 97在线精品观看视频| 91超碰在线观看| 亚洲丝袜天堂| 激情抓乳插进去啪啪啪日韩 | 国产精品点击进入在线影院高清| 亚州欧美一区| 偷拍欧美激情| 亚洲色图亚洲无码强奸乱伦| 黄片www视频免费| 天天影视综合色| 亚洲精品天天影视综合网| 亚洲中文字幕三级在线| 不卡中文字幕aⅴ在线| 久久 久久国内精品亚洲| 日本在线不卡123| 色屁屁影院www国产| 伊人嫩草| 日本精品一区三区| 男人的天堂VA| 97看操| 大香蕉伊利av| 狠狠色婷婷| 欧美亚洲国内自拍| 国产女人操逼视频| 国产精品国产亚洲区艳妇糸列| 国产 大胆 对白| 亚洲精品成人| 亚洲一区亚洲天堂| 亚洲综合另类欧美久久久| 九九热精品| av网站在线观看了| 美女裸体无遮挡永久免费观看网站| 欧美日韩人妻婷婷一区| 成人精品视频一区二区| 亚洲系列第一页| 麻豆视频国产一区二区| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 超碰在线欧美性爱激情| 怡红院亚洲怡春院av| 人人澡人人弄| 国产久久一区二区三区野外在线| 六六久久日韩不卡| 天天插天天射| 国产精品欧美日韩久久| 午夜视频好爽啊| 岛国黄片网站| 欧美日韩亚洲天堂| 嗯嗯啊好大| 色大师网站www永久网站视频| 青青草日韩无码| 丁香五月影院| 亚洲人天堂| 啊啊啊好想要| 十八禁啪啪视频| 极品销魂美女一区二区| 校园春色欧美| 一二三四区操操Av| 天天碰久久入| 99国产女人| 久艹视频在线| 亚洲天堂另类| 操久久久久| 综合久久2017| 欧美日韩系列| 99热精品在线观看| 99精品人妻| 亚洲在线网站| 精品视频在线观看精品| 中文字幕一区二区三区四区在线视频| 黄色免费网| 波多野结衣一级视频| 午夜a成v人电影| 欧美一级特黄淫片在线观看| 亚洲国产精品成人综合| 亚洲字幕一区二区| 欧美在线视频观看一二三四区高清 | 国产91亚洲精品一区二区三区| 亚洲国产成人精品999| 精品人体无圣光凹凸| 不卡啪啪视频| 婷婷亚洲中文字幕在线| 99丝袜福利在线播放| 国产AV天美| 狠狠做深爱婷婷久久二区| 中文字幕十五区| 久久久免费视频18| 爱丝福利| 亚洲啪啪综合?v一区综合精品区| 日韩操逼性鲍| 久久激情亚洲精品无码?V| 欧美日本中字另类在线| 色婷婷综合视频| 老女人日韩美91| 91电影色诱| 久久精品操| 国产偷拍网站| 久久激情亚洲精品无码?V| 日本午夜福利影院| 免費人妻夜夜爽天天爽爽一区| 精品人妻一区春色| 丰满人妻一区二区三区免费| 野狼福利社区| 无码操逼视频一下| 欧美啪啪女女| 丝袜性亚洲| av大香蕉网站| 综合色久欲| 操逼视频国产无套| 狠狠爱综合网| 成人熟女区| 亚州色综合| 超碰免费人妻人人| 9999久久久久| 黄色十八禁| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91在线视频观看国产| 亚洲天堂男人在线| 人妻熟女一区二区| 韩国三级一线观看久| 国产精品色色| 在线小视频| 五月天亚洲网| 又黄又硬又粗又长国产视频| 亚洲 欧美 制服 另类 自拍| 91爽啪| 蜜乳av一区二区三区| 九九九九精品一区| 在线播放成人高清免费视频| 伊人五月天婷婷| 色香色香欲天天天影视综合网| 大香蕉日亚洲日本亚大| 九九热AV| 人妻一区视频| 欧美亚洲国内自拍| AV色女综合| 五月丁香激情四射| 亚洲精品人妻吞精av| 不卡在线一区,精品一区二区三区中| nuu12国产麻豆精品| 亚洲欧美自拍偷拍| www.狠狠| 97亚洲综合在线| 最近的最新的中文字幕视频| 呦女网站| 久久久91福利姬| 日本人人操人人操| 欧美激情久久久久| 亚洲天堂中文字| 欧美精品91| 日韩熟女操逼| 亚洲 图片 欧美 色图| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 思思久热在线精品66| 日本熟妇一区二区三区| 亚洲色电影在线| 搞中出久久| 成人日本精品九区| 日本韩国国产精品一区| 日欧美色| 98人妻精品一区二区色欲| 亚洲人在线成线成人| 精品国产一区探花在线观看| 午夜精品99久久久久传媒| 欧美精品宗合| 嗯嗯嗯啊啊啊操的我好爽| 亚洲操操操无码| 一级特级aaaa毛片免费观看 | 日韩乱码Av| 色汉综合| 99热精品青草在线 | 色色色综合网| 国产99999| 天天综合色电影| 色欲av国内精品久久久久久| 激情视频网址| 婷婷综合伊人一区| 欧美午夜色妇色鬼| 亚洲天堂一区二区久久| 97超碰总站| 黄片www.| 99热在线播放| 中文乱码99| 69精品久久久久中文字幕| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 日本在线视频导航| 亚洲高清欧美总合| 800zy一区二区| www.99中文字幕| 老鸭窝成人| 日本在线播放不卡一区| 人妻夜夜爽天天爽三区麻豆AV网站| 观看免费区二区三区二| 手机在线中文字幕国产| 高精欧美色| 久久在肏| 91n美女视频| 色色毛片| 亚拍在线| 久久99人妖视频国产| 91亚洲影视| 最新亚洲风情电影| A 天堂在线观看视频| 欧美色图片| 97天天在线| 偷拍欧美综合| 亚洲欧洲综合成人av一区| 亚洲男人在线观看天堂 | 欧美日本天堂| 中文字幕一区日韩精| 黑人猛交| 一牛一区二区三区久久| 色婷婷丁香| 亚洲精品一区二区精品| 夜夜骑日日| www.99中文字幕| 精品传媒在线一区| 丰满精品人妻少妇久久字幕| 男人的天堂亚洲| 国产AV超爽| 国产精品久久久久久久久久久久久久| 亚洲人妖网| 亚殴在线| 睡产熟女乱伦| 欧美激情性久久久久久| AV中文字幕三四五| 9999亚洲电影| 啊啊啊啊啊在线视频| AA丁香综合激情| 囯产操逼片| 夜夜欢天天干| 久久久久亚洲一区女同性恋中文字幕| 婷婷五月天基地| 日韩乱伦视频| 国产精品视频自拍在线| 视频不卡中文字幕| 男人的天堂三级| 中文字幕一区二区三四五区日日骚| 天天干天天日天天射黄色| WWW黄片COM| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲av淫乱| 粉嫩av久久一区二区三区| 九九九热| 大香蕉伊人75| 校园春色美腿丝袜| 96精品一区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 嗯啊免费视频| 婷婷午夜|