999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于動態量化編碼的深度神經網絡壓縮方法

2019-11-01 03:54:00饒川陳靚影徐如意劉樂元
自動化學報 2019年10期
關鍵詞:深度方法模型

饒川 陳靚影 徐如意 劉樂元

近年來,深度神經網絡在解決機器學習任務時取得了巨大的成功.2012 年,Krizhevsky等[1]首次使用深度神經網絡,AlexNet 在ILSVRC(ImageNet large scale visual recognition competition)[2]分類任務上獲得了冠軍,他們的結果相比傳統的機器學習算法在識別精度上提升了近10 個百分點,引起學術界和工業界巨大轟動.從那時起,各種不同結構的深度神經網絡模型如雨后春筍般不斷涌現.2014 年英國牛津大學的Visual Geometry Group 提出了VGG[3]模型,同時谷歌的研究人員提出了GoolgLeNet[4],2015 年He 等提出了ResNet[5?6].這些模型的網絡結構越來越深,從而能學習到更好的特征以提升模型的性能.然而,由于內存和計算能力有限,隨著網絡變得越來越深,對包括移動設備在內的有嚴格時延要求的有限資源平臺而言,隨之增加的模型參數需要消耗更多的計算和存儲資源,難以直接應用于手機等移動嵌入式設備.

雖然將深度神經網絡部署到云服務器端,移動端將數據上傳服務端處理,能很好解決上述問題,但服務器需要耗費昂貴的硬件成本,導致計算成本過高,其次移動端在使用的過程對網絡要求高,需要將移動端本地的數據上傳到云端服務器進行保存,在處理一些隱私數據時,還會存在信息的泄露.所以將深度學習算法部署到移動端本地非常有意義,但常用的深度模型具有大量的儲存量,比如AlexNet 的模型大小量超過200 MB,VGG 的模型大小量超過500 MB,如果將這些網絡結構直接運用到手機APP中,用戶需要大量的流量下載APP 文件,還會占用用戶手機的大量內存.同時,巨大的模型文件會帶來另外一個問題,手機設備的能源消耗問題,手機在調用這些文件時會存在大量的能源消耗,會讓手機設備產生大量的熱量,因此深度模型壓縮是非常有必要的.

為了解決這一問題,各種深度模型壓縮方法被提出,這些方法主要有:模型剪枝、知識精煉(Knowledge distillation)、低秩分解、精細化的模型結構以及權重共享.本文主要關注基于權重共享的方法來壓縮模型,權重共享是通過卷積濾波器中相近的權重共享同一量化值從而達到對深度神經網絡壓縮的目的.權重共享的方法大致可以分為三類:聚類編碼法、二值/三值量化編碼和指數量化編碼.

聚類編碼法,指使用聚類的方法,將權重聚類為若干類,取每類的聚類中心作為共享的權重.例如,Gong 等[7]通過對全連接層參數進行聚類,取聚類中心作為量化編碼,可以將深度模型AlexNet 壓縮20倍,而Top-5 準確率僅僅下降1%.類似的,Chen等[8]提出了HashedNets 對全連接層進行量化,利用哈希函數隨機的將權重分到不同的哈希桶(Hash bucket),同一哈希桶的權重具有相同的量化值.Han等[9]提出了一種深度壓縮(Deep compression)方法,通過對卷積層和全連接層的權重進行剪枝,然后通過K-Means 聚類進行量化,最后使用霍夫曼編碼(Huffman coding)對模型進行保存,極大的壓縮了模型的規模.但是,聚類編碼法需要大量額外的計算開銷用于聚類分析,算法的訓練效率低.

二值/三值量化編碼,將網絡的權重、激活值量化為二值或者三值.例如,Courbariaux 等[10]提出了一種二值連接(Binary connect)方法,將權重進行二值量化(量化為?1,1),可以將一個深度模型直接壓縮32 倍;他們隨后提出了Binarized neural networks[11],將權重和激活值同時進行二值量化,在壓縮網絡的同時還可以提高運算效率.Rastegari 等[12]提出的二值權重網絡(Binary weight networks)和XNOR-Net,在把權重量化為+1 和?1的基礎上乘以一個尺度因子,在大數據集ImageNet上取得了不錯的壓縮效果.Li 等[13]提出的HORQ,相對于XNOR 只使用到一階閾值,HORQ 還用到二階閾值,讓二階閾值逼近一階閾值的殘差,HORQ在對準確率影響很小的情況下能將模型縮小32倍,同時加速30 倍左右.Li 等[14]提出的TWN(Ternary weight networks),在二值網絡的基礎中引入0 作為量化權重值.Zhu 等[15]提出的TTQ(Trained ternary quantization),將網絡的權重量化為+1 和?1 的基礎上,分別乘上兩個不同的尺度因子.Cai 等[16]提出HWGQ-Net 通過改變網絡的激活函數,將權重量化1 個比特網絡的激活值量化為2 個比特,網絡只有微小的性能損失.盡管這類方法將模型中的每一個權重、激活值壓縮為一到兩位來表示,但是模型的識別精度也有一定幅度的下降.

指數量化編碼,將權重量化為2 的(為整數)次冪,以便于嵌入式系統進行二進制移位操作.該方法由Zhou 等[17]首次提出,利用預訓練模型獲取固定的指數量化的碼本,然后通過增量量化過程來逐漸量化整個網絡.在使用5-bit 量化時,壓縮模型的識別率能夠保持與原模型一致.這種方法在量化時,可以高效率對深度神經網絡量化,但在網絡重訓練時,他們提出的增量網絡量化方法需要分多個階段訓練,訓練效率較低.

鑒于以上幾點,本文提出一種基于動態量化的深度模型壓縮方法,不同與從預訓練模型獲取固定碼本,動態量化在訓練的過程中也更新碼本.這種量化方式在保證模型性能的同時,還加快了效率.同時為了方便嵌入式系統進行移位操作,本文對所有網絡的權值采用指數量化編碼,并通過理論證明得出,絕對值較大權值參數的量化對模型的精度影響越大.因此,本研究通過動態編碼使得碼本能自適應網絡中絕對值較大的權值參數.本文的主要貢獻有以下三點:

1)提出動態更新碼本自適應網絡中絕對值較大的權值參數,盡可能減小這些參數的量化對模型精度的影響;

2)提出交替迭代算法用于模型訓練,使得權值參數和碼本交替更新,加快訓練過程的收斂速度;

3)大量的對比實驗表明,本文所提的基于動態編碼的模型壓縮方法總體上優于靜態編碼的方法.

本文剩余部分的組織結構如下:第1 節介紹現有的深度神經網絡壓縮方法;第2 節介紹本文提出的方法,包括基于權重的動態編碼過程以及壓縮模型的訓練過程;第3 節通過大量的對比實驗驗證本文方法的有效性;第4 節總結與展望.

1 相關的工作

本節主要介紹不同的深度神經網絡壓縮方法.除了上一節重點介紹的權重共享的方法,深度神經網絡壓縮的方法還包括:模型的剪枝、知識精煉(Knowledge distillation)、低秩分解以及精細化的模型結構.

模型的剪枝,通過評定預訓練模型中參數的重要性,剔除網絡中不重要的網絡連接,主要有權重剪枝和濾波器剪枝兩種方法.權重剪枝主要通過判斷權重的大小來決定重要性,一般設定一個閾值進行剔除,或者根據設定剪切比例進行剔除,優先將那些權重較小的值剔除例如Song 等[18]采用此方法將AlexNet 模型的參數量減少了9 倍,VGG 模型的參數量減少13 倍,而并沒有造成模型精度的下降;Anwar 等[19]按照一定的比例對每層中的權重隨機裁剪,統計多種隨機剪裁下局部最優的作為最終剪裁.濾波器剪枝則是剔除網絡中那些對網絡影響較小的卷積濾波器,Li 等[20]通過對卷積濾波器所有元素絕對值求和,剔除那些求和較小的濾波器,從而實現對模型的剪枝;Luo 等[21]對卷積濾波器剪切前和剪切后激活值的損失進行評定,剪切那些對損失影響不大的濾波器;Hu 等[22]通過判定卷積錄波器中權重為0 的參數量來評定剪切標準;Luo 等[23]提出了一種基于熵值的裁剪方式,通過特征層的概率分布來評價卷積濾波器的重要性;Yang 等[24]通過每層需要消耗的能量來進行裁剪,優先修剪那些消耗大的層.相對而言,濾波器剪枝會產生規則的稀疏矩陣,而權重剪枝則會產生大量不規則的稀疏矩陣,因此,在加速方面濾波器剪枝更加有效.

知識精煉,利用大模型指導小模型,從而讓小模型學到大模型相似的函數映射.Hinton 等[25]利用訓練好的復雜模型指導小模型的訓練,小模型通過優化復雜模型的輸出交叉熵和自身的交叉熵,在模型性能和訓練速度上均有所提高.Romero 等[26]提出的FitNets 通過添加網絡模型中間層的特征作為監督信號,有效解決由于網絡層數過深造成的學習困難.Zagoruyko 等[27]同樣采用大模型的中間特征作對小模型進行監督學習,讓小模型同時學到低、中、高層三個層次的特征輸出.

低秩分解,將原來的矩陣分解成若干個小矩陣,對分解的小矩陣進行優化調整.Zhang 等[28]將卷積矩陣變換為二維的矩陣,結合SVD 分解,將VGG-16 模型加速4 倍而精度只有微小的下降.Lebedev等[29]使用CP 分解的方法,將每層網絡分解成若干個低復雜度的網絡層,將AlexNet 的第二個卷積層的速度提升了4 倍卻只增加1% 的分類誤差.

精細化的模型結構,通過使用小的卷積單元或者改變卷積方式對模型進行壓縮和加速.Iandola等[30]提出的SqueezeNet 使用1×1 卷積核對上層特征進行卷積降維,然后使用1×1 和3×3 卷積進行特征堆疊,大大減小了卷積的參數數量.Howard等[31]提出的MobileNets 對每個通道的特征單獨卷積,之后再使用1×1 卷積對不同通道特征進行拼接.Zhang 等[32]提出的ShuffleNet 則是對多通道特征先進行分組后再執行卷積,避免信息流不通暢的問題.這些輕量化的模型設計,極大了減小了模型的參數量和計算量.

這些方法在對深度神經網絡的壓縮,使得網絡的性能在一定程度上有所下降,有些壓縮算法實現步驟繁瑣,甚至有些方法還對原始的網絡結構進行了改變.而與這些方法相比,權重共享的方法只對深度神經網絡中的權重進行量化,實現簡單,不會改變模型的網絡結構,本文對深度神經網絡的壓縮采用了權重共享的方式.

2 動態量化編碼的深度神經網絡

本文提出的方法由兩部分組成:權重量化與動態編碼,以及基于動態編碼的量化模型訓練,本節將詳述這兩部分內容.

2.1 權重量化與動態編碼

為了方便嵌入式系統進行移位運算,本文采用類似文獻[15]中的方法,采用2 的n次冪的形式對神經網絡中的權值進行量化,即當權重量化為b比特時,碼本最多有2b個取值.碼本可以表示為:

式中,l代表深度神經網絡的第l層,n1和n2是兩個整數,滿足n1

亦可引入0 作為量化值對權重進行編碼,具體形式為:

由于0 無法表示成2 的n(n為整數)次冪,需要額外的一個比特來表示0 這個量化值.當n1和n2保持不變時,式(3)需要b+1 比特來量化權重.即:

雖然將0 作為量化值引入碼本需要增加一個比特,但是會讓網絡中產生大量的稀疏矩陣,有利于網絡的正則化,能在一定程度上抑制過擬合.

無論是否引入0 進行編碼,當量化的位數確定時,只要確定n1或n2中任意一個的值,根據式(2)或式(4)求得另外一個參數,從而根據式(1)或式(3)得到碼本.假設給定預訓練的模型,并將此模型中的網絡權值量化為2 的n次冪.可采用以下式(5)使量化誤差最小化:

由于量化模型的權值調整大小是由反向傳播的梯度和學習率的乘積來決定,而這兩個量都非常的小,因此這一假設是容易滿足的,從而可以根據式(6)得出當模型進行指數量化時,量化權值的絕對值越大,量化誤差也越大.

基于這一結論,我們在量化的過程中優先量化那些權重絕對值較大的值,即根據|Wl|中的最大值確定上限n2的取值.具體的計算過程如下:

其中,floor(·)表示的是向下取整操作,max(·)表示的取最大值操作.確定了n2,就可以通過式(2)或式(4)得到下限n1的取值,從而確定碼本Pl.

對于式(1)定義的碼本,每個網絡權值用碼本中最近的量化值進行編碼,具體量化規則如圖1 所示.

圖1 網絡權值的量化規則Fig.1 Quantization rules for network weight s

可用如下的公式來計算:

對于式(3)定義的碼本,只需要根據碼本下限進行截斷取0 值即可,對應的量化公式如下:

2.2 基于動態編碼的量化模型訓練

本節主要介紹量化模型的訓練過程.對于初始的深度神經網絡模型,首先基于式(7)根據網絡中的最大權值確定碼本,然后根據碼本對網絡權值采用式(8)或式(9)進行量化,量化的深度神經網絡通過前向傳播過程計算網絡的損失.再根據網絡損失通過反向傳播過程,對網絡權值進行更新.網絡權值的更新會破壞原有的量化,因此有必要對碼本進行更新,然后使用新的碼本對網絡權值進行再一次的量化.整個訓練過程碼本和權重交替迭代更新,直到網絡損失收斂為止.在整個迭代過程中,碼本根據網絡權值的變化進行動態的更新,碼本的更新和深度神經網絡的訓練交替進行,訓練流程如圖2 所示.以下介紹量化模型訓練的具體實現細節.

圖2 動態量化編碼壓縮方法的訓練流程Fig.2 The process of dynamic quantization coding

對于普通的深度神經網絡,其訓練由兩個基本過程構成,即前向傳播過程和反向傳播過程.在前向傳播過程中,分層網絡的前一層的輸出作為后一層的輸入,直到傳入網絡的最后一層得到整個深度神經網絡的輸出.根據輸出和標簽之間的差異計算損失函數,其中損失函數的定義如下:

其中,q是二項分布函數,p ∈[0,1]的概率.根據STE的處理方法,在反向求導的過程中,我們可以這樣處理模型中的權重

因此在進行反向傳播過程時,式(11)可以寫成:

采用動態量化編碼的方式對深度神經網絡壓縮,使得網絡的權重在一個動態更新的范圍量化.與靜態量化的碼表相比,動態量化后的權重與模型最新更新的權重之間誤差更小.另外,由于動態更新的碼本在訓練過程會隨著網絡的訓練誤差而間接更新,所以動態更新碼本的方法無需一個預訓練的模型作為初始化也能最終使模型收斂.

3 實驗與分析

為了驗證本文方法的有效性,我們在標準數據集MNIST[34]、CIFAR-10[35]上進行了實驗.其中,MNIST 數據集是一個手寫字符數據集,大小為28×28 的單通道圖像,包含訓練集60 000 張,測試集為10 000 張;CIFAR-10 是一個圖像分類數據集,所有的圖像都是大小為32×32 的三通道彩色圖像,包含60 000 張圖片,其中訓練集為50 000,驗證集為10 000.

3.1 MNIST 實驗設置

在MNIST 數據集上,先使用LeNet[35]在不同的損失函數下訓練全精度32 位的模型.在壓縮過程中,使用預訓練的全精度模型作為壓縮模型的初始化.使用的三種損失函數為Softmax-loss、Softmaxloss 加上L1 正則項、Softmax-loss 加上L2 正則項,分別對應碼本中有無0 兩種情況,實驗過程中正則項系數為0.001,具體實驗結果如下:

通過表1~表3 可以看到,無論在碼本中是否引入0,本文的方法均能有效地對網絡進行壓縮.同時還可以看到,在損失函數中引入L2 正則項有比較好的結果,因此在后續的實驗中只使用Softmax-loss加上L2 正則項作為損失函數.

表1 LeNet 在Softmax-loss 下量化效果Table 1 Quantization performance of LeNet under Softmax-loss

表2 LeNet 在Softmax-loss+L1 下量化效果Table 2 Quantization performance of LeNet under Softmax-loss and L1

表3 LeNet 在Softmax-loss+L2 下量化效果Table 3 Quantization performance of LeNet under Softmax-loss and L2

3.2 CIFAR-10 實驗設置

為了清晰地看到壓縮前和壓縮后的變化,我們先使用不同深度的ResNet 訓練了全精度32 位的模型.在壓縮過程中,為了盡量避免初始化不同對最終實驗結果的影響,以及加快量化模型的訓練收斂速度,均使用預訓練好的32 位模型作為量化模型的初始化.在預訓練和量化壓縮過程中,數據預處理都使用了數據增強的方法,在原32×32 的圖像邊界上填補0 擴充為36×36 的圖像,再隨機的裁剪為32×32 的圖像,然后隨機左右翻轉.在訓練過程中,都迭代了80 000 輪,每輪送進網絡一個批次的數據是128,初始的學習率為0.1,當訓練達到40 000 次學習率為0.01,達到60 000 次之后學習率為0.001,訓練中使用正則項,其權值系數設置為0.001.

3.2.1 對比不同碼本的性能

本文在第3.1 節引入了兩種碼本,在量化同樣的位數下,一種在碼本中引入了0 另外一種沒有.將0 作為量化值引入碼表,會使濾波器產生大量的稀疏矩陣,這會在一定程度抑制過擬合.但由于0 不能表示為2 的n(為整數)次冪這種形式,需要額外的一個比特來表示,會影響碼表的豐富性.為了說明這兩種量化的差別,我們做了如下實驗:

表4 ResNet-20 在不同碼本下量化效果Table 4 Quantization performance of ResNet-20 under different codebook

表5 ResNet-32 在不同碼本下量化效果Table 5 Quantization performance of ResNet-32 under different codebook

表6 ResNet-44 在不同碼本下量化效果Table 6 Quantization performance of ResNet-44 under different codebook

表7 ResNet-56 在不同碼本下量化效果Table 7 Quantization performance of ResNet-56 under different codebook

從表4~7 中可以看到,兩種量化方式均能有效壓縮深度神經網絡.當量化位數一定時,網絡越深量化效果越好:當網絡深度一定時,量化位數越大量化效果越好.特別在量化位數較大且網絡較深時,采用這種動態量化編碼的方法,甚至可以提升網絡的性能.

3.2.2 對比靜態量化編碼(SQC)方法

本文使用的是動態的碼本(Static quantitative coding,DQC),每次迭代都會對碼本進行更新.為了說明DQC 的有效性,我們比較了基于SQC 和DQC 的模型性能.其中,SQC 方法與DQC 方法不同的地方在于量化模型的訓練過程中不對碼本進行更新.基于SQC 方法的實驗結果如表8,通過表8可以看到深度模型的網絡結構越深,量化的位數越大,量化效果越好.

為了更加清楚地顯示SQC 和DQC 兩種方法訓練得到模型性能的差異,我們將靜態碼表的結果減去動態碼表的結果,具體結果如圖3 和圖4 所示.

圖3 碼本中無0,SQC 和DQC 的量化比較Fig.3 Quantization performance of SQC and DQC with 0 in codebook

圖4 碼本中有0,SQC 和DQC 的量化效果比較Fig.4 Quantization performance of SQC and DQC without 0 in codebook

從圖3 和圖4 中可以看到,除了個別情況,絕大數情況動態變化的碼本比固定碼本對深度神經網絡的壓縮效果更好,特別是在網絡較淺時,動態量化編碼的效果比靜態量化的效果更加明顯.在使用動態更新的碼本方法時,碼本隨著權重的更新而更新,深度神經網絡的權重在新的碼本內量化,這會在一定程度上減小由于量化造成的誤差;而固定的碼本只與預訓練的權重有關系,量化得到的模型權重與預訓練模型中權重誤差較小.顯然,采用動態量化編碼的方式,能更好的減小由于量化造成的影響.

3.3 對比現有方法

本文與Deep compression[9]做了對比,由于文獻[9]是對網絡進行了剪枝之后再進行量化.為了對比的公平性,我們在此處做了和文獻[9]同樣的處理,使用的數據集是MNIST,將LeNet 第一個卷積層66% 的小權重置為0,第二個卷積層12% 較小權重置為0,第一個全連接層8% 的小權重置為0,第二個全連接層19% 的小權重置為0.對于這些置為0 的權重,在更新過程中不進行求導運算.此處本文的方法碼本中沒有引入0,具體實驗結果如下:

表8 固定碼本下量化效果Table 8 Quantization performance of SQC

從表9 可以看到,在相同條件下,我們的方法有一定的優勢.

為了進一步說明我們的方法,本文與INQ[15]的結果做了比較.這里主為了實驗的客觀性,只與INQ 做了對比實驗,由于本文的量化方法與INQ 相近,都是將權重量化為2 的n(n為整數)次冪這種形式,從而在對比實驗時避免編碼形式的影響.我們使用相同的數據、初始網絡結構,壓縮到同樣的位數,INQ 使用4 個步驟進行量化,每次量化比例:0.50,0.75,0.85,1.00,兩種方法均量化5 bits,結果如下:

表9 Deep compression 與DQC 的實驗比較Table 9 Comparison of deep compression and DQC

表10 量化為5 bits 時INQ 和DQC 在CIFAR-10 上的準確率比較Table 10 Compare the accuracy of INQ and DQC on CIFAR-10 with 5 bits

從表10 可知,無論網絡的層數多深,碼本中是否引入0,使用動態量化編碼的結果均優于INQ 的方法,進一步說明了我們方法的有效性.

4 總結與展望

本文提出了一種基于動態量化編碼的深度神經網絡壓縮方法.為了方便在嵌入式系統采用移位操作,本文對網絡中的權值采用指數量化編碼,通過理論推導得出,將模型量化為指數形式時,絕對值較大權值參數的量化對模型引起的誤差也越大.為此,本文采用動態量化編碼,在反向傳播更新網絡權值后,對碼本進行更新以自適應模型中的絕對值較大的權值參數,減小這些參數的量化對模型精度的影響.本文還討論了靜態和動態兩種不同碼本進行編碼時壓縮模型的性能.通過實驗表明,深度神經網絡越深,壓縮位數越大,壓縮效果越好;動態量化編碼的方法優于靜態量化的方法;本文方法在網絡壓縮10.67倍時準確率還有提升.雖然本文為了說明動態量化的優越性能,使用不同深度和量化位寬對深度神經網絡壓縮進行了大量實驗,但目前只對小數據集進行實驗,后續將在更大的數據集上進行實驗.

猜你喜歡
深度方法模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 成人免费午夜视频| 亚洲欧美不卡中文字幕| 成年看免费观看视频拍拍| 高清无码不卡视频| 伊人久久久久久久| 黄片一区二区三区| 欧美自慰一级看片免费| 青青草原国产免费av观看| 亚洲一区免费看| 91在线播放国产| 亚洲免费毛片| 99视频有精品视频免费观看| 91在线精品麻豆欧美在线| 青青操国产视频| 亚洲天堂网在线观看视频| 无码AV高清毛片中国一级毛片| 香蕉久人久人青草青草| 中文字幕 日韩 欧美| 中文国产成人久久精品小说| 激情亚洲天堂| 色久综合在线| 亚洲成人手机在线| 91精品最新国内在线播放| 亚洲精品无码日韩国产不卡| jizz在线观看| 无码免费的亚洲视频| 欧美亚洲日韩中文| 永久毛片在线播| 在线免费看黄的网站| 色婷婷丁香| 国产性爱网站| 性视频一区| 91在线精品免费免费播放| 狠狠干欧美| 97人人模人人爽人人喊小说| 国产在线一区视频| 久久精品免费看一| 日本影院一区| 无码国产伊人| 狠狠做深爱婷婷久久一区| 久热精品免费| 欧美成人午夜影院| 国产成年无码AⅤ片在线| 国产导航在线| 国产无码制服丝袜| 538国产视频| 国产一区二区网站| 国产免费怡红院视频| 免费看av在线网站网址| 5555国产在线观看| 久久国产精品电影| 大香网伊人久久综合网2020| 久久黄色一级视频| 91精品国产福利| 秘书高跟黑色丝袜国产91在线| 国产精品亚洲αv天堂无码| 国产一区二区三区在线观看免费| 欧美综合区自拍亚洲综合天堂| 久久久久久久蜜桃| 久久96热在精品国产高清| 久久免费视频6| 尤物精品国产福利网站| 日韩精品无码不卡无码| 亚洲色欲色欲www在线观看| 欧美特黄一免在线观看| 日韩高清中文字幕| 99在线观看国产| 国产91熟女高潮一区二区| 久久特级毛片| 国产在线观看精品| www.亚洲一区二区三区| 国产色婷婷视频在线观看| 亚洲一区色| 亚洲第一视频区| 日本少妇又色又爽又高潮| 色视频国产| 黄色网址免费在线| 试看120秒男女啪啪免费| 亚洲成人一区在线| 亚洲国产AV无码综合原创| 激情六月丁香婷婷四房播| 日本不卡免费高清视频|