久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

模仿學(xué)習(xí)算法包實(shí)戰(zhàn):BC、DAgger與GAIL訓(xùn)練調(diào)參與排錯(cuò)

模仿學(xué)習(xí)算法包實(shí)戰(zhàn):BC、DAgger與GAIL訓(xùn)練調(diào)參與排錯(cuò) 簡介面向深度強(qiáng)化學(xué)習(xí)與模仿學(xué)習(xí)方向的學(xué)習(xí)者這份代碼包圍繞從專家軌跡中學(xué)習(xí)策略這一主題覆蓋 PPO、AIRL、BC、DRIL、FAIRL、GAIL、GMMIL、PUGAIL、RED 等算法并提供僅狀態(tài)模仿、吸收狀態(tài)指示器與 R1 梯度正則化等實(shí)驗(yàn)選項(xiàng)適合算法復(fù)現(xiàn)、課程項(xiàng)目與基線對(duì)比。壓縮包共 27 個(gè)文件、約 999KB其中 6 個(gè) Python 腳本承擔(dān)訓(xùn)練、評(píng)估與環(huán)境交互邏輯17 張 PNG 匯總各算法訓(xùn)練與測(cè)試回報(bào)曲線2 個(gè) Markdown 文檔說明使用方法另附專家軌跡數(shù)據(jù)文件目錄緊湊、模塊邊界清楚。已有 1068 人學(xué)習(xí)讀者可從中獲得可運(yùn)行的模仿學(xué)習(xí)實(shí)驗(yàn)框架、專家軌跡加載與策略優(yōu)化示例、不同算法的結(jié)果對(duì)照?qǐng)D以及排查訓(xùn)練不穩(wěn)定與回報(bào)波動(dòng)的參考思路并據(jù)此理解生成對(duì)抗式模仿與行為克隆的差異。1. 獎(jiǎng)勵(lì)函數(shù)寫不出來時(shí)imitation-learning 模仿學(xué)習(xí)算法包能接住哪類任務(wù)控制類項(xiàng)目最常見的卡點(diǎn)不在模型大小而在獎(jiǎng)勵(lì)函數(shù)機(jī)械臂要的是平滑軌跡寫個(gè)距離懲罰訓(xùn)練出來全是抖動(dòng)策略梯度在稀疏獎(jiǎng)勵(lì)下幾乎不更新調(diào)兩周不如人遙操作十分鐘。imitation-learning 這套 Python 實(shí)現(xiàn)的模仿學(xué)習(xí)算法包走的是另一條路——把專家演示當(dāng)監(jiān)督信號(hào)先用行為克隆BC把策略立起來再用 DAgger 補(bǔ)上分布偏移最后用 GAIL 在環(huán)境里做對(duì)抗式精調(diào)。它面向的是已經(jīng)有腳本專家或遙操作數(shù)據(jù)、但獎(jiǎng)勵(lì)寫不出來或?qū)懖粶?zhǔn)的 deep-reinforcement-learning 場(chǎng)景判斷自己適不適合標(biāo)準(zhǔn)很樸素你能把一條條軌跡存成(obs, action, next_obs, done)的數(shù)組并且能讓策略真正跑進(jìn)環(huán)境里這套東西就能用。2. 三種范式的代碼骨架BC 打底、DAgger 補(bǔ)偏移、GAIL 做對(duì)抗精調(diào)模仿學(xué)習(xí)算法包最容易讓人誤判的地方是把三個(gè)算法當(dāng)成三選一的替代品。實(shí)際工程里它們是階梯BC 決定你有沒有一個(gè)能跑的策略DAgger 決定這個(gè)策略在離線和在線之間能不能接住GAIL 決定最終性能能不能逼近專家。這一章按數(shù)據(jù)流順序把三塊骨架拆開代碼用最常見的組織方式寫倉庫里的類名函數(shù)名可能不一樣但張量形狀和損失形式是對(duì)得上的。2.1 軌跡容器與數(shù)據(jù)協(xié)議先把專家數(shù)據(jù)對(duì)齊成 (obs, action, next_obs, done)新手翻車十有八九不在算法在數(shù)據(jù)協(xié)議。專家數(shù)據(jù)是離線采的策略數(shù)據(jù)是在線采的如果兩邊字段順序、dtype、done的表示方式不一致后面所有 loss 曲線都沒有參考價(jià)值。我一般先寫一個(gè)兩種數(shù)據(jù)源共用的環(huán)形緩沖把協(xié)議釘死。import numpy as np class TrajectoryBuffer: 環(huán)形緩沖專家軌跡和策略 rollout 共用同一套字段協(xié)議 def __init__(self, obs_dim, act_dim, capacity200_000): self.capacity capacity self.obs np.zeros((capacity, obs_dim), dtypenp.float32) self.act np.zeros((capacity, act_dim), dtypenp.float32) self.rew np.zeros((capacity, 1), dtypenp.float32) self.next_obs np.zeros((capacity, obs_dim), dtypenp.float32) self.done np.zeros((capacity, 1), dtypenp.float32) # 用 0/1不用 bool self.ptr, self.size 0, 0 def add(self, obs, act, rew, next_obs, done): i self.ptr self.obs[i], self.act[i] obs, act self.rew[i], self.next_obs[i], self.done[i] rew, next_obs, float(done) self.ptr (self.ptr 1) % self.capacity self.size min(self.size 1, self.capacity) def sample(self, batch_size, rngNone): rng rng or np.random idx rng.randint(0, self.size, sizebatch_size) # 有放回采樣夠用且實(shí)現(xiàn)簡單 return (self.obs[idx], self.act[idx], self.rew[idx], self.next_obs[idx], self.done[idx]) def save(self, path): # 鍵名固定成這五個(gè)評(píng)估腳本和可視化腳本都按這套鍵讀 np.savez_compressed(path, obsself.obs[:self.size], actself.act[:self.size], rewself.rew[:self.size], next_obsself.next_obs[:self.size], doneself.done[:self.size])幾個(gè)參數(shù)值得說清。dtypenp.float32不是隨手寫的PyTorch 默認(rèn)張量就是 float32用 float64 存一遍再轉(zhuǎn)一遍幾十萬條樣本會(huì)白白多占一倍內(nèi)存而且轉(zhuǎn)換發(fā)生在DataLoader的 worker 里很容易變成隱性瓶頸。done存成 0/1 浮點(diǎn)而不是布爾是為了和rew一起拼成(N, 5)的數(shù)組做批量處理時(shí)類型不打架。capacity給 20 萬條是經(jīng)驗(yàn)值連續(xù)動(dòng)作任務(wù)單條軌跡通常幾百到幾千步20 萬條大致相當(dāng)于幾百條軌跡覆蓋 GAIL 一輪訓(xùn)練足夠再大就只是拖慢采樣。圖像觀測(cè)要額外注意一點(diǎn)如果環(huán)境返回的是(H, W, C)的 uint8 幀在add之前就要定好是展平還是保留三維。展平省事但卷積策略網(wǎng)絡(luò)就用不上了保留三維則要在obs_dim上寫(C, H, W)并做通道前置。這個(gè)決定一旦寫進(jìn) npz后面改起來要重采數(shù)據(jù)屬于典型的后悔藥沒處買。2.2 行為克隆三層 MLP 加 MSE 就夠但輸出頭決定成敗BC 本質(zhì)是監(jiān)督學(xué)習(xí)obs → action的回歸或分類。網(wǎng)絡(luò)不需要深兩層 256 的 tanh MLP 在絕大多數(shù)連續(xù)控制任務(wù)上已經(jīng)夠用真正決定成敗的是輸出頭跟動(dòng)作空間的匹配方式。import torch import torch.nn as nn class PolicyNet(nn.Module): def __init__(self, obs_dim, act_dim, hidden256): super().__init__() self.body nn.Sequential( nn.Linear(obs_dim, hidden), nn.Tanh(), nn.Linear(hidden, hidden), nn.Tanh(), ) self.head nn.Linear(hidden, act_dim) # 確定性策略直接回歸動(dòng)作均值 def forward(self, obs): return self.head(self.body(obs)) def bc_loss(policy, obs, act, discreteFalse): out policy(obs) if discrete: # 離散動(dòng)作交叉熵act 是 long 型類別索引 return nn.functional.cross_entropy(out, act.long()) # 連續(xù)動(dòng)作MSE 回歸act 需與 out 同量綱 return nn.functional.mse_loss(out, act)nn.Tanh()而不是 ReLU是因?yàn)檫B續(xù)控制的觀測(cè)和動(dòng)作經(jīng)常帶負(fù)值tanh 的對(duì)稱性讓初始階段的梯度分布更均勻如果觀測(cè)是圖像把body換成幾層 stride2 的卷積再接展平即可輸出頭不動(dòng)。連續(xù)動(dòng)作用 MSE 意味著你在擬合條件均值這在高斯策略假設(shè)下等價(jià)于只學(xué)均值不學(xué)方差好處是穩(wěn)定壞處是遇到多峰專家數(shù)據(jù)同一個(gè)狀態(tài)專家有時(shí)左拐有時(shí)右拐會(huì)學(xué)出一個(gè)誰都不像的中間動(dòng)作。常見做法是改成高斯頭多輸出一維log_std并用-log_prob當(dāng)損失代價(jià)是訓(xùn)練更容易發(fā)散方差要 clamp 到[-5, 2]這種范圍。動(dòng)作量綱是另一個(gè)高頻坑。環(huán)境action_space是[-1, 1]的話專家數(shù)據(jù)如果來自力矩控制比如[-20, 20]直接回歸出來的策略一進(jìn)環(huán)境就會(huì)被 clip 成常量現(xiàn)象是 BC loss 掉得很快但 rollout 一動(dòng)不動(dòng)。落數(shù)據(jù)前統(tǒng)一按(a - low) / (high - low) * 2 - 1歸一化到[-1, 1]評(píng)估時(shí)再反歸一化這一步寫在采集腳本里比寫在訓(xùn)練腳本里安全。2.3 DAgger 的在線聚合把「策略會(huì)走到哪」交給專家重新打標(biāo)BC 的理論誤差隨軌跡長度平方增長直覺解釋就是策略在專家沒去過的狀態(tài)上沒學(xué)過一旦偏離就再也回不來。DAgger 的思路很直接——讓當(dāng)前策略自己去跑跑到哪些狀態(tài)就請(qǐng)專家對(duì)這些狀態(tài)重新打標(biāo)簽把新樣本并進(jìn)數(shù)據(jù)集重訓(xùn)。代碼骨架不長但循環(huán)里三個(gè)順序不能亂。def dagger_loop(env, expert, policy, dataset, iters10, beta00.5, steps_per_iter2000): for it in range(iters): # 1) 用當(dāng)前策略在環(huán)境里采樣收集它真實(shí)訪問到的狀態(tài) states [] obs, _ env.reset() for _ in range(steps_per_iter): beta beta0 ** it # 專家介入概率指數(shù)衰減 if np.random.rand() beta: act expert.act(obs) # 專家接管把軌跡拉回可行域 else: with torch.no_grad(): act policy(torch.as_tensor(obs, dtypetorch.float32)).numpy() states.append(obs) obs, _, term, trunc, _ env.step(act) if term or trunc: obs, _ env.reset() # 2) 請(qǐng)專家對(duì)這些“策略自己走出來的狀態(tài)”打標(biāo)簽 states np.asarray(states, dtypenp.float32) labels expert.label(states) # 支持批量查詢的實(shí)現(xiàn)比逐幀快一個(gè)量級(jí) # 3) 聚合后重訓(xùn)注意是在全量數(shù)據(jù)集上重訓(xùn)而不是只訓(xùn)新樣本 dataset.extend(states, labels) train_bc(policy, dataset, epochs5)beta0控制專家介入強(qiáng)度0.5意味著第一輪一半動(dòng)作由專家給之后每輪減半。有人直接取beta max(0, 1 - it / iters)線性衰減差別不大但指數(shù)衰減在前期更依賴專家適合專家本身很貴的場(chǎng)景。steps_per_iter2000是每輪新采的步數(shù)太小聚合效果不明顯太大則單輪訓(xùn)練時(shí)間壓不住2000 到 5000 之間比較常見。這里有個(gè)實(shí)現(xiàn)細(xì)節(jié)容易被忽略expert.label(states)必須支持批量查詢。如果專家是規(guī)則函數(shù)逐幀調(diào)用兩百次和一次批量調(diào)用在 Python 里的開銷差幾十倍如果專家是人那 DAgger 就不適合跑十輪得改成兩三輪加大量增廣。另外train_bc每輪只訓(xùn) 5 個(gè) epoch 是有意的——DAgger 靠的是數(shù)據(jù)分布持續(xù)擴(kuò)張不是單輪把 loss 壓到最低訓(xùn)太多輪會(huì)讓策略過早過擬合到舊狀態(tài)分布上。2.4 GAIL 的判別器與獎(jiǎng)勵(lì)整形獎(jiǎng)勵(lì)從哪來GAIL 解決的是 BC 誤差累積的另一種思路不學(xué)動(dòng)作學(xué)一個(gè)「像專家」的判別器用判別器輸出反向構(gòu)造獎(jiǎng)勵(lì)再拿這個(gè)獎(jiǎng)勵(lì)跑標(biāo)準(zhǔn)策略梯度。判別器輸入是(obs, action)拼接輸出一個(gè) logit專家樣本標(biāo) 1、策略樣本標(biāo) 0。class Discriminator(nn.Module): def __init__(self, obs_dim, act_dim, hidden128): super().__init__() self.net nn.Sequential( nn.Linear(obs_dim act_dim, hidden), nn.Tanh(), nn.Linear(hidden, hidden), nn.Tanh(), nn.Linear(hidden, 1), ) def forward(self, obs, act): return self.net(torch.cat([obs, act], dim-1)).squeeze(-1) # 輸出 logit def disc_loss(disc, expert_obs, expert_act, policy_obs, policy_act): # 標(biāo)準(zhǔn)二分類交叉熵專家 1策略 0 pos disc(expert_obs, expert_act) neg disc(policy_obs, policy_act) return (nn.functional.binary_cross_entropy_with_logits(pos, torch.ones_like(pos)) nn.functional.binary_cross_entropy_with_logits(neg, torch.zeros_like(neg))) def gail_reward(disc, obs, act, clip10.0): # r -log(1 - D(s,a))D 是判別器給出的“像專家”概率 prob torch.sigmoid(disc(obs, act)) r -torch.log(1.0 - prob 1e-8) return torch.clamp(r, -clip, clip)判別器網(wǎng)絡(luò)刻意比策略網(wǎng)絡(luò)小128 vs 256且只有兩層是為了不讓它太快把策略和專家完全分開。獎(jiǎng)勵(lì)取-log(1 - D)而不是直接用D是因?yàn)榍罢咴贒接近 0 時(shí)給的正獎(jiǎng)勵(lì)更平滑策略在早期不至于所有樣本獎(jiǎng)勵(lì)都是 0.001 這個(gè)量級(jí)梯度全被吞掉。clip10.0是給獎(jiǎng)勵(lì)設(shè)上限防止個(gè)別樣本把優(yōu)勢(shì)函數(shù)撐爆。判別器的訓(xùn)練和策略的訓(xùn)練是交替的每一輪先用當(dāng)前策略采一批 rollout更新判別器若干次再用更新后的判別器算獎(jiǎng)勵(lì)、更新策略。這個(gè)「若干次」就是下一章要單獨(dú)說的判別器步頻是 GAIL 里最敏感的超參之一。3. 從零跑通一次訓(xùn)練依賴、專家數(shù)據(jù)、配置和日志的四段命令鏈拿到一個(gè)算法包第一件事不是讀完全部源碼是把它跑出第一條非零獎(jiǎng)勵(lì)曲線。這一步跑通了后面所有調(diào)參才有意義跑不通讀源碼也讀不出所以然。下面這條鏈路按「裝環(huán)境 → 采數(shù)據(jù) → 訓(xùn) BC → 訓(xùn) GAIL → 評(píng)估」的順序排腳本名以倉庫里的實(shí)際文件為準(zhǔn)我按常見命名寫對(duì)不上就按功能找對(duì)應(yīng)入口。3.1 依賴裝完之后先驗(yàn)環(huán)境接口對(duì)不對(duì)# 1) 建獨(dú)立解釋器環(huán)境避免和系統(tǒng)里的 torch 版本打架 python -m venv .venv source .venv/bin/activate # Windows 下?lián)Q成 .venv\Scripts\activate # 2) 裝依賴requirements.txt 里通常鎖 numpy / torch / 環(huán)境接口庫 / pyyaml / tensorboard pip install -r requirements.txt # 3) 自檢把算法注冊(cè)表和已安裝的環(huán)境列出來確認(rèn) BC/DAgger/GAIL 三個(gè)入口都在 python -m pkg.registry --list第三步別省。算法包的入口常掛在注冊(cè)表或getattr動(dòng)態(tài)導(dǎo)入上包名寫錯(cuò)、模塊沒被__init__.py導(dǎo)出報(bào)錯(cuò)會(huì)出現(xiàn)在訓(xùn)練中段而不是啟動(dòng)時(shí)排查成本翻倍。如果注冊(cè)表能列出三個(gè)算法名且環(huán)境接口庫能make出你的環(huán)境依賴這一關(guān)就算過了。提示環(huán)境接口庫的版本差異主要體現(xiàn)在reset和step的返回值上。老接口reset()只返回obsstep()返回四元組新接口返回(obs, info)和五元組。包里的 rollout 代碼只認(rèn)其中一種版本不對(duì)會(huì)報(bào)「too many values to unpack」這類看似莫名其妙的錯(cuò)。改法很簡單在采集腳本里加一層適配或者在環(huán)境外面包一個(gè) wrapper不要在算法內(nèi)部到處打補(bǔ)丁。3.2 采集專家軌跡腳本參數(shù)與落盤格式# 采集專家軌跡。--env 換成自己的環(huán)境 id--episodes 決定演示條數(shù) python scripts/collect_demos.py \ --env YourEnv-v0 \ --episodes 60 \ --policy expert_rule_based \ --noise 0.02 \ --out data/expert_60ep.npz--episodes 60不是拍腦袋的數(shù)下一章會(huì)講怎么估第一次跑通先給 20 到 30 條確認(rèn)文件能存下來、字段對(duì)得上再補(bǔ)量。--noise 0.02是給專家動(dòng)作加的小幅高斯噪聲目的是讓專家數(shù)據(jù)覆蓋一點(diǎn)狀態(tài)鄰域BC 學(xué)出來的策略不會(huì)在專家軌跡兩側(cè)立刻崩掉。噪聲太大等于污染標(biāo)簽0.01 到 0.05 之間按動(dòng)作量綱調(diào)動(dòng)作在[-1, 1]的話 0.02 合適。落盤之后先做個(gè)形狀檢查比直接開訓(xùn)省事得多import numpy as np d np.load(data/expert_60ep.npz) print({k: (d[k].shape, d[k].dtype) for k in d.files}) # 期望看到 obs (N, obs_dim) float32, act (N, act_dim) float32, done 里 1 的個(gè)數(shù)等于軌跡條數(shù)done為 1 的樣本數(shù)應(yīng)該正好等于--episodes多一個(gè)少一個(gè)都說明采集循環(huán)里對(duì)terminated和truncated的處理有問題。超時(shí)截?cái)嗨悴凰鉪one在不同算法里處理不一樣BC 不在意GAIL 在意——超時(shí)被當(dāng)成終止會(huì)讓價(jià)值函數(shù)學(xué)到「到時(shí)間就沒價(jià)值」正確做法是用truncated做 bootstrap 而不是當(dāng)終止。3.3 配置文件一次訓(xùn)練里真正要?jiǎng)拥氖畮讉€(gè)鍵algo: gail seed: 0 env_id: YourEnv-v0 demo_path: data/expert_60ep.npz policy: hidden: [256, 256] activation: tanh train: total_steps: 1_000_000 batch_size: 256 lr_policy: 3.0e-4 lr_disc: 1.0e-3 disc_updates: 3 # 每輪策略更新前判別器更新幾次 gamma: 0.99 gae_lambda: 0.95 ent_coef: 0.01 gail: reward_clip: 10.0 disc_hidden: 128total_steps: 1_000_000是環(huán)境交互步數(shù)而不是梯度步數(shù)這個(gè)口徑一定要跟日志對(duì)上否則你會(huì)以為訓(xùn)了很久其實(shí)只采了幾萬步。ent_coef: 0.01是熵正則GAIL 里不建議設(shè)太大——獎(jiǎng)勵(lì)本身是從判別器來的熵太高會(huì)讓策略主動(dòng)往判別器沒見過的區(qū)域跑判別器給的獎(jiǎng)勵(lì)全是噪聲訓(xùn)練曲線表現(xiàn)為先漲后崩。3.4 訓(xùn)練與評(píng)估日志里該盯哪幾條曲線# 訓(xùn) BC 先確認(rèn)數(shù)據(jù)管線沒問題 python scripts/train_bc.py --config configs/bc.yaml --demo data/expert_60ep.npz # 訓(xùn) GAIL從 BC 權(quán)重?zé)釂?dòng) python scripts/train_gail.py --config configs/gail.yaml --init runs/bc/policy.pt # 評(píng)估20 條 episode同時(shí)看均值和最差分位數(shù) python scripts/evaluate.py --ckpt runs/gail/policy.pt --episodes 20 --percentile 25日志里至少四條曲線要看episode_return、disc_accuracy、policy_entropy、value_loss。disc_accuracy穩(wěn)定在 0.5 到 0.75 之間是健康區(qū)間說明判別器還分不太清一旦沖到 0.95 以上并橫住策略這邊基本拿不到有效梯度獎(jiǎng)勵(lì)曲線會(huì)變成一條緩慢下滑的直線。policy_entropy應(yīng)該緩慢下降而不是斷崖式掉到 0掉太快說明策略過早確定化GAIL 階段就廢了。評(píng)估只看均值是自欺欺人。模仿學(xué)習(xí)的失敗是尾部事件——20 條里 18 條接近專家、2 條完全崩均值可能還不錯(cuò)但上線就是那 2 條在出問題。所以評(píng)估腳本里同時(shí)打 25 分位數(shù)--percentile 25就是干這個(gè)的。4. 超參不是玄學(xué)專家軌跡量、判別器步頻與折扣因子的聯(lián)動(dòng)關(guān)系模仿學(xué)習(xí)算法的超參比普通監(jiān)督學(xué)習(xí)少但相互耦合更強(qiáng)。改一個(gè)數(shù)往往要連帶改另一個(gè)不然就是從「不收斂」跳到「過擬合」再跳回來。這一章把三個(gè)最影響結(jié)果的量單獨(dú)拎出來給的都是范圍和判斷依據(jù)不是絕對(duì)最優(yōu)值。4.1 專家軌跡數(shù)量與狀態(tài)維度先算清覆蓋度再談算法BC 的誤差上界大致是O(T2ε)T是軌跡長度ε是單步監(jiān)督誤差。這個(gè)式子說明兩件事軌跡越長同樣的單步誤差放大得越厲害想降低誤差要么減小ε更好的網(wǎng)絡(luò)/更多數(shù)據(jù)要么打斷誤差累積DAgger。實(shí)操里的估算方式是按狀態(tài)空間覆蓋率不是按條數(shù)。經(jīng)驗(yàn)區(qū)間任務(wù)類型狀態(tài)維度建議專家軌跡條數(shù)備注低維連續(xù)控制10 以內(nèi)20 到 50每條幾百步夠 BC 出可用策略中維帶關(guān)節(jié)角、速度10 到 5050 到 200建議配 DAgger純 BC 容易偏圖像輸入高維200 以上必須做數(shù)據(jù)增廣否則過擬合背景多模態(tài)專家人遙操作任意200 以上高斯頭或多峰建模MSE 會(huì)學(xué)出平均動(dòng)作表里的數(shù)字是起點(diǎn)不是終點(diǎn)。判斷數(shù)據(jù)夠不夠看 BC 的驗(yàn)證集 loss 和 rollout 表現(xiàn)是否背離驗(yàn)證 loss 很低但 rollout 一開始就偏說明數(shù)據(jù)覆蓋不夠加數(shù)據(jù)或者上 DAgger驗(yàn)證 loss 本身就高說明網(wǎng)絡(luò)容量或者輸入特征有問題加數(shù)據(jù)沒用。4.2 判別器步頻與學(xué)習(xí)率GAIL 最容易失衡的地方disc_updates和lr_disc是一對(duì)聯(lián)動(dòng)參數(shù)。判別器更新太頻繁或?qū)W習(xí)率太高會(huì)迅速把策略和專家分開獎(jiǎng)勵(lì)飽和策略梯度消失更新太少判別器跟不上策略變化獎(jiǎng)勵(lì)信號(hào)滯后訓(xùn)練表現(xiàn)為獎(jiǎng)勵(lì)曲線劇烈震蕩。我一般這樣起手lr_disc 1e-3、lr_policy 3e-4判別器學(xué)習(xí)率比策略高 3 倍左右disc_updates 1先跑 20 萬步看disc_accuracy。如果它一直在 0.5 附近上不去說明判別器太弱把disc_updates提到 3 或者把disc_hidden從 128 加到 256如果它三步之內(nèi)沖到 0.9 以上反過來做lr_disc降到 3e-4或者給判別器加梯度懲罰。另一個(gè)常被忽略的旋鈕是reward_clip。判別器輸出經(jīng)過-log(1-D)之后理論上無界D → 1時(shí)獎(jiǎng)勵(lì)會(huì)沖到幾十甚至上百優(yōu)勢(shì)估計(jì)直接被個(gè)別樣本主導(dǎo)。reward_clip: 10.0相當(dāng)于給獎(jiǎng)勵(lì)設(shè)了個(gè)硬上限代價(jià)是損失一部分區(qū)分度但換來的穩(wěn)定性在調(diào)試階段更值錢。4.3 折扣因子與 GAE把信用分配對(duì)上專家軌跡長度gamma 0.99意味著有效視野大約 100 步0.995大約 200 步0.999大約 1000 步。這個(gè)數(shù)要和專家軌跡的實(shí)際長度匹配如果專家軌跡平均 300 步收斂到目標(biāo)gamma給 0.99 會(huì)讓價(jià)值函數(shù)看不到后半段策略學(xué)到的是「快速動(dòng)一下」而不是「完整完成任務(wù)」。gae_lambda控制偏差和方差的折中0.95 是通用起點(diǎn)。GAIL 的獎(jiǎng)勵(lì)來自判別器噪聲比環(huán)境原生獎(jiǎng)勵(lì)大這種情況下把lambda降到 0.9 甚至 0.85 能明顯減小優(yōu)勢(shì)估計(jì)的方差代價(jià)是偏差變大、收斂變慢。判斷依據(jù)是value_loss的波動(dòng)幅度如果它在兩個(gè)數(shù)量級(jí)之間來回跳先降lambda再考慮降學(xué)習(xí)率。注意gamma改大之后total_steps也要跟著加。視野從 100 步拉到 300 步同樣學(xué)到「完整任務(wù)」需要的數(shù)據(jù)量大致按比例增加只改gamma不改步數(shù)最常見的現(xiàn)象是訓(xùn)練到一半曲線開始緩慢下滑看起來像過擬合其實(shí)是步數(shù)不夠。4.4 參數(shù)速查表參數(shù)作用起步值什么時(shí)候改lr_policy策略網(wǎng)絡(luò)步長3e-4曲線震蕩就減半20 萬步不動(dòng)就翻倍lr_disc判別器步長1e-3判別器準(zhǔn)確率過高就降過低就升disc_updates每輪判別器更新次數(shù)1 到 3先動(dòng)這個(gè)再動(dòng)學(xué)習(xí)率影響更平滑gamma折扣因子0.99按專家軌跡長度的 1/3 到 1/2 反推gae_lambda優(yōu)勢(shì)估計(jì)折中0.95value_loss抖動(dòng)大就降到 0.9ent_coef熵正則0.01策略過早確定化就加大探索過頭就減小reward_clip判別器獎(jiǎng)勵(lì)上限10.0獎(jiǎng)勵(lì)方差爆炸時(shí)降到 5.0batch_size批量大小256顯存夠就加到 512梯度更穩(wěn)5. 五類翻車現(xiàn)場(chǎng)排查現(xiàn)象、成因和能直接改的那一行算法包的 issue 區(qū)里重復(fù)率最高的不是「怎么實(shí)現(xiàn)」而是「我訓(xùn)出來不對(duì)」。下面五條按出現(xiàn)頻率排每條都按現(xiàn)象、成因、解決三層寫能直接對(duì)應(yīng)到代碼里改哪一行。5.1 BC 訓(xùn)練 loss 很低rollout 三步就飄現(xiàn)象訓(xùn)練集 MSE 降到 1e-3 量級(jí)進(jìn)環(huán)境跑前三步還行第五步動(dòng)作開始抖第十步直接撞墻。成因典型的分布偏移。專家數(shù)據(jù)只覆蓋專家走過的狀態(tài)策略在專家狀態(tài)上學(xué)得很準(zhǔn)一旦偏出去幾厘米進(jìn)入沒見過的狀態(tài)輸出就是網(wǎng)絡(luò)外推的隨機(jī)值誤差按T2放大。解決上 DAgger哪怕只跑兩三輪也有效暫時(shí)不想引入在線專家的話退一步做狀態(tài)增廣——對(duì)專家觀測(cè)加小幅高斯噪聲、對(duì)圖像做隨機(jī)裁剪和亮度擾動(dòng)讓策略在專家軌跡鄰域內(nèi)有定義。噪聲幅度按觀測(cè)標(biāo)準(zhǔn)差的 5% 到 10% 給給大了等于教策略在錯(cuò)誤狀態(tài)上輸出正確動(dòng)作反而更糟。5.2 GAIL 判別器準(zhǔn)確率三步?jīng)_到 0.98獎(jiǎng)勵(lì)曲線變平現(xiàn)象訓(xùn)練前幾千步disc_accuracy迅速逼近 1.0gail_reward均值掉到接近 0 并橫住策略性能不再變化。成因判別器容量或?qū)W習(xí)率相對(duì)策略太強(qiáng)幾乎瞬間就把兩類樣本線性分開。獎(jiǎng)勵(lì)函數(shù)變成「策略樣本恒為 -10專家樣本恒為 10」策略拿到的梯度全是常數(shù)等于沒有獎(jiǎng)勵(lì)。解決先把disc_updates從 3 降到 1再把lr_disc降到 3e-4還不夠就給判別器加梯度懲罰WGAN-GP 那一套或者把disc_hidden從 256 砍到 128。判別器網(wǎng)絡(luò)比策略網(wǎng)絡(luò)小一到兩檔是 GAIL 里比較穩(wěn)的配置習(xí)慣。5.3 觀測(cè)歸一化統(tǒng)計(jì)量隨訓(xùn)練漂移訓(xùn)練中期突然崩現(xiàn)象前 30 萬步曲線正常上漲之后突然掉下去再也不回來重啟同 seed 也不一定復(fù)現(xiàn)。成因觀測(cè)歸一化用了滑動(dòng)統(tǒng)計(jì)量而策略探索到的狀態(tài)分布隨訓(xùn)練不斷擴(kuò)張mean/std跟著漂導(dǎo)致同一個(gè)觀測(cè)在不同時(shí)刻被歸一化成不同值。價(jià)值網(wǎng)絡(luò)學(xué)的是舊分布輸入一變就全亂。解決歸一化統(tǒng)計(jì)量只用專家數(shù)據(jù)算一次然后凍結(jié)寫進(jìn) checkpoint 一起保存。評(píng)估和訓(xùn)練必須用同一份mean/std這一點(diǎn)在加載模型時(shí)最容易漏——只加載了權(quán)重沒加載統(tǒng)計(jì)量現(xiàn)象是「訓(xùn)練好好的模型評(píng)估時(shí)表現(xiàn)極差」。5.4 專家動(dòng)作和環(huán)境動(dòng)作空間量綱不一致現(xiàn)象BC loss 正常下降但 rollout 里動(dòng)作像是被截?cái)嘤肋h(yuǎn)貼著[-1, 1]的邊界走機(jī)器人只朝一個(gè)方向緩慢移動(dòng)。成因?qū)<覕?shù)據(jù)來自力矩控制動(dòng)作范圍是[-20, 20]環(huán)境action_space是[-1, 1]回歸出來的策略輸出被環(huán)境 clip等于把 95% 的信息丟了。解決采集階段就把專家動(dòng)作按(a - low) / (high - low) * 2 - 1歸一化落盤的 npz 里存歸一化后的值同時(shí)在文件里存一份action_low/action_high。評(píng)估腳本反歸一化后再env.step。這條建議寫進(jìn)采集腳本的注釋里不然下一個(gè)人接手還要再踩一次。5.5 固定 seed 但兩次訓(xùn)練結(jié)果差很多現(xiàn)象seed: 0寫死在配置里同樣的數(shù)據(jù)同樣的超參兩次跑出來的最終回報(bào)差 30% 以上。成因三處非確定性沒關(guān)掉——環(huán)境內(nèi)部的隨機(jī)數(shù)生成器沒設(shè)種子、PyTorch 的 cuDNN 自動(dòng)調(diào)優(yōu)、DataLoader 多 worker 的采樣順序。少關(guān)一處復(fù)現(xiàn)性就沒了。解決環(huán)境reset(seedcfg.seed)、torch.backends.cudnn.deterministic True、torch.backends.cudnn.benchmark False、DataLoader(..., worker_init_fn...)里給每個(gè) worker 派生種子。調(diào)試階段干脆num_workers0慢一點(diǎn)但結(jié)果可比。這套開關(guān)關(guān)掉之后性能可能降幾個(gè)點(diǎn)屬于為了可復(fù)現(xiàn)付的必要成本。6. 再往前一步BC 預(yù)訓(xùn)練接 GAIL 微調(diào)加一個(gè)誤差分箱的驗(yàn)證習(xí)慣從零訓(xùn) GAIL 的探索成本很高尤其是動(dòng)作維度大于 10 的時(shí)候判別器早期的獎(jiǎng)勵(lì)幾乎全是噪聲。更省事的做法是先用 BC 把策略熱啟動(dòng)到一個(gè)「能跑但不精細(xì)」的水平再切 GAIL 微調(diào)。切換時(shí)有兩個(gè)細(xì)節(jié)要改策略學(xué)習(xí)率降到原來的三分之一到五分之一BC 權(quán)重已經(jīng)很接近解大步長會(huì)把它們打散判別器從零開始訓(xùn)、學(xué)習(xí)率保持原值因?yàn)榕袆e器面對(duì)的是一個(gè)已經(jīng)比較像專家的策略需要足夠強(qiáng)的區(qū)分能力才能提供有效梯度。驗(yàn)證環(huán)節(jié)我習(xí)慣加一個(gè)誤差分箱比只看總回報(bào)有用得多。思路是拿一批專家觀測(cè)喂給策略算每個(gè)樣本的動(dòng)作誤差再按專家動(dòng)作模長或者狀態(tài)某個(gè)關(guān)鍵維度分箱看誤差集中在哪一段。import numpy as np import torch torch.no_grad() def divergence_by_bin(policy, expert_obs, expert_act, n_bins5): 按專家動(dòng)作模長分箱統(tǒng)計(jì)策略與專家的動(dòng)作 MSE定位誤差集中區(qū) obs_t torch.as_tensor(expert_obs, dtypetorch.float32) pred policy(obs_t).numpy() err ((pred - expert_act) ** 2).mean(axis1) # 每個(gè)樣本一個(gè)標(biāo)量誤差 key np.linalg.norm(expert_act, axis1) # 用動(dòng)作模長當(dāng)分箱依據(jù) edges np.quantile(key, np.linspace(0, 1, n_bins 1)) idx np.clip(np.digitize(key, edges[1:-1]), 0, n_bins - 1) return {i: round(float(err[idx i].mean()), 5) for i in range(n_bins) if (idx i).any()}n_bins5按分位數(shù)切保證每箱樣本量接近避免某一箱只有幾個(gè)樣本讓均值失真。輸出里如果誤差集中在最高的那一箱說明策略在「大幅度動(dòng)作」上學(xué)得差多半是專家數(shù)據(jù)里大幅動(dòng)作樣本少補(bǔ)采時(shí)要有意識(shí)地多采這類片段如果集中在最低那一箱通常是噪聲問題——小幅動(dòng)作的信噪比低專家自己抖一下就被當(dāng)成標(biāo)簽學(xué)走了這時(shí)候該做的是對(duì)專家動(dòng)作做一點(diǎn)平滑再訓(xùn)。配合評(píng)估腳本的 25 分位數(shù)一起看基本能定位八成問題分箱誤差均勻但最差分位數(shù)很差是分布偏移分箱誤差本身就偏某一箱是數(shù)據(jù)覆蓋問題兩者都正常但環(huán)境回報(bào)上不去那要回頭看獎(jiǎng)勵(lì)整形而不是繼續(xù)調(diào)策略。從那以后我每次跑 GAIL 之前都會(huì)強(qiáng)制先跑一遍 BC 的分箱誤差確認(rèn)失敗狀態(tài)集中在哪一段再?zèng)Q定是補(bǔ)數(shù)據(jù)還是直接上對(duì)抗訓(xùn)練——省下的不是訓(xùn)練時(shí)間是那種「訓(xùn)了兩天不知道錯(cuò)在哪」的消耗。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产乱子伦久久精品综合一区二区三| 欧美日韩91| 超碰97在线中文| 丁香六月婷| 91久久久亚洲| 九九人妻| 曰韩香蕉97| 毛片视频白嫩| 99只有精品| 麻豆综合一区av| 欧美亚洲今日在线| 伊人网在线点播| 国产丝袜美腿美女麻豆| 日韩精品高清资源在线| 狠狠色婷婷| 性做久久久久久免费观看软件| 中国操逼无码| 国产精品 久久久精品一牛| 日韩精品亚洲一二三| 99热导航| 操人妻丝袜高跟| 国产小视频91| 十八禁啪啦拍视频无遮挡| 亚洲无吗在线视频| 免费?级毛片无码?∨蜜芽试看| 夜夜爽夜夜操| 中文字幕一区二区无码成人| 九九九999久久久网站| 蜜臀久久在线视频| 99精品高潮| 91亚洲影院综合| yirendaxiangjiashipin| 看日韩美女二区三区免费操逼视频| 亚洲欧洲精品视频发布| 天天视频综合在线观看视频| 97九色人妻| 人妻AV 中文字幕的| 一个人免费HD91视频| 双插性欧美一二三区| 日逼逼免费看| 18禁免费视频| 五月丁香综合激情| 日韩偷拍色图| 精品女同一区| 大屁股熟女一区二区三区| 级品肉射| 伊人视频| 蜜臀AV一区二区三区| 久久久性爱| 蜜臀久久99精品久久久久久酒店 | 九九热精品免费视频| 日本三级中国三级99人妇网站| 亞洲久久直播| 色婷婷影院| 鲁鲁色综合网| 国产一区麻豆免费观看| 91影视亚洲| 欧美天天影院| 26uuu成人影片| 国产精品爆乳懂色蜜乳| 中国一级操逼视频| 国产一级αv免费看片| HEYZO高无码国产精品227| 操逼日韩无码| 老熟女91av| 精品久久9| 欧美午夜熟妇黑人精品91| 久久久久白虎| 青草草免费网站av| 婷婷综合网站| 91色综合激情| 国产精品毛片| 伊人天天久久动态图| 免费日韩黄片| 亚洲精品久久久久久久久豆丁网| 日本黄色XXX| 91丝袜美女视频| 伦激情人妻另类人妻| 超碰人妻天天干| 99热这里只有精品8| 一区=区三区视频| 91精品婷婷国产综合久久| 白丝AV| 天天干天天燥| 99热在线观看| 好一吊区二区| 成人麻豆av电影网站| 五月香婷婷| 午夜福利在线视频1000| 成人小说视频在线精品欧美| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 国内三级自拍小视频在线观看| 嗯嗯嗯嗯啊啊啊好紧好大| 秋霞鲁丝午夜无码一区二区三| 亚洲黄色| 强免费黄色网址| 情色五月天久久久| 97啪啪| 国产无码一二三区| 又摸又舔在线观看网站| 日韩电影在线观看网址| 色色色综合| 97精选久久| 99精品国产户外露出| 国产精品视频白浆免费| 曰本91情色| 日本1区2区不卡视频| 91狠狠综合久久久久久| 精品丰满熟妇人妻一区| 综合久| 加勒比五月天| 九九精品无码专区免费| 色综合中文字幕不卡| 综合色区偷拍| 超碰在线国产| 亚洲资源一区| 看看小穴| dy888午夜老子影视达达兔| 噜噜噜无码AV一级一级久久影院 | AV在线性爱| 大香蕉手机在线视频| 91精品导航| 色婷婷久久| 亚洲脚交| 99精品在线| 久久久性爱| 超碰国产在线| 久9无限国产| 思思热在线| 亚洲女优有码无码高清| www久久久| 欧美洲精品一级| 免费一级欧美片片线观看| 激情文学 亚洲图片| 精品久久久久久无码| 欧美亚洲美少妇一区二区| 蜜乳视频网站| 99热这里只有是精品10| 无码人妻丰满热妇又大又粗| 热99re69精品8在线播放| 日本3级一区二区免费| 97超碰9| 亚洲美乱| 另类TS人妖一区二区三区| 四虎免费看黄| 日本精品成人无码| 亚洲无码 国产无码| 偷拍 精品 另类 四区| 草草电影院| 久久爽爽精品| 久久婷婷亚洲| 毛片一区二区| 中文字幕文字幕无码一区二区三区电影99| 无码操逼天堂| 蜜乳AV一区| 大香蕉视频一二三区| 97超碰在线资源网站| 免费一级黄色录像影片| 欧美色图片色哟哟| 草伊人高潮喷水超碰| 五月丁香拍拍激情综合三级| 后入精品| 久久精品一区| 怡红院一区二区熟女人妻| 蜜臀久久99精品久久久久久酒店| 人人爽人人精品乱人伦AV| 午夜男人一级A片7777| 午夜性刺激视频免费观看| 中文字幕超碰CAO| 国产九九久久久精品| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 成人av免费观看| 一中国女人毛片水真多| 91老熟女91老女人| 性爱欧美五月| 久久久久精| 久久一区二区高清免费| 国产乱子伦一区二区三区在线观看| 久久鲁夜| 刺激性视频黄页| 久久性爱网站| 国产一区二区免费福利片| 台湾佬中文娱乐网久久久久久久久久com| 九九久久九九久久| 欧美久久毛片基地| 五月婷婷六月激情| 久精品无码av一区二免费国产在线观看| 超碰97亚洲| 午夜九九| 久久高清无码夜夜操| 久久综合日韩亚洲欧美| 夜夜嗨AV一区天天| 涩五月婷婷| 日韩免费看黄片| 国产乱伦亚洲| 老司机老司机午夜影院| 在线a v| 中文字幕美女91| 99re黄 | 精品免费视频国产一区| 麻豆精品一区二区三区四区免费观看| 欧美草草高清日韩视频| 91蜜桃传媒精品久久久一区二区| 4虎在线视频| 樱花草社区www中国| 久悠悠av| 精品网站9999| 97碰碰日本乱偷人妻中文的| 日本东京热大香蕉a片| 欧美三级一级| 久久e6只有精品| 亚洲精品819| 天天爱天天韩国日本牛牛牛牛| 中文字幕成人| 日产狠狠干| 亚洲天堂区| 97AV爱| 亚洲中文字幕妇伦久久| 国产AV天美| 物尤视频一区二区| 欧美亚州色的图| 久久久久921| 美女黄码视频午夜| 天天操熟妇| 色欧美色交综合| 亚洲操操操无码| 日本一卡二区在线| 亚洲天堂男人网| 中文字幕三四区| 日韩无码视频黄色| 国产大片精久久久久久| 天操天操夜操夜月操月年年操| 午夜呻吟欧美| 亚洲美女高潮喷水视频| 思思热在线视频免费| 亚洲图片色图欧美另类| 黄网色一区二区三区四区精品| 五月天婷婷色| 青娱乐手机日韩在线视频| 欧美爱国产综合、| 色姑娘综合网| 操逼1区| 国产无马av| 99re6久热只有精品6在线直播 | 夜夜嗨绯色| 亚洲交换| 久热影视| 亚洲激情AV| 日韩精品人妻中文字幕有码午| 国产乱码精品久久久久久| 大香蕉一人| 国产婷婷综合在线观看| 欧美日韩国产色图在线| 久久欧洲| 91亚洲高清| 亚洲欧美日韩精品久| 一色网男人的天堂| 蜜桃狠狠色伊人亚洲综合| 无码78| 日韩人妻播放| 麻豆婷婷成人一二三| 十八禁电影伊人网| 密乳AV免费观看| 日日干夜夜干| 久久后入制服| 26uuu性物| ss久久| 9久久久久久| 性久久| 国产欧美精品日韩区二区麻豆天美| 久久久不卡区一区二区三区久久久| 亚洲第一页色网| 福利操逼| 91在线限制级| 日韩一二三区| 欧美亚洲国产自久久| 啊啊啊啊嗯嗯在线久久久| 草草影院日本第一页| 久久精品视频久久久| 一二区在线观看视频| 国产成年精品高清在线观看91| 亚洲天堂综合AV| 亚洲干B| 伊人久久大香线蕉无码| 亚洲精品欧洲精品| 欧美日韩国产三级黄色| 75大香蕉| 91看黄片| 蜜臀99久久国产| wwwcaobibi| 欧美九一精品久久久熟妇| AA级电影三区| 中国黑人三级片网站上区| 欧美亚洲综合高清在线| 日本精品成人无码| 蜜臀中文无码午夜| 四虎影院成年人片| 日韩欧美~中文字| 亚洲色图日韩精品| 九九人妻| 2024人人操人人摸| 亚洲精品99999| 亚洲日本成人动漫| 青娱乐二区免费| 日韩二级| 亚洲成a人片在线观看中文!!!| 极品久久久久久久久久久久久久| 午夜激情成人在线观看| 色偷偷超碰亚洲| 亚洲成a人片在线观看中文!!!| 天天看高清麻豆| 色黄色美女大长腿午夜视频| 综合网亚洲1| 六月丁香久久| 男人午夜天堂| 九一性生活免费视频| 色色香蕉| 亚洲熟女人妻中文字幕一区二区| 超碰调教97| 久久丁香久草综合网| 啊啊啊快操我视频| 精品国产久热在线观看| 久久少妇| 老鸭窝黄色视频网站| 国产69精品久久久久99尤物| 亚洲资源吧| 欧美精品久久久久久久久88| 亚洲天堂男| 插老姨肥穴| 国产女人91精品嗷嗷嗷嗷| 精品国产99999| 国产伦精品免编号公布| 欧美日韩一区二区三区四区蜜桃| 人妻少妇精品久久久久久| 色噜噜人妻av 中文字幕| 久操操AV电影| 超碰在线一区二区| 青青青艹在线视频| 97蜜桃综合| 日本一区二区成人在线| 亚洲欧美首页| 偷拍片久久| 欧亚综合一卡二卡中文字幕| 亚洲综合另类小说色区亚洲成av人片在www | 亚洲欧美内射| 九九九九九九九九九五码| 精品一区二区成人动漫| 日本成人在线不卡一区二区三区| 色综合20p| 日本久久久久久久久| 岛国毛片手机在线观看| 成人婷婷丁香| 中文日本免费高清| 大香蕉一级黄色片久久| 色婷婷A V一二三四区麻豆综合| 玖玖人人爱| 国产真实野战在线视频| 亚洲春色一区二区三区| 亚洲激情片| 67914在线兔费成人视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 蜜桃视频精品一区二区| 婷婷色播婷婷| 超碰91在线| 黄片www.| 99久热精品99re6热| 人人操AV| 久久,精品一二三| 青娱乐亚洲自拍| 亚洲天堂五月天国产| 丰满人妻-区二区三区免费看 | 又黑又大又粗| 天天日天天色| 日本在线一二| 啊啊啊不要好疼视频| 久草福利在线资源站| 日本一区视频在线观看| 秋霞Av理论一级在线| www.91视频网| 97亚洲精品超碰| 校园春色 亚洲| 精品国产乱码久久久久久日本公司| 91欧美长吊| 91亚洲青青草原精品1区| 91丨九色丨大屁股| 日韩欧美女优电影| 一二三啪啪专区| 亚洲一区二区麻豆影院| 亚州操操穴网| 天天综合网1| 一区二区不卡| AV色五月天| 久久精品99久久久久久| 天天操熟妇| 久久久草草精品| 亚洲精品久久一区二区三区蜜桃臀| a人欧美综合天堂麻豆| 国产精品色哟哟| 欧亚不卡| 91久久久久久久| 日本亚欧爱爱| 午夜毛片亚洲精品片国产久久久| 精品九九九九| 午夜.DJ高清在线观看免费7| 亚洲AV秘 精品久久老牛影视| 小视频玖玖| 五月丁香社区婷婷日韩欧美精品影院 | 淫荡网址| 日本成人A片网站| 成人八戒网站| 婷婷五月天网| 97 视频在线| 色综合20p| 91亚洲黄色网| 草草草视频在线免费看| 中国大陆国产高清AⅤ毛片| 自拍偷拍 日韩无码| 97福利视频| 69AV女优男人的天堂| 日韩 欧美 国产 麻豆| av橘色网站| 色哟哟 日韩精品| 国产综合网站在线播放| 920日本午夜免费| 99亚洲人人| 精品大全99999| 亚洲欧美另类激情小说| 国产一级作爱毛片| 九九九久千久久激情蜜桃在线看 | av天堂5| 少妇免费视频| 青青操日韩| 亚欧高清| 99精品久久| 激情综合av| 午夜啊啊| 欧美精品xxxwww| 人妻AV 中文字幕的| 性爱AV天堂| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 97ai亚洲| 久久久久国产精品喷潮免费观看臀 | 免费中文在线| 99国产精品免费| 中文字幕三四五区| 人妻在线视频| 国产91精品久久久久久久网曝门| 97亚洲中文| 欧美人妻久久精品二区三区| 97激情97激情| 97视频在线看| 色色婷婷五月| 精久久久| 亚洲成熟国产精品美女| 黑丝日韩av丝袜av| 国语av狠狠色丁香婷婷综合激情| 日本熟女中文| 四虎884| 免费作爱一级视频| 九九九精品一区二区无码| 国产精品人妻无码久久久老鸭窝| 91黑丝在线播放| AV中文字幕三四五| av片在线观看免费播放| 夜夜免费视频| 亚洲强奸乱伦影视网| 乱老熟女一区二区三区| 日本精品网站在线中文| 欧美色一二三| 乱伦1色页| 美女主播色欲91抠b在线播放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 佐山爱中文字幕| 国产偷拍网站| 麻豆区99999| 国产又粗又大硬免费色网视频| 激情五月天网| 97超碰9| 日韩精品99999| 天堂综合网| 中文啪啪视频| 富女玩鸭子一级毛片| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 色亚洲欧美| 亚洲综合激情五月久久| 人妻丝袜日本| 色综合中文字幕不卡| 国产精品免费久久久久久久久久| 67914在线精品观看| 午夜国产综合视频在线观看 | 中文久久久| 亚洲情色1区| 国产精品一区二区亚洲人成毛片| 91 综合 色| 韩国一级做A片免费的| 国产人妻久久精品一区二区三区| 男人的天堂2019AV| 国产黄色小视频网站| 欧美日韩亚洲电影| 天天弄天天操| 亚洲无线码欧洲精品区别| 色眯眯av| 日韩人妻精品久久久久| 久热精品在线国产| 91精品操美女| 国产九九久久久精品| 天天干人人干天天日97| 少妇精品| 北条麻妃性愛视频| 97人人干| 亚洲精品性爱片| 欧美日综合| 福利风月五月天影院| 亚洲成人无码影院| 天天综合中文字幕 91| 久久久久ab| 99自拍视频在线观看| 免费国产电影一区二区| 素人伊尹大香蕉免费下载视频| 91视频国品一二三区| 日韩国产欧美伦理在线| 九热中文字幕| 久久风骚城市| 麻豆乱码久久精| 欧美成人性爱视频大全| 欧美一区二区三区互相| 99久久99九九99九九九| 久久综合久色欧美综合狠狠 | 久欲AV| 91撸色网 玖玖网 欧美| 综合五月天| 91快色色色色色| 欧美激情久操网| 骚日日av| 国产第二页| 国产性感骚丝袜在线| 91精品黄在线观看| 欧美日韩 强奸乱伦| 欧美精品久久96人妻无码| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 97超碰碰碰| 爆操无码| 激情网色| 脫衣舞一区二区三区| 国产精品内射婷婷一级二| 亚洲丨在线| 久久精品99| 天美传媒AV国产在线| 日韩一区二区熟女| 男人的天堂在线2| 区日韩亚洲乱码av电影| 人妻AV 中文字幕的| 亚洲欧美日韩综合在线尤物 | 97精品久久久久中文字幕| 亚洲丝袜B诱惑| 婷婷精品| 亚洲成熟国产精品美女| 久久久九九网站| 美女诱惑久久| 91亚洲综合在线| 国内外激情在线| 久久久久久九九九九九九| 老女人老91妇女老热女| 亚洲一区二区 麻豆传媒| 欧美一区二区三区大综合| 中文字幕一区二区三区人妻少妇在线| 天美传媒av 在线| 920日本午夜免费| 亚州伊人色综台| 骚货人妻偷情自拍在线视频| 五月激情在线| 亚州宗合另类| 欧美色图天堂网m| 97人人爱人人做人人乐| 人妻在线大香蕉| 91久久久老司机| 亚洲天天精品| 91欧美www| 69精品| 五月丁香激情四射| 中文字幕AV乱伦| 国产精品999zyz| 日韩成人性爱电影在线播放| 99热这里只有精| 国产精品白虎| 激情视频一二三| 亚洲91射| 一级二级在线观看| 亚洲 日本 国产 综合| 免费啪啪一级视频| 激情色播| 黄色高清久久无码依人| 精品欧美日韩在线观看| 91 丝袜在线播放| 亚洲AV成人无码一二三久久| 激情国产乱伦Av| 99性视频| 亚洲欧洲日产国产综合网| 久久9精品网站| 欧姜老司机| 色色网91| 95人妻爽爽人人做人人澡| 97超碰天天| 日日AAvv| 翔田千里爆乳巨臀无码| 日韩成人大片一区二区| 顶级少妇BT天堂| 天天影视之亚洲综合网| 热思思免费视频| 97摸视频| 久久久111| 日日超碰亚洲| 国产亚洲色婷婷久久99精品91葵花宝典| 色色国产| 中文字幕欧美日本乱码一线二线| 综合久久97| 久久亚洲精品成人av| 北京专精特新企业招聘信息| 欧美黑人日韩少妇色情| 内射老妇BBWX0C0CK| 97综合在线| 国产乱子伦一区二区三区免看| 超碰97欧美| AV一二区| 加勒比无码毛片| 亚洲一区二区久久久久| 少妇蜜汁| 九九九九九九九九九国产精品| 天天操天天干一区二区 | 欧美视频一区二区在线| 国产黄色动态精品| 亚洲天堂男人天堂网| 亚洲成人性爱在线观看| 北条麻妃性愛视频| 久草精品国产99| 国产欧美第五页| 黑人精品欧美一区二区蜜桃| 亚洲欧洲精品视频发布| 欧美夜色| 樱花蜜乳av| 色婷婷在线视频精品导航| 伊人网高清| 超碰在线国产| 美女好片色日本| 国产精品久久伊人| 久久久久国产精品人妻aⅴ天堂| 无码免费在线观看黄色片| 色狠狠综合噜一二三区| 欧美性爱第1 页| 67914亚洲精品| 亚洲黄色AV电影| 国产成人网址| 精品久| 日韩乱码Av| 91亚州| 97视频观看| 2024黄色视频| 91偷拍欧美亚洲| 超碰在线人妻中文字幕| 精品十三区| 久久东京伊人一本到鬼色| 欧美色日本| 岛国色情视频在线观看| 男人的天堂日本东京热| 丝袜美腿制服人妻二区中文字幕| 超碰97导航| 伊人色综合网电影| 9Ⅰ超碰| 夜夜夜久久| gogogo免费高清看中国国语| 国产偷人妻精品一区二区在线| 精品久久久久av影院| 久久一二三四五六七八九区| 99无码视频| 久久精品熟女亚洲AV麻豆软件| 久久av色| 蜜乳AV一区二区三区四| 美女性91| 极品内射| 久久亚洲精品成人av| 四虎在线视频| 爽爽爽免费视频| 综合久久六月久久婷婷| 亚洲图片欧美偷拍| 男人天堂久久日韩| 免费一级欧美片片线观看| 婷婷爽人人婷婷爽视频| 日韩成人午夜精品久久高潮| 无码av永久免费专区网站| 国产精选视频| 欧美一二三区四五区| 丝袜剧情| 青青草福利视频| 青青草字幕AV| 青青草中文-久久青草精品一区二区三 | 色九九久九九| 操学生天天| 色情综合| 日韩av不卡在线看| 偷拍盗拍亚洲色图图片 | 午夜乱轮操逼视频免费看| 一二区在线观看视频| 不卡九肏| 91狠狠色丁香婷婷综合久久精品| 不卡中文字幕aⅴ在线| 亚洲日韩97| 色情亚洲日本成人| 免费观看有码高清视频| 国产白嫩漂亮KTV在线| 97爱爱爱| 九久久精| 任你干在线视频| 日韩情色视频| 亚洲成人在线播放| 久久精品国产亚洲AV高级北京| 久久78| 久久久999国产精品| 91天射| 玖玖爱综合| 九九综合色| 久久久久国产一区二| WWW啪啪的com| 福利视频香蕉免费一区二区在线| 九九九九九九精品| 亚洲诱惑天堂 | 国产久久久9999| 五月婷婷激情综合| 亚洲午夜福利在线影院| 中文字幕一区二区三区四区在线视频| 男女国产精品| 亚洲女优有码无码高清| 精品无码产区一区二| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 撸无码不卡免费视频| 久久久成人精品| 久久精9| 超碰碰97| 九热大香蕉| 成人网欧美风情| 日韩伦理视频| 夜夜高潮夜夜爽高清视频一| 国产人妻精品久久久一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆 | 精品无码久久久| 口爆综合网| 亚洲综合春色| 无码91| 高清不卡一二三区视频......| 久久,精品一二三| 亚洲人妻一区二区三区| 色噜噜综合在线| 天美国产三级传媒| 在线女人91| 日韩少妇丰满亚洲| 男人的天堂欧美| baiduhicn.com。| 日韩久草| 青青草原成人| 亚洲黄色电影| 神马久久久久久| 亚洲日韩在线a不卡99精品| 成年人网站在线免费观看| 100啪啪视频大全| 欧亚成人| 婷婷视频网| 日本久久久久久久久| 嗯……啊…嗯嗯…啊…好舒服| 日韩三级在线观看mp4| 好舒服视频| 极品美女嘿咻| 一级性爱网| 日本成人免费一区二区三区| 在线一道啪| 性做久久久久久免费观看软件| 久久久久久久人妻| 五月婷婷hd| 国产精品色约约| 69精品| 亚洲国产婷婷在线播放| 狠狠操综合| 精品无码一区二区| 日本天天干天天日一区| av中亚| 丰满人妻无码一区二区三区| 婷婷五月天基地| 操操操操操操| 欧美日韩人妻精品一区二区三区| 中文字幕后石码三区四区| 懂色av色欲av蜜臀av| 激情第四色| 黄资源| 亚洲欧美日韩激情不卡| 久久久久久亚洲中文| 91超级碰碰| 国产精品久久久九九九| 东京热男人天堂| 乱伦3P视频| 久久综合乱子伦国产免费| 蜜桃精品一区二区三区久在线| 加勒比综合网| 粉嫩在线一区二区懂色| 综合 青草 伊久久 影院 综合| AV男人天堂网| 三男一女不戴套的A片| 国产成人无码网站在线视频| 嗯嗯啊啊用力视频免费| 久久三区四区| 国语国产操逼伊人AV网| 不卡码视频| 国产激情在线| 蜜乳性色无码专日粉嫩骚逼AV| 观看免费区二区三区二| 综合色欧美| 国产女人91精品嗷嗷嗷嗷| 五月天久久婷婷亚洲 | 中文人妻av高清一区| 玖玖综合.com| 东京热,男人的天堂| 国产第25页在线观看| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 在线观看岛国有码| 人人澡综合涩| 日本操逼视频在线| 又黄又爽在线观看视频| 上床啊啊啊| 免費黃色視頻觀看一| 91丝袜熟女| 岛国A V在线免费看| 北京专精特新企业招聘信息| 日本精品一区二区不卡| 国产免费一区在线观看| 欧美综合狠| 欧日a| 97超色| 青娱乐久久艹| 久久久精品久久| 干日本人少妇午夜寂寞影院| 免费网色网站| 黄色AAAAAAAAAAA大片| 神马久久69| 免费啪啪av| 蜜臀久久在线视频| 精品人体无圣光凹凸| 人人超碰在线观看黄| 黄色视频60分钟| 97超碰资源网| 中国国产精品一区视频| 91女优在线观看 | 亚洲图片欧美在线视频| 操久久久久| 亚洲麻豆精品二区三区| 午夜αv| 亚洲男人天堂2012| 操逼天美3区| 试看60秒| 婷婷丁香五月激情啪啪| 人妻丝袜一区二区三区在线| 91爱综合| 欧美自拍偷拍综合图片| 国产人妻一区二区三区欧美毛片| 日韩熟女乱伦中出| 久久人妻少妇| 九月丁香婷婷| 精品国产一区探花在线观看| 色盈盈影院| 日韩欧美中文日韩欧美色| 激情婷婷丁香网| 黑丝少妇在线观看| 国内精品久久人妻性色av| 好爽免费视频,| 色五月首页| 亚欧无码线免费观看视频| 在线观看视频91| 丁香九月激情啪| 精品人妻一二三| 男人的亚洲天堂| 97综合在线| 在线日韩日本亚洲国产| 福利在线视频一区二区| 大香蕉520| 日韩精品字幕| 中文字幕av片| 97干色天堂| 国产一区二区欧美日本| 日本精品五区| 丝袜色综合| 91天天日| 日亚韩精品视频二区三| 国产精品免费久久久久久久久久| 超碰久久精品| 久久一二区四| 大香蕉乱伦视频网| 国产男女边吃边摸视频网站| 精品一区二区三区蜜桃| 日本999精品| 色丁香五月婷婷| 国产精品999zyz| 思思热一热婷婷热一热| 涩爱AV在线| 91超级碰| 欧美精品99久久久**| 色五月AV| 人妻激情视频| 秋霞福利网| 玖玖蜜臀资源网| 日韩一区二区精品视频| 探花熟女,姿勢到位,體驗感也到位| 97在线看| 天天影视91看看| 亚州中文字幕超碰97| 日韩97视频!在线| 久久久五月天| 亚洲色图殴美色图激情乱伦| 国产三级在线现体验区| 99久久99久久免费精品蜜臀| 亚洲欧美激情小说| 91丝袜在线视频| 蜜桃久久久久久| 夜夜爽爽爽| 亚洲啪啪性视频| 狠狠色狠狠色狠狠五月| www.亚洲黄色| 日韩性爱一级片| 欧美少妇人妻| 天堂成人网| 欧美,日韩,中文,另类| 夜夜 中文视频rt| 亚洲国产一级中文综合久久天堂在线免费观看 | 天天操天天射天天日| 成人性爱免费播放| 久久伊人最新网址视频| 久久久久久久97| 99999re| 久久 精品| 狠狠爱夜夜| 久久在肏| 97视频免费播放| 粉嫩AV一区二区夜夜| 男同专区一区二区三区在线| 国产精品一区二区三区在线| 男人的天堂久久| 黑人在线91| 九九九不卡| 国产精品白丝www| 亚洲综合色图欧美| 亚洲一区二区av| 精品天堂| 日韩射精| 2024黄色视频| 桃花色综合影院| 亚洲精品乱码线路中文字幕| 在线播放一级无码视频| 国产精品干干干| 亚洲图片欧洲图片aⅴ| 免费中文在线| 91色色色| 91大胆欧美| 日韩av熟女一区二区三区成人| 性色高清在线| 亚洲 另类 丝袜 自拍 动漫| 日韩八十路老熟女| 97超碰伊人| 麻豆天美一区二区| 韩美日操逼| 亚洲精品无码久久AV| 中字乱伦AV| 久久国产精品一级二级三级| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | CCYY草草影院地址入口| 日韩乱伦AⅤ| 婷婷色中文字幕| 91女人的网站| 久久久久9| 2017,超碰| 亚洲婷婷综合网| 91快色色色色色| 很很干很很操| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 国产版a级片直播在线| 熟女人妻av在线资源,黄色的资源| 久9久| Julia Annxxxxx| 亚洲综合九九| 911av网站免费观看| 五月婷婷激情| 青青欧洲黑| 欧美色图亚洲色| 亚洲国产婷婷在线播放| www.激情| 超碰97在线中文| 另类图片天天影视| 亚洲欧洲精品视频发布| 九九毛片这里只有精品| 日韩亚洲97| 天天影视色香欲综合网小说| 天天干夜夜一操| 九九久久久九九| 欧美日韩国产色五月综合在线| 东京热男人的天堂| 欧美精品1区2区3区| 精产国品一区二三产品| 不卡视频一区蜜桃视频| 韩日性爱av| 国产女人高潮视频| 青青草华人在线欧美在线| 日韩偷拍一区二区三区| 深爱激情五月天| 激情久久日韩精品中文字幕麻豆| 精品久久久av无码免费| 九九热九九| 日韩精品大香蕉伊人在线| 午夜性刺激视频免费观看| 动漫爆乳3D奶水一区在线观看 | 色天使亚洲综合在线观看| 丁香五月AV| 99最新日韩偷拍视频| 俄罗斯一区二区视频在线观看| 中文字幕五区| 亚州色图欧美色图| 精品一区二区综合熟妇| 好爽,再快点啊哈嗯嗯嗯嗯| 亚洲欧美综合网| 国产精品自在自拍视频| 亚洲少妇在线影音| 伊人国产成人av网站| 丁香六月婷婷综合| 成人区人妻精品一| 欧美日韩国内不卡| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 大香蕉专区| 欧美人妻色| 日本人妻中文字幕 | 大香蕉中文| 大香蕉免费中文| 精品国产a∨一区天美传媒| 国产乱码精品一区二区三区四川| 久久啊啊啊视频| 国产一级特黄大片处女| 欧洲精品一区二区三区| 少妇高潮流水av免费| 欧美精品91| 欧美日韩性爱电影在线| 操b网站亚洲无码| 精品国产无码中文| 日本东京热大香蕉a片| 欧美综合娱乐久久| 亚洲综合射| 国产精品免费美女视频| 加勒比色综合| 亚欧国产无码精品在线| 桑老女人九区| 婷婷五月成人| 91丨人妻丨国产丨丝袜| 91色鬼| gogogo免费高清看中国国语| 欧日韩在线观看| 青草青草久热| 欧美激情 亚洲色图| 激情第四色| 精品久久久久久中文字幕视频免费| 97人肏| 国产第12页| 青草视频人妻在线观看| 欧美精品1区2区3区| 少妇天堂| 国产夜夜艹| 日韩色| 夜夜夜夜久久久久| 男女打扑克高清网站| 亚洲乱色熟女一区| 精品一区99999| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | CCYY草草影院地址入口| 亚洲熟久久| 一区在线观看中文字幕| 久久91| 久久草视频污视频| 国内三级自拍小视频在线观看| 日日爱99| 性性欧美| 超碰在线国产| 人人干人人操人人爱| 免费草草草草草视频| 人妻少妇精品一区二区三区| 国产美女自拍AV| 精品女同一区| 99精品丰满人妻无| aaaa少妇高潮大片| 欧美色欧美| 超碰在线第一页| 理论久久婷婷网 8| 萌白酱自拍视频| 天美传媒婬乱在| 色拍偷亚洲| 国产天美欧美| 被体育老师抱着c到高潮| 中国一级αV| 春色综合免费| 青青草黑寡妇男人天堂| 乱伦熟女区| 国产精品99精品视频网站| 中文字幕免费在线观看| 蜜臀人妻少妇久久在线观看| 国产18精品亚洲精品| 欧美gv在线观看| 欧美色另类| 欧美激色| 快点操死我| 国产刺激视频| 欧美系列在线一区二区| 国产精品人妻免费精品| 久久宗合97| 欧美综合网1| 欧美久久婷| 色综合天天| 777奇米影视777四色| 欧美激情性爱视频网站| 91黑人狂躁丰满熟妇| 人妻少妇被猛烈进入中| 亚洲欧美第一页| 后入综合久久| a片亚洲一本通视频| 日韩/97| 夜夜嗨AV一区天天| 99日韩| 家庭乱伦网站国产| 1人人看人人摸人人操| 国产精品久久久| 97超碰欧美手机| 蜜桃香蕉久草精品在线| 欧美玖玖爱免费玖玖| 国产超碰在线一区| 超碰激情808| 爽爽歪在线视频| 午夜天堂精品久久久久91| 免费视频a级毛片免费视频| 深夜国产一区二区三区在线看| 天天激情综合站| 色综合一本| 爱爱啊啊啊| 国产一区在线看| 欧美美女视频| 日韩欧美女求操每天更新| 久久久久久久久9| 亚洲做性| 男人的天堂com| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 成人性爱高清视频免费看| 搡老女人老妇女AAA一VU麻豆| 成人26uuu| 1769国内精品视频| 岛国1区2区3区在线观看| 黑人精品XXX一区一二区| 国产丝袜美女在线一区| 国产v片在线免费观看| 极品综合| 377p欧洲日本亚洲大胆| 亚州操逼图| 国产又大又硬又长又粗| 操婷婷逼|