久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

别再无聊地吹捧了,一起来动手实现MAE玩玩吧!

發(fā)布時(shí)間:2024/10/8 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 别再无聊地吹捧了,一起来动手实现MAE玩玩吧! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?作者 | CW不要無聊的風(fēng)格

研究方向 | 目標(biāo)檢測、大規(guī)模預(yù)訓(xùn)練模型



前言

只要你不是與世隔絕的深度煉丹者,應(yīng)該都知道前陣子愷明大神的佳作 MAE(Masked Autoencoders Are Scalable Vision Learners),自雙 11 那天掛到 arXiv 后,江湖上就開始大肆吹捧:'yyds'、'best paper 預(yù)定' 什么的滿天飛.. 造成這一現(xiàn)象最主要原因還是大神本身的光環(huán)所致,另外就是大家看到 paper 中展示的 mask 掉圖像中這么多部分(75%~95%)后模型仍能重建回不錯(cuò)的效果,難免無腦地拍手叫好(沒有冒犯的意思,別打我,CW 當(dāng)時(shí)也沒忍住拍手叫好了..)。

但是,作為 coder,只動嘴不覺得很無聊么!?CW 可不要無聊的風(fēng)格,既然 MAE 看起來這么牛逼,那就干脆動手碼一碼,實(shí)現(xiàn)下看它效果如何嘛。盡管沒有代碼還沒有開源,但方法本身足夠簡單,paper 也大致描述了下實(shí)現(xiàn)的方法。

于是,CW 出于愛玩的心態(tài)并結(jié)合一貫以來不無聊的風(fēng)格,在周末的一個(gè)下午,去了我最愛的 cafe(上了新豆子,好棒!),邊碼邊喝咖啡,自己實(shí)現(xiàn)了 MAE,還挺有意思的。

本文會先講述 MAE 的原理與方法,然后針對 paper 中的實(shí)驗(yàn)現(xiàn)象談?wù)勛约旱睦斫?#xff0c;最后再分享與解析自己的源碼實(shí)現(xiàn)。


概述

MAE 的做法可以用一句話概述:以一定比例隨機(jī) mask 掉圖片中的一些圖像塊(patch)然后重建這些部分的像素值。

主要特點(diǎn)有兩個(gè):

1. 非對稱的編、解碼器設(shè)計(jì);

2. 使用較高(如75%)的掩碼率(mask比例)。

第 1 點(diǎn)所述的“非對稱”主要體現(xiàn)在輸入形式網(wǎng)絡(luò)結(jié)構(gòu)上:編碼器(Encoder)僅對可見(unmasked)的圖像塊進(jìn)行編碼,而解碼器(Decoder)的輸入則是所有的圖像塊;同時(shí),Decoder 可以是比較輕量的(比如 Encoder 通常是多層堆疊的 Transformer,而 Decoder 僅需較少層甚至 1 層就 ok)。這也表明 Encoder 與 Decoder 之間是解耦的。

第 2 點(diǎn)是該工作的一個(gè)重要發(fā)現(xiàn):不同于 NLP,在 CV 中可能要配合較高的 mask 比例才能作為有效的自監(jiān)督代理任務(wù)。“有效”指的是任務(wù)本身足夠困難,這樣模型才能學(xué)到有效的潛在特征表示。

由于 Encoder 僅處理 unmasked 的 patch(占所有輸入的少數(shù)),因此,盡管其本身網(wǎng)絡(luò)結(jié)構(gòu)比較重載,但依然能夠高效訓(xùn)練,特別是對于大模型,能夠加速 3 倍以上,同時(shí)配合較高的掩碼率,還能夠漲點(diǎn)。

我們知道,MAE 的方法屬于掩碼自編碼(Masked Autoencoding)范疇,那么,為何要用這種玩法呢?


好奇心:Why Masked Autoencoding?

得益于硬件發(fā)展與算力的支持,現(xiàn)在的模型越玩越大,大模型由于參數(shù)量眾多,因此也很容易過擬合一般規(guī)模的數(shù)據(jù)集。于是,再這么玩下去就需要更大量的數(shù)據(jù),而這么大量的標(biāo)注數(shù)據(jù)人工成本是很高的,作者也不禁 diss 一波:很多人(你們說是誰呢?會不會是姓 G 的那位呢?)吶,還用他們私有的數(shù)據(jù)集關(guān)起門來偷偷玩,不肯和大家分享:

Aided by the rapid gains in hardware, models today can easily overfit one million images and begin to demand hundreds of millions of—often?publicly inaccessible—labeled images.

所以說,這么玩下去成本太高了,玩不起呀,于是就想方設(shè)法地開辟出了新的玩法:自監(jiān)督預(yù)訓(xùn)練。其中,較為常見的一種模式就是 masked autoencoding,這種這玩法在 NLP 尤為火熱,大名鼎鼎的 BERT 在預(yù)訓(xùn)練中就是這么玩的:以一定比例 mask 掉輸入文本中的一些部分,讓模型去預(yù)測這批被 mask 掉的內(nèi)容。這樣,利用數(shù)據(jù)本身就可以作為監(jiān)督(模型要預(yù)測的目標(biāo)來源于數(shù)據(jù)本身,并非人工構(gòu)造),無需復(fù)雜的人工標(biāo)注。同時(shí),使用大量的數(shù)據(jù)讓擁有大規(guī)模參數(shù)量的模型能夠?qū)W到通用的知識,從而擁有良好的泛化能力。

以上談到的是預(yù)訓(xùn)練階段,當(dāng)模型實(shí)際要應(yīng)用于不同的下游任務(wù)時(shí),還要使用少量的標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)(fine-tune),這樣才能夠真正應(yīng)對目標(biāo)任務(wù)。

按照以前的玩法,在面對不同的任務(wù)時(shí),我們都需要重新設(shè)計(jì)模型結(jié)構(gòu),然后用特定任務(wù)的全量標(biāo)注數(shù)據(jù)去進(jìn)行訓(xùn)練。而現(xiàn)在不用了,只要設(shè)計(jì)了合理的預(yù)訓(xùn)練任務(wù),讓大規(guī)模模型在大量的上游數(shù)據(jù)中完成了預(yù)訓(xùn)練,它就能學(xué)到“通用知識”,猶如“通才”;之后,在面對不同的任務(wù)時(shí),我們都可以利用這個(gè) pre-trained 大模型,在少量的下游數(shù)據(jù)中進(jìn)行二次學(xué)習(xí),讓其成為“專才”。

由于大模型參數(shù)量眾多,因此能夠很快擬合,在面對不同任務(wù)時(shí)都能夠高效學(xué)習(xí)(相對地,正是由于模型參數(shù)太多了,因此很容易過擬合到下游訓(xùn)練集,反而喪失了泛化能力,這也是 fine-tune 玩法的一大毛病)。


靈魂拷問:Why Masked Autoencoding In CV Lags Behind NLP?

OK,我們知道了 mask 這種玩法在 NLP 很流行,那為什么在 CV 中卻比較冷門呢?作者也向大家發(fā)起了靈魂拷問:

progress of autoencoding methods in vision lags behind NLP.?
We ask:?what makes masked autoencoding different between vision and language?

好吧,看沒人回答,作者只能自我深刻分析(這樣才能把故事講完),最終提煉出以下三點(diǎn):

i). 架構(gòu)(architecture)差異

CV 和 NLP 的網(wǎng)絡(luò)架構(gòu)不一致,前者在過去一直被 CNN 統(tǒng)治,它基于方正的局部窗口來操作,不方便集成像 mask token 以及 position embedding 這類帶有指示性的可學(xué)習(xí)因子。不過,這個(gè) gap 現(xiàn)在看來應(yīng)該可以解決了,因?yàn)?ViT(Vision Transformer)已經(jīng)在 CV 界大肆虐殺,風(fēng)頭很猛..

ii). 信息密度(information density)不同

圖像和語言的信息密度是不一樣的。語言是人類創(chuàng)造的,本身就是高度語義和信息密集的,于是將句子中的少量詞語抹去再讓模型去預(yù)測這些被抹去的詞本身就已經(jīng)是比較困難的任務(wù)了;而對于圖像則相反,它在空間上是高度冗余的,對于圖片中的某個(gè)部分,模型很容易由其相鄰的圖像塊推斷出來(你想想看插值的道理),不需要大量的高級語義信息。

因此,在 CV 中,如果要使用 mask 這種玩法,就應(yīng)該要 mask 掉圖片中的較多的部分,這樣才能使任務(wù)本身具有足夠的挑戰(zhàn)性,從而使模型學(xué)到良好的潛在特征表示。

iii). 解碼的目標(biāo)不一致

CV 和 NLP 在解碼器的設(shè)計(jì)上應(yīng)該有不一樣的考慮:NLP 解碼輸出的是對應(yīng)被 mask 掉的詞語,本身包含了豐富的語義信息;而 CV 要重建的是被 mask 掉的圖像塊(像素值),是低語義的。

因此,NLP 的解碼器可以很簡單,比如 BERT,嚴(yán)格來說它并沒有解碼器,最后用 MLP 也可以搞定。因?yàn)閬碜跃幋a器的特征也是高度語義的,與需要解碼的目標(biāo)之間的 gap 較小;而 CV 的解碼器設(shè)計(jì)則需要“謹(jǐn)慎”考慮了,因?yàn)樗獙?strong>來自編碼器的高級語義特征解碼至低級語義層級

基于以上三點(diǎn)的自我分析(作者很入戲,估計(jì)還喝了口咖啡),靈感一來,MAE 就被 present 出來了:

Driven by this analysis, we present a simple, effective, and scalable form of a masked autoencoder (MAE) for visual representation learning.

喲!你瞧,simple, effective, and scalable,作者自己都很滿意~

什么!?你說他自吹自擂你不服?好,愷明大神立馬放一波效果圖讓你開開眼界:

以上每 3 列為一組,每組中的左列是 mask 掉原圖 80% 部分的效果圖,中列是模型重建的效果,右列是原圖。

什么?還要用數(shù)字說話?好,自個(gè)兒看:

With a vanilla ViT-Huge model, we achieve?87.8%?accuracy when finetuned on ImageNet-1K. This?outperforms all previous results that use only ImageNet-1K data.


具體方法

是時(shí)候來談?wù)?MAE 的具體方法了。雖然前面鋪墊了那么多,但是 CW 認(rèn)為這是有必要的。教員也告訴我們,看問題要有廣度、深度、精度:先縱觀歷史有全局認(rèn)識,再結(jié)合當(dāng)前情況深入分析,從而抓住問題的重點(diǎn),最終才能追溯到本質(zhì)。

結(jié)合前面的敘述,我們知道 MAE 方法的特點(diǎn)主要有:高掩碼率隨機(jī) mask 策略、非對稱的編、解碼器設(shè)計(jì)以及重建的目標(biāo)是像素值。下面,就請各位朋友和 CW 一起來具體看看其中的每個(gè)部分。

5.1 Mask 策略

首先,沿襲 ViT 的做法,將圖像分成一塊塊(ViT 中是 16x16 大小)不重疊的 patch,然后使用服從均勻分布(uniform distribution)的采樣策略對這些 patches 隨機(jī)采樣一部分,同時(shí) mask 掉余下的另一部分。被 mask 掉的 patches 占所有 patches 的大部分(實(shí)驗(yàn)效果發(fā)現(xiàn)最好的比例是 75%),它們不會輸入到 Encoder。

OK,策略很簡單,那么這樣做有什么好處呢?

首先,patch 在圖像中是服從均勻分布來采樣的,這樣能夠避免潛在的“中心歸納偏好”(也就是避免 patch 的位置大多都分布在靠近圖像中心的區(qū)域);其次,采用高掩碼比例(mask 掉圖中大部分 patches)能夠防止模型輕易地根據(jù)鄰近的可見 patches 推斷(原文是 extrapolation,外推,這詞有點(diǎn)高級..)出這些掩碼塊;最后,這種策略還造就了稀疏的編碼器輸入,因?yàn)?Encoder 只處理可見的 patches,于是能夠更低的代價(jià)訓(xùn)練較大規(guī)模的 Encoder,因?yàn)?strong>計(jì)算量和內(nèi)存占用都減少了。

別看這 mask 策略好像挺簡單的,但卻是至關(guān)重要的一個(gè)部分,因?yàn)槠錄Q定了預(yù)訓(xùn)練代理任務(wù)是否具有足夠的挑戰(zhàn)性,從而影響著 Encoder 學(xué)到的潛在特征表示 以及 Decoder 重建效果的質(zhì)量。

下圖是作者在 paper 中展示的基于不同 mask 策略進(jìn)行訓(xùn)練后模型的表現(xiàn)。我們?nèi)庋劭梢?#xff0c;以上提到的隨機(jī)(服從均勻分布)采樣策略下模型的表現(xiàn)最好。注意,圖中的 'block' 策略由于 mask 掉的是大塊的 patch,因此 mask 比例設(shè)置了 50%,以達(dá)到和其它策略 mask 掉的部分占原圖比例較為接近的效果。

還有呀,mask 比例也是很重要的,CW 在前文也提到過,在 CV 中,只有 mask 掉圖中較多的部分才能形成具有挑戰(zhàn)性的任務(wù)。作者實(shí)驗(yàn)發(fā)現(xiàn),無論是 fine-tune 還是 linear-probe 下,75% 左右的 mask 比例都是比較好的一個(gè)選擇。


5.2 Encoder

記住最重要的一點(diǎn),Encoder 僅處理可見(unmasked)的 patches。Encoder 本身可以是 ViT 或 ResNet(其它 backbone 也 ok,就等你去實(shí)現(xiàn)了,大神給了你機(jī)會),至于如何將圖像劃分成 patch 嘛,使用 ViT 時(shí)的套路是這樣的:

先將圖像從(B,C,H,W)reshape 成(B,N,PxPxC),其中 N 和 P 分別為 patch 數(shù)量 和 patch 大小(),也就是將 3 通道的圖像轉(zhuǎn)換成 N 個(gè) 維度大小為 PxPxC 的向量;然后,通過線性映射(linear projection,可以是全連接層)將其嵌入(embed)到指定的維度空間大小,記為 'dim'(從 PxPxC project 到 dim),轉(zhuǎn)換成為 token(B,N,dim);最后再加上位置嵌入(position embedding),從而為各個(gè) patch 添加位置信息。位置嵌入是所有圖像共享的、可學(xué)習(xí)的,shape 與 每張圖的 token 相對應(yīng),即:(N,dim)。

由于 unmasked 的 patches 所有 patches 的少數(shù),因此可以訓(xùn)練很大的 Encoder,因?yàn)橛?jì)算和空間要求都減少了。

5.3 Decoder

Decoder 嘛.. 就別想著偷懶了,它不僅需要處理經(jīng)過 Encoder 編碼的 unmasked 的 tokens,還需要處理 mask tokens。但請注意,mask token 并非由之前 mask 掉的 patch 經(jīng)過 embedding 轉(zhuǎn)換而來,而是可學(xué)習(xí)的、所有 masked patch 都共享的 1 個(gè)向量,對,僅僅就是 1 個(gè)!

那么你會問:這樣如何區(qū)分各個(gè) maked patch 所對應(yīng)的 token 呢?

別忘了,我們還有 position embedding 嘛!如同在 Encoder 中的套路一樣,這里對于 mask token 也需要加入位置信息。position emebdding 是每個(gè) masked patch 對應(yīng) 1 個(gè),shape 是(N',dim),其中 N' 是 masked patch 的數(shù)量。但 mask token 只有 1 個(gè)怎么辦是不是?簡單粗暴——“復(fù)制”多份即可,使得每個(gè) masked patch 都對應(yīng) 1 個(gè) mask token,這樣就可以和 position embedding 進(jìn)行相加了。

另外,Decoder 僅僅是在預(yù)訓(xùn)練任務(wù)為了重建圖像而存在,而我們的下游任務(wù)形式多樣,因此實(shí)際應(yīng)用時(shí)很可能沒 Decoder 什么事了(和它 say byebye 咯~)。所以,Decoder 的設(shè)計(jì)和 Encoder 是解耦的,Decoder 可以設(shè)計(jì)得簡單、輕量一些(比 Encoder 更窄、更淺。窄:對應(yīng)通道數(shù);淺:對應(yīng)深度),畢竟真正能學(xué)習(xí)到潛在特征表示的是 Encoder

這樣,盡管 Decoder 要處理的 token 數(shù)很多(全量token,而 Encoder 僅處理 unmasked 的部分),但其本身輕量,所以還是能夠高效計(jì)算。再結(jié)合 Encoder 雖然本身結(jié)構(gòu)重載(相對 Decoder 來說),但其處理的 token 較少,這樣,整體架構(gòu)就十分 efficient 了,漂亮~!

5.4 任務(wù)目標(biāo):重建像素值

MAE 預(yù)訓(xùn)練任務(wù)的目標(biāo)是重建像素值,并且僅僅是 masked patch 的像素值,也就是僅對 mask 掉的部分計(jì)算 loss,而 loss 就是很大眾的 MSE。為何僅計(jì)算 mask 部分的 loss?實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)這樣做模型的性能會更好,而如果對所有 patches 都計(jì)算 loss 的話會掉點(diǎn):

Computing the loss only on masked patches differs from traditional denoising autoencoders that compute the loss on all pixels. This choice is purely?result-driven:?
computing the loss on all pixels leads to a slight decrease in accuracy (e.g., ~0.5%).

那么模型是如何去預(yù)測 masked patch 的像素值并計(jì)算 loss 的呢?具體來說,就是:

在 Decoder 解碼后的所有 token 中取出 mask tokens(在最開始 mask 掉 patch 的時(shí)候可以先記錄下這些 masked 部分的索引),將這些 mask tokens 送入全連接層,將輸出通道映射到 1 個(gè) patch 的像素?cái)?shù)量(PxPxC),也就是輸出的 shape 是:(B,N',PxPxC),其中的每個(gè)值就代表預(yù)測的像素值。最后,以之前 mask 掉的 patch 的像素值作為 target,與預(yù)測結(jié)果計(jì)算 MSE loss。

另外,作者提到使用歸一化的像素值作為 target 效果更好,能夠提升學(xué)到的表征的質(zhì)量。這里的歸一化做法是:計(jì)算每個(gè) patch 像素值的均值與標(biāo)準(zhǔn)差,然后用均值與標(biāo)準(zhǔn)差去歸一化對應(yīng)的 patch 像素。

5.5 Pipeline

OK,解析完 MAE 的各部分結(jié)構(gòu),現(xiàn)在 CW 就將它們串起來:

1. 將圖像劃分成 patches:(B,C,H,W)->(B,N,PxPxC);

2. 對各個(gè) patch 進(jìn)行 embedding(實(shí)質(zhì)是通過全連接層),生成 token,并加入位置信息(position embeddings):(B,N,PxPxC)->(B,N,dim);

3. 根據(jù)預(yù)設(shè)的掩碼比例(paper 中提倡的是 75%),使用服從均勻分布的隨機(jī)采樣策略采樣一部分 token 送給 Encoder,另一部分“扔掉”(mask 掉);

4. 將 Encoder 編碼后的 token 與 加入位置信息后的 mask token 按照原先在 patch 形態(tài)時(shí)對應(yīng)的次序拼在一起,然后喂給 Decoder 玩(如果 Encoder 編碼后的 token 的維度與 Decoder 要求的輸入維度不一致,則需要先經(jīng)過 linear projection 將維度映射到符合 Decoder 的要求);

4. Decoder 解碼后取出 mask tokens 對應(yīng)的部分送入到全連接層,對 masked patches 的像素值進(jìn)行預(yù)測,最后將預(yù)測結(jié)果與 masked patches 進(jìn)行比較,計(jì)算 MSE loss。


實(shí)驗(yàn)理解

這部分給大家 show 下 paper 中的部分實(shí)驗(yàn)結(jié)果,并針對其中一些現(xiàn)象談?wù)勛约旱睦斫狻?/p>

6.1 Mask 比例

前文也多次談到,mask 比例較高才能形成具有挑戰(zhàn)性的預(yù)訓(xùn)練任務(wù),模型才更有機(jī)會學(xué)到更好的潛在特征表示。由上圖中的實(shí)驗(yàn)結(jié)果也可以看到,無論是在 fine-tune 還是 linear probe 的玩法中,mask 比例逐漸升高(但不過份)時(shí),模型性能都會更好。

但是,fine-tune 和 linear probe 的結(jié)果還是有所區(qū)別的:linear probe 幾乎是線性增漲的趨勢,而 fine-tune 則是 mask 比例在 30%~40% 之間激增,而后就傾向于飽和了。

So,為啥會醬捏?

CW 覺得,linear probe 之所以沒有那么快飽和,和其本身的玩法相關(guān)——僅調(diào)整模型最后的幾層分類頭(fix 住其它部分,如 Encoder)。因此,mask 比例越高,在預(yù)訓(xùn)練時(shí)得到的 Encoder 就越強(qiáng),但這部分在下游任務(wù)中是不能夠再被訓(xùn)練的了,所以其性能就隨著 mask 比例的增加呈線性增漲的趨勢。

相對地,fine-tune 時(shí),還能夠繼續(xù)訓(xùn)練 Encoder 的參數(shù)去適配下游任務(wù),因此在 mask 比例超過一定程度后,對于下游任務(wù)的性能提升就不那么明顯了。

6.2 Mask 采樣策略

作者通過實(shí)驗(yàn)比較,最終選擇了服從均勻分布的隨機(jī)采樣(作者稱其為 'random')策略,以上是詳細(xì)的實(shí)驗(yàn)結(jié)果。

可以觀察出,block-wise 策略由于掩蓋掉的圖像塊區(qū)域太大了,因此在高于 50% 的 mask 比例下效果就不好(因?yàn)槟惚旧砭驼诘脧V,現(xiàn)在還要遮得多,太難了吧..)。

而對于 grid 策略,作者說,這種方式在訓(xùn)練時(shí)能夠?qū)?shù)據(jù)擬合得很好,但實(shí)際學(xué)到的特征表示泛化性其實(shí)是比較弱的。

由此可以說明,代理任務(wù)設(shè)計(jì)得太困難(對應(yīng) block-wise)或太簡單(對應(yīng) grid)都不行,要適當(dāng)(對應(yīng) random)才好,此乃中庸之道~

6.3 Decoder 的設(shè)計(jì)

作者還探究了 Decoder 的設(shè)計(jì)。上圖展示了不同的 Decoder 深度(Transformer 層數(shù))和寬度(通道數(shù))對于 fine-tune 和 linear probe 在 ImageNet-1K 下游任務(wù)中的表現(xiàn)。

可以發(fā)現(xiàn),Decoder 的深度和寬度對于 linear probe 有較為明顯的影響,但對于 fine-tune 的影響卻不那么突出。

So,為啥會醬捏(again)?

想一想,Decoder 更深和更寬時(shí),會發(fā)生什么?

(自問自答):當(dāng) Decoder 更深/寬時(shí),它本身會擁有更強(qiáng)的重建能力,這樣就使得在預(yù)訓(xùn)練時(shí) Encoder 能更專注于提取抽象語義層級的特征,專心做事了,產(chǎn)生的質(zhì)量也就更好了。也就是說,Encoder 在提取良好特征方面更專業(yè)了。

OK,了解了以上這點(diǎn)沒錯(cuò),但這種效應(yīng)是同樣作用于 linear probe 和 fine-tune 的,那么為何會造成不同的影響程度呢?

進(jìn)一步探究,其實(shí)還是與它們各自的玩法相關(guān):

linear probe 是完全繼承預(yù)訓(xùn)練 Encoder 的玩法(因其僅調(diào)最后幾層分類頭),而 fine-tune 在下游任務(wù)中仍能夠繼續(xù)調(diào)整 Encoder 的參數(shù)。于是,預(yù)訓(xùn)練時(shí)得到的 Encoder 牛不牛逼,對 linear probe 產(chǎn)生的影響會更大一些。

以上的話太白了,有點(diǎn) low,再裝裝逼:

究其本質(zhì),其實(shí)是預(yù)訓(xùn)練任務(wù)(圖像重建)與下游任務(wù)(圖像識別)之間存在著 gap!

fine-tune 時(shí)由于能夠調(diào)整 Encoder 去適配圖像識別任務(wù),因此預(yù)訓(xùn)練對其影響程度就相對沒那么大了。

6.4 Mask token 為何被 Encoder “拋棄”?

我們知道,在 MAE 中,Encoder 僅玩 unmasked 的 tokens。那么,如果它也玩 mask tokens 會怎樣呢?

你們別說:肯定會掉點(diǎn)嘛,不然作者干嘛不玩?

給點(diǎn)面子..

是的,如上圖中的實(shí)驗(yàn)結(jié)果顯示,會掉點(diǎn)(汗~)。原因也很直白:因?yàn)樵?strong>下游任務(wù)中并不存在這些 mask tokens,上、下游任務(wù)之間存在 gap(這點(diǎn)在當(dāng)年 BERT 出道時(shí)已經(jīng)暴露了出來)。如果 Encoder 也對 mask tokens 進(jìn)行編碼,會進(jìn)一步將這種 gap 的影響“擴(kuò)散”至下游任務(wù)中造成影響。

6.5 各種重建目標(biāo)的比較

MAE 的重建目標(biāo)是 mask patches 的像素值。同時(shí),作者在 paper 中還提到,如果預(yù)測的是歸一化(具體做法 CW 在上文中有描述)的像素值,那么效果會更好。另外,作者還和 BEiT 那種預(yù)測 token 的方式 以及 PCA 的方式(對 patch 空間實(shí)施 PCA 并預(yù)測最大的因子)進(jìn)行了比較:

可以發(fā)現(xiàn),預(yù)測歸一化像素值的方式最強(qiáng),BEiT 那種 token 的方式也差不多,那么,這種現(xiàn)象說明了什么呢?

回顧下前文 CW 提到的,這里歸一化像素值的做法是分別針對每個(gè) patch 使用它們獨(dú)立統(tǒng)計(jì)出來的均值與方差去歸一化的,這就會將各個(gè) patch 歸一化到不同的表示空間,從而分成不同的“簇”,于是各個(gè) patch 之間的差異性就更強(qiáng),形成了高頻信息,相當(dāng)于將各個(gè) patch 構(gòu)造成了邊緣與紋理,從整體圖像看來,對比度更高。從而使得模型更有針對性地學(xué)習(xí)各個(gè) patch 的特征模式。同時(shí),數(shù)值上由于做了歸一化,因此又不會使得模型在這方面有所偏倚。

至于 token 的方式是照搬 NLP 的玩法,是高度離散化和語義化的,一個(gè)字的差異也可能導(dǎo)致詞語之間的含義發(fā)生重大變化,本身就是高頻東西。

因此,究其本質(zhì):高頻信息才是王道!

6.6 數(shù)據(jù)增強(qiáng)

大家都知道,玩 CV 嘛肯定離不開數(shù)據(jù)增強(qiáng),于是作者探究了這老套路對于 MAE 方法的影響:

由上圖中的實(shí)驗(yàn)結(jié)果可知,這老套路果然還是有好處的。但是可以看到,不做隨機(jī)縮放(fixed size)和隨機(jī)縮放(rand size)的效果其實(shí)差不多,而采用色彩擾動(color jit)卻反而比簡單的 crop 還菜,有意思~

稍微想一下,這應(yīng)該是 MAE 本身 masking 的做法已經(jīng)是一種數(shù)據(jù)增強(qiáng)手段了,因此不需要“過份”的額外數(shù)據(jù)增強(qiáng)就能取得較好的效果(比如 color jit,本身就 mask 掉圖像的一些部分了,還來擾亂原本的像素值,模型當(dāng)然覺得不好搞啊..)。

6.7 干倒 linear probe

linear probe 一直是很流行的玩法,但通過上面的實(shí)驗(yàn)結(jié)果我們可以發(fā)現(xiàn),它與 fine-tune 之間總是存在著“不協(xié)同”的結(jié)果,比如前面說到的 Decoder 的深度和寬度對 linear probe 的影響挺大但對于 fine-tune 來說卻并不那么事關(guān)緊要。

于是,作者不禁懷疑起 linear probe 這種玩法的道理?!皺?quán)衡”了 linear probe 和 fine-tune 之間的做法,作者設(shè)計(jì)出一種 'partial fine-tuning' 的玩法:僅調(diào)整 Encoder 的最后幾層但 fix 住其它部分。如上圖所示,調(diào)整 0 個(gè) block 相當(dāng)于是 linear probe,而調(diào)整所有 24 個(gè) blocks 就是 fine-tuning 的玩法。

可以看到,對于 MAE,僅調(diào)整 1 個(gè) block 就可以將 acc 從73.5%(linear probe)漲到81%,并且對于 MOCO v3 也一樣可以漲點(diǎn)。

另外,MAE 在 partial fine-tuning 的方式下優(yōu)于 MOCO v3,這也說明 MAE 學(xué)到的特征非線性更強(qiáng),于是當(dāng)可以調(diào)整非線性頭部時(shí)效果就更好。

在這里,作者認(rèn)為 linear probe 有必要去“面壁思過”一下,因?yàn)樗@種玩法沒有去捕捉一些強(qiáng)大但非線性的特征,而這卻恰恰是深度學(xué)習(xí)所更應(yīng)該重視和擁有的。

于是,這些現(xiàn)象都向我們表明:linear probe 并非是唯一的、正確地評估模型學(xué)到的表征質(zhì)量的方式。并且,作者后續(xù)還進(jìn)行了 detection 與 segmentation 相關(guān)的實(shí)驗(yàn),從而在 linear probe 的玩法中學(xué)到的特征也并非是和遷移學(xué)習(xí)性能強(qiáng)相關(guān)的。

(其實(shí)就是想偷偷告訴你們:別被 linear probe 帶偏了哦~)


開局:源碼實(shí)現(xiàn)

終于到好玩的部分了,以上那些都是吹水,coder 還得動手寫代碼才好玩!

官方?jīng)]有開源,但是 MAE 本身的方法足夠簡單,因此 CW 就自己腦洞了下,試著按照 paper 描述的(當(dāng)然,還結(jié)合了自己的風(fēng)格)去實(shí)現(xiàn)。

(ps: 以下代碼基于Pytorch 框架,僅供娛樂使用)

先來看看 MAE 模型的初始化:

class?MAE(nn.Module):def?__init__(self,?encoder,?decoder_dim,?mask_ratio=0.75,?decoder_depth=1,?num_decoder_heads=8,?decoder_dim_per_head=64):super().__init__()assert?0.?<?mask_ratio?<?1.,?f'mask?ratio?must?be?kept?between?0?and?1,?got:?{mask_ratio}'#?Encoder(這里?CW?用?ViT?實(shí)現(xiàn))self.encoder?=?encoderself.patch_h,?self.patch_w?=?encoder.patch_h,?encoder.patch_w#?由于原生的 ViT 有 cls_token,因此其 position embedding 的倒數(shù)第2個(gè)維度是:#?實(shí)際劃分的?patch?數(shù)量加上?1個(gè)?cls_tokennum_patches_plus_cls_token,?encoder_dim?=?encoder.pos_embed.shape[-2:]#?Input?channels?of?encoder?patch?embedding:?patch?size**2?x?3#?這個(gè)用作預(yù)測頭部的輸出通道,從而能夠?qū)?patch?中的所有像素值進(jìn)行預(yù)測num_pixels_per_patch?=?encoder.patch_embed.weight.size(1)# Encoder-Decoder:Encoder 輸出的維度可能和 Decoder 要求的輸入維度不一致,因此需要轉(zhuǎn)換self.enc_to_dec?=?nn.Linear(encoder_dim,?decoder_dim)?if?encoder_dim?!=?decoder_dim?else?nn.Identity()#?Mask?token#?社會提倡這個(gè)比例最好是?75%self.mask_ratio?=?mask_ratio# mask token 的實(shí)質(zhì):1個(gè)可學(xué)習(xí)的共享向量self.mask_embed?=?nn.Parameter(torch.randn(decoder_dim))# Decoder:實(shí)質(zhì)就是多層堆疊的 Transformerself.decoder?=?Transformer(decoder_dim,decoder_dim?*?4,depth=decoder_depth,?num_heads=num_decoder_heads,dim_per_head=decoder_dim_per_head,?)#?在?Decoder?中用作對?mask?tokens?的?position?embedding#?Filter?out?cls_token?注意第1個(gè)維度去掉?cls_tokenself.decoder_pos_embed?=?nn.Embedding(num_patches_plus_cls_token?-?1,?decoder_dim)#?Prediction?head?輸出的維度數(shù)等于1個(gè)?patch?的像素值數(shù)量self.head?=?nn.Linear(decoder_dim,?num_pixels_per_patch)

接下來,CW 會分各部分進(jìn)行解析,下面一起來看看咯(看完你們自己動手寫寫,會更好玩)~

ps:以上 Encoder 部分的 ViT 和 Decoder 部分的 Transformer 的實(shí)現(xiàn)沒有什么特別的,和開源的主流實(shí)現(xiàn)一致,比較無聊,因此 CW 在下文中不會對這部分進(jìn)行解析(其實(shí)想偷個(gè)懶,哈哈哈~!)。發(fā)現(xiàn)不少朋友在評論區(qū)說還是忍不住想看這部分的代碼實(shí)現(xiàn),好吧..我放在文末附錄(代碼 200 行不到,我就費(fèi)事讓大家跳到 github 了)咯~

7.1 Patch Partition

如前文所述,我們首先需要將圖像劃分成 patch,劃分方式實(shí)質(zhì)就是維度的變換:

num_patches?=?(h?//?self.patch_h)?*?(w?//?self.patch_w) #?(b,?c=3,?h,?w)->(b,?n_patches,?patch_size**2?*?c) patches?=?x.view(b,?c,h?//?self.patch_h,?self.patch_h,?w?//?self.patch_w,?self.patch_w ).permute(0,?2,?4,?3,?5,?1).reshape(b,?num_patches,?-1)

7.2 Masking

接下來,就是根據(jù)預(yù)設(shè)的 mask 比例采用服從均勻分布的策略隨機(jī)采樣一批 patches 喂給 Encoder,剩下的就 mask 掉:

#?根據(jù)?mask?比例計(jì)算需要?mask?掉的?patch?數(shù)量 #?num_patches?=?(h?//?self.patch_h)?*?(w?//?self.patch_w) num_masked?=?int(self.mask_ratio?*?num_patches)#?Shuffle:生成對應(yīng)?patch?的隨機(jī)索引 #?torch.rand()?服從均勻分布(normal?distribution) #?torch.rand()?只是生成隨機(jī)數(shù),argsort()?是為了獲得成索引 #?(b,?n_patches) shuffle_indices?=?torch.rand(b,?num_patches,?device=device).argsort() #?mask?和?unmasked?patches?對應(yīng)的索引 mask_ind,?unmask_ind?=?shuffle_indices[:,?:num_masked],?shuffle_indices[:,?num_masked:]#?對應(yīng) batch 維度的索引:(b,1) batch_ind?=?torch.arange(b,?device=device).unsqueeze(-1) #?利用先前生成的索引對?patches?進(jìn)行采樣,分為?mask?和?unmasked?兩組 mask_patches,?unmask_patches?=?patches[batch_ind,?mask_ind],?patches[batch_ind,?unmask_ind]

7.3 Encode

OK,這時(shí)候我們就可以在 Encoder 中對 unmasked 的 patches 進(jìn)行編碼了。

當(dāng)然,我們得先對 unmasked patches 進(jìn)行 emebdding 轉(zhuǎn)換成 tokens,并且加上 position embeddings,從而為它們添加位置信息,然后才能是真正的編碼過程。至于編碼過程,實(shí)質(zhì)上就是扔給 Transformer 玩(query 和 key 玩一玩,玩出個(gè) attention 后再和 value 一起玩~):

#?將?patches?通過?emebdding?轉(zhuǎn)換成?tokens unmask_tokens?=?self.encoder.patch_embed(unmask_patches) #?為?tokens?加入?position?embeddings? #?注意這里索引加1是因?yàn)樗饕?對應(yīng)?ViT?的?cls_token unmask_tokens?+=?self.encoder.pos_embed.repeat(b,?1,?1)[batch_ind,?unmask_ind?+?1] #?真正的編碼過程 encoded_tokens?=?self.encoder.transformer(unmask_tokens)

7.4 Decode

Encoder 玩完后輸出編碼后的 tokens,首先將編碼后的 tokens 和 添加了位置信息后的 mask tokens 按原先對應(yīng) patches 的次序拼起來,然后喂給 Decoder 解碼。需要注意的是,編碼后的 tokens 維度若與 Decoder 要求的輸入維度不一致,需要使用 linear projection 進(jìn)行轉(zhuǎn)換。

#?對編碼后的?tokens?維度進(jìn)行轉(zhuǎn)換,從而符合?Decoder?要求的輸入維度 enc_to_dec_tokens?=?self.enc_to_dec(encoded_tokens)#?由于?mask?token?實(shí)質(zhì)上只有1個(gè),因此要對其進(jìn)行擴(kuò)展,從而和?masked?patches?一一對應(yīng) #?(decoder_dim)->(b,?n_masked,?decoder_dim) mask_tokens?=?self.mask_embed[None,?None,?:].repeat(b,?num_masked,?1) #?為?mask?tokens?加入位置信息 mask_tokens?+=?self.decoder_pos_embed(mask_ind)#?將?mask?tokens?與?編碼后的?tokens?拼接起來 #?(b,?n_patches,?decoder_dim) concat_tokens?=?torch.cat([mask_tokens,?enc_to_dec_tokens],?dim=1) # Un-shuffle:恢復(fù)原先 patches 的次序 dec_input_tokens?=?torch.empty_like(concat_tokens,?device=device) dec_input_tokens[batch_ind,?shuffle_indices]?=?concat_tokens #?將全量?tokens?喂給?Decoder?解碼 decoded_tokens?=?self.decoder(dec_input_tokens)

7.5 Loss Computation

取出解碼后的 mask tokens 送入頭部進(jìn)行像素值預(yù)測,然后將預(yù)測結(jié)果和 masked patches 比較,計(jì)算 MSE loss:

#?取出解碼后的?mask?tokens dec_mask_tokens?=?decoded_tokens[batch_ind,?mask_ind,?:] #?預(yù)測?masked?patches?的像素值 #?(b,?n_masked,?n_pixels_per_patch=patch_size**2?x?c) pred_mask_pixel_values?=?self.head(dec_mask_tokens) #?loss?計(jì)算 loss?=?F.mse_loss(pred_mask_pixel_values,?mask_patches)

7.6 Reconstruction (Inference)

為了方便觀測重建效果,CW 將以上部分串起來在模型中集成了一個(gè)推理的方法:

@torch.no_grad def?predict(self,?x):self.eval()device?=?x.deviceb,?c,?h,?w?=?x.shape'''i.?Patch?partition'''num_patches?=?(h?//?self.patch_h)?*?(w?//?self.patch_w)#?(b,?c=3,?h,?w)->(b,?n_patches,?patch_size**2*c)patches?=?x.view(b,?c,h?//?self.patch_h,?self.patch_h,?w?//?self.patch_w,?self.patch_w).permute(0,?2,?4,?3,?5,?1).reshape(b,?num_patches,?-1)'''ii.?Divide?into?masked?&?un-masked?groups'''num_masked?=?int(self.mask_ratio?*?num_patches)#?Shuffle#?(b,?n_patches)shuffle_indices?=?torch.rand(b,?num_patches,?device=device).argsort()mask_ind,?unmask_ind?=?shuffle_indices[:,?:num_masked],?shuffle_indices[:,?num_masked:]#?(b,?1)batch_ind?=?torch.arange(b,?device=device).unsqueeze(-1)mask_patches,?unmask_patches?=?patches[batch_ind,?mask_ind],?patches[batch_ind,?unmask_ind]'''iii.?Encode'''unmask_tokens?=?self.encoder.patch_embed(unmask_patches)#?Add?position?embeddingsunmask_tokens?+=?self.encoder.pos_embed.repeat(b,?1,?1)[batch_ind,?unmask_ind?+?1]encoded_tokens?=?self.encoder.transformer(unmask_tokens)'''iv.?Decode'''enc_to_dec_tokens?=?self.enc_to_dec(encoded_tokens)#?(decoder_dim)->(b,?n_masked,?decoder_dim)mask_tokens?=?self.mask_embed[None,?None,?:].repeat(b,?num_masked,?1)#?Add?position?embeddingsmask_tokens?+=?self.decoder_pos_embed(mask_ind)#?(b,?n_patches,?decoder_dim)concat_tokens?=?torch.cat([mask_tokens,?enc_to_dec_tokens],?dim=1)#?dec_input_tokens?=?concat_tokensdec_input_tokens?=?torch.empty_like(concat_tokens,?device=device)#?Un-shuffledec_input_tokens[batch_ind,?shuffle_indices]?=?concat_tokensdecoded_tokens?=?self.decoder(dec_input_tokens)'''v.?Mask?pixel?Prediction'''dec_mask_tokens?=?decoded_tokens[batch_ind,?mask_ind,?:]#?(b,?n_masked,?n_pixels_per_patch=patch_size**2?x?c)pred_mask_pixel_values?=?self.head(dec_mask_tokens)#?比較下預(yù)測值和真實(shí)值mse_per_patch?=?(pred_mask_pixel_values?-?mask_patches).abs().mean(dim=-1)mse_all_patches?=?mse_per_patch.mean()print(f'mse?per?(masked)patch:?{mse_per_patch}?mse?all?(masked)patches:?{mse_all_patches}?total?{num_masked}?masked?patches')print(f'all?close:?{torch.allclose(pred_mask_pixel_values,?mask_patches,?rtol=1e-1,?atol=1e-1)}')'''vi.?Reconstruction'''recons_patches?=?patches.detach()#?Un-shuffle?(b,?n_patches,?patch_size**2?*?c)recons_patches[batch_ind,?mask_ind]?=?pred_mask_pixel_values#?模型重建的效果圖#?Reshape?back?to?image?#?(b,?n_patches,?patch_size**2?*?c)->(b,?c,?h,?w)recons_img?=?recons_patches.view(b,?h?//?self.patch_h,?w?//?self.patch_w,?self.patch_h,?self.patch_w,?c).permute(0,?5,?1,?3,?2,?4).reshape(b,?c,?h,?w)mask_patches?=?torch.randn_like(mask_patches,?device=mask_patches.device)#?mask?效果圖patches[batch_ind,?mask_ind]?=?mask_patchespatches_to_img?=?patches.view(b,?h?//?self.patch_h,?w?//?self.patch_w,?self.patch_h,?self.patch_w,?c).permute(0,?5,?1,?3,?2,?4).reshape(b,?c,?h,?w)return?recons_img,?patches_to_img

出于娛樂的目的,CW 沒有考慮太多,快速寫下一個(gè)很 low 的推理 pipeline:

device?=?torch.device('cuda'?if?torch.cuda.is_available()?else?'cpu')#?讀入圖像并縮放到適合模型輸入的尺寸 from?PIL?import?Imageimg_raw?=?Image.open(os.path.join(BASE_DIR,?'mountain.jpg')) h,?w?=?img_raw.height,?img_raw.width ratio?=?h?/?w print(f"image?hxw:?{h}?x?{w}?mode:?{img_raw.mode}")img_size,?patch_size?=?(224,?224),?(16,?16) img?=?img_raw.resize(img_size) rh,?rw?=?img.height,?img.width print(f'resized?image?hxw:?{rh}?x?{rw}?mode:?{img.mode}') img.save(os.path.join(BASE_DIR,?'resized_mountain.jpg'))#?將圖像轉(zhuǎn)換成張量 from?torchvision.transforms?import?ToTensor,?ToPILImageimg_ts?=?ToTensor()(img).unsqueeze(0).to(device) print(f"input?tensor?shape:?{img_ts.shape}?dtype:?{img_ts.dtype}?device:?{img_ts.device}")#?實(shí)例化模型并加載訓(xùn)練好的權(quán)重 encoder?=?ViT(img_size,?patch_size,?dim=512,?mlp_dim=1024,?dim_per_head=64) decoder_dim?=?512 mae?=?MAE(encoder,?decoder_dim,?decoder_depth=6) weight?=?torch.load(os.path.join(BASE_DIR,?'mae.pth'),?map_location='cpu') mae.to(device)#?推理 #?模型重建的效果圖,mask?效果圖 recons_img_ts,?masked_img_ts?=?mae.predict(img_ts) recons_img_ts,?masked_img_ts?=?recons_img_ts.cpu().squeeze(0),?masked_img_ts.cpu().squeeze(0)#?將結(jié)果保存下來以便和原圖比較 recons_img?=?ToPILImage()(recons_img_ts) recons_img.save(os.path.join(BASE_DIR,?'recons_mountain.jpg'))masked_img?=?ToPILImage()(masked_img_ts) masked_img.save(os.path.join(BASE_DIR,?'masked_mountain.jpg'))

人在 cafe 時(shí)間有限,CW 試著用 1 張圖片訓(xùn)練少輪迭代,該圖是我十月份到可可西里無人區(qū)拍攝的風(fēng)景,然后直接用訓(xùn)好的模型在這張?jiān)瓐D上進(jìn)行推理,以下是實(shí)驗(yàn)結(jié)果:

▲ 原圖

▲?mask(ratio=75%)圖

▲?模型重建效果

由于是在訓(xùn)練集上推理、肉眼也看不出來模型重建的效果圖與原圖的差別,因此并沒有太大的意義,但起碼保證了代碼可以跑通,模型可以成功擬合數(shù)據(jù),作為在 cafe 喝咖啡的附加娛樂項(xiàng)目還是能夠過把癮的。


附錄

Encoder 中 ViT 的實(shí)現(xiàn) & Decoder 中 Transformer 的實(shí)現(xiàn)如下:


import?torch import?torch.nn?as?nndef?to_pair(t):return?t?if?isinstance(t,?tuple)?else?(t,?t)class?PreNorm(nn.Module):def?__init__(self,?dim,?net):super().__init__()self.norm?=?nn.LayerNorm(dim)self.net?=?netdef?forward(self,?x,?**kwargs):return?self.net(self.norm(x),?**kwargs)class?SelfAttention(nn.Module):def?__init__(self,?dim,?num_heads=8,?dim_per_head=64,?dropout=0.):super().__init__()self.num_heads?=?num_headsself.scale?=?dim_per_head?**?-0.5inner_dim?=?dim_per_head?*?num_headsself.to_qkv?=?nn.Linear(dim,?inner_dim?*?3,?bias=False)self.attend?=?nn.Softmax(dim=-1)project_out?=?not?(num_heads?==?1?and?dim_per_head?==?dim)self.out?=?nn.Sequential(nn.Linear(inner_dim,?dim),nn.Dropout(dropout))?if?project_out?else?nn.Identity()def?forward(self,?x):b,?l,?d?=?x.shape'''i.?QKV?projection'''#?(b,l,dim_all_heads?x?3)qkv?=?self.to_qkv(x)#?(3,b,num_heads,l,dim_per_head)qkv?=?qkv.view(b,?l,?3,?self.num_heads,?-1).permute(2,?0,?3,?1,?4).contiguous()#?3?x?(1,b,num_heads,l,dim_per_head)q,?k,?v?=?qkv.chunk(3)q,?k,?v?=?q.squeeze(0),?k.squeeze(0),?v.squeeze(0)'''ii.?Attention?computation'''attn?=?self.attend(torch.matmul(q,?k.transpose(-1,?-2))?*?self.scale)'''iii.?Put?attention?on?Value?&?reshape'''#?(b,num_heads,l,dim_per_head)z?=?torch.matmul(attn,?v)#?(b,num_heads,l,dim_per_head)->(b,l,num_heads,dim_per_head)->(b,l,dim_all_heads)z?=?z.transpose(1,?2).reshape(b,?l,?-1)#?assert?z.size(-1)?==?q.size(-1)?*?self.num_heads'''iv.?Project?out'''#?(b,l,dim_all_heads)->(b,l,dim)out?=?self.out(z)#?assert?out.size(-1)?==?dreturn?outclass?FFN(nn.Module):def?__init__(self,?dim,?hidden_dim,?dropout=0.):super().__init__()self.net?=?nn.Sequential(nn.Linear(dim,?hidden_dim),nn.GELU(),nn.Dropout(p=dropout),nn.Linear(hidden_dim,?dim),nn.Dropout(p=dropout))def?forward(self,?x):return?self.net(x)class?Transformer(nn.Module):def?__init__(self,?dim,?mlp_dim,?depth=6,?num_heads=8,?dim_per_head=64,?dropout=0.):super().__init__()self.layers?=?nn.ModuleList([])for?_?in?range(depth):self.layers.append(nn.ModuleList([PreNorm(dim,?SelfAttention(dim,?num_heads=num_heads,?dim_per_head=dim_per_head,?dropout=dropout)),PreNorm(dim,?FFN(dim,?mlp_dim,?dropout=dropout))]))def?forward(self,?x):for?norm_attn,?norm_ffn?in?self.layers:x?=?x?+?norm_attn(x)x?=?x?+?norm_ffn(x)return?xclass?ViT(nn.Module):def?__init__(self,?image_size,?patch_size,?num_classes=1000,?dim=1024,?depth=6,?num_heads=8,?mlp_dim=2048,pool='cls',?channels=3,?dim_per_head=64,?dropout=0.,?embed_dropout=0.):super().__init__()img_h,?img_w?=?to_pair(image_size)self.patch_h,?self.patch_w?=?to_pair(patch_size)assert?not?img_h?%?self.patch_h?and?not?img_w?%?self.patch_w,?\f'Image?dimensions?({img_h},{img_w})?must?be?divisible?by?the?patch?size?({self.patch_h},{self.patch_w}).'num_patches?=?(img_h?//?self.patch_h)?*?(img_w?//?self.patch_w)assert?pool?in?{'cls',?'mean'},?f'pool?type?must?be?either?cls?(cls?token)?or?mean?(mean?pooling),?got:?{pool}'patch_dim?=?channels?*?self.patch_h?*?self.patch_wself.patch_embed?=?nn.Linear(patch_dim,?dim)self.cls_token?=?nn.Parameter(torch.randn(1,?1,?dim))#?Add?1?for?cls_tokenself.pos_embed?=?nn.Parameter(torch.randn(1,?num_patches?+?1,?dim))self.dropout?=?nn.Dropout(p=embed_dropout)self.transformer?=?Transformer(dim,?mlp_dim,?depth=depth,?num_heads=num_heads,dim_per_head=dim_per_head,?dropout=dropout)self.pool?=?poolself.mlp_head?=?nn.Sequential(nn.LayerNorm(dim),nn.Linear(dim,?num_classes))def?forward(self,?x):b,?c,?img_h,?img_w?=?x.shapeassert?not?img_h?%?self.patch_h?and?not?img_w?%?self.patch_w,?\f'Input?image?dimensions?({img_h},{img_w})?must?be?divisible?by?the?patch?size?({self.patch_h},{self.patch_w}).''''i.?Patch?partition'''num_patches?=?(img_h?//?self.patch_h)?*?(img_w?//?self.patch_w)#?(b,c,h,w)->(b,n_patches,patch_h*patch_w*c)patches?=?x.view(b,?c,?img_h?//?self.patch_h,?self.patch_h,?img_w?//?self.patch_w,?self.patch_w).permute(0,?2,?4,?3,?5,?1).reshape(b,?num_patches,?-1)'''ii.?Patch?embedding'''#?(b,n_patches,dim)tokens?=?self.patch_embed(patches)#?(b,n_patches+1,dim)tokens?=?torch.cat([self.cls_token.repeat(b,?1,?1),?tokens],?dim=1)tokens?+=?self.pos_embed[:,?:(num_patches?+?1)]tokens?=?self.dropout(tokens)'''iii.?Transformer?Encoding'''enc_tokens?=?self.transformer(tokens)'''iv.?Pooling'''#?(b,dim)pooled?=?enc_tokens[:,?0]?if?self.pool?==?'cls'?else?enc_tokens.mean(dim=1)'''v.?Classification'''#?(b,n_classes)logits?=?self.mlp_head(pooled)return?logits


End

圖像和語言是不同性質(zhì)的信號,圖像不像語言一樣天然是由一個(gè)個(gè)可分解的字詞組成,它是連續(xù)的信號。因此,為了更遵循圖像的“本性”,MAE 掩碼的時(shí)候是對整體圖像區(qū)域隨機(jī)掩碼,而非有意地對圖像做語義性的分割(比如有意地去 mask 掉一些物體或特定區(qū)域)。同樣地,MAE 重建的目標(biāo)是像素值,而非語義實(shí)體(什么圖像化 token 等)。

果然研究/解決一類問題還是要貼近其本質(zhì)才能更好地 work,并且能夠持久 work 的方法也通常是簡潔而非花里胡哨的,因?yàn)楸举|(zhì)就是最純真的東西,所以說,大道至簡。

特別鳴謝

感謝 TCCI 天橋腦科學(xué)研究院對于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。

更多閱讀

#投 稿?通 道#

?讓你的文字被更多人看到?

如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。

總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?

PaperWeekly 鼓勵高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得競賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識真正流動起來。

📝?稿件基本要求:

? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標(biāo)注?

? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題

? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算

📬?投稿通道:

? 投稿郵箱:hr@paperweekly.site?

? 來稿請備注即時(shí)聯(lián)系方式(微信),以便我們在稿件選用的第一時(shí)間聯(lián)系作者

? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿

△長按添加PaperWeekly小編

🔍

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

·

總結(jié)

以上是生活随笔為你收集整理的别再无聊地吹捧了,一起来动手实现MAE玩玩吧!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

中文字幕色婷婷在线视频 | 亚洲日韩一区二区 | 色五月五月丁香亚洲综合网 | 双乳奶水饱满少妇呻吟 | √天堂中文官网8在线 | 欧美国产日产一区二区 | 国产精品第一国产精品 | 日韩欧美成人免费观看 | 成人女人看片免费视频放人 | 又大又黄又粗又爽的免费视频 | 两性色午夜免费视频 | 人人爽人人爽人人片av亚洲 | 无码成人精品区在线观看 | 亚洲 激情 小说 另类 欧美 | 99riav国产精品视频 | 大胆欧美熟妇xx | av无码电影一区二区三区 | 精品人妻人人做人人爽 | 欧美老人巨大xxxx做受 | 国产精品无码成人午夜电影 | 亚洲高清偷拍一区二区三区 | 波多野结衣一区二区三区av免费 | 乱人伦人妻中文字幕无码久久网 | 欧美日韩视频无码一区二区三 | 亚洲а∨天堂久久精品2021 | 无码人妻精品一区二区三区下载 | 7777奇米四色成人眼影 | 国产香蕉尹人视频在线 | 亚洲熟妇色xxxxx欧美老妇 | 波多野结衣高清一区二区三区 | 亚洲另类伦春色综合小说 | 国产成人精品久久亚洲高清不卡 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 久久综合激激的五月天 | 无码任你躁久久久久久久 | 俄罗斯老熟妇色xxxx | 亚洲精品无码国产 | 午夜精品久久久久久久久 | 女高中生第一次破苞av | 亚洲精品国偷拍自产在线麻豆 | 亚洲区小说区激情区图片区 | 国产乱子伦视频在线播放 | 精品亚洲韩国一区二区三区 | 国产综合在线观看 | 性啪啪chinese东北女人 | 亚洲精品综合五月久久小说 | 无码国内精品人妻少妇 | 日本va欧美va欧美va精品 | 少妇无套内谢久久久久 | 国产深夜福利视频在线 | 国产精品理论片在线观看 | 国产香蕉尹人视频在线 | 亚洲无人区一区二区三区 | 7777奇米四色成人眼影 | 无码人妻av免费一区二区三区 | 国产午夜无码精品免费看 | 在线播放免费人成毛片乱码 | 无码人妻久久一区二区三区不卡 | 国产成人无码av在线影院 | 天堂久久天堂av色综合 | а√资源新版在线天堂 | 欧美刺激性大交 | 亚洲区小说区激情区图片区 | 欧美野外疯狂做受xxxx高潮 | 国产凸凹视频一区二区 | 性欧美大战久久久久久久 | 成人试看120秒体验区 | а√天堂www在线天堂小说 | 国产卡一卡二卡三 | 一本久久a久久精品亚洲 | 欧美 亚洲 国产 另类 | 久久亚洲日韩精品一区二区三区 | 国产精品久久久久久亚洲影视内衣 | 亚洲精品国产a久久久久久 | 国产在热线精品视频 | 国产一精品一av一免费 | 成人精品视频一区二区 | 无码av最新清无码专区吞精 | 天堂亚洲2017在线观看 | 国产人妻久久精品二区三区老狼 | 国产激情精品一区二区三区 | 国产免费无码一区二区视频 | 日韩精品成人一区二区三区 | 亚洲精品一区二区三区在线 | 成年女人永久免费看片 | 玩弄少妇高潮ⅹxxxyw | 欧美真人作爱免费视频 | 亚洲va中文字幕无码久久不卡 | 欧美成人免费全部网站 | 国产精品毛片一区二区 | 久久久国产精品无码免费专区 | 色五月丁香五月综合五月 | 无码av中文字幕免费放 | 人人妻人人澡人人爽欧美精品 | www国产精品内射老师 | 色婷婷综合激情综在线播放 | 熟妇激情内射com | 久久久久久九九精品久 | 人妻天天爽夜夜爽一区二区 | 精品国产福利一区二区 | 国内老熟妇对白xxxxhd | 中文字幕无码av激情不卡 | 综合人妻久久一区二区精品 | 亚洲色成人中文字幕网站 | 亚洲色大成网站www | 久久久久久av无码免费看大片 | 人妻互换免费中文字幕 | 人妻少妇精品无码专区动漫 | 天堂一区人妻无码 | 2020久久超碰国产精品最新 | 999久久久国产精品消防器材 | 又黄又爽又色的视频 | 亚洲色欲色欲天天天www | 中国大陆精品视频xxxx | 亚洲精品一区国产 | 国产精品无码一区二区三区不卡 | 久久天天躁狠狠躁夜夜免费观看 | 亚洲爆乳无码专区 | 青青久在线视频免费观看 | 亚洲成a人片在线观看无码3d | 东京无码熟妇人妻av在线网址 | 久久综合给合久久狠狠狠97色 | 国语自产偷拍精品视频偷 | 亚洲综合无码久久精品综合 | 国产色视频一区二区三区 | 玩弄中年熟妇正在播放 | 人人爽人人爽人人片av亚洲 | 日本又色又爽又黄的a片18禁 | 任你躁国产自任一区二区三区 | 日韩欧美中文字幕在线三区 | 欧洲精品码一区二区三区免费看 | 激情国产av做激情国产爱 | 无码av最新清无码专区吞精 | 乱中年女人伦av三区 | 亚洲中文字幕va福利 | 少妇邻居内射在线 | 99久久久无码国产精品免费 | 无人区乱码一区二区三区 | 伊人久久大香线蕉av一区二区 | 老司机亚洲精品影院无码 | 亚洲欧美国产精品专区久久 | 欧美国产亚洲日韩在线二区 | 亚洲综合在线一区二区三区 | 欧美zoozzooz性欧美 | 中文精品久久久久人妻不卡 | 亚洲中文字幕久久无码 | 中文字幕精品av一区二区五区 | 红桃av一区二区三区在线无码av | 啦啦啦www在线观看免费视频 | 六月丁香婷婷色狠狠久久 | 无码人妻精品一区二区三区下载 | 国产无套内射久久久国产 | 国产精品毛多多水多 | 无码人妻少妇伦在线电影 | 性色欲网站人妻丰满中文久久不卡 | 天天拍夜夜添久久精品 | 国产欧美精品一区二区三区 | 精品熟女少妇av免费观看 | 18无码粉嫩小泬无套在线观看 | 人妻少妇被猛烈进入中文字幕 | 国精品人妻无码一区二区三区蜜柚 | 2020久久香蕉国产线看观看 | 色诱久久久久综合网ywww | 色噜噜亚洲男人的天堂 | 爆乳一区二区三区无码 | 丰满诱人的人妻3 | 夜夜躁日日躁狠狠久久av | 日本在线高清不卡免费播放 | 秋霞成人午夜鲁丝一区二区三区 | 人人澡人人透人人爽 | 久久精品国产一区二区三区肥胖 | 中文无码成人免费视频在线观看 | 亚洲熟妇自偷自拍另类 | 成人影院yy111111在线观看 | 久久国内精品自在自线 | 377p欧洲日本亚洲大胆 | 亚洲国产精品一区二区美利坚 | 亚洲人成无码网www | 日韩人妻少妇一区二区三区 | 国产午夜手机精彩视频 | 无套内谢的新婚少妇国语播放 | а√资源新版在线天堂 | 无码成人精品区在线观看 | 国产精品高潮呻吟av久久4虎 | 国产9 9在线 | 中文 | 国产 精品 自在自线 | 亚洲人成影院在线观看 | 亚洲国产精品久久久天堂 | 性史性农村dvd毛片 | 一本无码人妻在中文字幕免费 | 高中生自慰www网站 | 男女作爱免费网站 | 玩弄中年熟妇正在播放 | 东京无码熟妇人妻av在线网址 | 少妇激情av一区二区 | www国产亚洲精品久久网站 | 色综合久久久久综合一本到桃花网 | 欧美高清在线精品一区 | 久久99精品久久久久久 | 99久久无码一区人妻 | 久久精品国产一区二区三区肥胖 | 亚洲春色在线视频 | 麻豆国产人妻欲求不满 | 亚洲色欲色欲天天天www | 亚洲爆乳大丰满无码专区 | 成 人 网 站国产免费观看 | 久久99精品国产.久久久久 | 男女猛烈xx00免费视频试看 | 99久久精品国产一区二区蜜芽 | 亚洲a无码综合a国产av中文 | 欧美丰满少妇xxxx性 | 国产精品毛片一区二区 | 国产后入清纯学生妹 | 人妻无码久久精品人妻 | 国产av无码专区亚洲a∨毛片 | 又大又黄又粗又爽的免费视频 | 亚洲七七久久桃花影院 | 久久久国产精品无码免费专区 | 国产成人人人97超碰超爽8 | 中文字幕精品av一区二区五区 | 性生交片免费无码看人 | 真人与拘做受免费视频 | 精品久久久久久人妻无码中文字幕 | 国产超级va在线观看视频 | 亚洲日韩中文字幕在线播放 | 无套内谢老熟女 | 亚洲一区二区观看播放 | 亚洲成av人在线观看网址 | 亚洲码国产精品高潮在线 | 久久97精品久久久久久久不卡 | 日本护士毛茸茸高潮 | 精品久久8x国产免费观看 | 日韩av激情在线观看 | 奇米影视7777久久精品 | 亚洲日韩av一区二区三区四区 | 国产精品a成v人在线播放 | 亚洲 另类 在线 欧美 制服 | 人妻尝试又大又粗久久 | 天堂а√在线中文在线 | 亚洲欧美日韩国产精品一区二区 | 国产精品第一国产精品 | 老子影院午夜伦不卡 | 欧美一区二区三区 | 成人三级无码视频在线观看 | 好男人社区资源 | 无码播放一区二区三区 | 欧美国产日产一区二区 | 亚洲人成无码网www | 久久综合香蕉国产蜜臀av | 国产精品-区区久久久狼 | 亚洲日韩av片在线观看 | 久久久久久a亚洲欧洲av冫 | 日韩人妻少妇一区二区三区 | 国产疯狂伦交大片 | 亚洲小说春色综合另类 | 国产精品无码成人午夜电影 | 精品一二三区久久aaa片 | 国产美女精品一区二区三区 | 亚洲成av人片在线观看无码不卡 | 亚洲人成影院在线无码按摩店 | 伊人色综合久久天天小片 | 天堂亚洲2017在线观看 | 亚洲一区二区三区四区 | 一本久久a久久精品亚洲 | 狠狠色噜噜狠狠狠狠7777米奇 | 乱中年女人伦av三区 | 亚洲无人区一区二区三区 | 捆绑白丝粉色jk震动捧喷白浆 | 国产精品亚洲专区无码不卡 | а√天堂www在线天堂小说 | 奇米影视888欧美在线观看 | 久久综合久久自在自线精品自 | 99麻豆久久久国产精品免费 | 亚洲色www成人永久网址 | 一本久道久久综合婷婷五月 | 全球成人中文在线 | 蜜桃视频插满18在线观看 | 狠狠综合久久久久综合网 | 丰满岳乱妇在线观看中字无码 | 人人爽人人爽人人片av亚洲 | 亚洲人成无码网www | 亚洲精品一区二区三区婷婷月 | 色综合视频一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲最大成人网站 | 国产国产精品人在线视 | 国产片av国语在线观看 | 99久久人妻精品免费二区 | а√天堂www在线天堂小说 | 成人无码精品一区二区三区 | 日本又色又爽又黄的a片18禁 | 亚洲日韩av片在线观看 | 88国产精品欧美一区二区三区 | 亚洲色www成人永久网址 | 在线 国产 欧美 亚洲 天堂 | 波多野结衣一区二区三区av免费 | 国产午夜亚洲精品不卡 | 久久久久免费看成人影片 | 亚洲成在人网站无码天堂 | 99久久久国产精品无码免费 | 欧美性猛交内射兽交老熟妇 | 精品国产一区二区三区四区在线看 | 久久人人爽人人爽人人片ⅴ | 免费乱码人妻系列无码专区 | 色狠狠av一区二区三区 | 无码人妻少妇伦在线电影 | 久久亚洲国产成人精品性色 | 荫蒂被男人添的好舒服爽免费视频 | 国精产品一品二品国精品69xx | 粉嫩少妇内射浓精videos | 日本精品久久久久中文字幕 | 人人妻人人澡人人爽人人精品浪潮 | 美女扒开屁股让男人桶 | 老熟妇仑乱视频一区二区 | 国产真实夫妇视频 | 精品国产麻豆免费人成网站 | 久久精品国产精品国产精品污 | 特黄特色大片免费播放器图片 | 亚洲精品久久久久avwww潮水 | 少妇性l交大片欧洲热妇乱xxx | 99久久精品日本一区二区免费 | 一区二区三区乱码在线 | 欧洲 | 亚洲日本在线电影 | 天堂а√在线地址中文在线 | 蜜桃臀无码内射一区二区三区 | 久久久久久a亚洲欧洲av冫 | 久久国产自偷自偷免费一区调 | 亚洲爆乳精品无码一区二区三区 | 精品aⅴ一区二区三区 | 曰本女人与公拘交酡免费视频 | 人妻少妇精品久久 | 欧美日韩综合一区二区三区 | 亚洲综合久久一区二区 | 午夜精品久久久内射近拍高清 | 无码av免费一区二区三区试看 | 国产精品亚洲а∨无码播放麻豆 | 亚洲综合另类小说色区 | 中文字幕人妻无码一夲道 | 色婷婷综合激情综在线播放 | 丰满人妻精品国产99aⅴ | 人妻aⅴ无码一区二区三区 | 久久99精品国产.久久久久 | 久9re热视频这里只有精品 | 欧美zoozzooz性欧美 | 黑人粗大猛烈进出高潮视频 | 亚洲色偷偷男人的天堂 | 亚洲精品成人av在线 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精品免费大片 | 欧美亚洲国产一区二区三区 | 国语精品一区二区三区 | 久久 国产 尿 小便 嘘嘘 | 欧美freesex黑人又粗又大 | 成 人 网 站国产免费观看 | 少妇高潮一区二区三区99 | 中文字幕人成乱码熟女app | 国产av剧情md精品麻豆 | 内射后入在线观看一区 | 老子影院午夜伦不卡 | 中文字幕+乱码+中文字幕一区 | 日日噜噜噜噜夜夜爽亚洲精品 | 色五月丁香五月综合五月 | 国产内射爽爽大片视频社区在线 | 日本肉体xxxx裸交 | 精品一区二区三区波多野结衣 | 牲交欧美兽交欧美 | 最近免费中文字幕中文高清百度 | 国产午夜无码精品免费看 | 精品国产乱码久久久久乱码 | 国产成人综合在线女婷五月99播放 | 日韩在线不卡免费视频一区 | 国产 浪潮av性色四虎 | 高潮毛片无遮挡高清免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 丰满人妻精品国产99aⅴ | 午夜性刺激在线视频免费 | 精品国产一区二区三区四区在线看 | 亚洲精品欧美二区三区中文字幕 | 精品欧美一区二区三区久久久 | 日韩精品乱码av一区二区 | 国产av剧情md精品麻豆 | 免费观看的无遮挡av | 成 人 网 站国产免费观看 | 98国产精品综合一区二区三区 | 无码一区二区三区在线观看 | 久久婷婷五月综合色国产香蕉 | 99久久精品日本一区二区免费 | 无码av最新清无码专区吞精 | 色综合久久久无码中文字幕 | 日本精品少妇一区二区三区 | 久久精品国产一区二区三区 | 免费视频欧美无人区码 | 亚洲国产成人a精品不卡在线 | 亚洲综合另类小说色区 | 鲁鲁鲁爽爽爽在线视频观看 | 精品无码av一区二区三区 | 精品一区二区不卡无码av | 亚洲中文字幕av在天堂 | 荫蒂被男人添的好舒服爽免费视频 | 久久99精品国产麻豆蜜芽 | 欧美精品一区二区精品久久 | 88国产精品欧美一区二区三区 | 99久久人妻精品免费一区 | 黑人巨大精品欧美黑寡妇 | 国产热a欧美热a在线视频 | 色综合久久久无码网中文 | 永久黄网站色视频免费直播 | 无码一区二区三区在线观看 | 国产精品久久久久久亚洲影视内衣 | 伊人久久婷婷五月综合97色 | 日本护士xxxxhd少妇 | 久久久久久亚洲精品a片成人 | 成人女人看片免费视频放人 | 亚洲中文字幕无码中文字在线 | 在线成人www免费观看视频 | 国产午夜福利亚洲第一 | 伊人色综合久久天天小片 | 欧美猛少妇色xxxxx | 丰满人妻被黑人猛烈进入 | 女人色极品影院 | 精品无人国产偷自产在线 | 久久aⅴ免费观看 | 国产亚洲视频中文字幕97精品 | 99视频精品全部免费免费观看 | 中文毛片无遮挡高清免费 | av无码久久久久不卡免费网站 | 老熟妇仑乱视频一区二区 | 2019nv天堂香蕉在线观看 | 国内精品人妻无码久久久影院 | 亚洲精品一区国产 | 国产一区二区三区精品视频 | 东京热男人av天堂 | 51国偷自产一区二区三区 | 久久这里只有精品视频9 | 四虎影视成人永久免费观看视频 | 无套内谢的新婚少妇国语播放 | 国产在线aaa片一区二区99 | 亚洲第一网站男人都懂 | 亚洲成av人片在线观看无码不卡 | 国产午夜视频在线观看 | 4hu四虎永久在线观看 | 国内精品人妻无码久久久影院 | 国产亚洲精品久久久久久 | 国产两女互慰高潮视频在线观看 | 国产极品美女高潮无套在线观看 | 激情亚洲一区国产精品 | 狠狠躁日日躁夜夜躁2020 | 全黄性性激高免费视频 | 蜜桃视频韩日免费播放 | 宝宝好涨水快流出来免费视频 | 精品久久久久久人妻无码中文字幕 | 又粗又大又硬毛片免费看 | 国产欧美精品一区二区三区 | 伦伦影院午夜理论片 | 精品国产麻豆免费人成网站 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产午夜无码视频在线观看 | 少妇性l交大片 | 伦伦影院午夜理论片 | 熟妇女人妻丰满少妇中文字幕 | 亚洲国产欧美在线成人 | 人妻与老人中文字幕 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 在线播放亚洲第一字幕 | 国产乱人偷精品人妻a片 | 自拍偷自拍亚洲精品10p | 丰满少妇人妻久久久久久 | 国产性生大片免费观看性 | 永久免费观看国产裸体美女 | 秋霞特色aa大片 | 日本在线高清不卡免费播放 | 东京热无码av男人的天堂 | 国产人妻精品一区二区三区 | 亚洲天堂2017无码中文 | 丰满少妇弄高潮了www | 亚洲国产综合无码一区 | 国产乱码精品一品二品 | 精品亚洲韩国一区二区三区 | 色偷偷人人澡人人爽人人模 | 欧美精品一区二区精品久久 | 成人aaa片一区国产精品 | 亚洲爆乳大丰满无码专区 | 精品国产一区二区三区av 性色 | 波多野结衣aⅴ在线 | 国产无遮挡吃胸膜奶免费看 | 无码帝国www无码专区色综合 | 亚拍精品一区二区三区探花 | 国产精品对白交换视频 | 国产精品无码mv在线观看 | 在线欧美精品一区二区三区 | 男人扒开女人内裤强吻桶进去 | 国精产品一品二品国精品69xx | 中文字幕人妻丝袜二区 | √天堂资源地址中文在线 | 日韩精品一区二区av在线 | 99久久无码一区人妻 | 中文字幕人妻无码一夲道 | 曰本女人与公拘交酡免费视频 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚洲日韩av片在线观看 | 国产情侣作爱视频免费观看 | 四十如虎的丰满熟妇啪啪 | 乱码午夜-极国产极内射 | 人妻插b视频一区二区三区 | 性做久久久久久久久 | 精品亚洲成av人在线观看 | 国产一区二区三区精品视频 | 国产成人无码a区在线观看视频app | 18无码粉嫩小泬无套在线观看 | 亚洲色在线无码国产精品不卡 | 亚洲欧美精品伊人久久 | 精品成人av一区二区三区 | 日韩人妻无码一区二区三区久久99 | 人人妻在人人 | 午夜福利一区二区三区在线观看 | 国产97人人超碰caoprom | 国产成人无码区免费内射一片色欲 | 人人妻在人人 | 未满成年国产在线观看 | 久久精品99久久香蕉国产色戒 | 日韩亚洲欧美精品综合 | 亚洲码国产精品高潮在线 | 欧美日韩综合一区二区三区 | 国产精品毛片一区二区 | 亚洲国产综合无码一区 | 免费播放一区二区三区 | 天天做天天爱天天爽综合网 | 免费无码午夜福利片69 | 日韩少妇内射免费播放 | 超碰97人人射妻 | 无码人妻av免费一区二区三区 | 人妻aⅴ无码一区二区三区 | 人人爽人人爽人人片av亚洲 | 亚洲日韩av一区二区三区中文 | 97se亚洲精品一区 | 日本熟妇浓毛 | 野外少妇愉情中文字幕 | 日日碰狠狠躁久久躁蜜桃 | 国产亚洲日韩欧美另类第八页 | 国产熟女一区二区三区四区五区 | 55夜色66夜色国产精品视频 | 啦啦啦www在线观看免费视频 | 亚洲欧美色中文字幕在线 | 亚洲精品无码人妻无码 | 国产av人人夜夜澡人人爽麻豆 | 熟女少妇在线视频播放 | 国产综合色产在线精品 | 欧洲极品少妇 | 又色又爽又黄的美女裸体网站 | 日韩无码专区 | 国产精品福利视频导航 | 全黄性性激高免费视频 | 少妇激情av一区二区 | 色婷婷综合中文久久一本 | 帮老师解开蕾丝奶罩吸乳网站 | 亚洲国产日韩a在线播放 | 综合激情五月综合激情五月激情1 | 丰满肥臀大屁股熟妇激情视频 | 日本xxxx色视频在线观看免费 | 2020久久超碰国产精品最新 | 午夜时刻免费入口 | 久久综合给久久狠狠97色 | 成人动漫在线观看 | 沈阳熟女露脸对白视频 | 帮老师解开蕾丝奶罩吸乳网站 | 高潮喷水的毛片 | 国产精品亚洲五月天高清 | 六十路熟妇乱子伦 | 国产亚洲精品久久久ai换 | 伊人久久大香线蕉午夜 | 亚洲色欲色欲天天天www | 久久综合九色综合97网 | 高清国产亚洲精品自在久久 | 精品欧洲av无码一区二区三区 | 蜜臀av在线播放 久久综合激激的五月天 | 97夜夜澡人人双人人人喊 | 欧美日韩久久久精品a片 | 亚洲熟妇色xxxxx欧美老妇y | 曰本女人与公拘交酡免费视频 | 亚洲成av人影院在线观看 | 激情综合激情五月俺也去 | 亚洲阿v天堂在线 | 综合网日日天干夜夜久久 | 久久久久99精品成人片 | 亚洲男人av香蕉爽爽爽爽 | 亚洲成a人片在线观看无码 | 人人澡人人透人人爽 | 国产午夜精品一区二区三区嫩草 | 久久人人爽人人爽人人片ⅴ | 亚洲自偷自偷在线制服 | 日本爽爽爽爽爽爽在线观看免 | 色综合久久久无码网中文 | 亚洲高清偷拍一区二区三区 | 成人一区二区免费视频 | 成人免费视频在线观看 | 欧美人与物videos另类 | 亚洲一区二区三区含羞草 | 特级做a爰片毛片免费69 | 成熟妇人a片免费看网站 | 熟妇女人妻丰满少妇中文字幕 | 夜先锋av资源网站 | 国产亚洲精品久久久ai换 | 欧美野外疯狂做受xxxx高潮 | 成人av无码一区二区三区 | 久久人人爽人人爽人人片av高清 | 日日摸天天摸爽爽狠狠97 | 人人澡人人妻人人爽人人蜜桃 | 一本色道久久综合狠狠躁 | 精品一区二区三区无码免费视频 | 丰满人妻精品国产99aⅴ | 亚洲欧美综合区丁香五月小说 | 久久久久久久久888 | 亚洲色无码一区二区三区 | 男女猛烈xx00免费视频试看 | 中国大陆精品视频xxxx | 久久国语露脸国产精品电影 | 中文字幕色婷婷在线视频 | 老熟妇乱子伦牲交视频 | 精品国产av色一区二区深夜久久 | 国产精品久久久午夜夜伦鲁鲁 | 国语精品一区二区三区 | 精品一区二区三区无码免费视频 | 夜先锋av资源网站 | 国产综合久久久久鬼色 | 国精产品一区二区三区 | 亚洲啪av永久无码精品放毛片 | 亚洲国产精品久久久天堂 | 久久熟妇人妻午夜寂寞影院 | 成 人 免费观看网站 | 亚洲国产精品久久人人爱 | 三上悠亚人妻中文字幕在线 | 久久99精品国产麻豆 | 精品成在人线av无码免费看 | 精品国产av色一区二区深夜久久 | 国产精品丝袜黑色高跟鞋 | 国产精品美女久久久网av | 青青青手机频在线观看 | 精品亚洲成av人在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 国产偷国产偷精品高清尤物 | 亚洲 欧美 激情 小说 另类 | 国产莉萝无码av在线播放 | 国产精品多人p群无码 | 午夜肉伦伦影院 | 国内丰满熟女出轨videos | 成人精品一区二区三区中文字幕 | 三上悠亚人妻中文字幕在线 | 一本久久a久久精品亚洲 | 樱花草在线社区www | 国产成人综合色在线观看网站 | 小泽玛莉亚一区二区视频在线 | 在线成人www免费观看视频 | 两性色午夜免费视频 | 无人区乱码一区二区三区 | 日本一卡2卡3卡四卡精品网站 | 亚洲爆乳大丰满无码专区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 色一情一乱一伦 | 福利一区二区三区视频在线观看 | 色婷婷久久一区二区三区麻豆 | 女高中生第一次破苞av | 国产精品无套呻吟在线 | a片在线免费观看 | 久久久久se色偷偷亚洲精品av | 欧美丰满熟妇xxxx性ppx人交 | 中文久久乱码一区二区 | 鲁一鲁av2019在线 | 欧美黑人性暴力猛交喷水 | 性欧美熟妇videofreesex | 久久午夜无码鲁丝片 | 国产精品视频免费播放 | 国产亚av手机在线观看 | 国产人成高清在线视频99最全资源 | 国产成人精品优优av | 88国产精品欧美一区二区三区 | 色婷婷久久一区二区三区麻豆 | 大肉大捧一进一出好爽视频 | 国产凸凹视频一区二区 | 精品人人妻人人澡人人爽人人 | 国产乱人偷精品人妻a片 | 中文字幕无线码免费人妻 | 亚洲成a人一区二区三区 | 国产超级va在线观看视频 | 性色欲网站人妻丰满中文久久不卡 | 久久无码专区国产精品s | 麻豆精品国产精华精华液好用吗 | 成人免费视频视频在线观看 免费 | 台湾无码一区二区 | 网友自拍区视频精品 | 啦啦啦www在线观看免费视频 | 偷窥日本少妇撒尿chinese | 中文字幕人成乱码熟女app | 欧美日韩视频无码一区二区三 | 在线观看国产一区二区三区 | 国产精品久久久 | 日本护士xxxxhd少妇 | 精品久久综合1区2区3区激情 | 国产区女主播在线观看 | 中文字幕乱妇无码av在线 | 亚洲人成网站免费播放 | 男人和女人高潮免费网站 | 久久综合给久久狠狠97色 | 日本va欧美va欧美va精品 | 精品国精品国产自在久国产87 | 亚洲中文字幕无码中文字在线 | 大屁股大乳丰满人妻 | 国产精品久久久久无码av色戒 | 色五月丁香五月综合五月 | 免费视频欧美无人区码 | 好男人社区资源 | 青青久在线视频免费观看 | 98国产精品综合一区二区三区 | 成人免费视频一区二区 | 国产精华av午夜在线观看 | 99久久精品国产一区二区蜜芽 | 日韩人妻无码一区二区三区久久99 | 亚洲精品一区三区三区在线观看 | 国产精品视频免费播放 | 久久久久99精品国产片 | 欧美日韩在线亚洲综合国产人 | 无套内谢的新婚少妇国语播放 | 国产精品无码一区二区三区不卡 | 国产综合色产在线精品 | 噜噜噜亚洲色成人网站 | 色婷婷av一区二区三区之红樱桃 | 亚洲国产精品无码一区二区三区 | 亚洲狠狠色丁香婷婷综合 | 成人欧美一区二区三区黑人免费 | 亚洲色www成人永久网址 | 精品一区二区三区波多野结衣 | 亚洲阿v天堂在线 | 影音先锋中文字幕无码 | 波多野42部无码喷潮在线 | 中文字幕av伊人av无码av | 亚洲小说春色综合另类 | 久精品国产欧美亚洲色aⅴ大片 | 扒开双腿疯狂进出爽爽爽视频 | 国内老熟妇对白xxxxhd | 久久99精品久久久久婷婷 | 日韩亚洲欧美中文高清在线 | 波多野结衣乳巨码无在线观看 | 中文字幕人妻无码一区二区三区 | 亚洲综合在线一区二区三区 | 乱码午夜-极国产极内射 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲午夜福利在线观看 | 51国偷自产一区二区三区 | 99久久精品无码一区二区毛片 | 中文字幕人妻无码一区二区三区 | 精品成在人线av无码免费看 | 久久午夜夜伦鲁鲁片无码免费 | 国产在线无码精品电影网 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品久久精品三级 | 性做久久久久久久久 | 欧美丰满老熟妇xxxxx性 | 亚洲精品成人福利网站 | 国产两女互慰高潮视频在线观看 | 日日躁夜夜躁狠狠躁 | 巨爆乳无码视频在线观看 | 国产精品18久久久久久麻辣 | 久久国产精品二国产精品 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲综合无码久久精品综合 | 国产一区二区三区日韩精品 | 国产精品欧美成人 | 国产人妻精品一区二区三区不卡 | 日韩精品无码一本二本三本色 | 香蕉久久久久久av成人 | 强开小婷嫩苞又嫩又紧视频 | 国产精品视频免费播放 | 日韩人妻系列无码专区 | 欧美三级a做爰在线观看 | 综合网日日天干夜夜久久 | 免费国产成人高清在线观看网站 | 成人影院yy111111在线观看 | 国产精品国产三级国产专播 | 亚洲精品国产精品乱码不卡 | 综合人妻久久一区二区精品 | 妺妺窝人体色www婷婷 | 国产成人久久精品流白浆 | 亚洲国精产品一二二线 | 熟妇人妻激情偷爽文 | 国产舌乚八伦偷品w中 | 嫩b人妻精品一区二区三区 | 日韩精品a片一区二区三区妖精 | 少女韩国电视剧在线观看完整 | 色窝窝无码一区二区三区色欲 | 亚洲熟妇色xxxxx亚洲 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲精品欧美二区三区中文字幕 | 免费看少妇作爱视频 | 亚洲中文字幕无码一久久区 | 久久久久av无码免费网 | 午夜成人1000部免费视频 | 无码人妻精品一区二区三区下载 | 欧美 日韩 人妻 高清 中文 | 麻豆精产国品 | 蜜桃视频韩日免费播放 | 无套内谢的新婚少妇国语播放 | 国产真实夫妇视频 | 东京无码熟妇人妻av在线网址 | 国产成人精品一区二区在线小狼 | 国产激情无码一区二区app | 午夜免费福利小电影 | 国语自产偷拍精品视频偷 | 巨爆乳无码视频在线观看 | 亚洲 日韩 欧美 成人 在线观看 | 色诱久久久久综合网ywww | 亚洲人亚洲人成电影网站色 | 熟妇人妻无码xxx视频 | 我要看www免费看插插视频 | 精品一区二区三区波多野结衣 | 国产亚洲精品久久久久久久久动漫 | 国内老熟妇对白xxxxhd | aⅴ亚洲 日韩 色 图网站 播放 | 日日噜噜噜噜夜夜爽亚洲精品 | 精品少妇爆乳无码av无码专区 | 天堂久久天堂av色综合 | 俺去俺来也在线www色官网 | 超碰97人人射妻 | 欧美成人家庭影院 | 狠狠亚洲超碰狼人久久 | 亚洲无人区午夜福利码高清完整版 | 国产偷自视频区视频 | 亚洲精品一区国产 | 蜜桃av抽搐高潮一区二区 | 久久久久国色av免费观看性色 | 香蕉久久久久久av成人 | 色一情一乱一伦 | 亚洲欧美日韩综合久久久 | 精品国产国产综合精品 | 国产一区二区不卡老阿姨 | 欧洲精品码一区二区三区免费看 | 少妇高潮一区二区三区99 | 亚洲色欲色欲天天天www | 丰满人妻翻云覆雨呻吟视频 | 青青久在线视频免费观看 | 男女爱爱好爽视频免费看 | 国产精品美女久久久久av爽李琼 | 日本精品人妻无码77777 天堂一区人妻无码 | 精品成人av一区二区三区 | 精品成人av一区二区三区 | 亚洲乱码日产精品bd | 丝袜美腿亚洲一区二区 | 久久久久久久人妻无码中文字幕爆 | 欧美日韩亚洲国产精品 | 亚洲日韩av一区二区三区中文 | 无码国产色欲xxxxx视频 | 扒开双腿疯狂进出爽爽爽视频 | 日韩精品无码免费一区二区三区 | 强奷人妻日本中文字幕 | 成在人线av无码免观看麻豆 | 国产精品久久久久久亚洲毛片 | 黑人粗大猛烈进出高潮视频 | 澳门永久av免费网站 | 性欧美疯狂xxxxbbbb | 精品国产av色一区二区深夜久久 | 亚洲毛片av日韩av无码 | 日本精品久久久久中文字幕 | 露脸叫床粗话东北少妇 | 色婷婷综合中文久久一本 | 女人被男人爽到呻吟的视频 | 亚洲码国产精品高潮在线 | 久久久久久亚洲精品a片成人 | 少妇人妻av毛片在线看 | 亚无码乱人伦一区二区 | 欧美日韩亚洲国产精品 | 兔费看少妇性l交大片免费 | 搡女人真爽免费视频大全 | 少妇性l交大片 | 2020久久香蕉国产线看观看 | 日本熟妇乱子伦xxxx | 国产真人无遮挡作爱免费视频 | 亚洲精品久久久久久久久久久 | 无套内射视频囯产 | 国产亚洲精品精品国产亚洲综合 | 99精品久久毛片a片 | 六月丁香婷婷色狠狠久久 | 在线观看国产一区二区三区 | 亚洲精品综合五月久久小说 | 国模大胆一区二区三区 | 国产精品亚洲lv粉色 | 曰韩无码二三区中文字幕 | 在线观看国产午夜福利片 | 欧美zoozzooz性欧美 | 又湿又紧又大又爽a视频国产 | 日本一本二本三区免费 | 精品久久久久久亚洲精品 | 国产suv精品一区二区五 | 国产成人精品三级麻豆 | 蜜桃臀无码内射一区二区三区 | 成人亚洲精品久久久久软件 | 国产精品内射视频免费 | 99久久婷婷国产综合精品青草免费 | 日韩无码专区 | 午夜精品久久久久久久 | 国产在线精品一区二区高清不卡 | 黑人大群体交免费视频 | 亚洲成av人在线观看网址 | 人人妻人人藻人人爽欧美一区 | 露脸叫床粗话东北少妇 | 人妻插b视频一区二区三区 | 久久精品国产精品国产精品污 | 日韩无码专区 | 国内少妇偷人精品视频 | 亚洲理论电影在线观看 | 国产精品理论片在线观看 | 丰满少妇人妻久久久久久 | 天海翼激烈高潮到腰振不止 | 国产在线精品一区二区高清不卡 | 国产在热线精品视频 | a片免费视频在线观看 | 亚洲精品中文字幕乱码 | 一本大道久久东京热无码av | 任你躁国产自任一区二区三区 | 丰满人妻翻云覆雨呻吟视频 | 亚洲欧美日韩国产精品一区二区 | 久久午夜无码鲁丝片秋霞 | 久久99精品国产.久久久久 | 激情内射亚州一区二区三区爱妻 | 欧美日本日韩 | 精品欧洲av无码一区二区三区 | 日韩av无码一区二区三区不卡 | 扒开双腿吃奶呻吟做受视频 | 日本丰满熟妇videos | 国产极品视觉盛宴 | 亚洲综合另类小说色区 | 国产精品丝袜黑色高跟鞋 | 秋霞特色aa大片 | 亚洲精品久久久久久一区二区 | 亚洲熟熟妇xxxx | 88国产精品欧美一区二区三区 | 国产亚洲精品久久久久久大师 | аⅴ资源天堂资源库在线 | 国产精品无码成人午夜电影 | 欧美 丝袜 自拍 制服 另类 | 亚洲一区二区三区香蕉 | 在线精品国产一区二区三区 | 天天做天天爱天天爽综合网 | 欧美亚洲日韩国产人成在线播放 | 日日躁夜夜躁狠狠躁 | 无码国产色欲xxxxx视频 | 啦啦啦www在线观看免费视频 | 98国产精品综合一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 国产人妻久久精品二区三区老狼 | 强伦人妻一区二区三区视频18 | 午夜福利试看120秒体验区 | 国产热a欧美热a在线视频 | 亚洲中文字幕av在天堂 | 一区二区三区乱码在线 | 欧洲 | 无码吃奶揉捏奶头高潮视频 | 午夜精品久久久内射近拍高清 | 丁香花在线影院观看在线播放 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久国产36精品色熟妇 | 国产精品亚洲а∨无码播放麻豆 | 色综合久久久久综合一本到桃花网 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲爆乳大丰满无码专区 | 暴力强奷在线播放无码 | 无码一区二区三区在线观看 | 欧美日韩人成综合在线播放 | 色综合久久久久综合一本到桃花网 | 亚洲成熟女人毛毛耸耸多 | 中文字幕无码热在线视频 | 成人精品视频一区二区 | 国产精品国产三级国产专播 | 骚片av蜜桃精品一区 | 99精品久久毛片a片 | 国产成人综合美国十次 | 国产极品视觉盛宴 | 少妇厨房愉情理9仑片视频 | 麻豆国产97在线 | 欧洲 | 在线观看国产午夜福利片 | 亚洲欧美国产精品专区久久 | 最近中文2019字幕第二页 | 嫩b人妻精品一区二区三区 | 成人欧美一区二区三区黑人免费 | 青春草在线视频免费观看 | а天堂中文在线官网 | 中文精品久久久久人妻不卡 | 夜夜高潮次次欢爽av女 | 久久www免费人成人片 | 成人精品视频一区二区三区尤物 | 亚洲人成网站免费播放 | 欧美色就是色 | 日韩人妻系列无码专区 | 色婷婷av一区二区三区之红樱桃 | 激情爆乳一区二区三区 | 国产精品美女久久久网av | 欧美熟妇另类久久久久久多毛 | 又湿又紧又大又爽a视频国产 | 精品夜夜澡人妻无码av蜜桃 | 麻豆果冻传媒2021精品传媒一区下载 | 高清无码午夜福利视频 | 亚洲国产精品久久久久久 | 领导边摸边吃奶边做爽在线观看 | 日本www一道久久久免费榴莲 | 亚洲精品综合一区二区三区在线 | 亚洲国产精品毛片av不卡在线 | 亚洲国产精品一区二区第一页 | aa片在线观看视频在线播放 | 中文精品无码中文字幕无码专区 | 激情内射亚州一区二区三区爱妻 | 久久午夜无码鲁丝片午夜精品 | 亚洲色成人中文字幕网站 | 亚洲精品一区国产 | 999久久久国产精品消防器材 | 亚洲日韩av一区二区三区中文 | 大胆欧美熟妇xx | 国产乱人伦av在线无码 | 国产精品人妻一区二区三区四 | 日韩人妻无码一区二区三区久久99 | 人人妻人人澡人人爽精品欧美 | 人妻天天爽夜夜爽一区二区 | 天天av天天av天天透 | 国产精品人人妻人人爽 | 天堂亚洲2017在线观看 | 欧美日本日韩 | 少妇一晚三次一区二区三区 | 日本大乳高潮视频在线观看 | 无码一区二区三区在线观看 | 清纯唯美经典一区二区 | 国产人妻精品一区二区三区不卡 | 久久久精品456亚洲影院 | 性欧美疯狂xxxxbbbb | 久久久无码中文字幕久... | 纯爱无遮挡h肉动漫在线播放 | 久久午夜无码鲁丝片秋霞 | 一本久久a久久精品vr综合 | 精品人妻中文字幕有码在线 | 黑人巨大精品欧美黑寡妇 | 亚洲日本在线电影 | 大地资源中文第3页 | 成人无码精品1区2区3区免费看 | 亚洲国产欧美在线成人 | 九九热爱视频精品 | 国产口爆吞精在线视频 | 国产精品视频免费播放 | 欧美精品在线观看 | 亚洲无人区一区二区三区 | 性欧美videos高清精品 | 亚洲另类伦春色综合小说 | 亚洲一区二区三区偷拍女厕 | 双乳奶水饱满少妇呻吟 | 成人毛片一区二区 | av无码不卡在线观看免费 | 精品 日韩 国产 欧美 视频 | 亚洲乱码日产精品bd | 思思久久99热只有频精品66 | 欧美刺激性大交 | 全黄性性激高免费视频 | 欧美亚洲日韩国产人成在线播放 | 少妇被粗大的猛进出69影院 | 亚洲 激情 小说 另类 欧美 | 日本精品高清一区二区 | 天天av天天av天天透 | 国产精品无码久久av | 玩弄人妻少妇500系列视频 | 国产精品无码成人午夜电影 | 中文字幕精品av一区二区五区 | 色诱久久久久综合网ywww | 亚洲精品成人av在线 | 久久无码专区国产精品s | 极品尤物被啪到呻吟喷水 | 中文字幕av日韩精品一区二区 | 熟妇人妻激情偷爽文 | 国产精品久久久久久亚洲影视内衣 | 亚洲熟妇色xxxxx欧美老妇 | 狠狠躁日日躁夜夜躁2020 | 无码人妻久久一区二区三区不卡 | 国产成人精品必看 | 欧美xxxx黑人又粗又长 | 国语自产偷拍精品视频偷 | 亚洲成在人网站无码天堂 | 波多野结衣一区二区三区av免费 | 九九久久精品国产免费看小说 | 女人和拘做爰正片视频 | 国产真实夫妇视频 | 日本熟妇人妻xxxxx人hd | 中文字幕av伊人av无码av | 成人精品天堂一区二区三区 | 99国产欧美久久久精品 | 特级做a爰片毛片免费69 | 性开放的女人aaa片 | 无码成人精品区在线观看 | 国产热a欧美热a在线视频 | 成人无码影片精品久久久 | 国产熟妇另类久久久久 | 欧美精品无码一区二区三区 | 亚洲国产欧美在线成人 | 亚洲成a人片在线观看无码 | 日日麻批免费40分钟无码 | 久久国产精品_国产精品 | 嫩b人妻精品一区二区三区 | 久久无码中文字幕免费影院蜜桃 | 久久国产精品二国产精品 | 伊人久久大香线蕉av一区二区 | 一本色道婷婷久久欧美 | 久久无码专区国产精品s | 好爽又高潮了毛片免费下载 | 欧美三级a做爰在线观看 | 狠狠cao日日穞夜夜穞av | 国产手机在线αⅴ片无码观看 | 无码任你躁久久久久久久 | 日本护士xxxxhd少妇 | 激情五月综合色婷婷一区二区 | 又黄又爽又色的视频 | 国产精品久久久久久久9999 | 亚洲精品国偷拍自产在线麻豆 | 欧美老熟妇乱xxxxx | 鲁鲁鲁爽爽爽在线视频观看 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲综合久久一区二区 | 丰满少妇熟乱xxxxx视频 | 精品国产一区二区三区四区在线看 | 在线观看免费人成视频 | 樱花草在线播放免费中文 | 一本久久a久久精品vr综合 | 99国产欧美久久久精品 | 免费人成网站视频在线观看 | 精品乱码久久久久久久 | 国产成人精品一区二区在线小狼 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲精品一区二区三区在线观看 | 成在人线av无码免观看麻豆 | 夜精品a片一区二区三区无码白浆 | 一个人看的www免费视频在线观看 | 国产在线一区二区三区四区五区 | 国产精品自产拍在线观看 | 小泽玛莉亚一区二区视频在线 | 亚洲国产精品一区二区美利坚 | 人人澡人人透人人爽 | 国产口爆吞精在线视频 | 国产精品久久久久久亚洲毛片 | 精品国产成人一区二区三区 | 免费观看激色视频网站 | 一本久久a久久精品vr综合 | 亚洲爆乳精品无码一区二区三区 | 人妻尝试又大又粗久久 | 六月丁香婷婷色狠狠久久 | 免费无码一区二区三区蜜桃大 | 亚洲日韩精品欧美一区二区 | 久久精品成人欧美大片 | 亚洲精品一区二区三区婷婷月 | 欧美怡红院免费全部视频 | 一本久道久久综合狠狠爱 | 精品少妇爆乳无码av无码专区 | 亚洲va欧美va天堂v国产综合 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲精品一区二区三区在线 | 精品一区二区三区波多野结衣 | 日韩av无码一区二区三区不卡 | 亚洲精品一区国产 | 无码av中文字幕免费放 | 国内丰满熟女出轨videos | 熟妇人妻无乱码中文字幕 | 少妇无码av无码专区在线观看 | 丰满人妻一区二区三区免费视频 | 国产人妻久久精品二区三区老狼 | 精品aⅴ一区二区三区 | 亚洲国产精品毛片av不卡在线 | 午夜精品久久久久久久久 | 伊人久久婷婷五月综合97色 | 老熟女乱子伦 | 18黄暴禁片在线观看 | 久久久久久久久蜜桃 | 国产人妻精品午夜福利免费 | 人妻aⅴ无码一区二区三区 | 日本一卡二卡不卡视频查询 | 国产成人av免费观看 | 国产在线精品一区二区高清不卡 | 学生妹亚洲一区二区 | 欧美三级a做爰在线观看 | 久久精品人妻少妇一区二区三区 | 最新版天堂资源中文官网 | 久久国产精品偷任你爽任你 | 麻花豆传媒剧国产免费mv在线 | 一本精品99久久精品77 | 亚洲码国产精品高潮在线 | 性色欲网站人妻丰满中文久久不卡 | 国产无av码在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 一本久道久久综合狠狠爱 | 一本加勒比波多野结衣 | 成熟女人特级毛片www免费 | 又湿又紧又大又爽a视频国产 | 中文精品久久久久人妻不卡 | 中文字幕无码av波多野吉衣 | 乌克兰少妇xxxx做受 | 成人精品一区二区三区中文字幕 | 最新版天堂资源中文官网 | 一本一道久久综合久久 | 国产超碰人人爽人人做人人添 | 无码精品人妻一区二区三区av | 女人被爽到呻吟gif动态图视看 | 国产乱子伦视频在线播放 | 国产精品沙发午睡系列 | 色欲人妻aaaaaaa无码 | 久久久久成人片免费观看蜜芽 | 欧美猛少妇色xxxxx | 久久精品国产亚洲精品 | 人人妻人人澡人人爽欧美一区九九 | 性色av无码免费一区二区三区 | 日韩欧美中文字幕在线三区 | 免费网站看v片在线18禁无码 | 人妻天天爽夜夜爽一区二区 | 国产在线一区二区三区四区五区 | 亚洲成a人片在线观看无码 | 国产97在线 | 亚洲 | 国产成人精品久久亚洲高清不卡 | 性做久久久久久久免费看 | 亚洲中文字幕av在天堂 | 日韩人妻系列无码专区 | 国产成人无码午夜视频在线观看 | 亚洲国产一区二区三区在线观看 | 97久久国产亚洲精品超碰热 | 亚洲国产欧美在线成人 | 久久久久久久人妻无码中文字幕爆 | 久久婷婷五月综合色国产香蕉 | 精品无码av一区二区三区 | 成在人线av无码免费 | 欧洲精品码一区二区三区免费看 | 扒开双腿吃奶呻吟做受视频 | 97无码免费人妻超级碰碰夜夜 | 久久久久国色av免费观看性色 | 国产精品香蕉在线观看 | 欧美日韩综合一区二区三区 | 久久久精品国产sm最大网站 | 亚洲aⅴ无码成人网站国产app | 国产精品无码一区二区桃花视频 | 国产在热线精品视频 | 高清不卡一区二区三区 | 午夜福利不卡在线视频 | 亚洲热妇无码av在线播放 | 丰满人妻翻云覆雨呻吟视频 | 中文字幕乱妇无码av在线 | 亚洲中文字幕av在天堂 | 国产精品无码一区二区桃花视频 | 国产精品无码久久av | 国产亚洲精品久久久久久大师 | 亚洲高清偷拍一区二区三区 | 久久伊人色av天堂九九小黄鸭 | 日本一区二区三区免费播放 | 熟妇人妻中文av无码 | 久久精品人人做人人综合试看 | 丰满岳乱妇在线观看中字无码 | 亚洲狠狠色丁香婷婷综合 | 精品人妻中文字幕有码在线 | 国产亚av手机在线观看 | 色爱情人网站 | 午夜性刺激在线视频免费 | 永久黄网站色视频免费直播 | 一本久道高清无码视频 | 中文字幕无码热在线视频 | 国产人妻精品一区二区三区 | 中国大陆精品视频xxxx | 亚洲无人区一区二区三区 | 国产农村妇女高潮大叫 | 又大又黄又粗又爽的免费视频 | 亚洲午夜福利在线观看 | 色窝窝无码一区二区三区色欲 | 东京热一精品无码av | 国产精品久久久一区二区三区 | 亚欧洲精品在线视频免费观看 | 人人爽人人爽人人片av亚洲 | 男人的天堂2018无码 | 亚洲精品久久久久中文第一幕 | 荫蒂被男人添的好舒服爽免费视频 | 蜜桃视频插满18在线观看 | av人摸人人人澡人人超碰下载 | 在线看片无码永久免费视频 | 2020最新国产自产精品 | 国产无遮挡又黄又爽又色 | 成人一在线视频日韩国产 | 亚洲一区二区三区国产精华液 | 纯爱无遮挡h肉动漫在线播放 | 波多野42部无码喷潮在线 | 亚洲伊人久久精品影院 | 国产精品丝袜黑色高跟鞋 | 日本一本二本三区免费 | 国产av人人夜夜澡人人爽麻豆 | 人妻无码αv中文字幕久久琪琪布 | 精品亚洲成av人在线观看 | 国产精品无码mv在线观看 | 国产两女互慰高潮视频在线观看 | 国产乡下妇女做爰 | 性做久久久久久久免费看 | 国产亚洲欧美在线专区 | 亚洲午夜无码久久 | 扒开双腿吃奶呻吟做受视频 | 桃花色综合影院 | 色情久久久av熟女人妻网站 | 成人动漫在线观看 | 在线播放无码字幕亚洲 | 欧美国产亚洲日韩在线二区 | 九九综合va免费看 | 18无码粉嫩小泬无套在线观看 | www国产亚洲精品久久久日本 | 亚洲啪av永久无码精品放毛片 | 亚洲精品久久久久久一区二区 | 久久久无码中文字幕久... | 亚洲精品国产a久久久久久 | 久在线观看福利视频 | 欧美人与动性行为视频 | 国产人妻精品午夜福利免费 | 国产sm调教视频在线观看 | 国产性生大片免费观看性 | 国产乱人伦av在线无码 | 亚洲日韩中文字幕在线播放 | 曰韩少妇内射免费播放 | 波多野结衣av一区二区全免费观看 | 亚洲一区二区三区播放 | 日韩精品无码一区二区中文字幕 | √天堂资源地址中文在线 | 大乳丰满人妻中文字幕日本 | 国产av一区二区三区最新精品 | 蜜臀aⅴ国产精品久久久国产老师 | 熟女俱乐部五十路六十路av | 欧美日韩综合一区二区三区 | 搡女人真爽免费视频大全 | 九九综合va免费看 | 国产农村妇女高潮大叫 | 国产香蕉97碰碰久久人人 | 精品国产一区二区三区四区 | 亚洲理论电影在线观看 | 999久久久国产精品消防器材 | 欧美高清在线精品一区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 精品国偷自产在线视频 | 精品欧美一区二区三区久久久 | 国产偷自视频区视频 | 一本久道高清无码视频 | 国产va免费精品观看 | 亚洲 欧美 激情 小说 另类 | 人妻体内射精一区二区三四 | 日日噜噜噜噜夜夜爽亚洲精品 | 福利一区二区三区视频在线观看 | 亚洲色偷偷偷综合网 | 亚洲成a人片在线观看无码3d | 性史性农村dvd毛片 | 国产人妻精品一区二区三区 | 日本乱人伦片中文三区 | 四虎影视成人永久免费观看视频 | 国产麻豆精品一区二区三区v视界 | 最新版天堂资源中文官网 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品毛多多水多 | 精品人妻av区 | 精品国产av色一区二区深夜久久 | 亚洲一区二区三区无码久久 | 成人免费视频视频在线观看 免费 | a在线观看免费网站大全 | 精品偷自拍另类在线观看 | 国产内射老熟女aaaa | 成人精品视频一区二区 | 国产福利视频一区二区 | 高潮毛片无遮挡高清免费视频 | 欧美 日韩 人妻 高清 中文 | 国产午夜福利100集发布 | 国语精品一区二区三区 | 无码av中文字幕免费放 | 中文无码成人免费视频在线观看 | 清纯唯美经典一区二区 | 成人性做爰aaa片免费看不忠 | 精品国产av色一区二区深夜久久 | 免费乱码人妻系列无码专区 | 欧美放荡的少妇 | 国产猛烈高潮尖叫视频免费 | 亚洲色无码一区二区三区 | 中文字幕久久久久人妻 | 亚洲精品无码国产 | 欧美日本精品一区二区三区 | 日本成熟视频免费视频 | 欧美人与物videos另类 | 人人妻人人澡人人爽欧美一区 | 人妻有码中文字幕在线 | 精品无码成人片一区二区98 | 99riav国产精品视频 | 精品一区二区三区波多野结衣 | 国产精品国产自线拍免费软件 | 中国大陆精品视频xxxx | 亚洲精品国产品国语在线观看 | 成人av无码一区二区三区 | 蜜桃av抽搐高潮一区二区 | 亚洲中文字幕va福利 | 麻豆av传媒蜜桃天美传媒 | 性欧美牲交xxxxx视频 | 亚洲大尺度无码无码专区 | 乱人伦人妻中文字幕无码久久网 | 蜜桃av抽搐高潮一区二区 | 欧美激情内射喷水高潮 | 国产精品第一区揄拍无码 | 性啪啪chinese东北女人 | 亚洲第一网站男人都懂 | 成人无码精品一区二区三区 | 欧美熟妇另类久久久久久多毛 | 国产卡一卡二卡三 | 伊人久久大香线蕉午夜 | 久久久久久久久蜜桃 | 天天综合网天天综合色 | 粉嫩少妇内射浓精videos | 天堂一区人妻无码 | 国产成人人人97超碰超爽8 | 久久国内精品自在自线 | 一本大道伊人av久久综合 | 成人精品一区二区三区中文字幕 | 丰满岳乱妇在线观看中字无码 | 东北女人啪啪对白 | 亚洲色欲色欲欲www在线 | 色综合天天综合狠狠爱 | 国产精品久久久午夜夜伦鲁鲁 | 国产无遮挡又黄又爽免费视频 | 天天躁日日躁狠狠躁免费麻豆 | www国产精品内射老师 | 波多野结衣高清一区二区三区 | 亚洲 日韩 欧美 成人 在线观看 | 久久精品人人做人人综合试看 | www成人国产高清内射 | 波多野结衣aⅴ在线 | 欧美 日韩 人妻 高清 中文 | 丰满护士巨好爽好大乳 | 日本成熟视频免费视频 | 亚洲精品午夜国产va久久成人 | 亚洲一区二区三区在线观看网站 | 中文字幕无码日韩欧毛 | 欧美日韩视频无码一区二区三 | 狂野欧美性猛交免费视频 | 欧美性生交活xxxxxdddd | 欧美变态另类xxxx | 色偷偷人人澡人人爽人人模 | 色综合视频一区二区三区 | 日韩成人一区二区三区在线观看 | 精品人妻av区 | 国产艳妇av在线观看果冻传媒 | 亚洲春色在线视频 | 大地资源网第二页免费观看 | 国产精品久久久一区二区三区 | 国产精品无码久久av | 无码人妻丰满熟妇区毛片18 | 国产偷抇久久精品a片69 | 中文字幕人妻无码一夲道 | √天堂资源地址中文在线 | 丰满少妇高潮惨叫视频 | 亚洲天堂2017无码中文 | 欧美人与禽zoz0性伦交 | 日韩少妇内射免费播放 | 久久久av男人的天堂 | 久久久亚洲欧洲日产国码αv | 牲交欧美兽交欧美 | 国产精品18久久久久久麻辣 | 无码人妻精品一区二区三区下载 | 性欧美熟妇videofreesex | 妺妺窝人体色www婷婷 | 在线 国产 欧美 亚洲 天堂 | 亚洲精品一区二区三区四区五区 | 老熟妇乱子伦牲交视频 | 俺去俺来也在线www色官网 | 国产精品嫩草久久久久 | 国产精品亚洲а∨无码播放麻豆 | 丰满少妇弄高潮了www | 亚洲の无码国产の无码步美 | 樱花草在线社区www | 国产精品-区区久久久狼 | 俄罗斯老熟妇色xxxx | 久久精品国产亚洲精品 | www国产亚洲精品久久网站 | 中文字幕无线码免费人妻 | 中文无码成人免费视频在线观看 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲国产av美女网站 | 国产成人精品久久亚洲高清不卡 | 亚洲国产精品美女久久久久 | 欧美国产日韩亚洲中文 | 99国产欧美久久久精品 | 色诱久久久久综合网ywww | 黄网在线观看免费网站 | 亚洲熟女一区二区三区 | 成人精品天堂一区二区三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产亚洲人成a在线v网站 | 无码免费一区二区三区 | 欧美三级不卡在线观看 | √天堂中文官网8在线 | 日韩精品一区二区av在线 | 欧美成人免费全部网站 | 国产在线精品一区二区高清不卡 | 97久久精品无码一区二区 | 亚洲自偷精品视频自拍 | 九九热爱视频精品 | 国产午夜福利亚洲第一 | 麻花豆传媒剧国产免费mv在线 | 欧美 丝袜 自拍 制服 另类 | 日本一区二区三区免费播放 | 我要看www免费看插插视频 | 国产婷婷色一区二区三区在线 | 最近的中文字幕在线看视频 | 久久久久av无码免费网 | 亚洲一区二区三区国产精华液 | 日本一本二本三区免费 | 丰满少妇熟乱xxxxx视频 | 亚洲中文字幕成人无码 | 中文字幕无码免费久久9一区9 | 亚洲精品久久久久中文第一幕 | 国产精品第一国产精品 | 国产在热线精品视频 | 人妻aⅴ无码一区二区三区 | 熟妇人妻中文av无码 | 天天综合网天天综合色 | 丰满少妇女裸体bbw | 国产热a欧美热a在线视频 | 国产激情一区二区三区 | 99久久人妻精品免费二区 | 荡女精品导航 | 久久伊人色av天堂九九小黄鸭 | 丰满妇女强制高潮18xxxx | 久久99精品国产麻豆蜜芽 | 国产成人精品久久亚洲高清不卡 | 日日碰狠狠躁久久躁蜜桃 | 亚洲一区二区三区 | 国产农村妇女高潮大叫 | 少妇人妻偷人精品无码视频 | 日本护士毛茸茸高潮 | 亚洲爆乳大丰满无码专区 | 色狠狠av一区二区三区 | 国产香蕉尹人视频在线 | 丰满肥臀大屁股熟妇激情视频 | 狠狠亚洲超碰狼人久久 | 久久久久亚洲精品中文字幕 | 黑人大群体交免费视频 | 无码人妻出轨黑人中文字幕 | 免费人成网站视频在线观看 | 狠狠cao日日穞夜夜穞av | 色综合久久网 | 亚洲精品国产a久久久久久 | 日本大乳高潮视频在线观看 | 色爱情人网站 | 精品日本一区二区三区在线观看 | 国产精品久久久久久久9999 | 国产激情精品一区二区三区 | 精品亚洲韩国一区二区三区 | 国产亚洲欧美在线专区 | 国产又爽又黄又刺激的视频 | 国产亚洲视频中文字幕97精品 | 熟妇人妻无码xxx视频 | 极品尤物被啪到呻吟喷水 | 激情内射日本一区二区三区 | 亚洲精品国产第一综合99久久 | 无码帝国www无码专区色综合 | 国产成人精品一区二区在线小狼 | 国内精品九九久久久精品 | 午夜精品久久久久久久 | 青青青手机频在线观看 | 18精品久久久无码午夜福利 | 偷窥村妇洗澡毛毛多 | 亚洲热妇无码av在线播放 | 天天躁日日躁狠狠躁免费麻豆 | 欧美日韩亚洲国产精品 | 欧美国产日韩亚洲中文 | 人妻少妇精品无码专区动漫 | 亚洲一区二区观看播放 | 亚洲精品无码人妻无码 | 在线播放免费人成毛片乱码 | 激情内射日本一区二区三区 | 色老头在线一区二区三区 | 国产精品无码久久av | 国色天香社区在线视频 | 午夜理论片yy44880影院 | 国产激情综合五月久久 | 免费网站看v片在线18禁无码 | 小sao货水好多真紧h无码视频 | 中文字幕乱码中文乱码51精品 | 日本熟妇大屁股人妻 | 日韩成人一区二区三区在线观看 | 国产色在线 | 国产 | 日本精品人妻无码77777 天堂一区人妻无码 | 欧美国产日产一区二区 | 欧美 日韩 亚洲 在线 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 日本一卡二卡不卡视频查询 | 18无码粉嫩小泬无套在线观看 | 综合激情五月综合激情五月激情1 | 久久综合给合久久狠狠狠97色 | 99久久精品日本一区二区免费 | 中文字幕无码日韩专区 | 玩弄中年熟妇正在播放 | 色欲人妻aaaaaaa无码 | 国产真实乱对白精彩久久 | 人妻尝试又大又粗久久 | 无码国模国产在线观看 | 一本久道久久综合婷婷五月 | 国产精品怡红院永久免费 | 久久亚洲a片com人成 | 欧美精品免费观看二区 | 午夜精品久久久久久久 | 亚洲中文字幕成人无码 | 欧美日韩色另类综合 | 久久午夜无码鲁丝片午夜精品 | 国产成人综合色在线观看网站 | yw尤物av无码国产在线观看 | 欧美熟妇另类久久久久久多毛 | 国产片av国语在线观看 | 国产麻豆精品一区二区三区v视界 | 国产成人精品必看 | 无码人妻丰满熟妇区五十路百度 | 日日鲁鲁鲁夜夜爽爽狠狠 | 久久99精品久久久久婷婷 | 欧美freesex黑人又粗又大 | 极品尤物被啪到呻吟喷水 | 亚洲中文字幕无码中文字在线 | 久久综合久久自在自线精品自 | 亚洲国产精品无码一区二区三区 | 青草青草久热国产精品 | 人妻夜夜爽天天爽三区 | 色五月丁香五月综合五月 | 国产亚洲精品久久久久久久久动漫 | 红桃av一区二区三区在线无码av | 国产乱码精品一品二品 | 国产亚洲tv在线观看 | 亚洲の无码国产の无码步美 | 麻豆成人精品国产免费 | 国产口爆吞精在线视频 | 色综合久久久久综合一本到桃花网 | 正在播放东北夫妻内射 | 亚洲色无码一区二区三区 | 亚洲精品国产品国语在线观看 | 亚洲人成影院在线观看 | 网友自拍区视频精品 | 桃花色综合影院 | 国产 精品 自在自线 | 国产内射老熟女aaaa | 国产成人精品一区二区在线小狼 | 欧美喷潮久久久xxxxx | 图片小说视频一区二区 | 国产黄在线观看免费观看不卡 | 国产亲子乱弄免费视频 | 亚洲一区二区三区偷拍女厕 | 国产精品va在线播放 | 亚洲精品中文字幕乱码 | 99久久精品日本一区二区免费 | 高潮毛片无遮挡高清免费 | 四虎影视成人永久免费观看视频 | 午夜无码人妻av大片色欲 | 欧美激情内射喷水高潮 | 久久综合九色综合欧美狠狠 | 久久熟妇人妻午夜寂寞影院 | √天堂资源地址中文在线 | 日韩精品a片一区二区三区妖精 | 性史性农村dvd毛片 | 亚洲精品午夜国产va久久成人 | 人妻天天爽夜夜爽一区二区 | 性色欲网站人妻丰满中文久久不卡 | 美女张开腿让人桶 | 内射白嫩少妇超碰 | 少妇无码一区二区二三区 | 国产亚洲视频中文字幕97精品 | 成人精品一区二区三区中文字幕 | 久久久久av无码免费网 | 欧美一区二区三区 | 国产美女极度色诱视频www | 久久精品成人欧美大片 | 麻豆国产人妻欲求不满谁演的 | 少妇性l交大片欧洲热妇乱xxx | 日韩成人一区二区三区在线观看 | 亚洲小说图区综合在线 | 思思久久99热只有频精品66 | 18禁黄网站男男禁片免费观看 | 老司机亚洲精品影院无码 | 曰本女人与公拘交酡免费视频 | 在线播放无码字幕亚洲 | 性欧美疯狂xxxxbbbb | 久久天天躁夜夜躁狠狠 | 久久五月精品中文字幕 |