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

深度學習自動編碼器還能用于數據生成?這篇文章告訴你答案

移動開發
什么是自動編碼器?自動編碼器(AutoEncoder)最開始作為一種數據的壓縮方法。

什么是自動編碼器

自動編碼器(AutoEncoder)最開始作為一種數據的壓縮方法,其特點有:

  • 跟數據相關程度很高,這意味著自動編碼器只能壓縮與訓練數據相似的數據,這個其實比較顯然,因為使用神經網絡提取的特征一般是高度相關于原始的訓練集,使用人臉訓練出來的自動編碼器在壓縮自然界動物的圖片是表現就會比較差,因為它只學習到了人臉的特征,而沒有能夠學習到自然界圖片的特征;

  • 壓縮后數據是有損的,這是因為在降維的過程中不可避免的要丟失掉信息;

到了2012年,人們發現在卷積網絡中使用自動編碼器做逐層預訓練可以訓練更加深層的網絡,但是很快人們發現良好的初始化策略要比費勁的逐層預訓練有效地多,2014年出現的Batch Normalization技術也是的更深的網絡能夠被被有效訓練,到了15年底,通過殘差(ResNet)我們基本可以訓練任意深度的神經網絡。

所以現在自動編碼器主要應用有兩個方面,第一是數據去噪,第二是進行可視化降維。然而自動編碼器還有著一個功能就是生成數據。

我們之前講過GAN,它與GAN相比有著一些好處,同時也有著一些缺點。我們先來講講其跟GAN相比有著哪些優點。

第一點,我們使用GAN來生成圖片有個很不好的缺點就是我們生成圖片使用的隨機高斯噪聲,這意味著我們并不能生成任意我們指定類型的圖片,也就是說我們沒辦法決定使用哪種隨機噪聲能夠產生我們想要的圖片,除非我們能夠把初始分布全部試一遍。但是使用自動編碼器我們就能夠通過輸出圖片的編碼過程得到這種類型圖片的編碼之后的分布,相當于我們是知道每種圖片對應的噪聲分布,我們就能夠通過選擇特定的噪聲來生成我們想要生成的圖片。

第二點,這既是生成網絡的優點同時又有著一定的局限性,這就是生成網絡通過對抗過程來區分“真”的圖片和“假”的圖片,然而這樣得到的圖片只是盡可能像真的,但是這并不能保證圖片的內容是我們想要的,換句話說,有可能生成網絡盡可能的去生成一些背景圖案使得其盡可能真,但是里面沒有實際的物體。

自動編碼器的結構

首先我們給出自動編碼器的一般結構

深度學習自動編碼器還能用于數據生成?這篇文章告訴你答案

從上面的圖中,我們能夠看到兩個部分,第一個部分是編碼器(Encoder),第二個部分是解碼器(Decoder),編碼器和解碼器都可以是任意的模型,通常我們使用神經網絡模型作為編碼器和解碼器。輸入的數據經過神經網絡降維到一個編碼(code),接著又通過另外一個神經網絡去解碼得到一個與輸入原數據一模一樣的生成數據,然后通過去比較這兩個數據,最小化他們之間的差異來訓練這個網絡中編碼器和解碼器的參數。當這個過程訓練完之后,我們可以拿出這個解碼器,隨機傳入一個編碼(code),希望通過解碼器能夠生成一個和原數據差不多的數據,上面這種圖這個例子就是希望能夠生成一張差不多的圖片。

 

這件事情能不能實現呢?其實是可以的,下面我們會用PyTorch來簡單的實現一個自動編碼器。

首先我們構建一個簡單的多層感知器來實現一下。

  1. class autoencoder(nn.Module): 
  2.     def __init__(self): 
  3.         super(autoencoder, self).__init__() 
  4.         self.encoder = nn.Sequential( 
  5.             nn.Linear(28*28128), 
  6.             nn.ReLU(True), 
  7.             nn.Linear(12864), 
  8.             nn.ReLU(True), 
  9.             nn.Linear(6412), 
  10.             nn.ReLU(True), 
  11.             nn.Linear(123
  12.         ) 
  13.         self.decoder = nn.Sequential( 
  14.             nn.Linear(312), 
  15.             nn.ReLU(True), 
  16.             nn.Linear(1264), 
  17.             nn.ReLU(True), 
  18.             nn.Linear(64128), 
  19.             nn.ReLU(True), 
  20.             nn.Linear(12828*28), 
  21.             nn.Tanh() 
  22.         ) 
  23.  
  24.     def forward(self, x): 
  25.         x = self.encoder(x) 
  26.         x = self.decoder(x) 
  27.         return x 

這里我們定義了一個簡單的4層網絡作為編碼器,中間使用ReLU激活函數,最后輸出的維度是3維的,定義的解碼器,輸入三維的編碼,輸出一個28x28的圖像數據,特別要注意最后使用的激活函數是Tanh,這個激活函數能夠將最后的輸出轉換到-1 ~1之間,這是因為我們輸入的圖片已經變換到了-1~1之間了,這里的輸出必須和其對應。

訓練過程也比較簡單,我們使用最小均方誤差來作為損失函數,比較生成的圖片與原始圖片的每個像素點的差異。

同時我們也可以將多層感知器換成卷積神經網絡,這樣對圖片的特征提取有著更好的效果。

  1. class autoencoder(nn.Module): 
  2.     def __init__(self): 
  3.         super(autoencoder, self).__init__() 
  4.         self.encoder = nn.Sequential( 
  5.             nn.Conv2d(1163, stride=3, padding=1),  # b, 16, 10, 10 
  6.             nn.ReLU(True), 
  7.             nn.MaxPool2d(2, stride=2),  # b, 16, 5, 5 
  8.             nn.Conv2d(1683, stride=2, padding=1),  # b, 8, 3, 3 
  9.             nn.ReLU(True), 
  10.             nn.MaxPool2d(2, stride=1)  # b, 8, 2, 2 
  11.         ) 
  12.         self.decoder = nn.Sequential( 
  13.             nn.ConvTranspose2d(8163, stride=2),  # b, 16, 5, 5 
  14.             nn.ReLU(True), 
  15.             nn.ConvTranspose2d(1685, stride=3, padding=1),  # b, 8, 15, 15 
  16.             nn.ReLU(True), 
  17.             nn.ConvTranspose2d(812, stride=2, padding=1),  # b, 1, 28, 28 
  18.             nn.Tanh() 
  19.         ) 
  20.  
  21.     def forward(self, x): 
  22.         x = self.encoder(x) 
  23.         x = self.decoder(x) 
  24.         return x 

這里使用了 nn.ConvTranspose2d(),這可以看作是卷積的反操作,可以在某種意義上看作是反卷積。

我們使用卷積網絡得到的最后生成的圖片效果會更好,具體的圖片效果我就不再這里放了,可以在我們的github上看到圖片的展示。github 地址:

http://t.cn/RK5gxpM

變分自動編碼器(Variational Auto Encoder)

變分編碼器是自動編碼器的升級版本,其結構跟自動編碼器是類似的,也由編碼器和解碼器構成。

回憶一下我們在自動編碼器中所做的事,我們需要輸入一張圖片,然后將一張圖片編碼之后得到一個隱含向量,這比我們隨機取一個隨機噪聲更好,因為這包含著原圖片的信息,然后我們隱含向量解碼得到與原圖片對應的照片。

但是這樣我們其實并不能任意生成圖片,因為我們沒有辦法自己去構造隱藏向量,我們需要通過一張圖片輸入編碼我們才知道得到的隱含向量是什么,這時我們就可以通過變分自動編碼器來解決這個問題。

其實原理特別簡單,只需要在編碼過程給它增加一些限制,迫使其生成的隱含向量能夠粗略的遵循一個標準正態分布,這就是其與一般的自動編碼器最大的不同。

這樣我們生成一張新圖片就很簡單了,我們只需要給它一個標準正態分布的隨機隱含向量,這樣通過解碼器就能夠生成我們想要的圖片,而不需要給它一張原始圖片先編碼。

在實際情況中,我們需要在模型的準確率上與隱含向量服從標準正態分布之間做一個權衡,所謂模型的準確率就是指解碼器生成的圖片與原圖片的相似程度。我們可以讓網絡自己來做這個決定,非常簡單,我們只需要將這兩者都做一個loss,然后在將他們求和作為總的loss,這樣網絡就能夠自己選擇如何才能夠使得這個總的loss下降。另外我們要衡量兩種分布的相似程度,如何看過之前一片GAN的數學推導,你就知道會有一個東西叫KL divergence來衡量兩種分布的相似程度,這里我們就是用KL divergence來表示隱含向量與標準正態分布之間差異的loss,另外一個loss仍然使用生成圖片與原圖片的均方誤差來表示。

我們可以給出KL divergence 的公式

 

這里變分編碼器使用了一個技巧“重新參數化”來解決 KL divergence 的計算問題。

 

這時不再是每次產生一個隱含向量,而是生成兩個向量,一個表示均值,一個表示標準差,然后通過這兩個統計量來合成隱含向量,這也非常簡單,用一個標準正態分布先乘上標準差再加上均值就行了,這里我們默認編碼之后的隱含向量是服從一個正態分布的。這個時候我們是想讓均值盡可能接近0,標準差盡可能接近1。而論文里面有詳細的推導如何得到這個loss的計算公式,有興趣的同學可以去看看具體推到過程:

https://arxiv.org/pdf/1606.05908.pdf

下面是PyTorch的實現:

  1. reconstruction_function = nn.BCELoss(size_average=False)  # mse loss 
  2.  
  3. def loss_function(recon_x, x, mu, logvar): 
  4.     """ 
  5.     recon_x: generating images 
  6.     x: origin images 
  7.     mu: latent mean 
  8.     logvar: latent log variance 
  9.     """ 
  10.     BCE = reconstruction_function(recon_x, x) 
  11.     # loss = 0.5 * sum(1 + log(sigma^2) - mu^2 - sigma^2) 
  12.     KLD_element = mu.pow(2).add_(logvar.exp()).mul_(-1).add_(1).add_(logvar) 
  13.     KLD = torch.sum(KLD_element).mul_(-0.5
  14.     # KL divergence 
  15.     return BCE + KLD 

另外變分編碼器除了可以讓我們隨機生成隱含變量,還能夠提高網絡的泛化能力。

最后是VAE的代碼實現:

  1. class VAE(nn.Module): 
  2.     def __init__(self): 
  3.         super(VAE, self).__init__() 
  4.  
  5.         self.fc1 = nn.Linear(784400
  6.         self.fc21 = nn.Linear(40020
  7.         self.fc22 = nn.Linear(40020
  8.         self.fc3 = nn.Linear(20400
  9.         self.fc4 = nn.Linear(400784
  10.  
  11.     def encode(self, x): 
  12.         h1 = F.relu(self.fc1(x)) 
  13.         return self.fc21(h1), self.fc22(h1) 
  14.  
  15.     def reparametrize(self, mu, logvar): 
  16.         std = logvar.mul(0.5).exp_() 
  17.         if torch.cuda.is_available(): 
  18.             eps = torch.cuda.FloatTensor(std.size()).normal_() 
  19.         else
  20.             eps = torch.FloatTensor(std.size()).normal_() 
  21.         eps = Variable(eps) 
  22.         return eps.mul(std).add_(mu) 
  23.  
  24.     def decode(self, z): 
  25.         h3 = F.relu(self.fc3(z)) 
  26.         return F.sigmoid(self.fc4(h3)) 
  27.  
  28.     def forward(self, x): 
  29.         mu, logvar = self.encode(x) 
  30.         z = self.reparametrize(mu, logvar) 
  31.         return self.decode(z), mu, logvar 

VAE的結果比普通的自動編碼器要好很多,下面是結果:

深度學習自動編碼器還能用于數據生成?這篇文章告訴你答案  深度學習自動編碼器還能用于數據生成?這篇文章告訴你答案

VAE的缺點也很明顯,他是直接計算生成圖片和原始圖片的均方誤差而不是像GAN那樣去對抗來學習,這就使得生成的圖片會有點模糊。現在已經有一些工作是將VAE和GAN結合起來,使用VAE的結構,但是使用對抗網絡來進行訓練,具體可以參考一下這篇論文:

https://arxiv.org/pdf/1512.09300.pdf

文中相關代碼鏈接:

http://t.cn/RK5gxpM

英文參考:

http://t.cn/RtoJRAa

本文轉自雷鋒網,如需轉載請至雷鋒網官網申請授權

責任編輯:張子龍 來源: 雷鋒網
相關推薦

2017-09-24 12:13:52

深度學習自動編碼器機器學習

2018-02-08 18:16:39

數據庫MySQL鎖定機制

2017-07-12 16:56:42

卷積神經網絡結構數據CNN

2017-07-05 15:42:58

卷積神經網絡Non-Euclide計算機視覺

2020-07-09 10:21:03

網絡排錯TCPIP

2020-09-18 10:18:08

MySQL數據插入數據庫

2019-01-08 07:43:53

路由器調制解調器

2023-04-06 11:10:31

閉包JavaScript

2023-09-22 07:52:16

HDMI 2.14K HDR游戲

2020-02-12 18:55:24

負載因子初始值為什么

2019-05-22 17:34:16

代碼開發工具

2021-03-22 10:52:13

人工智能深度學習自編碼器

2021-03-29 11:37:50

人工智能深度學習

2023-12-24 22:42:57

數據庫分片中間件

2019-09-02 09:06:04

無線路由器光貓WiFi

2023-11-30 08:27:38

泛化調用架構

2021-12-17 10:09:47

編碼器語言模型DeepMind

2019-01-28 11:24:53

Windows 功能系統

2017-08-16 21:58:05

自動編碼器DeepCoder深度學習

2019-01-30 13:44:34

JVM內存服務器
點贊
收藏

51CTO技術棧公眾號

天堂av2020| 欧美日韩一级在线| 成人黄色免费网| 影音先锋日韩在线| 亚洲国产天堂久久综合| 草草草在线视频| 在线观看三级视频| 26uuu另类欧美| 51精品国产人成在线观看| 91国产丝袜播放在线| 91欧美在线| 日韩毛片在线观看| 亚洲午夜精品一区| 伊人久久国产| 亚洲一区在线免费观看| 亚洲视频电影| 青草久久伊人| 国产不卡在线视频| 国产精品亚洲综合天堂夜夜| 国产精品99精品| 婷婷亚洲最大| 一区二区三区美女xx视频| www.四虎在线| 国产精品1区在线| 欧美主播一区二区三区| 国产素人在线观看| 色呦呦呦在线观看| 亚洲欧洲精品一区二区三区| 欧美xxxx黑人又粗又长密月| 成人av手机在线| 久久成人羞羞网站| 国产福利精品在线| 六月丁香在线视频| 国产一区视频在线观看免费| 久久精品视频中文字幕| www.日本高清视频| 狠狠色丁香婷婷综合影院| 亚洲国产成人精品久久久国产成人一区 | 成人欧美一区二区三区小说 | 曰本三级日本三级日本三级| 国产一区二区三区朝在线观看| 午夜精品免费在线| 欧美日韩视频免费| 亚洲夜夜综合| 亚洲精品国产a久久久久久| 自拍偷拍亚洲色图欧美| yiren22综合网成人| 国产欧美日韩精品a在线观看| 欧美精品二区三区四区免费看视频| 欧美性猛交 xxxx| 国产超碰在线一区| 国产高清在线一区| 亚洲精品综合久久| 成人午夜电影小说| 国产日韩久久| 天天色综合久久| 99在线视频精品| 精品国产免费一区二区三区 | 亚洲熟妇无码av在线播放| 怡红院在线播放| 亚洲国产精品一区二区久久恐怖片 | 91久久国产最好的精华液| 精品一区二区中文字幕| 亚洲最大网站| 欧美午夜一区二区| 手机免费看av网站| 欧美黄视频在线观看| 欧美一卡二卡在线| 激情av中文字幕| 欧美午夜寂寞| 国产亚洲综合久久| 国产大屁股喷水视频在线观看| 99久久亚洲精品蜜臀| 另类色图亚洲色图| 精品无码m3u8在线观看| 亚洲一区观看| 国产精品丝袜久久久久久不卡| 亚洲图片小说视频| 国产精品一区不卡| 九九99玖玖| 成年人视频免费在线观看| 国产精品久久久久桃色tv| 992tv快乐视频| 蜜桃视频在线观看播放| 欧美在线制服丝袜| 国产又黄又嫩又滑又白| 亚洲三级网页| 久久精品99国产精品酒店日本| 精品视频久久久久| 日韩电影免费一区| 999视频在线观看| 午夜性色福利影院| 国产精品国产三级国产普通话蜜臀 | 黄色软件在线观看| 亚洲久草在线视频| 少妇人妻互换不带套| 精品视频在线观看网站| 亚洲欧美一区二区三区在线| 侵犯稚嫩小箩莉h文系列小说| 99精品热6080yy久久| 国产日韩在线看片| 亚洲AV第二区国产精品| 日韩毛片视频在线看| 中文字幕无码精品亚洲35| 欧美一级网址| 亚洲欧美三级在线| 久久国产精品二区| 麻豆成人久久精品二区三区小说| 国产精品日韩欧美一区二区三区| 成人性生交大片免费看午夜| 亚洲风情在线资源站| 国产成人美女视频| 欧美日韩爱爱| 韩国v欧美v日本v亚洲| 国产又爽又黄免费软件| 国产拍揄自揄精品视频麻豆| 人妻av中文系列| 精品久久国产一区| 中文字幕最新精品| www.国产高清| gogo大胆日本视频一区| 日本黄xxxxxxxxx100| 粉嫩av一区二区三区四区五区 | 国产黄在线播放| 午夜精品一区在线观看| 91在线第一页| 天天综合久久| 国产精品中文字幕在线| 九色网友自拍视频手机在线| 欧美在线高清| 99国产精品免费网站| 欧美日韩夫妻久久| 蜜桃传媒一区二区亚洲av | 轻点好疼好大好爽视频| 久久91视频| 在线观看国产成人av片| 岛国av中文字幕| 2021中文字幕一区亚洲| 一卡二卡三卡视频| 成人av综合网| 久久久影视精品| 亚洲精品.www| 亚洲一区二区在线视频| 四虎永久免费观看| 亚洲午夜激情在线| 国产91一区二区三区| 欧美四级在线| 精品国产第一区二区三区观看体验| 日韩a级片在线观看| 国产福利精品导航| 美女黄色免费看| 99这里只有精品视频| 久久久亚洲成人| 手机福利在线| 在线看国产一区| 日本在线观看网址| 国产一区二区中文字幕| 亚洲三级在线播放| 很污的网站在线观看| av日韩在线播放| 97免费中文视频在线观看| 天天干天天爽天天操| 一本一本久久a久久精品综合麻豆| 右手影院亚洲欧美| 蜜臀99久久精品久久久久久软件| 亚洲人成网站在线观看播放| 香蕉成人在线| 欧美激情第一页xxx| 亚洲av成人无码网天堂| 在线视频一区二区三区| 呻吟揉丰满对白91乃国产区| 韩国视频一区二区| 日本男女交配视频| 青青草原在线亚洲| 国产精品久久久久av| 久cao在线| 亚洲韩国日本中文字幕| 日韩欧美在线观看免费| 国产精品久久久久影院色老大 | 亚洲男人的天堂在线视频| 久久久美女毛片| 午夜精品免费看| 亚洲韩日在线| 五月婷婷一区| 亚洲国产高清在线观看| 日本三级久久久| 免费在线看黄网站| 亚洲精品成人久久电影| 中文字幕一区二区三区人妻四季| 亚洲综合精品久久| 中文字幕av久久爽一区| 大尺度一区二区| 尤蜜粉嫩av国产一区二区三区| 欧美在线国产| 蜜桃臀一区二区三区| 国产成人视屏| 国产suv精品一区二区三区88区| 久草中文在线| 日韩精品一二区| 热久久免费国产视频| 日韩免费啪啪| 亚洲精品视频播放| 国产露脸无套对白在线播放| 欧美日韩亚洲国产一区| 波多野结衣爱爱视频| 国产午夜精品美女毛片视频| 野花视频免费在线观看| 青娱乐精品视频| 欧美二区在线视频| 欧美日本精品| 日韩视频精品| 日韩有码中文字幕在线| 97自拍视频| 亚洲欧洲二区| 日本免费一区二区三区视频观看| 性欧美videos高清hd4k| 日韩中文字幕精品| 久久精品a一级国产免视看成人| 精品欧美一区二区久久| 国产剧情久久久| 欧美在线看片a免费观看| 三级视频在线观看| 亚洲成人中文在线| 青娱乐国产盛宴| 亚洲视频在线观看一区| 日韩不卡中文字幕| 中文字幕一区二区久久人妻| 欧美日韩亚洲一区二区三区| 日本熟女一区二区| 亚洲精品福利视频网站| 波多野结衣爱爱视频| 综合激情成人伊人| 激情高潮到大叫狂喷水| 国产精品视频第一区| 夜夜春很很躁夜夜躁| 久久久久久久综合色一本| 中文视频在线观看| a级高清视频欧美日韩| 日韩少妇一区二区| 成人高清在线视频| 日本不卡视频一区| av色综合久久天堂av综合| 一区二区三区四区不卡| 99久久亚洲精品| 日韩第一页在线观看| 国产高清久久| 正在播放一区二区三区| 久久在线免费| 自拍偷拍亚洲色图欧美| 中文字幕日韩欧美精品高清在线 | 午夜国产一区二区| 国产精品美女在线播放| 亚洲一区在线| 国产自产在线视频| 夜夜嗨一区二区| 国产极品粉嫩福利姬萌白酱| 午夜在线视频一区二区区别| 国产精品欧美激情在线观看| 久久精品一本| 国产91色在线观看| 国产主播一区二区三区| 久久人妻少妇嫩草av蜜桃| 成人福利视频网站| 欧美色图亚洲激情| 国产精品卡一卡二| 91日韩中文字幕| 性做久久久久久久免费看| 久久久久女人精品毛片九一 | 2020久久国产精品| 成人在线视频播放| 成人福利网站在线观看11| 中文久久电影小说| 久久精品综合一区| 成人免费在线播放| 青青视频免费在线| 性伦欧美刺激片在线观看| 亚洲成人黄色网址| 国产美女免费视频| 欧美变态凌虐bdsm| 国产中文字幕在线| 久久国产精品久久久久久久久久 | 大片网站久久| 欧美极品少妇无套实战| 香蕉久久a毛片| 伊人色在线视频| 99久久精品国产一区二区三区| 免费看污片的网站| 亚洲乱码国产乱码精品精可以看 | 99在线视频免费| 亚洲美女一区二区三区| 国产高潮久久久| 制服丝袜亚洲色图| 色鬼7777久久| 欧美精品在线免费| 日韩一区二区三区在线免费观看| 亚洲aa中文字幕| 国产精品一区二区av交换| 一本色道久久88亚洲精品综合| 日韩高清在线观看| www.四虎精品| 国产精品福利影院| 黄色在线免费观看| 欧美大片国产精品| 欧美三级理伦电影| 日韩69视频在线观看| 99久热这里只有精品视频免费观看| 五月天亚洲综合| 羞羞视频在线观看欧美| 91精品人妻一区二区三区四区| 欧美激情在线一区二区| 国产无遮挡又黄又爽在线观看| 欧美蜜桃一区二区三区| 日韩a在线观看| 久久人人看视频| 日韩成人视屏| 在线视频一区观看| 日日骚欧美日韩| 97伦伦午夜电影理伦片| 亚洲高清视频在线| 国产a级免费视频| 中文字幕日韩电影| 欧洲亚洲两性| 麻豆成人在线播放| 亚洲国产电影| 亚洲欧美高清在线| 亚洲乱码日产精品bd| 国产一区二区网站| 中国日韩欧美久久久久久久久| 成人av三级| 精品日产一区2区三区黄免费| 欧美私人啪啪vps| 伦伦影院午夜理论片| 亚洲丝袜精品丝袜在线| 中文字幕观看在线| 伊人久久综合97精品| 视频在线日韩| 亚洲精品欧美精品| 蜜臀va亚洲va欧美va天堂| 先锋影音av在线| 在线中文字幕不卡| wwwww在线观看免费视频| 国产激情视频一区| 国模吧精品视频| 色哟哟精品视频| 欧美国产一区视频在线观看| 波多野结衣电影在线播放| 一区二区国产精品视频| 精品亚洲美女网站| 亚洲精品一区二区三区四区五区 | 国产精品中文字幕在线| 欧美激情黄色片| 婷婷中文字幕在线观看| 亚洲乱码国产乱码精品精98午夜| 成年人视频免费| 最新国产成人av网站网址麻豆| 欧美视频精品| 无码毛片aaa在线| 顶级嫩模精品视频在线看| 激情五月色婷婷| 亚洲人在线视频| 国产毛片精品久久| 免费看污污视频| 丁香桃色午夜亚洲一区二区三区| 久久久久99精品| 亚洲美女av电影| 精品久久99| 青青草综合视频| 99精品欧美一区| 中文字幕+乱码+中文乱码www| 日韩中文娱乐网| 成人av综合网| 亚洲五月天综合| 亚洲人成网站在线| 人妻少妇精品无码专区久久| 日韩av不卡电影| 你懂的网址国产 欧美| 中出视频在线观看| 欧美三级三级三级| 久久免费电影| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 激情文学综合丁香| 国产真实的和子乱拍在线观看| 亚洲欧美国产高清va在线播| 亚洲青青久久| 欧美性大战久久久久xxx| 国产精品免费看片| 女人18毛片水真多18精品| 国产精品久久久久久久7电影| 亚洲最大黄网| 精品人妻互换一区二区三区| 欧美久久久影院| 在线女人免费视频| 综合视频免费看| 2020国产精品久久精品美国| 一级aaaa毛片| 青青草原成人在线视频| 欧美日韩亚洲一区| 少妇视频在线播放| 亚洲国产天堂久久综合| 国产精品视频一区视频二区 |