日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

1 基础知识

發(fā)布時(shí)間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1 基础知识 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 概率論基礎(chǔ)

1.1 隨機(jī)變量

隨機(jī)變量是一個(gè)不確定量,它的值取決于一個(gè)隨機(jī)事件的結(jié)果。比如拋一枚硬幣,正面朝上記為0,反面朝上記為1.

拋硬幣是個(gè)隨機(jī)事件,其結(jié)果記為隨機(jī)變量X。X有兩種取值結(jié)果:0/1.拋硬幣之前X是未知的且?guī)в须S機(jī)性。拋硬幣之后,X便有了觀測(cè)值,記作x(小寫)。

1.2 概率密度函數(shù)

概率密度函數(shù)(PDF)描述一個(gè)連續(xù)概率分布——即變量的取值范圍X 是個(gè)連續(xù)集合。正態(tài)分布是最常見的一種連續(xù)概率分布,隨機(jī)變量X 的取值范圍是所有實(shí)數(shù)R。正態(tài)分布的概率密度函數(shù)是:

此處的μ 是均值,σ 是標(biāo)準(zhǔn)差。

這些都是大學(xué)學(xué)過(guò)的 一筆帶過(guò)~

1.3 期望

p(x)是概率密度函數(shù)

1.4 隨機(jī)抽樣

強(qiáng)化學(xué)習(xí)中常用到隨機(jī)抽樣,此處給一個(gè)直觀的解釋。如圖所示,箱子里有10個(gè)球,其中2 個(gè)是紅色,5 個(gè)是綠色,3 個(gè)是藍(lán)色。我現(xiàn)在把箱子搖一搖,把手伸進(jìn)箱子里,閉著眼睛摸出來(lái)一個(gè)球。當(dāng)我睜開眼睛,就觀測(cè)到球的顏色,比如紅色。這個(gè)過(guò)程叫做隨機(jī)抽樣,本輪隨機(jī)抽樣的結(jié)果是紅色。如果把抽到的球放回,可以無(wú)限次重復(fù)隨機(jī)抽樣,得到多個(gè)觀測(cè)值。

可以用計(jì)算機(jī)程序做隨機(jī)抽樣。假設(shè)箱子里有很多個(gè)球,紅色球占20%,綠色球占50%,藍(lán)色球占30%。如果我隨機(jī)摸一個(gè)球,那么抽到的球服從這樣一個(gè)離散概率分布:?

下面的Python 代碼按照概率質(zhì)量p 做隨機(jī)抽樣,重復(fù)100 次,輸出抽樣的結(jié)果:

from numpy.random import choice samples = choice(['R', 'G', 'B'],###隨機(jī)變量集合為[R,G,B]size = 100,###重復(fù)抽樣100次p = [0.2, 0.5, 0.3])##R,G,B被選中的概率分別為0.2,0.5,0.3 print(samples) samples = samples.tolist() print(samples.count('R')/100) print(samples.count('G')/100) print(samples.count('B')/100)

輸出:

2 強(qiáng)化學(xué)習(xí)中的術(shù)語(yǔ)

2.1 state和action

2.1.1 state狀態(tài)

在每個(gè)時(shí)刻,環(huán)境有一個(gè)狀態(tài)(state),可以理解為對(duì)當(dāng)前時(shí)刻環(huán)境的概括。在超級(jí)瑪麗的例子中,可以把屏幕當(dāng)前的畫面(或者最近幾幀畫面)看做狀態(tài)。玩家只需要知道當(dāng)前畫面(或者最近幾幀畫面)就能夠做出正確的決策,決定下一步是讓超級(jí)瑪麗向左、向右、或是向上。因此,狀態(tài)是做決策的依據(jù)。
再舉一個(gè)例子,在中國(guó)象棋、五子棋游戲中,棋盤上所有棋子的位置就是狀態(tài),因?yàn)楫?dāng)前格局就足以供玩家做決策。假設(shè)你不是從頭開始一局游戲,而是接手別人的殘局。你只需要仔細(xì)觀察棋盤上的格局,你就能夠做出決策。知道這局游戲的歷史記錄(即每一步是怎么走的),并不會(huì)給你提供額外的信息。

2.1.2 action動(dòng)作

動(dòng)作(action)是智能體基于當(dāng)前的狀態(tài)所做出的決策。在超級(jí)瑪麗的例子中,假設(shè)瑪麗奧只能向左走、向右走、向上跳。那么動(dòng)作就是左、右、上三者中的一種。在圍棋游戲中,棋盤上有361 個(gè)位置,于是有361 種動(dòng)作,第i 種動(dòng)作是指把棋子放到第i 個(gè)位置上。動(dòng)作的選取可以是確定性的也可以是隨機(jī)的。隨機(jī)是指以一定概率選取一個(gè)動(dòng)作,后面將會(huì)具體討論。

2.2 policy π策略

策略的意思是根據(jù)觀測(cè)到的狀態(tài),如何做出決策,即如何從動(dòng)作空間中選取一個(gè)動(dòng)作。舉個(gè)例子,假設(shè)你在玩超級(jí)瑪麗游戲,當(dāng)前屏幕上的畫面是上上圖,請(qǐng)問(wèn)你該做什么決策?有很大概率你會(huì)決定向上跳,這樣可以避開敵人,還能吃到金幣。向上跳這個(gè)動(dòng)作就是你大腦中的策略做出的決策。

實(shí)際上,π(a|s)是一個(gè)概率密度函數(shù)(概率分布),是給定狀態(tài)s,做出動(dòng)作a的概率密度。agent一般會(huì)進(jìn)行隨機(jī)抽樣來(lái)執(zhí)行動(dòng)作,三個(gè)動(dòng)作都有可能執(zhí)行。 強(qiáng)化學(xué)習(xí)就是agent學(xué)習(xí)policy的過(guò)程。

2.3 reward獎(jiǎng)勵(lì)

獎(jiǎng)勵(lì)是指在智能體執(zhí)行一個(gè)動(dòng)作之后,環(huán)境返回給智能體的一個(gè)數(shù)值。獎(jiǎng)勵(lì)往往由我們自己來(lái)定義,獎(jiǎng)勵(lì)定義得好壞非常影響強(qiáng)化學(xué)習(xí)的結(jié)果。比如可以這樣定義,瑪麗奧吃到一個(gè)金幣,獲得獎(jiǎng)勵(lì)+1;如果瑪麗奧通過(guò)一局關(guān)卡,獎(jiǎng)勵(lì)是+1000;如果瑪麗奧碰到敵人,游戲結(jié)束,獎(jiǎng)勵(lì)是-1000;如果這一步什么都沒(méi)發(fā)生,獎(jiǎng)勵(lì)就是0。怎么定義獎(jiǎng)勵(lì)就見仁見智了。我們應(yīng)該把打贏游戲的獎(jiǎng)勵(lì)定義得大一些,這樣才能鼓勵(lì)瑪麗奧通過(guò)關(guān)卡,而不是一味地收集金幣。

通常假設(shè)獎(jiǎng)勵(lì)是當(dāng)前狀態(tài)s、當(dāng)前動(dòng)作a、下一時(shí)刻狀態(tài)s′ 的函數(shù),把獎(jiǎng)勵(lì)函數(shù)記作r(s, a, s′)。 有時(shí)假設(shè)獎(jiǎng)勵(lì)僅僅是s 和a 的函數(shù),記作r(s, a)。我們總是假設(shè)獎(jiǎng)勵(lì)函數(shù)是有界的,即對(duì)于所有a∈A 和s, s′∈S,有|r(s, a, s′)| < ∞。

2.4 state transition狀態(tài)轉(zhuǎn)移

指智能體從當(dāng)前t 時(shí)刻的狀態(tài)s 轉(zhuǎn)移到下一個(gè)時(shí)刻狀態(tài)為s′ 的過(guò)程。在超級(jí)瑪麗的例子中,基于當(dāng)前狀態(tài)(屏幕上的畫面),瑪麗奧向上跳了一步,那么環(huán)境(即游戲程序)就會(huì)計(jì)算出新的狀態(tài)(即下一幀畫面)。

狀態(tài)轉(zhuǎn)移可以是確定的也可以是隨機(jī)的。通常認(rèn)為其實(shí)隨機(jī)的。

可以將狀態(tài)轉(zhuǎn)移表示為一個(gè)條件概率:

即當(dāng)前狀態(tài)為s,執(zhí)行動(dòng)作a,下一狀態(tài)為s'的概率。

2.5 agent與env(環(huán)境)的交互

馬里奧游戲中,我們將當(dāng)前游戲界面看出當(dāng)前狀態(tài)St,agent看到狀態(tài)St,執(zhí)行動(dòng)作at,執(zhí)行之后,環(huán)境更新狀態(tài)為St+1。同時(shí)環(huán)境會(huì)反饋給agent一個(gè)獎(jiǎng)勵(lì)rt.

2.7 trajectory軌跡

軌跡(trajectory)是指一回合(episode)游戲中,智能體觀測(cè)到的所有的狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì):

下圖描繪了軌跡中狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)的順序。在t 時(shí)刻,給定狀態(tài)St = st,下面這些都是觀測(cè)到的值:

而下面這些都是隨機(jī)變量(尚未被觀測(cè)到):

一個(gè)trajectory:

3 強(qiáng)化學(xué)習(xí)中的隨機(jī)性

3.1 動(dòng)作的隨機(jī)性

動(dòng)作的隨機(jī)性來(lái)自于隨機(jī)決策。給定當(dāng)前狀態(tài)s,策略函數(shù)π(a|s) 會(huì)算出動(dòng)作空間A 中每個(gè)動(dòng)作a 的概率值。智能體執(zhí)行的動(dòng)作是隨機(jī)抽樣的結(jié)果,所以帶有隨機(jī)性。

3.2 狀態(tài)轉(zhuǎn)移的隨機(jī)性

狀態(tài)的隨機(jī)性來(lái)自于狀態(tài)轉(zhuǎn)移函數(shù)。當(dāng)狀態(tài)s 和動(dòng)作a 都被確定下來(lái),下一個(gè)狀態(tài)仍然有隨機(jī)性。環(huán)境(比如游戲程序)用狀態(tài)轉(zhuǎn)移函數(shù)p(s′|s, a) 計(jì)算所有可能的狀態(tài)的概率,然后做隨機(jī)抽樣,得到新的狀態(tài)。

4 rewards and returns

4.1 回報(bào)return

4.1.1 return

又叫做未來(lái)的累計(jì)獎(jiǎng)勵(lì)。把t 時(shí)刻的回報(bào)記作隨機(jī)變量Ut。如果一回合游戲結(jié)束,已經(jīng)觀測(cè)到所有獎(jiǎng)勵(lì),那么就把回報(bào)記作ut。設(shè)本回合在時(shí)刻n 結(jié)束。定義回報(bào)為:

回報(bào)有什么用呢?回報(bào)是未來(lái)獲得的獎(jiǎng)勵(lì)總和,所以智能體的目標(biāo)就是讓回報(bào)盡量大,越大越好。強(qiáng)化學(xué)習(xí)的目標(biāo)就是尋找一個(gè)策略,使得回報(bào)的期望最大化。這個(gè)策略稱為最優(yōu)策略(optimum policy)。?

4.1.2 折扣回報(bào) discounted return

思考一個(gè)問(wèn)題:在t 時(shí)刻,請(qǐng)問(wèn)獎(jiǎng)勵(lì)rt 和rt+1 同等重要嗎?假如我給你兩個(gè)選項(xiàng):第一,現(xiàn)在我立刻給你100 元錢; 第二,等一年后我給你100 元錢。你選哪個(gè)?理性人應(yīng)該都會(huì)選現(xiàn)在得到100 元錢。這是因?yàn)槲磥?lái)的不確定性很大,即使我現(xiàn)在答應(yīng)明年給你100 元,你也未必能拿到。大家都明白這個(gè)道理:明年得到100 元不如現(xiàn)在立刻拿到100元。

要是換一個(gè)問(wèn)題,現(xiàn)在我立刻給你80 元錢,或者是明年我給你100 元錢。你選哪一個(gè)?或許大家會(huì)做不同的選擇,有的人愿意拿現(xiàn)在的80,有的人愿意等一年拿100。如果兩種選擇一樣好,那么就意味著一年后的獎(jiǎng)勵(lì)的重要性只有今天的γ = 0.8 倍。這里的γ = 0.8 就是折扣率(discount factor)。這些例子都隱含獎(jiǎng)勵(lì)函數(shù)是平穩(wěn)的。

同理,在MDP 中,通常使用折扣回報(bào)(discounted return),給未來(lái)的獎(jiǎng)勵(lì)做折扣。這是折扣回報(bào)的定義:

這里的γ∈[0, 1] 叫做折扣率。對(duì)待越久遠(yuǎn)的未來(lái),給獎(jiǎng)勵(lì)打的折扣越大。 是一個(gè)超參數(shù),需要我們自己調(diào)節(jié)。

return的隨機(jī)性來(lái)源:

5 value function價(jià)值函數(shù)

5.1 動(dòng)作價(jià)值函數(shù)Q(s,a)

Ut是個(gè)隨機(jī)變量,它依賴于未來(lái)所有的動(dòng)作與狀態(tài)。

我們可以對(duì)Ut求期望,(積分掉其中的隨機(jī)性),定義動(dòng)作價(jià)值函數(shù):

注:在概率論和統(tǒng)計(jì)學(xué)中,數(shù)學(xué)期望是試驗(yàn)中每次可能的結(jié)果的概率乘以結(jié)果值的總和。

這里就是將隨機(jī)性積分掉,隨機(jī)性來(lái)源于未來(lái)所有狀態(tài)與動(dòng)作:

這樣,未來(lái)的所有動(dòng)作與狀態(tài)都被積掉,Qπ只依賴于當(dāng)前的St和at。

當(dāng)然,在不同policy下,得到的Qπ值是不同的。我們將最好的policy函數(shù)定義為使得Q取得最大值的函數(shù):

稱之為最優(yōu)動(dòng)作價(jià)值函數(shù)。

可以通過(guò)該函數(shù)對(duì)當(dāng)前動(dòng)作a做出評(píng)價(jià),當(dāng)前狀態(tài)為St,則該函數(shù)會(huì)告訴我們執(zhí)行動(dòng)作at好不好。

5.2 狀態(tài)價(jià)值函數(shù)V(s)

將之定義為動(dòng)作價(jià)值函數(shù)的期望。這里EA表示對(duì)A求期望,消掉A的影響。

A的概率密度函數(shù)是π(·|st)。

如果動(dòng)作是離散的:

動(dòng)作是連續(xù)的:

狀態(tài)價(jià)值函數(shù)用于評(píng)價(jià)當(dāng)前狀態(tài)的好壞。如果π固定,當(dāng)前狀態(tài)S越好,Vπ就越大。

同時(shí),Vπ可用于評(píng)價(jià)policy函數(shù)好壞,π越好,Vπ的平均值

就越大。

6 Play games using reinforcement learning

我們?nèi)绾慰刂艫I來(lái)玩游戲呢?

一種辦法是學(xué)習(xí)一個(gè)policy π(a|s),這種方法稱為policy-based learning策略學(xué)習(xí)。

另一種辦法是學(xué)習(xí)一個(gè)最優(yōu)動(dòng)作價(jià)值函數(shù)。成為value-based learning價(jià)值學(xué)習(xí)。

7 openAI gym庫(kù)

如果你設(shè)計(jì)出一種新的強(qiáng)化學(xué)習(xí)方法,你應(yīng)該將其與已有的標(biāo)準(zhǔn)方法做比較,看新的方法是否有優(yōu)勢(shì)。比較和評(píng)價(jià)強(qiáng)化學(xué)習(xí)算法最常用的是OpenAI Gym,它相當(dāng)于計(jì)算機(jī)視覺(jué)中的ImageNet 數(shù)據(jù)集。Gym 有幾大類控制問(wèn)題,比如經(jīng)典控制問(wèn)題、Atari 游戲、機(jī)器人等。

Gym 中第一類是經(jīng)典控制問(wèn)題,都是小規(guī)模的簡(jiǎn)單問(wèn)題,比如Cart Pole 和Pendulum,見下圖。Cart Pole 要求給小車向左或向右的力,移動(dòng)小車,讓上面的桿子能豎起來(lái)。Pendulum 要求給鐘擺一個(gè)力,讓鐘擺恰好能豎起來(lái)。Cart Pole 和Pendulum 都是典型的無(wú)限期MDP,即不存在終止?fàn)顟B(tài)。

第二類問(wèn)題是Atari 游戲,就是八、九十年代小霸王游戲機(jī)上拿手柄玩的那種游戲,Pong 中的智能體是乒乓球拍,球拍可以上下運(yùn)動(dòng),目標(biāo)是接住對(duì)手的球,盡量讓對(duì)手接不住球。Space Invader 中的智能體是小飛機(jī),可以左右移動(dòng),可以發(fā)射炮彈。Breakout 中的智能體是下面的球拍,可以左右移動(dòng),目標(biāo)是接住球,并且把上面的磚塊都打掉。Atari 游戲大多是有限期MDP,即存在一個(gè)終止?fàn)顟B(tài),一旦進(jìn)入該狀態(tài),則游戲終止。

第三類問(wèn)題是機(jī)器人連續(xù)的控制問(wèn)題,比如控制螞蟻、人、獵豹等機(jī)器人走路。這個(gè)模擬器叫做MuJoCo,它可以模擬重力等物理量。機(jī)器人是智能體,AI 需要控制這些機(jī)器人站立和走路。MuJoCo 是付費(fèi)軟件,但是可以申請(qǐng)免費(fèi)試用license。

舉個(gè)栗子:

下面的程序以Cart Pole 這個(gè)控制任務(wù)為例,說(shuō)明怎么樣使用Gym 標(biāo)準(zhǔn)庫(kù)。

import gym env = gym.make('CartPole-v0')##生成環(huán)境。此處的環(huán)境是CartPole游戲程序。 state = env.reset()##重置環(huán)境,讓小車回到起點(diǎn)。并輸出初始狀態(tài)。 for t in range(100):env.render()##彈出窗口,把游戲中發(fā)生的顯示到屏幕上。print(state)action = env.action_space.sample()##方便起見,此處均勻抽樣生成一個(gè)動(dòng)作。在實(shí)際應(yīng)用中,應(yīng)當(dāng)依據(jù)狀態(tài),用策略函數(shù)生成動(dòng)作。state, reward, done, info = env.step(action)#智能體真正執(zhí)行動(dòng)作。然后環(huán)境更新狀態(tài),并反饋一個(gè)獎(jiǎng)勵(lì)。if done:#done等于1意味著游戲結(jié)束;done等于0意味著游戲繼續(xù)。print('Finished')break env.close()

輸出:

?

可見輸出的是一個(gè)四維的tensor。在其他游戲中會(huì)有維度很多的情況。

接下來(lái),我們通過(guò)小車上山的例子來(lái)說(shuō)明:

首先看看該任務(wù)的觀測(cè)空間與動(dòng)作空間:

import gym env = gym.make('MountainCar-v0') print('觀測(cè)空間 = {}'.format(env.observation_space)) print('動(dòng)作空間 = {}'.format(env.action_space)) print('觀測(cè)范圍 = {} ~ {}'.format(env.observation_space.low,env.observation_space.high)) print('動(dòng)作數(shù) = {}'.format(env.action_space.n))

輸出:

由輸出可知,觀測(cè)空間是形狀為(2,)的浮點(diǎn)型numpy數(shù)組,動(dòng)作空間是離散的取值為{0,1,2}的int型數(shù)值。

接下里自己實(shí)現(xiàn)agent:

class BespokeAgent:def __init__(self, env):passdef decide(self, observation): # 決策position, velocity = observationlb = min(-0.09 * (position + 0.25) ** 2 + 0.03,0.3 * (position + 0.9) ** 4 - 0.008)ub = -0.07 * (position + 0.38) ** 2 + 0.07if lb < velocity < ub:action = 2else:action = 0return action # 返回動(dòng)作def learn(self, *args): # 學(xué)習(xí)passagent = BespokeAgent(env)

agent的decide()方法實(shí)現(xiàn)了決策功能,learn()實(shí)現(xiàn)了學(xué)習(xí)功能。

讓agent與環(huán)境交互:

def play_montecarlo(env, agent, render=False, train=False):episode_reward = 0. # 記錄回合總獎(jiǎng)勵(lì),初始化為0observation = env.reset() # 重置游戲環(huán)境,開始新回合while True: # 不斷循環(huán),直到回合結(jié)束if render: # 判斷是否顯示env.render() # 顯示圖形界面,圖形界面可以用 env.close() 語(yǔ)句關(guān)閉action = agent.decide(observation)next_observation, reward, done, _ = env.step(action) # 執(zhí)行動(dòng)作episode_reward += reward # 收集回合獎(jiǎng)勵(lì)if train: # 判斷是否訓(xùn)練智能體agent.learn(observation, action, reward, done) # 學(xué)習(xí)if done: # 回合結(jié)束,跳出循環(huán)breakobservation = next_observationreturn episode_reward # 返回回合總獎(jiǎng)勵(lì)

上面代碼中的?play_montecarlo?函數(shù)可以讓智能體和環(huán)境交互一個(gè)回合。這個(gè)函數(shù)有?4?個(gè)參數(shù):

  • env?是環(huán)境類
  • agent?是智能體類
  • render是?bool?類型變量,指示在運(yùn)行過(guò)程中是否要圖形化顯示。如果函數(shù)參數(shù)?render為?True,那么在交互過(guò)程中會(huì)調(diào)用?env.render()?以顯示圖形化界面,而這個(gè)界面可以通過(guò)調(diào)用?env.close()?關(guān)閉。
  • train是?bool?類型的變量,指示在運(yùn)行過(guò)程中是否訓(xùn)練智能體。在訓(xùn)練過(guò)程中應(yīng)當(dāng)設(shè)置為?True,以調(diào)用?agent.learn()?函數(shù);在測(cè)試過(guò)程中應(yīng)當(dāng)設(shè)置為?False,使得智能體不變。

這個(gè)函數(shù)有一個(gè)返回值?episode_reward,是?float?類型的數(shù)值,表示智能體與環(huán)境交互一個(gè)回合的回合總獎(jiǎng)勵(lì)。

接下來(lái),我們使用下列代碼讓智能體和環(huán)境交互一個(gè)回合,并在交互過(guò)程中圖形化顯示,可用?env.close()?語(yǔ)句關(guān)閉圖形化界面并求出連續(xù)交互100回合的平均獎(jiǎng)勵(lì):

env.seed(0) # 設(shè)置隨機(jī)數(shù)種子,只是為了讓結(jié)果可以精確復(fù)現(xiàn),一般情況下可刪去 episode_reward = play_montecarlo(env, agent, render=True) print('回合獎(jiǎng)勵(lì) = {}'.format(episode_reward)) env.close() # 此語(yǔ)句可關(guān)閉圖形界面episode_rewards = [play_montecarlo(env, agent) for _ in range(100)] print('平均回合獎(jiǎng)勵(lì) = {}'.format(np.mean(episode_rewards)))

輸出:

總結(jié)一下?Gym?的用法:使用?env=gym.make(環(huán)境名)?取出環(huán)境,使用?env.reset()初始化環(huán)境,使用env.step(動(dòng)作)執(zhí)行一步環(huán)境,使用?env.render()顯示環(huán)境,使用?env.close()?關(guān)閉環(huán)境。

總結(jié)

以上是生活随笔為你收集整理的1 基础知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 亚洲天堂视频网站 | 少妇情理伦片丰满午夜在线观看 | 国产精品一区二区在线免费观看 | 色大师在线观看 | 福利在线电影 | 91成人免费版 | 欧美午夜久久 | 欧美一区二区三区在线免费观看 | 成人午夜影院在线观看 | 日韩中文字幕av电影 | 激情文学亚洲 | 日韩a毛片| 国产第一页av | 欧美大片在线看 | 久久五月视频 | 亚洲第一视频在线观看 | 农民人伦一区二区三区 | 国产无遮挡裸体免费视频 | 污污软件在线观看 | 三级黄色免费片 | 三级黄色片免费 | 美女被草出水 | 成人看的毛片 | 色偷偷人人澡人人爽人人模 | 欧美顶级少妇做爰hd | 成人精品免费在线观看 | 蜜桃传媒| 天堂影院一区二区 | 国产一区二区三区四区精 | 久久亚洲精品中文字幕 | 精品国产乱码久久久久久图片 | 黄色在线播放网站 | 国产成人欧美一区二区三区的 | 亚洲免费大全 | 能看av的网站 | 国产色婷婷 | 午夜色播 | 欧美经典一区 | 欧美色鬼| 国产丝袜视频在线观看 | 久一视频在线观看 | 亚洲精品一区二区三 | 久久亚洲av无码精品色午夜麻豆 | 欧美黄视频| 久久精品福利视频 | 亚洲怡红院av | www.午夜激情 | 亚洲av永久无码精品 | 区一区二视频 | 国产精品2019 | 麻豆黄色网址 | 重囗味sm一区二区三区 | 欧美三级在线 | av在线影片 | 国产精品无码专区av免费播放 | 日韩欧美不卡在线 | www久久久久久久 | 日日夜夜狠 | 婷婷激情综合 | 打白嫩屁屁网站视频短裙 | av成人在线观看 | xxxxxx国产| 日本免费一区二区三区四区 | 中文字幕无码乱码人妻日韩精品 | 日本毛片视频 | 成在线人免费视频 | 欧美一级在线免费 | 国产资源一区 | 美女免费网站 | 欧美色老头old∨ideo | 葵司在线视频 | 日本美女一级片 | 51国产在线 | 337p粉嫩大胆噜噜噜亚瑟影院 | 高清日韩 | 国内视频精品 | www.操.com | 中文字幕一区二区三区乱码不卡 | 欧美一级黄色录像 | 日本一区二区免费电影 | 国产一区美女 | 亚洲一区二区三区网站 | 国产精品成人免费一区二区视频 | 国产精品午夜一区二区 | 亚洲精品乱码久久久久 | 日韩中文字幕在线视频 | 欧美丰满熟妇bbbbbb百度 | 丰满大肥婆肥奶大屁股 | 午夜精品久久久久久久久久 | 人妻熟女一区二区三区app下载 | 成人影院免费 | 国产资源久久 | 亚洲第一成年人网站 | 国产吧在线 | 欧美激情视频一区二区三区不卡 | 波多野结衣免费视频观看 | 嫩草影院黄 | 亲女禁h啪啪宫交 | 尤物国产|