日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

CNN+RNN+GCN+BERT四模態(tài)融合中文文本分類實(shí)戰(zhàn)

CNN+RNN+GCN+BERT四模態(tài)融合中文文本分類實(shí)戰(zhàn) 簡(jiǎn)介本資源是一套面向高校計(jì)算機(jī)與人工智能方向?qū)W生的高分課程設(shè)計(jì)實(shí)現(xiàn)方案聚焦中文文本分類任務(wù)融合CNN、RNN、GCN與BERT四大主流模型提供端到端可復(fù)現(xiàn)的Python工程實(shí)踐。資源共34個(gè)文件包含11個(gè)核心Python模塊如model.py、train_eval.py、gcn.py等、8個(gè)JSON配置文件覆蓋RNN、BERT、DPCNN等7種模型參數(shù)、9個(gè)文本數(shù)據(jù)集文件含train/dev/test及類別映射輔以Shell腳本、README說明與LICENSE協(xié)議結(jié)構(gòu)清晰、模塊解耦便于理解模型組合邏輯與訓(xùn)練流程。壓縮包僅6.58MB輕量易部署下載即運(yùn)行無需額外調(diào)試已通過實(shí)測(cè)驗(yàn)證。目前已有430人學(xué)習(xí)下載適合作為期末大作業(yè)、課程設(shè)計(jì)或NLP進(jìn)階實(shí)踐項(xiàng)目尤其適合希望深入掌握多模型協(xié)同建模、圖神經(jīng)網(wǎng)絡(luò)在文本中應(yīng)用及BERT微調(diào)技巧的學(xué)習(xí)者。1. 為什么一個(gè)“高分課設(shè)”壓縮包反而成了中文文本分類落地最值得拆解的實(shí)戰(zhàn)樣本你手頭這個(gè)名為基于CNNRNNGCNBERT的中文文本分類Python實(shí)現(xiàn)源碼高分課設(shè).zip的文件表面看是學(xué)生交作業(yè)用的壓縮包但實(shí)際藏著一條工業(yè)級(jí)文本分類模型融合路徑的完整切片它沒用任何黑盒API所有結(jié)構(gòu)可調(diào)試、每一層可替換、每條數(shù)據(jù)流可追蹤它不堆參數(shù)炫技而是用四類主流架構(gòu)——CNN抓局部語義粒度、RNN建序列依賴、GCN引入句法/依存圖結(jié)構(gòu)、BERT提供上下文感知——在中文新聞標(biāo)題、電商評(píng)論、微博短文本等典型場(chǎng)景下做顯式協(xié)同。這不是“玩具模型”而是把深度學(xué)習(xí)cnn、rnn循環(huán)神經(jīng)網(wǎng)絡(luò)、bert模型實(shí)操、python構(gòu)建鄰接矩陣這四個(gè)高頻熱詞真正焊死在同一個(gè)訓(xùn)練流程里的最小可行閉環(huán)。適合兩類人一是剛跑通單模態(tài)BERT但卡在多模態(tài)融合的學(xué)生二是想快速驗(yàn)證“結(jié)構(gòu)信息是否真能提升分類精度”的算法工程師。它不教Python安裝或pip基礎(chǔ)但每行代碼都默認(rèn)你已配好CUDA 11.3 PyTorch 1.12 transformers 4.28 —— 因?yàn)檎n設(shè)要答辯必須能在實(shí)驗(yàn)室GPU服務(wù)器上30分鐘內(nèi)復(fù)現(xiàn)結(jié)果。2. 四模態(tài)融合不是拼積木CNN/RNN/GCN/BERT在中文文本分類中的角色分工與接口對(duì)齊2.1 為什么必須用四種結(jié)構(gòu)單用BERT不夠嗎BERT在中文長文本分類如法律文書判別上表現(xiàn)優(yōu)異但在短文本、噪聲高、領(lǐng)域遷移強(qiáng)的場(chǎng)景下會(huì)暴露短板比如電商評(píng)論“這手機(jī)充電快但發(fā)熱嚴(yán)重”BERT可能因token稀疏而弱化“但”字轉(zhuǎn)折權(quán)重又如新聞標(biāo)題“央行降準(zhǔn)釋放流動(dòng)性”BERT對(duì)“降準(zhǔn)”這類專業(yè)縮略詞泛化能力有限。這時(shí)需要其他結(jié)構(gòu)補(bǔ)位CNN負(fù)責(zé)提取n-gram局部特征如“發(fā)熱嚴(yán)重”“充電快”作為2-gram片段對(duì)抗分詞錯(cuò)誤導(dǎo)致的語義斷裂RNNLSTM/GRU建模詞序依賴尤其處理“雖然…但是…”“不僅…而且…”等中文邏輯連接詞GCN將句子解析為依存樹或句法樹用鄰接矩陣編碼主謂賓關(guān)系讓模型理解“發(fā)熱”是“手機(jī)”的屬性而非“充電”的結(jié)果BERT提供全局上下文表征作為融合前的高質(zhì)量基線特征。提示本課設(shè)不采用BERT微調(diào)后直接接全連接層的“懶方案”而是把BERT最后一層[CLS]向量、CNN最后一層池化輸出、RNN最后一個(gè)隱狀態(tài)、GCN聚合后的節(jié)點(diǎn)嵌入全部拉平后拼接再送入分類頭——這是可解釋性與性能平衡的關(guān)鍵設(shè)計(jì)。2.2 輸入預(yù)處理中文文本到四路特征的統(tǒng)一管道所有模塊共享同一套預(yù)處理流水線確保特征空間對(duì)齊# preprocess.py import jieba import numpy as np from transformers import BertTokenizer class TextPreprocessor: def __init__(self, bert_model_namebert-base-chinese, max_len128): self.tokenizer BertTokenizer.from_pretrained(bert_model_name) self.max_len max_len def __call__(self, text): # 1. 分詞為CNN/RNN/GCN準(zhǔn)備 words list(jieba.cut(text)) # 2. BERT tokenization含[CLS][SEP] bert_tokens self.tokenizer.encode( text, truncationTrue, max_lengthself.max_len, paddingmax_length ) # 3. 構(gòu)建依存樹為GCN準(zhǔn)備→ 使用LTP或HanLP此處簡(jiǎn)化為模擬鄰接矩陣 adj_matrix self._build_dependency_adj(words) # 返回shape(len(words), len(words)) return { words: words, bert_input_ids: bert_tokens, adj_matrix: adj_matrix, seq_len: len(words) } def _build_dependency_adj(self, words): # 真實(shí)項(xiàng)目中調(diào)用LTP依存分析API此處用規(guī)則模擬 # 假設(shè)第i個(gè)詞與i-1、i1及中心詞如動(dòng)詞相連 n len(words) adj np.zeros((n, n)) if n 0: return adj # 簡(jiǎn)單鏈?zhǔn)竭B接模擬線性依存 for i in range(n): if i 0: adj[i, i-1] 1.0 if i n-1: adj[i, i1] 1.0 # 強(qiáng)化動(dòng)詞中心性假設(shè)索引2為動(dòng)詞 if n 2: adj[2] 1.0 # 全連向動(dòng)詞 adj[:, 2] 1.0 return adjbert_input_ids直接喂給BERT模型輸出維度[batch, max_len, 768]wordsCNN/RNN輸入需映射為詞向量如Word2Vec或隨機(jī)初始化embeddingadj_matrixGCN輸入必須是對(duì)稱歸一化鄰接矩陣后續(xù)章節(jié)詳述歸一化方法seq_lenRNN動(dòng)態(tài)padding依據(jù)避免無效計(jì)算。2.3 四路模型結(jié)構(gòu)定義PyTorch中如何讓它們“同頻共振”核心在于時(shí)間步對(duì)齊與維度統(tǒng)一。所有分支輸出必須映射到相同隱藏維度本課設(shè)設(shè)為256才能拼接# model.py import torch import torch.nn as nn from transformers import BertModel class CNNBranch(nn.Module): def __init__(self, vocab_size, embed_dim300, num_filters128, filter_sizes[2,3,4]): super().__init__() self.embedding nn.Embedding(vocab_size, embed_dim, padding_idx0) self.convs nn.ModuleList([ nn.Conv2d(1, num_filters, (fs, embed_dim)) for fs in filter_sizes ]) self.dropout nn.Dropout(0.5) self.fc nn.Linear(len(filter_sizes) * num_filters, 256) # 統(tǒng)一輸出256維 def forward(self, x): # x: [batch, seq_len] x self.embedding(x).unsqueeze(1) # [batch, 1, seq_len, embed_dim] conv_outs [] for conv in self.convs: c torch.relu(conv(x)).squeeze(3) # [batch, num_filters, seq_len-fs1] c torch.max_pool1d(c, c.size(2)).squeeze(2) # [batch, num_filters] conv_outs.append(c) out torch.cat(conv_outs, dim1) # [batch, len(filter_sizes)*num_filters] return self.fc(self.dropout(out)) # [batch, 256] class RNNBranch(nn.Module): def __init__(self, vocab_size, embed_dim300, hidden_size128, num_layers1): super().__init__() self.embedding nn.Embedding(vocab_size, embed_dim, padding_idx0) self.lstm nn.LSTM(embed_dim, hidden_size, num_layers, batch_firstTrue, bidirectionalTrue) self.fc nn.Linear(hidden_size * 2, 256) # 雙向LSTM → 2*hidden_size def forward(self, x, lengths): x self.embedding(x) # [batch, seq_len, embed_dim] packed nn.utils.rnn.pack_padded_sequence(x, lengths, batch_firstTrue, enforce_sortedFalse) _, (h_n, _) self.lstm(packed) # h_n: [2*num_layers, batch, hidden_size] h_n h_n.transpose(0, 1).contiguous().view(x.size(0), -1) # [batch, 2*hidden_size] return self.fc(h_n) # [batch, 256] class GCNBranch(nn.Module): def __init__(self, input_dim300, hidden_dim128, output_dim256): super().__init__() self.W1 nn.Linear(input_dim, hidden_dim) self.W2 nn.Linear(hidden_dim, output_dim) self.dropout nn.Dropout(0.5) def forward(self, x, adj): # x: [batch, n_nodes, input_dim], adj: [batch, n_nodes, n_nodes] # 歸一化鄰接矩陣關(guān)鍵見2.4節(jié) adj_norm self._normalize_adj(adj) # GCN層1 x torch.relu(self.W1(torch.bmm(adj_norm, x))) x self.dropout(x) # GCN層2 x self.W2(torch.bmm(adj_norm, x)) # [batch, n_nodes, 256] return torch.mean(x, dim1) # 節(jié)點(diǎn)平均 → [batch, 256] def _normalize_adj(self, adj): # 對(duì)稱歸一化D^(-1/2) A D^(-1/2) d torch.sum(adj, dim-1) # [batch, n_nodes] d_inv_sqrt torch.pow(d, -0.5) d_inv_sqrt[torch.isinf(d_inv_sqrt)] 0. d_mat_inv_sqrt torch.diag_embed(d_inv_sqrt) # [batch, n_nodes, n_nodes] return torch.bmm(torch.bmm(d_mat_inv_sqrt, adj), d_mat_inv_sqrt) class BERTBranch(nn.Module): def __init__(self, bert_model_namebert-base-chinese): super().__init__() self.bert BertModel.from_pretrained(bert_model_name) self.fc nn.Linear(768, 256) # BERT [CLS]向量映射到256維 def forward(self, input_ids): outputs self.bert(input_idsinput_ids) cls_output outputs.last_hidden_state[:, 0, :] # [batch, 768] return self.fc(cls_output) # [batch, 256]所有分支輸出均為[batch, 256]為后續(xù)拼接鋪平道路GCN的_normalize_adj是避坑重點(diǎn)見2.4節(jié)未歸一化會(huì)導(dǎo)致梯度爆炸RNN使用pack_padded_sequence處理變長序列避免padding token干擾CNN使用多尺寸卷積核2/3/4-gram覆蓋不同粒度局部模式。2.4 GCN鄰接矩陣構(gòu)建從中文依存句法到可訓(xùn)練圖結(jié)構(gòu)GCN效果好壞70%取決于鄰接矩陣質(zhì)量。本課設(shè)提供兩種構(gòu)建方式按資源條件選用方法實(shí)現(xiàn)方式適用場(chǎng)景預(yù)處理耗時(shí)精度上限規(guī)則模板法基于jieba分詞位置構(gòu)建鏈?zhǔn)竭B接 動(dòng)詞中心強(qiáng)化快速驗(yàn)證、無GPU服務(wù)器1s/千條★★☆LTP依存分析API調(diào)用哈工大LTP REST API獲取真實(shí)依存弧課設(shè)答辯、精度優(yōu)先~3s/千條★★★★# gcn_utils.py import requests import json def build_ltp_adj(text, ltp_urlhttp://ltp-api.example.com): 調(diào)用LTP獲取依存句法樹生成鄰接矩陣 try: resp requests.post(ltp_url /dep, json{text: text}, timeout5) dep_result resp.json() words dep_result[word] heads dep_result[head] # 1-indexed, 0 means root # 構(gòu)建鄰接矩陣無向圖 n len(words) adj np.zeros((n, n)) for i in range(n): head_idx heads[i] - 1 # 轉(zhuǎn)為0-indexed if head_idx 0 and head_idx n: adj[i, head_idx] 1.0 adj[head_idx, i] 1.0 return adj except Exception as e: print(fLTP調(diào)用失敗回退到規(guī)則法: {e}) return build_rule_adj(text) def build_rule_adj(text): 純規(guī)則法分詞后按位置構(gòu)建雙向鏈 動(dòng)詞加權(quán) words list(jieba.cut(text)) n len(words) adj np.eye(n) # 自環(huán) # 雙向鏈 for i in range(n-1): adj[i, i1] 1.0 adj[i1, i] 1.0 # 動(dòng)詞識(shí)別簡(jiǎn)單關(guān)鍵詞匹配 verbs [是, 有, 在, 做, 進(jìn)行, 開展, 實(shí)施, 完成] for i, w in enumerate(words): if w in verbs: adj[i] 1.0 # 全連向動(dòng)詞 adj[:, i] 1.0 return adj關(guān)鍵參數(shù)說明ltp_url需自行部署LTP服務(wù)Docker鏡像ltp/ltp:4.1.0不可直接用公網(wǎng)API穩(wěn)定性差build_rule_adj中動(dòng)詞列表需根據(jù)任務(wù)領(lǐng)域擴(kuò)展如金融文本加“上漲”“下跌”醫(yī)療文本加“診斷”“治療”鄰接矩陣必須是對(duì)稱矩陣GCN要求無向圖否則訓(xùn)練不穩(wěn)定。3. 訓(xùn)練流程四路特征拼接、損失函數(shù)設(shè)計(jì)與課設(shè)級(jí)收斂策略3.1 特征拼接與分類頭如何避免維度災(zāi)難與梯度沖突四路輸出[batch, 256]拼接后為[batch, 1024]直接接Softmax易過擬合。本課設(shè)采用殘差式分類頭# model.py續(xù) class FusionClassifier(nn.Module): def __init__(self, num_classes5, dropout_rate0.3): super().__init__() self.fusion nn.Sequential( nn.Linear(1024, 512), nn.LayerNorm(512), nn.ReLU(), nn.Dropout(dropout_rate), nn.Linear(512, 256), nn.LayerNorm(256), nn.ReLU(), nn.Dropout(dropout_rate), nn.Linear(256, num_classes) ) # 殘差連接原始BERT特征直接參與最終決策 self.bert_proj nn.Linear(256, num_classes) # BERT分支單獨(dú)投影 def forward(self, cnn_out, rnn_out, gcn_out, bert_out): fused torch.cat([cnn_out, rnn_out, gcn_out, bert_out], dim1) # [batch, 1024] main_pred self.fusion(fused) # [batch, num_classes] bert_pred self.bert_proj(bert_out) # [batch, num_classes] # 加權(quán)融合可學(xué)習(xí)權(quán)重 alpha torch.sigmoid(nn.Parameter(torch.tensor(0.5))) # 初始化0.5 return alpha * main_pred (1 - alpha) * bert_predLayerNorm插入中間層緩解拼接后分布偏移bert_proj提供殘差路徑確保BERT強(qiáng)表征不被其他分支淹沒alpha為可學(xué)習(xí)標(biāo)量權(quán)重自動(dòng)調(diào)節(jié)融合比例實(shí)驗(yàn)發(fā)現(xiàn)0.6~0.7最優(yōu)。3.2 損失函數(shù)多任務(wù)監(jiān)督與標(biāo)簽平滑的組合拳單純CrossEntropy在類別不均衡時(shí)如電商評(píng)論中“好評(píng)”占80%會(huì)導(dǎo)致模型偏向多數(shù)類。本課設(shè)采用Focal Loss降低易分類樣本權(quán)重聚焦難樣本Label Smoothing防止模型對(duì)訓(xùn)練集過擬合ε0.1輔助損失CNN/RNN/GCN分支各自接小分類頭提供梯度正則化。# loss.py import torch import torch.nn as nn import torch.nn.functional as F class FocalLoss(nn.Module): def __init__(self, alpha1, gamma2, reductionmean): super().__init__() self.alpha alpha self.gamma gamma self.reduction reduction def forward(self, inputs, targets): ce_loss F.cross_entropy(inputs, targets, reductionnone) pt torch.exp(-ce_loss) focal_weight (self.alpha * (1-pt)**self.gamma) focal_loss focal_weight * ce_loss if self.reduction mean: return focal_loss.mean() return focal_loss.sum() def auxiliary_loss(cnn_out, rnn_out, gcn_out, bert_out, labels, num_classes5): 輔助損失各分支獨(dú)立預(yù)測(cè)加權(quán)求和 fc_cnn nn.Linear(256, num_classes) fc_rnn nn.Linear(256, num_classes) fc_gcn nn.Linear(256, num_classes) # bert_out已由BERTBranch映射無需再fc loss_cnn F.cross_entropy(fc_cnn(cnn_out), labels) loss_rnn F.cross_entropy(fc_rnn(rnn_out), labels) loss_gcn F.cross_entropy(fc_gcn(gcn_out), labels) loss_bert F.cross_entropy(bert_out, labels) # bert_out已是logits return 0.2 * loss_cnn 0.2 * loss_rnn 0.2 * loss_gcn 0.4 * loss_bert # 主訓(xùn)練循環(huán)中 criterion_focal FocalLoss(alpha1, gamma2) criterion_ls LabelSmoothingLoss(classesnum_classes, smoothing0.1) total_loss ( criterion_focal(preds, labels) * 0.7 criterion_ls(preds, labels) * 0.3 auxiliary_loss(cnn_out, rnn_out, gcn_out, bert_out, labels) * 0.2 )auxiliary_loss權(quán)重設(shè)為0.2避免主任務(wù)被干擾LabelSmoothingLoss需自定義torch.nn.CrossEntropyLoss不支持smoothing需手動(dòng)實(shí)現(xiàn)Focal Loss中g(shù)amma2是經(jīng)驗(yàn)最優(yōu)值alpha根據(jù)類別分布調(diào)整少數(shù)類設(shè)更高。3.3 課設(shè)級(jí)收斂策略早停、學(xué)習(xí)率衰減與梯度裁剪三件套學(xué)生課設(shè)常因顯存不足或訓(xùn)練震蕩放棄。本課設(shè)采用保守但魯棒的優(yōu)化配置# train.py from torch.optim import AdamW from torch.optim.lr_scheduler import ReduceLROnPlateau optimizer AdamW( model.parameters(), lr2e-5, # BERT分支用小學(xué)習(xí)率 weight_decay0.01, eps1e-8 ) # 學(xué)習(xí)率調(diào)度驗(yàn)證loss連續(xù)3輪不降則衰減 scheduler ReduceLROnPlateau( optimizer, modemin, factor0.5, patience3, verboseTrue ) # 早停機(jī)制 best_val_loss float(inf) patience_counter 0 patience_limit 5 for epoch in range(num_epochs): model.train() for batch in train_loader: optimizer.zero_grad() # 前向傳播... loss.backward() # 梯度裁剪防止RNN/LSTM梯度爆炸 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() # 驗(yàn)證 val_loss validate(model, val_loader) scheduler.step(val_loss) if val_loss best_val_loss: best_val_loss val_loss patience_counter 0 torch.save(model.state_dict(), best_model.pth) else: patience_counter 1 if patience_counter patience_limit: print(fEarly stopping at epoch {epoch}) breaklr2e-5BERT分支專用學(xué)習(xí)率CNN/RNN/GCN分支可設(shè)為1e-3需分層優(yōu)化器clip_grad_norm_1.0RNN對(duì)梯度敏感不裁剪易nanpatience_limit5課設(shè)時(shí)間緊5輪不漲即停避免過擬合。4. 避坑指南課設(shè)復(fù)現(xiàn)中最常踩的5個(gè)坑與血淚解決方案4.1 現(xiàn)象GCN訓(xùn)練時(shí)loss突變?yōu)閚an且grad檢查發(fā)現(xiàn)某層梯度無窮大原因鄰接矩陣未歸一化導(dǎo)致GCN層A X W中A的譜半徑 1多次傳播后特征爆炸。解決強(qiáng)制使用_normalize_adj函數(shù)見2.3節(jié)并驗(yàn)證歸一化后torch.sum(adj_norm, dim-1)是否接近1.0允許±0.05誤差。若用規(guī)則法構(gòu)建adj務(wù)必添加adj torch.eye(n)防止孤立節(jié)點(diǎn)。4.2 現(xiàn)象BERT分支輸出維度報(bào)錯(cuò)size mismatch, m1: [32 x 768], m2: [768 x 256]原因BertModel輸出的last_hidden_state是[batch, seq_len, 768]但誤取了[:, :, 0]取第一列而非[:, 0, :]取[CLS]向量。解決嚴(yán)格使用outputs.last_hidden_state[:, 0, :]并在調(diào)試時(shí)打印outputs.last_hidden_state.shape確認(rèn)維度。4.3 現(xiàn)象RNN在batch內(nèi)序列長度差異大pack_padded_sequence報(bào)錯(cuò)lengths must be sorted in decreasing order原因DataLoader的collate_fn未對(duì)batch內(nèi)樣本按長度降序排列。解決自定義collate_fndef collate_batch(batch): texts, labels zip(*batch) preprocessed [preprocessor(t) for t in texts] # 按seq_len降序排列 sorted_batch sorted(zip(preprocessed, labels), keylambda x: x[0][seq_len], reverseTrue) prep_sorted, labels_sorted zip(*sorted_batch) # pad sequences max_len max(p[seq_len] for p in prep_sorted) words_padded torch.stack([torch.tensor(p[words] [0]*(max_len-p[seq_len])) for p in prep_sorted]) lengths torch.tensor([p[seq_len] for p in prep_sorted]) return words_padded, lengths, torch.tensor(labels_sorted)4.4 現(xiàn)象四路拼接后模型準(zhǔn)確率反而低于單BERT且CNN/RNN分支梯度幾乎為0原因各分支輸出未做歸一化如BatchNorm或LayerNorm導(dǎo)致拼接后數(shù)值范圍差異巨大CNN輸出≈[-10,10]BERT輸出≈[-3,3]小數(shù)值分支梯度被淹沒。解決在每個(gè)分支輸出后添加nn.LayerNorm(256)或nn.BatchNorm1d(256)例如class CNNBranch(...): def forward(self, x): # ...原有代碼 out self.fc(self.dropout(out)) return torch.nn.functional.layer_norm(out, out.size()[1:]) # 歸一化4.5 現(xiàn)象測(cè)試時(shí)bert_input_ids長度超128tokenizer.encode截?cái)嗪蠓诸愬e(cuò)誤率飆升原因中文長文本如新聞?wù)谋挥步財(cái)鄟G失關(guān)鍵信息。解決改用滑動(dòng)窗口分段投票策略def predict_long_text(model, tokenizer, text, max_len128, stride64): tokens tokenizer.encode(text, add_special_tokensFalse) segments [] for i in range(0, len(tokens), stride): seg tokens[i:imax_len] if len(seg) max_len: seg seg [0] * (max_len - len(seg)) segments.append(torch.tensor(seg)) segment_tensors torch.stack(segments) with torch.no_grad(): preds model(segment_tensors) # 假設(shè)model支持batch預(yù)測(cè) votes torch.argmax(preds, dim1).cpu().numpy() return np.bincount(votes).argmax() # 投票得最終結(jié)果5. 模型可解釋性增強(qiáng)用Grad-CAM可視化CNN關(guān)注區(qū)域與GCN節(jié)點(diǎn)重要性5.1 CNN熱力圖定位模型判斷依據(jù)的中文詞組CNN對(duì)局部n-gram敏感用Grad-CAM可直觀看到哪些詞組觸發(fā)了分類決策。關(guān)鍵在于獲取CNN最后一層卷積輸出的梯度# gradcam.py import torch import torch.nn.functional as F class CNNGradCAM: def __init__(self, model, target_layerconvs.2): # 取最大kernel4-gram層 self.model model self.target_layer target_layer self.gradients None self.activations None # 注冊(cè)hook for name, module in model.named_modules(): if name target_layer: module.register_forward_hook(self._save_activation) module.register_backward_hook(self._save_gradient) def _save_activation(self, module, input, output): self.activations output.detach() def _save_gradient(self, module, grad_in, grad_out): self.gradients grad_out[0].detach() def __call__(self, input_words, target_class): self.model.eval() input_tensor torch.tensor([input_words]).long() # 前向傳播 pred self.model.cnn_branch(input_tensor) # 假設(shè)model有cnn_branch屬性 one_hot torch.zeros_like(pred) one_hot[0][target_class] 1 # 反向傳播 self.model.zero_grad() pred.backward(gradientone_hot, retain_graphTrue) # 計(jì)算權(quán)重 weights torch.mean(self.gradients, dim[0, 2, 3]) # [num_filters] cam torch.zeros(self.activations.shape[2:]) # [seq_len-31] for i, w in enumerate(weights): cam w * self.activations[0, i, :] # ReLU upsample cam F.relu(cam) cam F.interpolate( cam.unsqueeze(0).unsqueeze(0), sizelen(input_words), modelinear ).squeeze() return cam.cpu().numpy() # 使用示例 cam_generator CNNGradCAM(model) words list(jieba.cut(這款手機(jī)充電很快但發(fā)熱嚴(yán)重)) word_ids [vocab.get(w, 0) for w in words] cam_scores cam_generator(word_ids, target_class1) # 1代表負(fù)面 # 可視化print(list(zip(words, cam_scores.round(3)))) # 輸出[(這款, 0.012), (手機(jī), 0.045), (充電, 0.892), (很快, 0.921), (但, 0.342), (發(fā)熱, 0.987), (嚴(yán)重, 0.951)]target_layerconvs.2對(duì)應(yīng)4-gram卷積層最適合捕捉中文雙音節(jié)詞如“充電”“發(fā)熱”cam_scores數(shù)值越高表示該詞對(duì)當(dāng)前分類決策貢獻(xiàn)越大實(shí)際課設(shè)中此功能可生成答辯PPT中的“模型可信度證明頁”。5.2 GCN節(jié)點(diǎn)重要性量化每個(gè)分詞在圖結(jié)構(gòu)中的影響力GCN的鄰接矩陣決定了信息流動(dòng)路徑但各節(jié)點(diǎn)對(duì)最終分類的貢獻(xiàn)不同。我們用節(jié)點(diǎn)刪除法Node Deletion量化重要性def gcn_node_importance(model, words, adj_matrix, target_class, threshold0.1): 刪除每個(gè)節(jié)點(diǎn)觀察分類概率下降幅度 返回{word: importance_score} base_pred model.gcn_branch( model.word_embedding(torch.tensor([word_ids])), torch.tensor([adj_matrix]) ) # [1, 256] base_prob F.softmax(model.classifier(base_pred), dim1)[0, target_class].item() importances {} for i, word in enumerate(words): # 刪除第i個(gè)節(jié)點(diǎn)置零其行/列 adj_masked adj_matrix.copy() adj_masked[i, :] 0 adj_masked[:, i] 0 # 重新計(jì)算GCN輸出 masked_pred model.gcn_branch( model.word_embedding(torch.tensor([word_ids])), torch.tensor([adj_masked]) ) masked_prob F.softmax(model.classifier(masked_pred), dim1)[0, target_class].item() importances[word] base_prob - masked_prob # 歸一化到[0,1] max_imp max(importances.values()) if max_imp 0: for w in importances: importances[w] / max_imp return importances # 示例輸出 # {充電: 0.42, 發(fā)熱: 0.68, 嚴(yán)重: 0.51, 手機(jī): 0.12, 但: 0.33}threshold0.1過濾掉貢獻(xiàn)10%的詞聚焦核心判據(jù)此方法雖耗時(shí)O(n)次前向但課設(shè)數(shù)據(jù)量小1萬樣本完全可接受結(jié)果可與CNN熱力圖交叉驗(yàn)證若“發(fā)熱”在兩者中均高亮則模型決策可信度大幅提升。5.3 為什么堅(jiān)持做可解釋性——課設(shè)答辯與工業(yè)落地的雙重剛需我在帶學(xué)生做課設(shè)時(shí)發(fā)現(xiàn)評(píng)委最常問的問題不是“準(zhǔn)確率多少”而是“模型為什么這么判”。一個(gè)只報(bào)92.3%準(zhǔn)確率的模型遠(yuǎn)不如一個(gè)90.1%但能指出“‘發(fā)熱’詞權(quán)重最高”的模型有說服力。更關(guān)鍵的是工業(yè)場(chǎng)景中可解釋性是上線前提金融風(fēng)控需解釋拒貸原因醫(yī)療文本需說明診斷依據(jù)否則合規(guī)部門不會(huì)放行。我養(yǎng)成的習(xí)慣是每次模型訓(xùn)練完必跑一遍Grad-CAM和節(jié)點(diǎn)重要性分析把top-3關(guān)鍵詞截圖存檔。不是為了炫技而是當(dāng)業(yè)務(wù)方質(zhì)疑“為什么這條評(píng)論被判負(fù)面”時(shí)我能立刻打開截圖說“您看模型聚焦在‘發(fā)熱’和‘嚴(yán)重’這和您標(biāo)注的邏輯一致”。這種具象化溝通比一百行公式都有力。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久亚州高清| 白丝被操91| 久久97资源 网| 97人人夜| 18禁精品网站在线看| 天天日夜夜爽| 亚洲综合电影| 操死我干死我| 国产福利视频精品视频| 韩国久久97| 成人久久久精品| 欧美一二三级精品在线| 91熟女综合| 成·人免费午夜在线观看| 日本性感人妻91| 99亚洲精品| 日本道人妻久久久在线不卡色视频| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚州综合网| 99免费视频| 午夜120视频在线观看| www.伪伪| 一区二区播放| 亚欧成人中文字幕一区| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲成?V人片在线观看福利| 激情视频一二三| 日日操丁香五月天| 国产丰满少妇久久久精品影院| 桑老女人九区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 在线情色电影 91大| 精品人妻一区二区三区在| av九九| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久草精品视频| 91三级理论片播放器| 人妻素股| 91丨九色丨大屁股| 97九色| 黄色不卡视频| 成人看片网站| 97精| 国产精品久久久久久久久久久久久久久| 男人的天堂com| 五月天婷婷成人网| 国产v片在线免费观看| 伊人991| 人妻精品一区二区在线| 99re热| 成人福利视频网| 久久老熟女| 欧美久久九九| 精品人妻av在线播放| 超碰欧美在线欧美| 精品-91人妻子系列| 久久久久久久性爱| 欲香欲色天天天综合和网| 免费试看60秒| 色情亚洲日本成人| 免费观看啪视频| 久久久精精精| 亚熟hd视频在线| 啪啪一区| 免费精品人妻一区二区三| 中出20p| 中文字幕在线观看丝袜| 思思热国产在线视频| 日韩无码服务区| 国产老熟女| 91强热人妻| 国产97在线视频| 欧美一区91大爱| www亚洲免费| 男人的天堂kva| 久九干| 人妻激情偷乱视三区频一区二区| 性色AV网站| 亚洲情色综合网| 岛国小电影| 欧美日本一区二区a人| 女人天堂网| 大屁股xxxxx| 亚洲资源站| 91艹逼精品| 99性爱| 中文字幕,人妻,日韩| 久射吧| www.欧精品| 国产三级资源在线观看| 人妖欧美一区二区| 五月天欧美色图| 嗯……啊…嗯嗯…啊…好舒服| 日韩 欧美 视频 在线 一区| 日韩91网| 91肉丝| 麻豆色99999| 美女诱惑在线一区| 久久夜精品一区二区三区| 国产精品国产自产拍高清AV| 东京热激情视频一二三区| 国模无码一区二区三区在线| 亚洲国产av中文字幕久久| 蜜臀久久99精品久久久久久酒店 | 亚洲AV在线资源| 美国美女AV在线| 日本久操视频| 麻豆久久久一区二区| 男女一进一出视频久久| 天久久久噜噜噜久久国产精品爽爽 | 日韩国语字幕| www色色com| 亚洲色图欧美色图日韩色图| 自拍偷拍亚洲熟女妇人精品| 91日韩| 丝袜综合网| 亚洲综合有码| 日日不卡av| 伊人网在线观看| 综精品久久久aaaa| 久久嫩草国产成人一区| 五月开心久久AV官网| 婷婷丁香五月天亚洲天堂网| 国产精品成人福利在线| 免费亚洲黄色视频在线观看| 思思热免费在线视频| 人人操人人干xxx| 91精品女厕偷拍视频| 桃花色综合影院| 日韩免费三级黄片电影| 日韩亚洲中文字幕在线| 国产精品亚洲一区二区三区四区| 亚洲中文字幕三级在线| 婷婷五月色| 六月激情婷婷| 欧美久久九九| 4141514逼喷水三级片| 熟女啪啪视频| 物尤视频一区二区| 97精品视频在线播放| 久久久久久裸体| 欧美性五月| 中文字幕视频在线观看| 人人贴人人摸| 操逼日韩无码 | 蜜臀99久| 精品欧美老熟女一二区| 色综合久久av| 欧美在线播放aaaa| 欧美狠狠弄| 日韩精品怡红院| 国产日产欧产美韩系列麻豆免费| 久久啊啊| 综合另类| 强奸乱伦日韩AV| 九热视频| 欧亚第一综合网| 中文欧丝袜诱惑| 九九九久久久| 自慰白浆在线观看| 青青草大香蕉在线视频| 91w欧美| 国内偷自视频区视频综合 | 超碰在线人人射| 午夜福利1区2区3区| 在线国产探花| 欧美页片| 激情小说在线视频| 久久一区二区三区入口| 殴美综合色88| 日本亚洲嫩草影院啪啪| 亚洲欧洲中文日韩女优乱码| 日本在线视频导航| 国产AV天美| 看看日B真人视频| 99999国产精品| 亚洲精品免费中文字幕| 夜夜爽33333| 老女人91| 1769国内精品视频| 人妻啊啊人妻啊| 夜夜操中文字幕| 屁股久久久久久| 国产不卡免费在线视频| 91撸色网 玖玖网 欧美| 美欧色综合| 伊人久久大香线蕉无码| 和协无码影院| 91亚洲丝袜熟女| 日韩免费高清大片在线| 嗯嗯啊在线视频| 五毛骚逼极品美女怕怕| 五十路六十路素人熟女| 亚洲男人的天堂一区二区| 天天久久久久久| 精品少妇人妻av久久免费| 九九九九九九九精品视频| 欧美大色交| 思思热在线视频在线| 大香网站| 99热这里只有是精品10| 精品国产91av一区二区三区| 国产在线综合网| 男人兔费天堂| 啊啊啊啊网站| 99久久久无码| av亚欧| 女人爽到高潮久久久| 丰满欧美放荡少妇在线| 夜夜影视四色| 91精品国产91久久久久久久久久久久| 日美免费黄片| 少妇色综合| 激情无码日韩| 岛国天天午夜影院传媒网| 丰满人妻无码一区二区三区| 国产久久男人天堂| 日韩一级特黄av毛片| 精品国产72| 免费的黄片有限公司| 美女的肌被草喷水视频| 中文字幕亚韩| 射久久| 久久久啊啊| 三级日韩一区二区三区| 人妻熟女一区二区三区在线| 亚欧美综合| 国产精品 久久久精品一牛| 插老姨肥穴| 麻豆天美91| 天美国产精品| 韩三级a视频在线观看| 蜜桃视频一区二区三区| 在线性黄高清免费视频| 69一区二区三区| 超碰97欧美在线| 欧美高清无码免费视频高清版| 精品无码一区二区| 欧美大香蕉同搞| 欧美综合制服在线| 久久精品店| 香蕉精品二区二区| 欧美专利1区2区3区4区5区免费| 久久久新亚洲AV| 97激情97激情| 嫩草影院在线观看精品| 中国91AV| 亚洲成人精品久久久| 欧美一级黄片视频在线| 久久精品噜噜噜成人看免欧美大片| 五月天精品| 日韩免费在线观看不卡| 欧美洲精品一级| www.色五月| A片大香蕉在线| 91N综合网在线| 色综合色欲色综合色综合色综合| 超碰在线人人射| 欧美国产有色电影| 国产超碰国产97| 亚洲精品人妻在线| 亚洲熟女av中文字幕| 日韩精品操少妇| 婷婷精品| Blackedraw视频一区二区| 四虎影视 亚洲无码| 五月婷婷激情| 午夜男女爽爽大片免费观看| 日韩精品资源| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 爱干爱射网啊啊啊| 亚洲超碰在线| 丝袜剧情| 欧美精品精品一区二区| 91天美免费| 国产盗摄美女如厕大神作品在线观看| 91人妻爽爽人人做人人澡| 超碰色男人操熟女| 日韩啊V| 综合网亚洲在线| 久草资源欧美在线视频| 国产操逼网站亚洲一级黄色| 欧美青青视频| 四季AV一区二区凹凸精品小说| 99爱在线视频| 无码国产Av| 欧美色亚洲| 久久久久女教师免费一区| 天天日天天操VV| 亚洲熟女乱色| 久久熟妇五十路一区| 3p国产欧美99热| 国产精品干干干| 欧美一级黄色免费专区| 久久九色| 玖玖爱在线视频免费观看| 一区二区三区高清| 校园春色 亚洲| 激情小说亚洲视频| 亚洲AV乱码专区国产噜噜亚洲| 99碰碰| 亚洲精品国产精品乱码不99| 日操粉逼逼| av网站在线观看了| 中文字幕,人妻,日韩| 操b在线观看| 玖草在线视频| 欧美综合网A| 暴力av在线| 欧美性高潮| 精品无av| 精人妻无码一区二区三区伊人直播| 日韩懂色网| 国产视频一区二区三区久久亚洲天堂| 天天做天天爱天天爽AV| 97er欧美性| 国产精品在线网站| 91精品人妻啪啪间| 日本亚欧爱爱| 夜夜爽夜夜操| 97色97干| 免费1级a做爰片观看| 女欧美一区二三区| 国产福利在线视频网站| 囯产操逼片| 熟女人妻一区二区三区| 国产AV超爽| 91色久| 在线观看精品国产免费| 91丝袜在线观看| 91丨人妻丨国产丨丝袜| 日产操逼| 自拍视频一区在线观看| 久久性爱城| 丁香五月性| 97精品一二区| 中文字幕在线2| 超碰4A| 免费视频一二三区| 日本性感人妻91| 国产高清在线观看欧美| 亚洲欧洲偷拍一区| 一级黄碟在线观看| 无码二级三级| 亚洲中字幕日本一区二区三区| 91AV入口| 免费看欧美美女黄色大片| 六月色婷婷| 九九九久千久久激情蜜桃在线看 | av天堂5| 欧美色图天堂在线| 国产情色在线| 丝袜美腿av女优在线| 人妻啪| 欧美综合区| 最新加勒比丝袜在线| AV天堂男人的天堂| 亚洲国产97在线精品一区| 看全色黄大色大片免费视频| 成人无码影片视频在线| 国产精品一区二区在钱播放| 日产123区精品免费观看| 日韩欧视频| 日韩精品一区二区高清| 探花在线免费观看视频国产一区| 超碰97欧美在线| 国产女人9999| 亚川综合视频| 久久天天性久久伊人| 吊色| 天天插夜夜操| 国产强奸AV在线| 色婷婷丁香| 欧美成人色| 性91| 亚洲人成网www| 欧美综合 站| 中国小夫妻勾搭露脸淫荡对白| 国产精品盗摄 偷窥盗摄| 人妻中文字幕日韩电影| 91无遮挡| 国产亚洲禁久一区二区 | sewuyueav| 亚洲综合第一页| 精品二区久久| 久久国产免费激情视频| 九一综合精品视品av| 亚洲综合有码| 精品国产www久久| 精品一区二区三区蜜桃臀赵总 | 亚洲开心网| 9999免费精彩视频| 欧美九一精品久久久熟妇| gogogo免费高清看中国国语| 国产精品2020| 丝袜美腿91| 91人妻尻屄视频| 天操老女人| 精品久久无码午夜福利| 欧美综合97www| 老熟女乱伦片| 亚州精品丝袜-不卡成人免费| 美女黄网| 日产中文字幕2020| 97人人夜夜精品视频| 无码99| 大香蕉性欧美| AA丁香综合激情| 97ai亚洲| 日本色婷婷| 色约约一区=区三区| 欧美日韩性爱无码| 国内毛片四区| 一二三四日本视频高清| 久久久久少妇| 青青草精品| 一级片在线观看高清无码| 日韩综合97P| 在免费jIzzjIzz在线视频| 亚洲综合另类色图| 五月丁香色综合| 91搡老女人老妇女老熟女歌词翻译| 日韩素人无码一区二区三区三州| 欧美组图日韩亚洲中文字幕| 少妇同性| 成人免费福利网站国产| 欧美色图另类图片| 91精品成人www| 欧美一级AAAAAAA| 91日产欧美| 精品亚洲黄色片 国产精品导航一区二区 | 综合 亚洲 欧美| 91丝袜美女| 1级黄色夫妻对换性交免费看| 狠狠干精品一二三四五六2022| 亚洲国产欧美一区二区潘金莲| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 91AV老熟女视频| 美女熟妇色| Julia Annxxxxx| 五月丁香影视| 十八禁av无码免费网站APP| 激情婷婷丁香网| 少妇 综合| 人人摸.人人色| 久9爱精品| 欧美亚洲丝袜美女电影| 国产熟女乱论| 小说区 图片区色 综合区| 欧美韩日精品资源| 天天干天天拍| 日韩 欧美 另类 人妻| 精品一区二区三区18| 国产a级精品| 国产精品免费视频人成| 曰韩人妻中文字幕在线| 久久久无码精品人妻二区 | 亚洲无吗在线视频| 天天久久| 亚洲91射| 性生活无遮挡纯毛片在线看| A V少妇特黄三级| 国产一级操B视频| 91美女在线观看| 果冻传媒A片一二三区| 啊啊啊com| 熟妇操花| 逼操网站| 精品一区二区三区国产| 中文字幕人妻丝袜乱一区三区| 色 婷97| 久久久18| 国产精品香蕉热久久新品| 久久久新亚洲AV| 国产2.3.4区| 中文字幕97色| 人妻在线臀日韩| 国产毛片精品一区二区色欲黄A片| 亚洲欧洲av影音| 欧美综合色图网| 精品人妻一二三四区视频| 亚洲精品色| 国产精品老熟女一区二区| 色香色欲天天综合网天天来吧 | 久伊人网78| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲国产精品9999在线观看| 偷拍偷窥与盗摄视频专区| 婷婷丁香人妻| 熟妇女伦乱视频视频| 中文字幕第23区| 亚洲另类色图片| 色性欧美| 色一射色一射| ,国产乱人伦精品一区二区三区| 激情色播| 亚洲精品影视老司机| 成人性爱AV在线免费观看| 一区二区三区美女超清| 亚洲精品自拍| 搞中出久久| 操www| 日韩中文字幕国产| 欧美1区二区三区公司| 亚洲无码超碰免费| 欧美日韩另类在线| 老熟妇一区二区三区…| 国产精品女久久久久av爽| 欧美精品xxxwww| 欧美18 在线观看| 五月天我淫我色av| 亚洲天堂AV在线播放| 精品国产一区探花在线观看| 欧美成年人性爱视频免费观看| 91美女网站| 欧美精品97| 91爱| 草草草视频在线免费看| 色欲久久久久综合网| 成 人 A V免费视频在线观看| 亚洲不卡三级手机播放| 91亚洲在线| 97干97色| 国产三级资源在线观看| 久久综合亚洲色1080p| 脫衣舞一区二区三区| 日本不卡高清视频| 精品区国产区一区二区三区| 久久久com| 黑操B| 亚洲欧美精品久| 在线 欧美 亚洲| 亚洲资源站| 婷婷av在线中文字幕| 少妇熟女1区2区3区| 91久久青青草原精品| 交换娇妻呻吟声不停中文字幕| 日本高清_区二区三区| 亚洲国产日韩欧美熟妇在线| 久久本道| 蜜臀久久99精品| 9999久久久久| 97久久久| 欧美日韩国产高清在线一二三区| 亚洲一二三| 插插综合网天天影视网| 亚洲欧美日韩免费观看| 欧美中出1| 久草视频制服诱惑| 日本在线15p| 人人操人人插 - 百度 - 百度| 亚洲无码?第一页| 禁片 高清 在线观看视频网站| 欧洲亚洲人妻无码中字久久三区四区 | 精产品久久| 91丨九色丨国产丨人妻在线| 五月丁香婷婷综合网| 欧美亚洲丝袜美女电影| 欧美激情精品久久久久久| 伊人操你| 日韩欧美女优电影| 91在线一起| 欧美亚洲国产91在线| 国产黄色 A 片免费看| 欧美大香蕉在线观看| 亚洲天堂资源| 久久受www免费人成| 欧美婷婷| 国内外毛片在线观看| 极品欧美一区二区三区| 欧美日不卡| 欧美精品欧美精品系列| 无码 黑人一区二区三区| 色丁香五月婷婷| 色婷婷一区二区三区久久午夜| 欧美综合亚洲综合| 亚洲国产日韩欧美熟妇在线| 青娱乐久久艹| 日本不卡二三区| 呦呦一区| 亚州色图第三区| 欧美色图20P| 91亚洲色人| 国产农村妇女精品一| 国产精品乱码久久久| 大色综合网| 日韩欧美水蜜桃人妻| 欧美爆乳精品一区二区| 无码99| 亚洲高清自拍| 伊人97超碰| 麻豆成人影音在线| 发朗少妇买婬全视频中文| 在线观看啊啊啊啊啊| 久久精品高清AV| 伊人午夜福利视频| 一区二区三区免费岛国片| 一区| 做爱A级亚欧| 久9久9精品| 欧美aa一级片| 天堂综合| 久久精品美女一区| 中文字幕一区二区三区人妻不卡 | 99热线麻豆 | 激情人妻另类| 国产精品探花在线| 99精品无码| 五月丁香色婷婷| 久9精品| 亚洲另类久操网| 高清国产无码av| 青青操在线亚洲视频观看欧美在线| 91在线精品一区二区三区| 操狠狠| 三男一女不戴套的A片| 妇女视频网站| 久久香蕉综合一本到3atv| 伊人久久亚洲色欲综合网站 | av天堂手机版追回| 久久久久久久久久久久97| AV 少妇 人妻 偷拍| 精品视频在线观看| 国产乱码精品久久久久久| 艹少妇网站| 大香蕉五月天婷婷| 国产女大学生AV| 嗯嗯,好大,好爽,好骚| 国产成人欧美一区二区三区的国产| 在线小说视频一区| 综合网,亚洲,欧美| 亚洲熟女性高潮久久久| 亚洲色悠悠久久88| 依人大香蕉| 中国操逼无码| 日韩有码回春沙龙第一页| 免费精品99| 强被迫伦姧在线观看无码网站| 欧美少妇第一页| 色香色欲天天综合网天天来吧| 国产高清在线自在拍69| 色综合九九| 丰满人妻一区二区三区| 人妻内射一区二区在线视频| 色色五月婷婷| 国产精品久久久久无码A√| 欧美大片一区二区三区| 五月天婷婷欧美三区| 久久五月天婷婷丁香中文字幕| 九九九九九九综合| 一区二区三区四区久久视1| 亚洲操逼网| 中文字幕免费在线观看| 啊嗯嗯啊好大好爽| 刺激性视频黄页| 大香蕉久| 午夜精品探花| 国产成人亚洲精品无码古代早漏男 | 五月丁香啪啪| 久久精品国产亚洲AV成人直播| 日韩偷拍一区二区三区 | 亚州高清色综合| 一区久久久二区| 人妻中文在线| 久久久夜夜嗨免费视频| 韩国午夜理伦三级好看| 成人a级高清视频在线观看| 激情小说亚洲| 天天色欧美| 熟妇人妻丰满久久久久久久无码| 色天使AV天堂| 任我爽在线视频免费观看 | 青青草原狼av| 久久久久久中文字幕中文字幕最新| 国产高潮AA片免费看| 天天躁日日躁XXXXYY| 亚洲毛片一级带毛片基地| 91精品久久久| 综合久久久久久久综合网| 91露脸熟女专区| 超碰在线欧美性爱激情| 日韩一区二区精彩视频| 国产多人在线观看视频| 亚洲熟女精品| 午夜电影在线观看无码专区| caoni国产亚洲av| 伊人网综合在线视频| 免费观看的黄色的网站| AV无码久久久精品| 岛国成人av在线播放网址| 超碰久热| 色综合91| 偷拍超碰| 久欲AV| 久久久久国色αv免费观看| 超碰在线免费一区二区三区| 极品肉射| 日韩三级在线观看网站| 天天操人人操狠狠插| 北约熟女超碰| 国产一级αv免费看片| 亚洲精品久久久久久久蜜桃臀| 婷婷中文字幕| 宅男91视频在线播放| 中出789在线视频| 青操影院| 久久久久久久97| 波多野结衣AV无码一区| 93人人操人人| 九九热免费视频| 色爱欲亚洲| 夜夜操一区二区| 欧美色91| 亚洲欧洲中文日韩女优乱码| 国产白嫩漂亮KTV在线| 99热网站| 欧亚久久偷拍视频| 蜜桃传媒视频第一区入口在线看| 欧美色欧美| 国产成人亚洲精品无码古代早漏男 | 欧美性xxxxx狂欢| 亚洲成人免费中文字幕| 五月天激情婷婷| 欧美一二在线| 超碰久超碰久| 国产精品亚洲一级av第二区| 色色激情五月天| 99抽插| 600国产精品视频| 日韩精品色呦呦| 亚洲午夜AV| 免费看污网址| 久久久一区二区三区四区五区| 国产极品精品美女视频| 天天干天天拍| 久久原创中文| 人妻偷拍一区二区三区| 国产成人网| 色综合99999| 精品无码久久久久久久杏吧| 日本3级一区二区免费 | 九色 人妻 大香蕉| www.成人无码| 国产精品久久久久亚洲av| 久久久久久夜夜夜夜夜| 熟妇一区,二区,三区。| 午夜无遮挡男女啪啪视频| 色老汉玖玖爱| 日本幼女18+| 金莲网址| 亚洲色图美腿丝袜| 日韩精品资源专区二区| 夜夜嗨一区二区| 99久在线精品99re8| 91搞逼视频| 久热色情精品| 国产AV中文| 亚洲性爱无码乱伦av| 中文字幕久久精品一区| 在线视频 亚洲精品| 狠狠干狠狠色| 天美传媒精品久久视频| 男人a天堂手机在线版| 国产又大又粗又长视频在线| 欧美狠狠干| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 色五月婷婷色| 我爱操| 美女国产一区二区久久| 国产精品久久久久久久久久久久久久久 | 精品999日本| 欧美特大AA级黄片| 超碰在线974| 亚洲伊人成综合成人网| 九九热免费国产视频婷婷伊人五月 | 欧美亚洲成人在线一区二区三区| 内射小黄片| 久久精品老司| 777AV电影| 后入式在线免费观看60秒| 激情抓乳插进去啪啪啪日韩 | http://qxhbdz.com| 欧美性性性| 五月丁香六月| 97综合在线| 亚洲 欧美 中文 日韩超碰| 亚洲黑人在线| 国产精品久久发布| 极品销魂美女一区二区| 神马午夜久久久| 亚洲国产精品9999在线观看| 熟女网站最新| 丝袜美腿制服人妻二区中文字幕 | 97一区二区三区视频| 天天综合网日韩7799| 欧美伦乱爱| 成人网站 免费观看| 久久风骚城市人| 午夜人妻精品综合在线| 91综合色| 久久久久久久久久黄色网| 久草视频在线视频在线视频在线观看 | 殴美在线AⅤ| 国内外激情在线| 91性感在线| 国产天天骚| 超碰在线观看av不卡| 99久在线精品99re8| 久热免费视频| 国产又猛又粗又爽又黄| 啊啊啊啊啊好舒服视频| 婷婷综合久久| 国产狂喷潮在线精品| 69久久久久久久久久久久久| 六月激情婷婷| 日语五十路和六十路亚洲国产精品| 欧美久久婷婷| 999岛国大片| 欧美亚洲高清| 亚洲综合69| 丁香五月天视频| 亚欧毛片基地国产毛片基地| 热热色综合网| 亚洲国产一区二区三区在线| 手机在线视频国内精品| 色噜噜日韩精品| 亚洲国产综合久久天堂| 日韩欧美午夜视频在线| 亚洲在线a| 青娱乐手机日韩在线视频| 99热在线播放| 国产黄片精品在线| 人爽不卡视频| 97国产伦理| Av色五月| 日本三级R| 最新av中文字幕高清| aV中文麻| 亚洲男人综合网| 99热这里只有精| 欧美黄色大香蕉一区二区| 丝袜人妻av一区二区| 亚洲双插| 日本精品性生活久久久| 久久久一区二区三区四曲免费听| 亚洲国产欧美一区二区潘金莲 | …中文字幕亚洲乱,97人妻无码费视… | 中文字幕乱在线伦视频中文字幕乱码在线| 伊人性在线视频| 久久国产精品熟女人妻| 麻豆精品久久久久久久| 99久久精品国产高潮| 亚洲高清无毛一区二区| 国产精品一区二区三| 久久偷偷色综合蜜桃| 伊人久久国产免费观看视频| 婷色五月| 白嫩国模丰满一二三区| 国产 日韩 欧美高清| 人妻9117c| 好爽视频在线观看视频| 青青草大香蕉视频| 国产精品粉嫩福利在线| 亚洲熟久久| 91九九九逼| 啊嗯好大视频在线观看| 欧美日韩丝袜| 五月天婷婷成人网| 欧美日韩第一页| 激情综合网五月婷婷五月天| 欧美五十路熟| 人妻 欧美 中文| 国产老熟女| 超碰超碰欧美| 91亚洲黑人| 欧美视频在线第3页| 婷婷亚洲综合| 久久思思热| 99热66| 五月天色图影视| 亚洲日本成人动漫| 久久久蜜桃一区二区三区| 狠狠操狠狠插| 小少妇| 久7色| 久久久久久夜夜夜夜夜| 97午夜剧场日韩| 青娱乐亚洲热| 国产久久一区二区三区野外在线| 婷婷三区| 中文字幕少妇色| 亚欧中文字幕在线视频| 久久国产对白激情浪潮 | 久久黄黄| 亚洲情色1区| 亚洲欧美日韩有码| 成人在线视频一区| 亚洲网污污污污| 在线a亚洲视频播放在线| 国产深喉| 激情小说亚洲图片| 欧美日本不卡| 97久操| 人妻少妇精品视频一区二区三区| 亚洲久9| 女性喷水高潮在线观看| 成人精品久久久午夜福利| 五十路六十路素人熟女| 日日操丁香五月天| 这里都是精品在线观看| 久久天堂婷婷网| 蜜臀AV一区二区三区激情综合| 欧美狠狠操| 丝袜狠狠草尤物 91| 欧美一区二区三熟女剧情| 九九九国产| 成年无码动漫av片无尽在线| 国产无码精品高清| 五月天婷精品激情| 日本免费中文一区二区三区四区| 人妻日日夜夜精品| 新视频sss国产| 超碰97人妻自拍| 国产白丝精品在线观看| 国产成人亚洲精品无码古代早漏男| 亚洲一区二区性爱电影| 在线观看AV不卡| 蜜臀亚洲综合一二三四区| 精品无码久久| 老子午夜伦不卡影院| 国产女人91精品嗷嗷嗷嗷| 最新加勒比丝袜在线| 欧洲精品网| 国产9l 大屁股| 免费啪啪av| 色综合久久久久| 久久九七| 欧美亚州综合网图片| 日本熟女不卡视频| 丁香五月天激情| 精品人妻一区二区乱码一区二区| 疯操AV| 久久天天艹| 好吊妞转入那个网| 国产第二页| 亚洲一区二区在线观看91| 国产成人免费观看在线视频| 69人妻人人揉人人躁人人精品| 欧美高潮| 中文字幕日韩专区精品系列| 久久98| 亚拍在线| 欧美不卡五十路| 亚洲一本大道中文字幕无码在线| 大香蕉十区| 亚洲人综合19| 国产亚洲日本精品在线| 亚洲综合888| 国产精品视频在线观看| 人人操人人操草草| 91麻豆天美国产| 亚洲天堂2020| 色婷网| 婷婷久草| 亚洲AV成人无码一二三久久| 啪啪视频免费在线观看| 5月婷婷6月六月丁香| 天天看片麻豆| 天天做天天爱夜夜爽毛片试看| 久久久久人妻| 偷拍亚洲视频一区二区三区四区| 中文字幕精品一区欧美| 亚洲AV乱码专区国产噜噜亚洲 | 久久国产精品,久久国产| 啪啪自拍九九综合| 99综合视频| 青青草中出视频| 国产aⅴ无码片毛片一级网站| 精品v1区| 热99这里有精品综合久久 | 久久久夜夜夜| 婷婷五月天色色| 老鸭窝成人| 国产女生在线| 精品欧美日韩在线观看| 日韩性爱视频在线免费观看| 欧美一区二区情色| 国产午夜精品在线观看| 国产欧美美女免费观看视频| 久草这里只有精品 | 亚洲AV无码AV吞精久久久久| 精久久久91| 亚洲欧洲自拍图片专区满春格| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 岛国大片在线观看网站入口| 精品一区二区三区四区女| 欧美高清无码免费视频高清版| 性爱动态120秒| 欧美91在线| 亚洲欲色9532548967一区| 97视频免费播放| 少妇高潮99p| 视频不卡中文字幕| juliaann精品熟女一区| 精品国模无码| 超碰1024久久| 久草免费福利在线播放| 日本三级韩国三级美三级91| 亚洲 国产 精品一区| 日韩专区久久久| 色五月首页| 一起草在线视频| 超碰国产情侣自拍网| 色屁屁影院www国产| 亚洲视频小说| 免费看A片毛毛片在线播| 我爱操| 日韩一级二级| 国产无码三级视频在线观看| 四虎免费看黄| 国产亚洲日本精品在线| 中文字幕AV中出| 1024亚洲中文字幕久在线看片你懂的 | 红桃视频高潮| 色黄色美女大长腿午夜视频| 亚洲色五月| 欧美亚洲情色| 欧美亚洲美少妇一区二区| 色噜噜人妻丝袜a∨先锋影 | 网友自拍第1页 | 欧美婷婷五月天| 亚洲啪啪综合?v一区综合精品区| 操B久久| 欧美日韩操逼嗦吊| 91青青草| 色综合20p| 五月开心网| 东京热视频网| 蜜臀99久久精品久久久久久| 激激五月| 韩国午夜理伦三级好看| 97在线免费视频观看| 熟啊v色欧美热| 欧美精品自慰系列寂寞少妇| 风月影院十八禁| 亚洲欧美日韩电影网站一区| 91操人| 欧 美 自 拍 偷 拍| 久久禁| 日日夜夜国产综合| 色五月丁香五月| 大香蕉乱级| 中文字幕一区二区无码成人| 男生女生啊啊啊啊| 99操逼| 人妻丰满熟妇一区二区三| 美女t无毒不卡不卡| 神马午夜久久久| 骚逼高潮久久精品| a天堂视频| 免费A片三p视频| 日本久久久久久久久久| 99久久综合| 亚洲日韩一区电影| 精品性爱一二三区| 色哟哟综合| 日本男人天堂| 国产乱不卡| 久久啊啊啊视频| 97色在线观看| 丁香五月综合| 午夜无码精品免费看性色| 日本操逼视频在线| 大香蕉人妻久久| 破处bbq| 欧美色天堂网在线视频| 最新加勒比丝袜在线| 一区二区三区视频| 欧美精品日韩久久久九| 亚洲美女AV无码| 大粗鳼巴久久久久| 土豪酒店各种姿势玩弄极品幼稚| 在线天堂999| 激情自拍 校园春色| 影音先锋国产精品| 亚欧成人中文字幕一区| 久久精品国产99精品亚洲蜜...| 91综合熟女| 美女黄页网站| 亚洲色综网| 骚人妻少妇视频| 日韩精品操少妇| 丰满搜索结果 -第18页- 久久高清无码| 蜜桃视频精品一区二区| 亚洲综合成人网| 成人黑料社久久| 留下AⅤ黄色片| 婷婷丁香五月天综合东京热| 性影在线视频| 日韩欧美大力操| 91在线精品一区二区三区| 五月天婷婷欧美三区| 97超碰色屌| 久久久999网站| 婷婷国产精品九区| 青青国产精品在线| 偷窥自拍亚洲色图| 中文字幕艹艹| 美女黄页| 日本天堂网| 欧美18禁91| 精品亚州18| 97在线观看免费视频l| 一区二区视频你懂的| 加勒比五月天| 亭亭在线资源| 久久久天美| 久久97视频| 亚洲欧美骚| 日本一道在线播放高清| 青娱乐休闲视频在线观看| 天天草天天日| 亚洲国产成人7777| 北约熟女超碰| 国产福利小视频高清在线观看| 偷拍自拍在线视频观看| 免费毛片在线播放| 丁香五月综合| 欧插网站| 嗯嗯啊啊视频一区二区三区| 91在线/欧洲| 五月天精品| 东北熟女91| 精品日韩人妻精品一二三区| 欧美一区二区三区入口| 嫩草影院在线观看精品 | 台湾一区国产高清在线| 成人性爱av| 国产成人精品日本亚洲语言| 丁香激情网| 欧美黑人与女人91~| 欧美激情色婷婷花野真衣一区二区| 亚洲系列欧美| 视频二区美腿制服人妻欧美| 久久老女人| 污污汅18禁网站在线永久免费观看| 成人性爱高清视频免费看| 色婷婷久久| 欧美久久毛片基地| 九99久久| 天天日夜干| 日韩综合成人免费视频| 色青青久久影视| 91超碰人人| 欧美国产操逼| 试看60秒 爽| 欧美顶级黄色大片免费| 六月婷婷五月丁香| 麻豆激情综合| 熟妇色99|