精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深度學習架構的超級英雄——BatchNorm2d

譯文 精選
人工智能
本文旨在展示在深度學習網絡中使用BN2D的背后邏輯。文中使用類玩具圖像數據的示例卷積模型僅用于展示在DL網絡架構中結合BN2D實例情況下的預期結果的性能改進。最后的結論是,跨空間和通道維度的BN2D歸一化帶來了訓練穩定性、更快的收斂性和增強的泛化能力,最終有助于深度學習模型的成功。

想了解更多AIGC的內容,請訪問:

51CTO AI.x社區

http://www.jxzklqfsx.com/aigc/

本文旨在探索2D批處理規范化在深度學習架構中的關鍵作用,并通過簡單的例子來解釋該技術的內部工作原理。

由作者本人創建的圖像

深度學習(DL)已經改變了卷積神經網絡(CNN)和生成式人工智能(Gen AI)發展的游戲規則。這種深度學習模型可以從多維空間數據(如圖像)中提取復雜的模式和特征,并進行預測。輸入數據中的模式越復雜,模型架構就越復雜。

盡管存在很多方法可以加速模型訓練收斂并提高模型推理性能;但是,批量歸一化2D(BN2D)已成為這方面的超級英雄。這篇文章旨在展示如何將BN2D集成到DL架構中,從而實現更快的收斂和更好的推理。

了解一下BN2D

BN2D是一種批量應用于多維空間輸入(如圖像)的歸一化技術,以歸一化它們的維度(通道)值,從而使這些批次的維度具有0的平均值和1的方差。

合并BN2D組件的主要目的是防止來自網絡內先前層的輸入數據中跨維度或通道的內部協變量偏移。當維度數據的分布由于在訓練周期(epoch)對網絡參數進行的更新而改變時,會發生跨維度的內部協變量偏移。例如,卷積層中的N個過濾器產生N維激活作為輸出。該層維護其過濾器的權重和偏差參數,這些參數隨著每個訓練周期而逐漸更新。

作為這些更新的結果,來自一個過濾器的激活可以具有與來自相同卷積層的另一過濾器的激活明顯不同的分布。這種分布上的差異表明,來自一個過濾器的激活與來自另一過濾器的激活在很大程度上不同。當將這種尺度大不相同的維度數據輸入到網絡中的下一層時,該層的可學習性受到阻礙,因為與尺度較小的維度相比,尺度較大的維度的權重在梯度下降期間需要更大的更新。

另一個可能的后果是,尺度較小的權重梯度可能消失,而尺度較大的權重梯度則可能爆炸式增長。當網絡遇到這種學習障礙時,梯度下降將在更大的尺度上振蕩,嚴重阻礙學習收斂和訓練穩定性。BN2D通過將維度數據標準化為平均值為0、標準偏差為1的標準尺度,有效地緩解了這一現象,并促進了訓練過程中更快的收斂,減少了實現最佳性能所需的訓練周期(epoch)數量。因此,通過簡化網絡的訓練階段,該技術確保網絡可以專注于學習更復雜和抽象的特征,從而從輸入數據中提取更豐富的表示。

在標準實際應用中,BN2D實例插入卷積層后面,但插入到激活層(如ReLU)前,如圖1中的示例DL網絡所示:

圖1:一個深度CNN的示例(圖片由作者本人創建)

BN2D內部工作原理

圖2中顯示了一批簡單的多維空間數據的示例(如僅使用了3個通道的圖像),以說明BN2D技術的內部工作原理。

圖2:BN2D的內部工作原理(作者本人創建的圖像)

如圖2所示,BN2D的功能是在每個維度或通道處理一個批次。如果輸入批次具有N個維度或通道,則BN2D實例將具有N個BN2D層。在示例情況下,紅色、綠色和藍色通道的單獨處理意味著對應的BN2D實例具有3個BN2D層。

圖3:BN2D使用的公式(作者本人創建的圖像)

在訓練過程中,BN2D計算每個批次維度的平均值和方差,并使用圖3所示的訓練時間公式對值進行歸一化,如圖2所示。預設的ε是分母中的一個常數,以避免出現被零除的錯誤。BN2D實例維護每個維度或BN2D層的可學習參數——比例(γ)和偏移(β),這些參數在訓練優化期間更新。BN2D實例還維護每個BN2D層的移動平均值和方差,如圖2所示,它們在訓練過程中使用圖3所示的公式進行更新。預設動量(α)用作指數平均因子。

在推理過程中,使用如圖3所示的推理時間公式,BN2D實例使用特定維度的移動平均值、移動方差以及學習的比例(γ)和偏移(β)參數對每個維度的值進行歸一化。圖2中顯示了批量輸入中每個維度的訓練時間批量歸一化計算示例。圖2中的示例還說明了BN2D實例的輸出,該實例包含跨維度或通道獨立規范化的整個批次。用于完成圖2所示示例的PyTorch Jupyter筆記本文件可在以下GitHub存儲庫中找到:https://github.com/kbmurali/hindi_hw_digits/blob/main/how_batch_norm2d_works.ipynb。

使用BN2D

為了檢查在DL網絡架構中結合BN2D實例的預期性能改進,我們使用一個簡單的(類似玩具的)圖像數據集來構建具有和不具有BN2D的相對比較簡單的DL網絡,來實現所屬類別的預測。以下是使用BN2D預期帶來的幾個關鍵DL模型性能改進方面:

改進的泛化:BN2D引入的歸一化有望提高DL模型的泛化能力。在該示例中,當在網絡中引入BN2D層時,預計會提高推理時間分類精度。

更快的收斂:引入BN2D層有望促進訓練過程中更快的收斂,減少實現最佳性能所需的訓練周期數量。在該示例中,在引入BN2D層之后的早期訓練周期開始,預計訓練損失會降低。

更平滑的梯度下降:由于BN2D將維度數據標準化為標準尺度,平均值為0,標準偏差為1,因此有望將梯度下降在較大規模維度上振蕩的可能性降至最低,梯度下降有望順利進行。

示例數據集

Kaggle在地址https://www.kaggle.com/datasets/suvooo/hindi-character-recognition/data處發布的印地語手寫數字(0-9)數據(GNU許可證)將用于訓練和測試包含和不包含BN2D的卷積DL模型。讀者可參考本文頂部的橫幅圖片,了解印地語數字是如何書寫的。DL模型網絡是使用PyTorch DL模塊構建而成的。選擇手寫的印地語數字而不是英語數字是基于與后者相比的復雜性。印地語數字的邊緣檢測比英語更具挑戰性,因為印地語數字中的曲線多于直線。此外,根據一個人的寫作風格,同一個數字可能會有更多的變化。

而且,我還開發了一個實用的Python函數,以便對數字數據的訪問更符合PyTorch數據集/數據加載器的操作,如下面的代碼片段所示。訓練數據集有17000個樣本,而測試數據集有3000個。請注意,在將圖像加載為PyTorch張量時應用了PyTorch灰度轉換器。另外,我還專門開發了一個名為“ml_utils.py”的實用程序模塊,用于打包使用基于PyTorch張量的操作運行控制訓練周期、訓練和測試深度學習模型的函數。其中,訓練和測試函數還能夠捕獲模型度量指標,以幫助評估模型的性能。Python筆記本文件和實用程序模塊均可以在作者的公共GitHub存儲庫中訪問,其鏈接如下:

https://github.com/kbmurali/hindi_hw_digits。

import torch
import torch.nn as nn
from torch.utils.data import *
import torchvision
from torchvision import transforms
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
import seaborn as sns

from ml_utils import *
from hindi.datasets import Digits

set_seed( 5842 )

batch_size = 32

img_transformer = transforms.Compose([
transforms.Grayscale(),
transforms.ToTensor()
])

train_dataset = Digits( "./data", train=True, transform=img_transformer, download=True )

test_dataset = Digits( "./data", train=False, transform=img_transformer, download=True )

train_loader = DataLoader( train_dataset, batch_size=batch_size, shuffle=True )

test_loader = DataLoader( test_dataset, batch_size=batch_size )

DL模型示例

第一個DL模型將包括具有16個過濾器的三個卷積層,每個過濾器的核大小為3,填充為1,以便產生“相同”的卷積。每個卷積的激活函數是修正線性單元(ReLU)。池大小為2的最大池化層被放置在完全連接層之前,導致產生一個輸出10個類別的softmax層。該模型的網絡架構如圖4所示。下面的代碼片段顯示了相應的PyTorch模型定義。

圖4:沒有BN2D的卷積網絡(圖片由作者本人創建)

device = torch.device( 'cuda' if torch.cuda.is_available() else 'cpu' )
loss_func = nn.CrossEntropyLoss()
input_channels = 1
classes = 10
filters = 16
kernel_size = 3
padding = kernel_size//2
pool_size = 2
original_pixels_per_channel = 32*32

three_convs_model = nn.Sequential(
nn.Conv2d( input_channels, filters, kernel_size, padding=padding ), # 1x32x32 => 16x32x32
nn.ReLU(inplace=True), #16x32x32 => 16x32x32
nn.Conv2d(filters, filters, kernel_size, padding=padding ), # 16x32x32 => 16x32x32
nn.ReLU(inplace=True), #16x32x32 => 16x32x32
nn.Conv2d(filters, filters, kernel_size, padding=padding ), # 16x32x32 => 16x32x32
nn.ReLU(inplace=True), #16x32x32 => 16x32x32
nn.MaxPool2d(pool_size), # 16x32x32 => 16x16x16

nn.Flatten(), # 16x16x16 => 4096
nn.Linear( 4096, classes) # 1024 => 10
)

第二個DL模型與第一個DL模型共享相似的結構,但在卷積之后和激活之前引入了BN2D實例。該模型的網絡架構如圖5所示。下面的代碼片段顯示了相應的PyTorch模型定義。

圖5:帶BN2D的卷積網絡(圖片由作者本人創建)

three_convs_wth_bn_model = nn.Sequential(
nn.Conv2d( input_channels, filters, kernel_size, padding=padding ), # 1x32x32 => 16x32x32
nn.BatchNorm2d( filters ), #16x32x32 => 16x32x32
nn.ReLU(inplace=True), #16x32x32 => 16x32x32
nn.Conv2d(filters, filters, kernel_size, padding=padding ), # 16x32x32 => 16x32x32
nn.BatchNorm2d( filters ), #16x32x32 => 16x32x32
nn.ReLU(inplace=True), #16x32x32 => 16x32x32
nn.Conv2d(filters, filters, kernel_size, padding=padding ), # 16x32x32 => 16x32x32
nn.BatchNorm2d( filters ), #16x32x32 => 16x32x32
nn.ReLU(inplace=True), #16x32x32 => 16x32x32
nn.MaxPool2d(pool_size), # 16x32x32 => 16x16x16

nn.Flatten(), # 16x16x16 => 4096
nn.Linear( 4096, classes) # 4096 => 10
)

我們使用以下代碼片段中所示的實用函數,以便在示例印地語數字數據集上訓練兩個DL模型。注意,代碼中捕獲了來自最后卷積層中過濾器的兩個維度/通道的兩個樣本權重,以便可視化展示訓練損失的梯度下降信息。

three_convs_model_results_df = train_model( 
three_convs_model,
loss_func, 
train_loader, 
test_loader=test_loader, 
score_funcs={'accuracy': accuracy_score}, 
device=device, 
epochs=30,
capture_conv_sample_weights=True, 
conv_index=4, 
wx_flt_index=3, 
wx_ch_index=4, 
wx_ro_index=1, 
wx_index=0,
wy_flt_index=3,
wy_ch_index=8, 
wy_ro_index=1, 
wy_index=0
)

three_convs_wth_bn_model_results_df = train_model( 
three_convs_wth_bn_model,
loss_func, 
train_loader, 
test_loader=test_loader, 
score_funcs={'accuracy': accuracy_score}, 
device=device, 
epochs=30,
capture_conv_sample_weights=True, 
conv_index=6, 
wx_flt_index=3, 
wx_ch_index=4, 
wx_ro_index=1, 
wx_index=0,
wy_flt_index=3,
wy_ch_index=8, 
wy_ro_index=1, 
wy_index=0
)

發現之1:提高了測試精度

通過引入BN2D實例,DL模型的測試精度更好,如圖6所示。對于具有BN2D的模型,測試精度隨著訓練時期的增加而逐漸提高,而對于沒有BN2D的模式,測試精度則隨著訓練周期而振蕩。在第30個訓練周期結束時,具有BN2D的模型的測試精度為99.1%,而不具有BN2D模型的測試準確率為92.4%。這些結果表明,引入BN2D實例對模型的性能產生了積極影響,顯著提高了測試精度。

sns.lineplot( x='epoch', y='test accuracy', data=three_convs_model_results_df, label="Three Convs Without BN2D Model" )
sns.lineplot( x='epoch', y='test accuracy', data=three_convs_wth_bn_model_results_df, label="Three Convs Wth BN2D Model" )

圖6:訓練周期的測試準確性(圖片由作者本人創建)

發現之2:更快的收斂

引入BN2D實例時,DL模型的訓練損失要低得多,如圖7所示。大約訓練到第3個周期時,具有BN2D的模型表現出比沒有BN2D的模型更低的訓練損失。較低的訓練損失表明,BN2D有助于在訓練過程中更快地收斂,可能會減少合理收斂的訓練周期數量。

sns.lineplot( x='epoch', y='train loss', data=three_convs_model_results_df, label="Three Convs Without BN2D Model" )
sns.lineplot( x='epoch', y='train loss', data=three_convs_wth_bn_model_results_df, label="Three Convs Wth BN2D Model" )

圖7:在各個訓練周期過程對應的訓練損失(圖片由作者本人創建)

發現之3:更平滑的梯度下降

如圖8所示,從帶有BN2D的模型的最后一次卷積中獲得的兩個樣本權重的損失函數顯示出比沒有BN2D的模型更平滑的梯度下降。沒有BN2D的模型的損失函數遵循相當明顯的“之”字形的梯度下降。BN2D的更平滑的梯度下降表明,將維度數據標準化為平均值為0、標準偏差為1的標準規模,使得不同維度的權重可能趨于相似的規模,從而減少梯度下降的可能振蕩。

fig1 = draw_loss_descent( three_convs_model_results_df, title='Three Convs Model Without BN2D Training Loss' )
fig2 = draw_loss_descent( three_convs_wth_bn_model_results_df, title='Three Convs With BN2D Model Training Loss' )

圖8:樣本權重上的損失函數梯度下降(圖片由作者本人創建)

實際注意事項

雖然BN2D的好處是顯而易見的,但要真正使用它還需要仔細考量。權重的適當初始化、適當的學習率以及在DL網絡中放置BN2D層是最大化其有效性的關鍵因素。雖然BN2D通常可以防止過度擬合,但在某些情況下,它甚至可能導致過度擬合。例如,如果將BN2D與另一種稱為Dropout的技術一起使用,則根據具體配置和數據集,組合可能會對過度擬合產生不同的影響。同樣,在小批量的情況下,批量平均值和方差可能不能很好地代表整個數據集的統計數據,這可能會導致有噪聲的歸一化,這在防止過度擬合方面可能沒有那么有效。

結論

本文旨在展示在深度學習網絡中使用BN2D的背后邏輯。文中使用類玩具圖像數據的示例卷積模型僅用于展示在DL網絡架構中結合BN2D實例情況下的預期結果的性能改進。最后的結論是,跨空間和通道維度的BN2D歸一化帶來了訓練穩定性、更快的收斂性和增強的泛化能力,最終有助于深度學習模型的成功。希望這篇文章有助于您很好地理解BN2D的工作原理及其背后的實現邏輯。在開發更復雜的DL模型時,我相信這種理解和直覺感受會助您一臂之力。

參考資料

1. “印地語字符識別”,解決分類梵文的問題。地址:https://www.kaggle.com/datasets/suvooo/hindi-character-recognition/data?source=post_page-----b4eb869e8b60--------------------------------。

2. “BatchNorm2d-PyTorch 2.1文檔”,讀者可加入PyTorch開發者社區,貢獻、學習并回答您的問題。地址:https://pytorch.org/docs/stable/generated/torch.nn.BatchNorm2d.html?source=post_page-----b4eb869e8b60--------------------------------。

3. “為什么在特征中使用2D批量歸一化和在分類器中使用1D?”,討論BatchNorm2d和BatchNorm1d之間有什么區別?為什么在特征中使用BatchNorm2d而BatchNorm1d是……地址:https://discuss.pytorch.org/t/why-2d-batch-normalisation-is-used-in-features-and-1d-in-classifiers/88360/3?source=post_page-----b4eb869e8b60--------------------------------。

4. “Keras文檔:BatchNormalization層”,Keras文檔有關內容,地址:https://keras.io/api/layers/normalization_layers/batch_normalization/?source=post_page-----b4eb869e8b60--------------------------------。

譯者介紹

朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。

原文標題:Exploring the Superhero Role of 2D Batch Normalization in Deep Learning Architectures,作者:Murali Kashaboina

鏈接:https://towardsdatascience.com/exploring-the-superhero-role-of-2d-batch-normalization-in-deep-learning-architectures-b4eb869e8b60。

想了解更多AIGC的內容,請訪問:

51CTO AI.x社區

http://www.jxzklqfsx.com/aigc/

責任編輯:姜華 來源: 51CTO內容精選
相關推薦

2021-12-24 09:00:00

軟件開發技術經理超級英雄

2021-12-27 07:25:13

項目軟件開發

2024-03-01 16:20:33

2017-11-02 09:00:00

nuclioPythonGolang

2023-05-14 22:00:01

2017-12-01 05:47:47

編程語言超級英雄程序

2017-02-09 18:50:42

深度學習機器計算機

2016-05-26 11:49:12

2011-08-11 18:07:55

iPhoneQuratz 2D

2011-08-11 17:52:01

Cocos2d游戲對象

2020-12-15 15:40:18

深度學習Python人工智能

2021-04-14 11:46:29

聯想

2017-05-04 08:48:36

達觀數據分析架構

2023-08-11 15:20:54

深度學習醫學成像數據

2017-05-08 16:13:33

深度學習神經網絡深度

2011-08-11 18:00:18

Cocos2d動作Action

2011-07-27 10:13:23

Cocos2D iPhone

2011-07-29 18:02:06

2025-01-14 13:20:56

點贊
收藏

51CTO技術棧公眾號

视频一区二区国产| 深爱激情综合| 亚洲高清视频在线| 国产一区高清视频| 伊人久久久久久久久久久久 | 欧美第一区第二区| 99精品人妻少妇一区二区| 国产日韩精品在线看| 久久www免费人成看片高清| 欧美高跟鞋交xxxxhd| 色欲av无码一区二区三区| 青青青国产精品| 激情亚洲一区二区三区四区| 亚洲欧美日产图| 日韩一卡二卡在线| 精品一区二区在线观看| 97国产一区二区精品久久呦 | 亚洲欧美日韩国产手机在线| 久久久久久亚洲精品| 亚洲最大成人综合网| 在线播放一区二区精品视频| 欧美色综合天天久久综合精品| 国产精品一线二线三线| 日本不卡在线| 国产欧美日韩精品a在线观看| 国产青春久久久国产毛片| 一级做a爰片久久毛片16| 性伦欧美刺激片在线观看| 欧美成人午夜影院| 手机看片国产日韩| 青青草原在线亚洲| 日韩欧美电影在线| 不用播放器的免费av| 成人做爰视频www网站小优视频| 一区二区三区视频在线看| 午夜精品一区二区在线观看| 亚洲欧美日韩免费| 成人黄色777网| 亚洲一区制服诱惑| 91国在线视频| 欧美男女交配视频| 免费av在线电影| 99久久精品久久久久久清纯| 亚洲一区二区三区乱码aⅴ| 成年人视频免费| 性欧美xxxx大乳国产app| 久久久久国产精品免费| 私库av在线播放| 国产精品99久久久久久动医院| 亚洲天堂视频在线观看| 国产精品一区二区入口九绯色| 国产精品欧美大片| 日韩精品一区二区三区三区免费| 午夜免费福利网站| 国产精品国产三级在线观看| 欧美狂野另类xxxxoooo| 国产免费中文字幕| 欧美电影院免费观看| 日韩欧美资源站| 中文字幕一区二区三区人妻在线视频| 欧美不卡在线观看| 精品国产3级a| 一级做a爰片毛片| 伊人久久大香线蕉无限次| 亚洲老板91色精品久久| 最近中文字幕无免费| 中文有码一区| 国产午夜精品免费一区二区三区| youjizz亚洲女人| 91偷拍一区二区三区精品| www日韩欧美| 青青草偷拍视频| 亚洲国产片色| 国产成人短视频| 一本色道久久综合亚洲| 国产一区美女在线| 高清日韩一区| 色鬼7777久久| 中文成人av在线| 日本成人性视频| 里番在线播放| 在线看一区二区| 国产一级免费大片| 高潮按摩久久久久久av免费| 精品视频在线播放免| 久久久视频6r| 国产不卡一二三区| 一区二区日韩精品| 青青草手机在线视频| 一本色道久久综合| 国产精品av免费在线观看| 探花国产精品一区二区| 国产剧情在线观看一区二区| 一区二区理论电影在线观看| 久久久久久久久久久91| 亚洲视频 欧美视频| 男男成人高潮片免费网站| 91久久久一线二线三线品牌| 日韩偷拍自拍| 亚洲视频狠狠干| 69堂免费视频| 高清久久一区| 亚洲欧美日韩直播| 免费在线黄色网| 日韩一级大片| 成人亲热视频网站| 深夜视频在线免费| 亚洲精品老司机| 无码少妇一区二区三区芒果| 综合久久成人| 色婷婷综合成人av| 久久国产黄色片| 免费高清不卡av| 久久综合一区二区三区| а√中文在线8| 在线视频国内自拍亚洲视频| 成人区人妻精品一区二| 国产精品久久久久久久| 555www成人网| 亚洲经典一区二区| 国产亚洲欧洲997久久综合| 亚洲一二三区在线| 欧美1级2级| 亚洲国产精品久久久久| 欧美做爰啪啪xxxⅹ性| 久久婷婷激情| 精品一区在线播放| 国产亚av手机在线观看| 欧美精品丝袜久久久中文字幕| 精品人妻无码一区二区三区 | 亚洲网址在线观看| 丝袜亚洲欧美日韩综合| 秋霞av一区二区三区| av一本久道久久综合久久鬼色| 日本久久高清视频| 深夜日韩欧美| 日韩中文在线视频| 亚洲精品国产精品乱码视色| 久久综合资源网| 性欧美大战久久久久久久| 日韩欧美另类中文字幕| 美女精品久久久| av av片在线看| 亚洲美女区一区| 中文字幕 欧美 日韩| 欧美va天堂在线| 99re资源| 波多野结衣在线观看| 欧美成人性福生活免费看| 欧美毛片在线观看| 国产经典欧美精品| 国产精品三级一区二区| 亚洲一区二区免费在线观看| 久久99国产精品自在自在app | 日韩一区二区三区免费视频| 亚洲视频一区二区| 日批视频免费在线观看| 国产亚洲精品免费| 男女爽爽爽视频| 日韩免费一区| 亚洲一区二区久久久久久| 午夜小视频福利在线观看| 日韩欧美一二区| 日韩精品一卡二卡| 久久久高清一区二区三区| 免费看a级黄色片| 奇米色欧美一区二区三区| 国产精品色悠悠| 国产黄大片在线观看画质优化| 日韩一二三四区| 国产大片中文字幕在线观看| 91视频免费观看| 丰满少妇在线观看| 外国成人免费视频| 成人情视频高清免费观看电影| 呦呦在线视频| 日韩电影免费在线观看中文字幕| 日本免费在线观看视频| 国产精品亲子伦对白| 中文字幕一区二区在线观看视频 | av免费观看在线| 亚洲国产精品天堂| 久久精品国产亚洲av麻豆| 日韩成人一区二区三区在线观看| 一区二区视频在线观看| 天堂精品在线视频| 2018国产精品视频| 69视频在线观看| 日韩欧美国产精品一区| 特级做a爱片免费69| 国产精品电影院| 亚洲欧美日韩色| 秋霞午夜鲁丝一区二区老狼| 91国在线高清视频| 综合国产视频| **亚洲第一综合导航网站| hd国产人妖ts另类视频| 中文精品99久久国产香蕉| 国产丰满美女做爰| 日韩欧美在线视频观看| 久久人妻无码aⅴ毛片a片app| 99热99精品| 亚洲精品性视频| 先锋影音久久| 草草草视频在线观看| 亚洲精品一级二级三级| 91九色对白| av免费在线一区| 国内揄拍国内精品少妇国语| 麻豆电影在线播放| 亚洲欧美日韩天堂一区二区| 精品免费久久久| 欧美亚洲国产一卡| 1级黄色大片儿| 亚洲精品视频一区二区| 伊人网在线视频观看| 成人高清av在线| 免费黄频在线观看| 日韩国产欧美一区二区三区| 玩弄中年熟妇正在播放| 女人色偷偷aa久久天堂| 水蜜桃一区二区| 妖精视频一区二区三区免费观看| 国产高清精品一区二区| 国产精品色婷婷在线观看| 国产精品久久久久久久久久| 99爱在线观看| 久久久久国产精品免费| 午夜影院免费在线| 久久亚洲欧美日韩精品专区| www.成人.com| 亚洲亚裔videos黑人hd| 午夜在线视频观看| 亚洲精品国产精品国自产在线| 精品国产无码一区二区| 7878成人国产在线观看| 亚洲视频中文字幕在线观看| 91久久香蕉国产日韩欧美9色| 久草国产精品视频| 亚洲成人免费在线观看| 久草网在线观看| 亚洲综合自拍偷拍| 三级影片在线看| 亚洲欧美二区三区| 国产精品 欧美激情| 亚洲视频在线观看三级| 午夜三级在线观看| 中文字幕在线播放不卡一区| 亚洲熟女少妇一区二区| 专区另类欧美日韩| 日本在线一级片| 一区二区三区欧美| 欧美精品99久久久| 亚洲国产wwwccc36天堂| 国产精品19乱码一区二区三区| 亚洲无人区一区| 国产成人精品亚洲男人的天堂| 亚洲sss视频在线视频| 色婷婷在线观看视频| 精品高清一区二区三区| 国产一级片毛片| 在线一区二区三区四区| 亚洲天堂手机版| 欧美一区二区三区四区五区| wwwav在线播放| 亚洲精品av在线| 经典三级在线| 神马久久桃色视频| av毛片在线免费| 久久久久亚洲精品国产| 少妇视频在线观看| 国产精品免费久久久久久| 日日夜夜精品| 国产精品传媒毛片三区| 亚洲都市激情| 亚洲综合欧美日韩| 欧美久久九九| 激情综合网婷婷| 另类小说视频一区二区| 欧美性猛交xx| 91在线视频播放地址| 亚洲理论片在线观看| 日韩一区在线播放| 欧美日韩中文视频| 欧美这里有精品| 国产剧情久久久| 日韩精品一区二区三区第95| jzzjzzjzz亚洲成熟少妇| 色综合视频网站| 欧美美女日韩| 97欧洲一区二区精品免费| 看全色黄大色大片免费久久久| 视频一区不卡| 激情久久五月| 中文字幕第100页| 成人aa视频在线观看| 国精产品一区一区| 亚洲成人av一区二区三区| 这里只有精品国产| 亚洲国产天堂久久国产91| 亚洲成a人v欧美综合天堂麻豆| 久久久久久香蕉网| 色8久久久久| 免费成人av网站| 国产综合激情| xxx国产在线观看| 91在线国产观看| www.99re7| 欧洲精品在线观看| 色呦呦中文字幕| 久久综合久中文字幕青草| 国产精品迅雷| 国产精品一国产精品最新章节| 日韩精品2区| 欧美 国产 小说 另类| 成人在线视频一区| 免费在线观看黄色小视频| 色偷偷一区二区三区| 欧美熟女一区二区| 欧美成人一区在线| 久久久久久久性潮| 日韩和欧美的一区二区| 欧美日韩国产一区精品一区| 视色视频在线观看| 久久久久成人黄色影片| 精品久久免费视频| 欧美成人r级一区二区三区| 日本在线看片免费人成视1000| 日本不卡免费高清视频| 国内自拍欧美| 97久久国产亚洲精品超碰热| 久久精品二区亚洲w码| 黄色片在线观看免费| 在线免费观看日韩欧美| 完全免费av在线播放| 91精品国产一区| 日韩精品免费视频一区二区三区| 亚洲视频sss| 免费观看日韩电影| 国产真人真事毛片视频| 欧美性生交片4| 国产成人天天5g影院在线观看| 日韩美女av在线免费观看| 香蕉人人精品| 六月激情综合网| 久久久久久电影| 久久久久亚洲视频| 伊人成人开心激情综合网| 亚洲成人看片| 亚洲精品视频一区二区三区| 麻豆精品国产传媒mv男同 | 亚洲午夜久久久久久久久久久 | 国产乱子精品一区二区在线观看| 色一情一乱一伦一区二区三欧美 | 亚洲成人av免费观看| 亚洲人成在线播放网站岛国| 国产麻豆免费视频| 久久99久久亚洲国产| 国产乱人伦精品一区| av免费观看大全| 国产亚洲成年网址在线观看| 国产精品传媒在线观看| 日韩午夜在线视频| 高清不卡一区| av在线观看地址| 久久中文字幕电影| 国产精华7777777| 日韩视频免费在线| 日韩一区免费| 国产精品欧美激情在线观看| 国产精品青草久久| 亚洲AV午夜精品| 2019中文字幕在线观看| 精品福利久久久| 亚洲怡红院在线| 亚洲.国产.中文慕字在线| 毛片网站在线| 成人精品视频在线| 在线视频观看日韩| 在线小视频你懂的| 欧美一区二区啪啪| 韩日毛片在线观看| 亚洲欧美电影在线观看| 国产精品77777竹菊影视小说| 日韩精品乱码久久久久久| 中文字幕日韩av电影| 亚洲小说春色综合另类电影| 777久久久精品一区二区三区| 中文一区在线播放| 蜜臀av在线观看| 国产精品一区二区三区在线播放| 欧美99久久| 久久久久久亚洲中文字幕无码| 欧美二区三区的天堂| 九色porny视频在线观看| 亚洲一区二区三区乱码| 成人免费视频国产在线观看| 中文在线免费观看| 97免费视频在线播放| 日韩一区三区|