在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PyTorch教程-12.7。阿達(dá)格拉德

jf_pJlTbmA9 ? 來源:PyTorch ? 作者:PyTorch ? 2023-06-05 15:44 ? 次閱讀

讓我們首先考慮具有不常出現(xiàn)的特征的學(xué)習(xí)問題。

12.7.1。稀疏特征和學(xué)習(xí)率

想象一下,我們正在訓(xùn)練一個語言模型。為了獲得良好的準(zhǔn)確性,我們通常希望在繼續(xù)訓(xùn)練時降低學(xué)習(xí)率,通常為O(t?12)或更慢。現(xiàn)在考慮在稀疏特征(即不常出現(xiàn)的特征)上進(jìn)行模型訓(xùn)練。這在自然語言中很常見,例如,我們看到preconditioning一詞的可能性要小于learning 。然而,它在計算廣告和個性化協(xié)同過濾等其他領(lǐng)域也很常見。畢竟,有很多東西只是少數(shù)人感興趣的。

與不常見特征關(guān)聯(lián)的參數(shù)只有在這些特征出現(xiàn)時才會收到有意義的更新。如果學(xué)習(xí)率下降,我們可能會遇到這樣一種情況,即常見特征的參數(shù)會很快收斂到它們的最優(yōu)值,而對于不常見的特征,在確定它們的最優(yōu)值之前,我們?nèi)匀粵]有足夠頻繁地觀察它們。換句話說,學(xué)習(xí)率要么對于頻繁出現(xiàn)的特征下降得太慢,要么對于不頻繁出現(xiàn)的特征下降得太快。

解決此問題的一種可能的破解方法是計算我們看到特定功能的次數(shù),并將其用作調(diào)整學(xué)習(xí)率的時鐘。也就是說,而不是選擇形式的學(xué)習(xí)率η=η0t+c我們可以使用 ηi=η0s(i,t)+c. 這里s(i,t) 計算特征的非零數(shù)i我們觀察到時間t. 這實際上很容易實現(xiàn),而且沒有任何有意義的開銷。然而,每當(dāng)我們不太具有稀疏性而只是梯度通常非常小且很少大的數(shù)據(jù)時,它就會失敗。畢竟,尚不清楚人們會在哪里劃清是否符合觀察到的特征的界限。

Duchi等人的 Adagrad 。( 2011 )通過更換相當(dāng)粗糙的計數(shù)器來解決這個問題s(i,t)通過先前觀察到的梯度的平方的集合。特別是,它使用 s(i,t+1)=s(i,t)+(?if(x))2作為調(diào)整學(xué)習(xí)率的手段。這有兩個好處:首先,我們不再需要決定梯度何時足夠大。其次,它會隨著梯度的大小自動縮放。通常對應(yīng)于大梯度的坐標(biāo)會顯著縮小,而其他具有小梯度的坐標(biāo)會得到更溫和的處理。在實踐中,這導(dǎo)致了計算廣告和相關(guān)問題的非常有效的優(yōu)化過程。但這隱藏了 Adagrad 固有的一些額外好處,這些好處最好在預(yù)處理的背景下理解。

12.7.2。預(yù)處理

凸優(yōu)化問題有利于分析算法的特性。畢竟,對于大多數(shù)非凸問題來說,很難得出有意義的理論保證,但直覺和洞察力 往往會起作用。讓我們看看最小化問題 f(x)=12x?Qx+c?x+b.

正如我們在12.6 節(jié)中看到的,可以根據(jù)其特征分解來重寫這個問題 Q=U?ΛU得出一個大大簡化的問題,其中每個坐標(biāo)都可以單獨求解:

(12.7.1)f(x)=fˉ(xˉ)=12xˉ?Λxˉ+cˉ?xˉ+b.

這里我們使用了xˉ=Ux因此cˉ=Uc. 修改后的問題具有最小值 xˉ=?Λ?1cˉ 和最小值 ?12cˉ?Λ?1cˉ+b. 這更容易計算,因為Λ是包含特征值的對角矩陣Q.

如果我們擾亂cslightly 我們希望在最小化器中找到微小的變化f. 不幸的是,這種情況并非如此。雖然略有變化c導(dǎo)致同樣輕微的變化cˉ,這不是最小化的情況f(和的fˉ分別)。每當(dāng)特征值Λi很大,我們只會看到很小的變化xˉi并且至少 fˉ. 反之,對于小Λi 改變在xˉi可以是戲劇性的。最大和最小特征值之比稱為優(yōu)化問題的條件數(shù)。

(12.7.2)κ=Λ1Λd.

如果條件數(shù)κ大,難以準(zhǔn)確求解優(yōu)化問題。我們需要確保我們謹(jǐn)慎地獲得正確的大動態(tài)值范圍。我們的分析引出了一個明顯但有些幼稚的問題:難道我們不能簡單地通過扭曲空間來“解決”問題,使得所有特征值都是 1. 理論上這很容易:我們只需要的特征值和特征向量Q從重新調(diào)整問題 x到一個 z=defΛ12Ux. 在新的坐標(biāo)系中 x?Qx可以簡化為 ‖z‖2. las,這是一個相當(dāng)不切實際的建議。計算特征值和特征向量通常 比解決實際問題要昂貴得多。

雖然精確計算特征值可能很昂貴,但猜測它們并對其進(jìn)行近似計算可能已經(jīng)比什么都不做要好得多。特別是,我們可以使用對角線項Q并相應(yīng)地重新縮放它。這比計算特征值便宜得多。

(12.7.3)Q~=diag?12(Q)Qdiag?12(Q).

在這種情況下,我們有 Q~ij=Qij/QiiQjj 特別是Q~ii=1對全部i. 在大多數(shù)情況下,這會大大簡化條件數(shù)。例如,我們之前討論的情況,這將完全消除手頭的問題,因為問題是軸對齊的。

不幸的是,我們面臨另一個問題:在深度學(xué)習(xí)中,我們通常甚至無法訪問目標(biāo)函數(shù)的二階導(dǎo)數(shù):對于x∈Rd即使是小批量的二階導(dǎo)數(shù)也可能需要O(d2)空間和計算工作,因此實際上是不可行的。Adagrad 的巧妙想法是使用一個代理來表示 Hessian 的難以捉摸的對角線,它既計算成本相對低又有效——梯度本身的大小。

為了了解為什么會這樣,讓我們??看一下 fˉ(xˉ). 我們有那個

(12.7.4)?xˉfˉ(xˉ)=Λxˉ+cˉ=Λ(xˉ?xˉ0),

在哪里xˉ0是的最小值fˉ. 因此,梯度的大小取決于 Λ和最優(yōu)的距離。如果 xˉ?xˉ0沒有改變,這將是所有需要的。畢竟,在這種情況下,梯度的大小?xˉfˉ(xˉ) 足夠了。由于 AdaGrad 是一種隨機(jī)梯度下降算法,即使在最優(yōu)狀態(tài)下,我們也會看到具有非零方差的梯度。因此,我們可以安全地使用梯度的方差作為 Hessian 尺度的廉價代理。徹底的分析超出了本節(jié)的范圍(可能需要好幾頁)。詳情請讀者參考 ( Duchi et al. , 2011 ) 。

12.7.3。算法

讓我們將上面的討論正式化。我們使用變量 st如下累積過去的梯度方差。

(12.7.5)gt=?wl(yt,f(xt,w)),st=st?1+gt2,wt=wt?1?ηst+??gt.

這里的操作是按坐標(biāo)應(yīng)用的。那是, v2有條目vi2. 同樣地 1v有條目1vi和 u?v有條目uivi. 像之前一樣η是學(xué)習(xí)率和?是一個附加常數(shù),確保我們不除以0. 最后,我們初始化s0=0.

就像在動量的情況下一樣,我們需要跟蹤一個輔助變量,在這種情況下允許每個坐標(biāo)的單獨學(xué)習(xí)率。相對于 SGD,這不會顯著增加 Adagrad 的成本,因為主要成本通常是計算 l(yt,f(xt,w))及其衍生物。

請注意,在中累積平方梯度st意思是st基本上以線性速率增長(實際上比線性速率慢一些,因為梯度最初會減小)。這導(dǎo)致O(t?12) 學(xué)習(xí)率,盡管在每個坐標(biāo)的基礎(chǔ)上進(jìn)行了調(diào)整。對于凸問題,這已經(jīng)足夠了。但是,在深度學(xué)習(xí)中,我們可能希望更慢地降低學(xué)習(xí)率。這導(dǎo)致了我們將在后續(xù)章節(jié)中討論的許多 Adagrad 變體。現(xiàn)在讓我們看看它在二次凸問題中的表現(xiàn)。我們使用與之前相同的問題:

(12.7.6)f(x)=0.1x12+2x22.

我們將使用之前相同的學(xué)習(xí)率來實現(xiàn) Adagrad,即η=0.4. 可以看出,自變量的迭代軌跡更加平滑。然而,由于累積效應(yīng)st,學(xué)習(xí)率不斷衰減,因此自變量在迭代的后期階段不會移動太多。

%matplotlib inline
import math
import torch
from d2l import torch as d2l

def adagrad_2d(x1, x2, s1, s2):
  eps = 1e-6
  g1, g2 = 0.2 * x1, 4 * x2
  s1 += g1 ** 2
  s2 += g2 ** 2
  x1 -= eta / math.sqrt(s1 + eps) * g1
  x2 -= eta / math.sqrt(s2 + eps) * g2
  return x1, x2, s1, s2

def f_2d(x1, x2):
  return 0.1 * x1 ** 2 + 2 * x2 ** 2

eta = 0.4
d2l.show_trace_2d(f_2d, d2l.train_2d(adagrad_2d))

epoch 20, x1: -2.382563, x2: -0.158591

poYBAGR9Od2ATngMAACsFtU2tx8931.svg

%matplotlib inline
import math
from mxnet import np, npx
from d2l import mxnet as d2l

npx.set_np()

def adagrad_2d(x1, x2, s1, s2):
  eps = 1e-6
  g1, g2 = 0.2 * x1, 4 * x2
  s1 += g1 ** 2
  s2 += g2 ** 2
  x1 -= eta / math.sqrt(s1 + eps) * g1
  x2 -= eta / math.sqrt(s2 + eps) * g2
  return x1, x2, s1, s2

def f_2d(x1, x2):
  return 0.1 * x1 ** 2 + 2 * x2 ** 2

eta = 0.4
d2l.show_trace_2d(f_2d, d2l.train_2d(adagrad_2d))

epoch 20, x1: -2.382563, x2: -0.158591

poYBAGR9OeCAYR7GAACs3f6UknE652.svg

%matplotlib inline
import math
import tensorflow as tf
from d2l import tensorflow as d2l

def adagrad_2d(x1, x2, s1, s2):
  eps = 1e-6
  g1, g2 = 0.2 * x1, 4 * x2
  s1 += g1 ** 2
  s2 += g2 ** 2
  x1 -= eta / math.sqrt(s1 + eps) * g1
  x2 -= eta / math.sqrt(s2 + eps) * g2
  return x1, x2, s1, s2

def f_2d(x1, x2):
  return 0.1 * x1 ** 2 + 2 * x2 ** 2

eta = 0.4
d2l.show_trace_2d(f_2d, d2l.train_2d(adagrad_2d))

epoch 20, x1: -2.382563, x2: -0.158591

pYYBAGR9OeKABQ46AACr46-i06s188.svg

當(dāng)我們將學(xué)習(xí)率提高到2我們看到了更好的行為。這已經(jīng)表明學(xué)習(xí)率的降低可能相當(dāng)激進(jìn),即使在無噪聲的情況下也是如此,我們需要確保參數(shù)適當(dāng)收斂。

eta = 2
d2l.show_trace_2d(f_2d, d2l.train_2d(adagrad_2d))

epoch 20, x1: -0.002295, x2: -0.000000

poYBAGR9OeWAGNjuAACqJUE_Ams997.svg

eta = 2
d2l.show_trace_2d(f_2d, d2l.train_2d(adagrad_2d))

epoch 20, x1: -0.002295, x2: -0.000000

poYBAGR9OeeAN1RxAACryEk3Y3g000.svg

eta = 2
d2l.show_trace_2d(f_2d, d2l.train_2d(adagrad_2d))

epoch 20, x1: -0.002295, x2: -0.000000

pYYBAGR9OeqANMF-AACo9EOoXgU430.svg

12.7.4。從零開始實施

就像動量法一樣,Adagrad 需要維護(hù)一個與參數(shù)形狀相同的狀態(tài)變量。

def init_adagrad_states(feature_dim):
  s_w = torch.zeros((feature_dim, 1))
  s_b = torch.zeros(1)
  return (s_w, s_b)

def adagrad(params, states, hyperparams):
  eps = 1e-6
  for p, s in zip(params, states):
    with torch.no_grad():
      s[:] += torch.square(p.grad)
      p[:] -= hyperparams['lr'] * p.grad / torch.sqrt(s + eps)
    p.grad.data.zero_()

def init_adagrad_states(feature_dim):
  s_w = np.zeros((feature_dim, 1))
  s_b = np.zeros(1)
  return (s_w, s_b)

def adagrad(params, states, hyperparams):
  eps = 1e-6
  for p, s in zip(params, states):
    s[:] += np.square(p.grad)
    p[:] -= hyperparams['lr'] * p.grad / np.sqrt(s + eps)

def init_adagrad_states(feature_dim):
  s_w = tf.Variable(tf.zeros((feature_dim, 1)))
  s_b = tf.Variable(tf.zeros(1))
  return (s_w, s_b)

def adagrad(params, grads, states, hyperparams):
  eps = 1e-6
  for p, s, g in zip(params, states, grads):
    s[:].assign(s + tf.math.square(g))
    p[:].assign(p - hyperparams['lr'] * g / tf.math.sqrt(s + eps))

與12.5 節(jié)的實驗相比,我們使用更大的學(xué)習(xí)率來訓(xùn)練模型。

data_iter, feature_dim = d2l.get_data_ch11(batch_size=10)
d2l.train_ch11(adagrad, init_adagrad_states(feature_dim),
        {'lr': 0.1}, data_iter, feature_dim);

loss: 0.242, 0.143 sec/epoch

pYYBAGR9OeyAfD_SAADyd8Cl1ZM609.svg

data_iter, feature_dim = d2l.get_data_ch11(batch_size=10)
d2l.train_ch11(adagrad, init_adagrad_states(feature_dim),
        {'lr': 0.1}, data_iter, feature_dim);

loss: 0.242, 23.515 sec/epoch

poYBAGR9Oe-AR4KvAADycxjpYvY246.svg

data_iter, feature_dim = d2l.get_data_ch11(batch_size=10)
d2l.train_ch11(adagrad, init_adagrad_states(feature_dim),
        {'lr': 0.1}, data_iter, feature_dim);

loss: 0.242, 1.183 sec/epoch

pYYBAGR9OfGAe_HhAADya6CIfXw019.svg

12.7.5。簡潔的實現(xiàn)

使用Trainer算法的實例adagrad,我們可以在 Gluon 中調(diào)用 Adagrad 算法。

trainer = torch.optim.Adagrad
d2l.train_concise_ch11(trainer, {'lr': 0.1}, data_iter)

loss: 0.242, 0.143 sec/epoch

poYBAGR9OfSAHabBAADb-bXKM94499.svg

d2l.train_concise_ch11('adagrad', {'learning_rate': 0.1}, data_iter)

loss: 0.242, 23.234 sec/epoch

pYYBAGR9OfeAYR9VAADyepdDPoM022.svg

trainer = tf.keras.optimizers.Adagrad
d2l.train_concise_ch11(trainer, {'learning_rate' : 0.1}, data_iter)

loss: 0.243, 1.159 sec/epoch

pYYBAGR9OfmAfsjlAADyauWIjtM859.svg

12.7.6。概括

Adagrad 在每個坐標(biāo)的基礎(chǔ)上動態(tài)降低學(xué)習(xí)率。

它使用梯度的大小作為調(diào)整取得進(jìn)展的速度的一種手段——具有大梯度的坐標(biāo)用較小的學(xué)習(xí)率進(jìn)行補(bǔ)償。

由于內(nèi)存和計算限制,在深度學(xué)習(xí)問題中計算精確的二階導(dǎo)數(shù)通常是不可行的。梯度可以是一個有用的代理。

如果優(yōu)化問題的結(jié)構(gòu)相當(dāng)不均勻,Adagrad 可以幫助減輕失真。

Adagrad 對于稀疏特征特別有效,在這些稀疏特征中,對于不常出現(xiàn)的術(shù)語,學(xué)習(xí)率需要更慢地降低。

在深度學(xué)習(xí)問題上,Adagrad 有時會過于激進(jìn)地降低學(xué)習(xí)率。我們將在第 12.10 節(jié)的上下文中討論緩解這種情況的策略。

12.7.7。練習(xí)

證明對于正交矩陣U和一個向量 c以下內(nèi)容成立: ‖c?δ‖2=‖Uc?Uδ‖2. 為什么這意味著在變量正交變化后擾動的大小不會改變?

試用 Adagradf(x)=0.1x12+2x22并且目標(biāo)函數(shù)也旋轉(zhuǎn)了 45 度,即 f(x)=0.1(x1+x2)2+2(x1?x2)2. 它的行為是否不同?

證明Gerschgorin 的圓定理 ,該定理指出特征值λi矩陣的 M滿足 |λi?Mjj|≤∑k≠j|Mjk| 至少一個選擇j.

Gerschgorin 定理告訴我們關(guān)于對角線預(yù)處理矩陣的特征值的什么信息 diag?12(M)Mdiag?12(M)?

嘗試 Adagrad 以獲得適當(dāng)?shù)纳疃染W(wǎng)絡(luò),例如 應(yīng)用于 Fashion-MNIST 時的第 7.6 節(jié)。

您需要如何修改 Adagrad 才能使學(xué)習(xí)率下降得不那么激進(jìn)?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    13772
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    達(dá)直播-尋找懸浮山之旅-景區(qū)直播

    網(wǎng)頁直接觀看景區(qū)直播,無需安裝任何軟件,本頁面中的視頻為實時的直播視頻,如不能觀看直播請訪問:http://www.eshow8.com《達(dá)》不僅僅是一部電影 達(dá)中的懸浮山  
    發(fā)表于 02-03 10:34

    PyTorch如何入門

    PyTorch 入門實戰(zhàn)(一)——Tensor
    發(fā)表于 06-01 09:58

    達(dá)科技便攜式節(jié)能速熱恒溫電烙鐵試用體驗】1、開箱測評

    ` 通過后沒幾天就收到這個電烙鐵了,有點小激動,之前我在華秋上也買了電烙鐵稍后可以進(jìn)行一番對比,現(xiàn)在先來看看這個好東東:接下來看看里面都有什么東西 一份達(dá)節(jié)能恒溫電烙鐵保修卡烙鐵芯更換方法與步驟
    發(fā)表于 02-28 15:09

    達(dá)ADPT005芯片在遇到大干擾的情況下會死掉是為什么?怎么解決?

    達(dá)ADPT005芯片在遇到大干擾的情況下會死掉是為什么?怎么解決?
    發(fā)表于 01-20 07:35

    達(dá)H-30T恒溫電烙鐵試用體驗】達(dá)H-30T恒溫電烙鐵試用體驗

    作為一名DIY愛好者,我非常喜歡嘗試各種新產(chǎn)品。最近,我有幸試用了達(dá)H-30T高溫休眠版恒溫電烙鐵,并分享一下我的使用體驗。 首先,我要贊揚(yáng)達(dá)的設(shè)計,這款電烙鐵非常精致,手感非
    發(fā)表于 11-15 08:53

    2010年美國CES:實現(xiàn)《達(dá)》的高科技

    2010年美國CES:實現(xiàn)《達(dá)》的高科技 本屆美國消費電子展(CES)成為了未來技術(shù)的展示盛會,很多《達(dá)》中出現(xiàn)的多種未來人類所使用的3D顯示、人機(jī)操作及通
    發(fā)表于 01-11 10:33 ?1502次閱讀

    南大教授新發(fā)明新技術(shù) 裸眼也能看3D《達(dá)

    南大教授新發(fā)明新技術(shù) 裸眼也能看3D《達(dá)》 從去年到現(xiàn)在,電影中的3D技術(shù)應(yīng)用越來越多,《冰河世紀(jì)3》、《達(dá)》…
    發(fā)表于 01-29 09:00 ?1549次閱讀

    變身達(dá)求永生 將大腦植入機(jī)器

    最近,俄羅斯媒體大亨德米特里·伊茨科夫(Dmitry Itskov)公布了自己的“達(dá)”項目,他想借助科技將自己的大腦意識轉(zhuǎn)移給虛擬的化身,實現(xiàn)永生。
    發(fā)表于 06-19 11:46 ?1617次閱讀

    Apple Watch系統(tǒng)剛有重大更新 卻遭開發(fā)者冷落

    公司產(chǎn)品副總裁蒂姆·安格拉德(Tim Anglade)。“單點登錄讓這個應(yīng)用的使用體驗變得順暢得多,這讓應(yīng)用開發(fā)者更加堅信,他們能為用戶帶來更具有吸引力的電視觀看體驗。”
    發(fā)表于 06-20 14:40 ?566次閱讀

    我們怎么做才能避開被人工智能和機(jī)器人取代的危險?

    據(jù)報道,美國著名暢銷書作家馬爾科姆·格拉德威爾指出,隨著人工智能逐漸向勞動力市場滲透,同時越來越多的機(jī)器人開始走上工作崗位,要想確保自己在公司中是“不可或缺”的員工,一條明路是:擅長做那些機(jī)器人不擅長做的事情。
    發(fā)表于 09-17 10:43 ?3986次閱讀

    新利體育宣布贊助德甲傳統(tǒng)勁旅門興格拉德巴赫足球俱樂部

    任何一個足球隊單純依靠自己的力量是很難擴(kuò)大影響力的,尋求贊助是一種重要的助力方式。日前,新利體育宣布贊助德甲傳統(tǒng)勁旅門興格拉德巴赫足球俱樂部,這意味著新利體育正式成為門興官方合作伙伴。這樣的合作
    的頭像 發(fā)表于 12-24 10:22 ?4103次閱讀

    達(dá)的紅外射頻遙控盒子(二)

    達(dá)的紅外射頻遙控盒子(二)
    發(fā)表于 12-08 10:06 ?3次下載
    <b class='flag-5'>阿</b><b class='flag-5'>達(dá)</b>的紅外射頻遙控盒子(二)

    海信電視攜手《達(dá)2》,探索視聽技術(shù)革新呈現(xiàn)美學(xué)盛宴

    12月16日《達(dá):水之道》(又名《達(dá)2》)正式公映,截至12月17日,票房已破3億,點燃元春檔電影市場。正如13年前《
    發(fā)表于 12-20 16:13 ?386次閱讀

    RCU熱氣球體驗鳥瞰元宇宙中的黑格拉世界遺產(chǎn)

    格拉的利哈亞尼古墓的創(chuàng)新數(shù)字娛樂讓在線游客們可以從全球任何地方全面深入探索爾烏拉最著名的陵墓 游客們可以通過Decentraland訪問有趣的互動熱氣球體驗,翱翔在黑格拉上空,欣賞令人難以置信
    的頭像 發(fā)表于 02-21 22:01 ?717次閱讀
    RCU熱氣球體驗鳥瞰元宇宙中的黑<b class='flag-5'>格拉</b>世界遺產(chǎn)

    PyTorch教程12.7達(dá)格拉德

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程12.7達(dá)格拉德.pdf》資料免費下載
    發(fā)表于 06-05 14:56 ?0次下載
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>12.7</b>之<b class='flag-5'>阿</b><b class='flag-5'>達(dá)</b><b class='flag-5'>格拉德</b>
    主站蜘蛛池模板: 男女刺激性视频大片 | 日本媚薬痉挛在线观看免费 | 五月天狠狠| 久久久国产在线 | 曰本女人一级毛片看一级毛 | 美国一级毛片片aa久久综合 | 免费黄色的视频 | 色多多网址 | 日日爱夜夜爱 | 日本www色| 天天操天天摸天天干 | 狠狠色噜噜狠狠狠狠97老肥女 | 日本三级三级三级免费看 | 手机看高清特黄a大片 | 男女爱爱爽爽福利免费视频 | 免费的黄色毛片 | 日本三级a | 色偷偷网 | 在线播放网址 | 美女扒开尿口给男的桶个爽 | 婷婷开心六月久久综合丁香 | 男女免费在线视频 | 亚洲精品视频专区 | 一级片 在线播放 | 深夜动态福利gif进出粗暴 | 国产精品久久国产三级国不卡顿 | 黄色视屏免费在线观看 | 好大好猛好爽好深视频免费 | 国产美女作爱全过程免费视频 | 欧美激情区| 婷婷色爱区综合五月激情韩国 | 国产精品福利久久2020 | a毛片基地免费全部香蕉 | 精品视频一二三区 | 五月天婷婷爱 | 亚洲欲色 | 日本黄色美女视频 | 51国产午夜精品免费视频 | 久青草免费视频手机在线观看 | 不卡一区二区在线观看 | 成人伊人亚洲人综合网站222 |