99精品久久精品一区二区-亚洲熟妇无码?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) 簡介本資源是一套面向高校計(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此處簡化為模擬鄰接矩陣 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 # 簡單鏈?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í)別簡單關(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
返回資訊列表
久久五月激情| 色综合久久综合中文综合网| 色墦五月丁香| 五月天激情网址| 99热在这里只有精品| 蜜桃五月天色| 99热国产这里只有| 成片免费观看视频大全| 色婷亚洲| 色综合网页| 大香蕉网站,大香蕉综合| 婷婷激情五月天综合| 先锋影音男人的天堂AV| 99热这里有精品| 日本婷婷| 免费视频无码| 综合色播| 综合XX网| 五月丁香啪啪网| 综合色五月亭亭| 国产白丝在线一区| 日本天天操| 天天操天天爽天天爱| 懂色av蜜臀av粉嫩av永陈冠希| 五月天婷婷综合网| 9久久精品| 玖玖婷婷色五月| 五月丁香婷婷开心| 色色色色色色网站| www.婷婷五月天| 婷婷伊人久久综合| 综合五月网| 婷婷激情五月天色| 综合深爱五月| 五月婷婷综合在线视频小说| 这里只有精品视频99| 五月激情丁香久久综合网| 欧美三级欧美一级| 一区色色色色网| 色婷婷69| 天天综合情| 91在线视频综合| 99九九99九九九视频精品| 国产美女无遮挡裸体毛片A片| 婷婷激情六月| 97 天堂| 人妻久久久久久| 五月丁香av中文| 精品人妻一区二区| caop在线视频| 99热婷婷| 久草免费福利视频| 婷婷五月中文字幕| 久久久人妻久久久| 婷婷五月天亚洲精品| www.五月天性.com| 婷婷五月综合激情免费| 丁香激情网| 久大香蕉| 青青草国产亚洲精品久久| 大香蕉520| 热九九精品| 饮料下药迷倒漂亮女同事强干| 日本一级一级一级一级| 91 影音先锋| 最近中文字幕2019视频1| 激情五月天色色| 日本高清久久| 超碰丁香五月| 丁香婷婷大香蕉| 九九av| 天天爱天天日| 婷婷五月综合视频| 五夜婷婷| 伊综合蕉| 天天做天天爱高潮片| 婷婷五月天直播| 狠狠狠激情网| 激情av在线| 婷婷丁香五月综合| 97人人操人人拍| 色婷婷情片| 成人网址在线观看| 色婷婷www| 色五月涩涩婷婷| 中文激情网| 五月丁香综合| 婷婷少妇激情| 伊人9999| 99色热| 91中文狠狠综合| 东北黄色一级| 五月丁香久久久| 九九热思思| 超碰超碰在线| 亭亭丁香97| 丁香婷色| 丁香六月成人| 99ER热精品视频| 97热超碰| 五月婷六月丁| 91精品丝袜久久久久久| 色色五月天丁香| 亚洲综合网激情五月天| 成人短视频在线| 六月成人网| 九九热re99re6在线精品| 99在线观看视频免费| 久久婷婷一级片| 91AV婷婷| 亚洲天堂99| 伊人综合网站| 色婷网| 五月婷深深爱激情网| 激情五月天在线免费美女视频| 9久久精品| 99伊人婷婷在线| 另类色视频| 夜夜干天天操| AV免费在线网站| 欧美丁香六月在线观看视频| 色五月av伊人| 天天狠天天叉| 色欲天天综合网| 丁香五月综合在线观看| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 久久久久人妻网址| 久热超碰91| 婷婷丁香色情| 91久久18| av操一操| 91九九精品| 丁香色播五月天| 丁香色婷婷| 五月丁香久久丝袜啪啪| 大香蕉欧美在线| 黄色激情网站在线观看| 五月综合色播播丁香婷婷| 激情综合五| 九九热超碰| 婷婷成人综合| 婷婷久久综合| 这里只有精品久久| 亚洲无码成人性爰网| 天天日天天爽| 天天摸日日舔狠狠添婷婷婷| 六月婷综合| 一二三区视频韩国| 男同色五月开心五月激情五月| 这里只有精品99www| 天天色视频| 婷婷五月天Av| 超碰99在线观看| 久九色| 色情综合网| 婷婷精品视频| 怡红院AV亚洲一区二区三区H| 激情综合色| 1024操逼视频| 99这里只有精品国产| 久久ww| 91啪啪| 丁香六月婷婷久久综合| 青青草六月丁香| 色婷婷很很十八禁| 91精品久久久久、久五月天| 黄网网站在线播放| 成人做爰高潮A片免费视频| 婷婷亚洲丁香五月| 婷婷中文网站| 日本色五月| 激情深愛五月視頻| 香蕉五月婷婷| 99色精品| 日本五月视频| www.zbzhongsen.com| 色五月激情网| 这里只有精品1| 色爱综合五月| 色五月播五月| 夜夜操,天天撸| 九月色婷婷综合| 最新色色五月天| 人人草公开操| 日本情色一区二区| 五月天婷婷小说| 五月天婷婷久久综合| 激情综合视频| www激情| 五月丁香综合久久| 久久99大全| 色综合色色| 九九热99精品| 久久婷婷五月天懂色| 大香蕉综合网| 激情五月婷黄版| 秋霞性爱AV| 狠狠精品干练久久久无码中文字幕 | 色停停五月,在线观看| 色婷婷天堂| 五月丁香成人网| 综合网五月| 五月天无码视屏播放| 波多野结衣成人作品在线| 日本熟妇精品99| 夜夜天天久久婷婷| 九九成人精品免费视频| 激情婷婷视频在线| 思思9久久| 色哟哟www| 六月丁香深深爱| 婷婷五月丁香色综合| 色综合五月天| 九九热精品| 丁香六月在线| 五月之婷婷| 久久9视频| 老司机视频lsj爱就色| 九色PORNY9l原创自拍| 色五开心五月五月深深爱| 殴美日比视频| 亚洲网站999| 九九色婷婷五月天| 99re6在线视频精品免费| 色五月天成人| 五月婷婷六月少妇激情| 五月丁香色婷婷熟女| 国产精品久久99| 婷婷色一二三区波多野结衣| 中文字幕丰满乱孑伦无码专区 | 久久久人妻门| 激情5月天天天| 成人五月天在线观看| 激情久久久久久久久久| 久久久五月天网站| 98永久精品| 淫视馆av三区| 久久99网| 一级韩国产精品毛| wwww.9免费视频| 搡BBBB搡BBB搡18| 婷婷精品在线| 99热这里只有精品22| 99久视频| 91肏| 丁香六月婷婷| 操99| 精品一二三区久久AAA片| 久久性爱视频| 天天日天天摸| 国产美女无遮挡裸体毛片A片| www.99在线| 久久婷狠狠色| 五月丁香激情综合网| 色婷婷电影网| 丁香五月婷婷基地| 丁香婷婷老熟女综合网| 在线一起草av| 99色五月| 99er这里只有精品| 成人在线综合| 天天草天天爽| 激情五月婷| 亚洲最大视频| 色色丁香五月天| www.色九月| 色婷婷激情| 五月丁香91| 五月婷中文字幕| 色色免费网站| 久久五月视频| 五月婷婷精品无在线| 久久这里只有国产精品视频| 九九99一区| 夜夜干天天干| 久久久18| 超PEN精品在线| 九九爱激情| 96精品国产综合久久久久久| 黄网免费看| 99视频久久| 99re66热这里只有精品| 99re这里只有精品首页| 久久538| 九九热这里只有精品7| 色欲天天综合网| 激情婷婷色小说| 狠狠人人| 丁香六月综合激情| 久久xx| 日日影院 | 91n网站cad入口在线观看| 热婷婷在线视频| 99人人操人人操人人精| 五月情综合| 五月丁香六月婷婷综合| 五月天久久久| 亚洲视频码| 婷婷综合五月天| 另类图片激情五月天| 激情婷婷另类| 久久久com| 成人视频网| 人人综合色| 综合激情婷婷| 色综合色综合色综合色综合| 天天综合色| 色情五月天导航| 色婷婷视频| 天天成人丁香美女AV| 九九热精品| 熟女人妻一区二区三区免费看 | 亚洲av| 色五婷婷| 深爱激情婷| 丁香五月婷婷网| 91操女| 丁香五月天在线观看视频| 91seAV| 亚洲精品乱码久久久久久按摩观| 婷婷深爱五月丁香| 九九色情网站| 婷婷五日b| 99综合自拍| 色婷婷很很十八禁| WWW.桔色成人.COM入口| 97色干| 亚洲色图日韩网址| 亚洲精色| 国产精品久久欧美久久一区| 日韩999| 天天干夜夜谢| 5Www色5夜| 激情五月丁香综合蜜桃| 99热日| 99热这里是精品| 久久影视婷婷五月| 美国色五月天婷婷资源站| 五月丁香综合网| 色九月欧美| 啪啪六月婷婷| 日韩av免费版| 久久五月激情| 综合网精品99| 丁香五月婷婷色播艳门照| 激情六月天| 女同激情久久av久久| 婷婷五月天成人小说| 中文字幕无码人妻少妇免费视频| 我要色综合五月婷婷| 色五月五月婷婷| 草一草avb| 欧美va在线观看| 久久99jiu9| 激情婷婷网| 色五天综合| 最新五月天婷婷影| 综合色图婷婷| 99热中文字幕久久| 婷婷五月色花丁香社区| 五月天婷婷丁香| 日本97人人| 久久这里只| 精品国婬伦V无码久久久| 99热这里只是精品| 五月开心啪啪| 99热国产精品| a色色片| 思思热在线播放| 欧美色色色色色| 九九人人操| aaaaa黄色| 色婷婷狠狠| 婷婷五月天成人在线视频| se99视频| 天插天啪天啪天啪| 日韩成人电影Av| www夜夜操| 伊人色综合影院视频| 啊v视频在线观看| 欧美色五月| 国产成人+综合亚洲+天堂| 99视频这里只有免费精品| 香蕉AV福利精品导航| 337p午夜影院| 亚洲乱啪| 久久久五月天| 天天综合亚洲| 九九精品99| 久久人妻视频| 天天天天天天操| AV色婷婷| 欧美性色A片免费免费观看的| 亚州日本欧州韩美高青高潮一| 人妻有码乱操| 色色日本| av五月天婷婷丁香| 秋霞性爱AV| 亚洲亚洲人成综合网络| 婷婷五月天伊人| 一起草av| 色婷婷综合在线| 狠狠爱综合| 色五月丁香激情视频| 天天综合网色欲香| 婷婷丁香六月| 影音先锋天天日| 激情五月丁香综合蜜桃| 大香蕉人在线65| 另类在线| 色色婷| 99er6热在线观看精品6| 五月丁香亚洲校园欧美| 蜜乳AV成人| 五月丁香网站| caopeng97日韩| 色五月婷婷91| 激情五月天福利| 亚洲操精品| 亚洲射激情| 日本成人综合| 国产亚洲精品久久一区二区三区| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 91无码高清| 久久婷婷五月天| 色色热| 婷婷五月天无码熟女| 五月婷婷9| 色婷婷电影网| 六月婷婷色| 色屌丝中文字幕| 青青操avbb| 久久久久8888| 97色视频网| 丁香五月激情六月综合| 五月天激情播播网| 99自拍视频在线| 五月天婷婷久草丁香| 欧美大片| 天天日天天色| 婷婷五月成人| 色色色综合色| 成人视屏在线观看| 丁香婷婷九月| 狠狠色丁香婷婷久久综合| 婷婷色欧美激情| 日本va网站| www色婷婷| 97热九九| 另类在线观看视频| 日韩在线成人电影| 婷婷久久女人| 日噜噜色| 青青草五月天| 婷婷影院欧美| 五月伊人网| 四色99久久| www.五月天社区| 国产成人va在线| 激情 婷婷 丁香五月天| 久久久久99精品成人片| 五月丁香激情欧洲啪啪| 色婷婷丁香香香蕉视频| 亚洲精品午夜国产va久久成人| www激情网| 婷婷五月天激情亚洲小说| 欧洲亚洲免费视频9| tingtingjiqingwuyue| 丁香婷婷激情综合五月激情| 久久色五月| 七七九九色色| 精品皮股午夜AV| 久热a| 欧洲高清免费久久| 99re热视频这里只精品5| 国产精品色一哟哟| 五月天最新网| 99爱爱| 婷婷激情小说| 青青久在线视频免费观看| 四LLL少妇BBBB槡BBBB| 亚洲亚洲人成综合网络| 97超喷视频在线观看| 综合九色| 另类激情五月天。| 激情久久天天| 久久怕怕视频| 五月激情站| 亚洲亚洲人成综合网络| .肏屄视频一区二区| 丁香色影院| 成人视频一区| 五月婷婷深爱六月| 人人色婷婷| 久久婷婷啪啪视频| 欧美午夜乱妇午夜福利| www久久久久| 五月天久久婷婷| 天天色天天爱天天舔| 丁香社区婷婷五月| 婷婷五月AV| 国产成人精品亚洲线观看| 97伦乱| 亚洲天堂大香蕉| 99热这里只有99| 色婷婷五月天在线| 97干在线视频| 中文字幕丰满乱孑伦无码专区| 色婷婷久久视屏| 99re这里只有精品9| 开心五月婷婷激情网| 久久精彩免费视频| 无码少妇高潮喷水A片免费| 国产免费一区二区三州老师F1…… | 国产日批视频| 亚洲欧美婷婷五月色综合| 欧美激情VA永久在线播放| 久久久久久久久月丁| 熟女啪啪视频| 五月天激情.com| 久久99久久99精品免视看婷婷| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 99.色| 婷婷99视频精品| 欧美情色一区| 综合丁香婷婷五月天| 天天天天色天天天天天干| 五月婷婷色影院| 亚洲综合色婷婷文学| 五月婷丁香| 婷婷.com| 内射在线CHINESE| 99热青青草| 色五月美女| 成人五月天色天堂| 五月丁香六月婷| www网站在线观看| 婷婷在线五月天观看| 亚洲午夜电影| 婷婷色色丁香| 色婷婷狠狠久久综合五月| 九九碰九九爱97| 欧洲区自拍| 丁香婷五月| 亚洲色色色| 激情丁香九九五月综合网| 五月婷婷之美女图片| 国产亚洲99久久精品| 九九婷婷综合| 亚州操操| 99在线视频播放| 激情深爱五月| 五月丁香激情综合网官网| 激情五月激情综合网一级丸片| 97影院一级片| 亭亭色网| 丁香色六月婷婷| 欧美日本高清视频99| 婷婷在线午夜| 91麻豆国产三级精品福利在线观看| 五月丁香激情片| 99热婷婷| 7月婷婷六月丁香| 99爱爱| 久久HD| 玖玖爱资源站| 97在线精品| 色婷视频| 久久亚洲婷婷综合色五月| 丁香九月婷婷| 色欲操| 丁香五月婷婷五月| ji'qing'luan'ren'lun| 亚洲亚洲人成综合网络| 五月天狠狠干| 成人短视频免费| 五月丁香六月情| 婷婷干六月综合旧址| 久久综合丁香激情五月| 2022人人操人人看| 婷婷丁香九月| 婷婷第六色| 性做久久久久久久免费看| 天天草婷婷五月| 一二线视频 另类| 五月婷婷婷自由综合| 国产性爱大片久久| www.99热在线| 婷婷五月丁香六月伊人网| 国产成人精品亚洲线观看| 丁香五月天激情综合网| 欧亚中文A V| 亚洲综合另类| 五月天综合缴情网网站0| 777精品久无码人妻蜜桃| 99热只有精品在线观看| 婷婷五月天午夜激情影院| 伊人www22综合色| 久久婷婷青草五月天| 疯狂做受XXXX高潮A片动画| 五月婷婷婷婷婷婷艺术| 亚洲小电影在线观看黄999| 天天色色天天| 五月天婷网| 色九月欧美| 色色色综合| 天天操天天草天天草天天| 一区二区三区四区牛| www.色五月.com| 六月激情婷婷综合| 激情久久丁香| www.五月天| 五月激情影视| 五月婷婷亚洲综合网| 五月激情婷婷四射| 五月丁香六月婷婷啪啪| 操操操AV| 六月五月丁香五月欧美| 97艹| 性做久久久久久久免费看| 狠狠狠狠狠狠狠狠| 99re这里只有精品国产99| 九九色黄色| 五月天另类小说| 婷婷激情五月天在线| 中文字幕婷婷| 毛片蕉地一二| 欧洲电影在线观看免费版英语版 | 天堂成人久久| 综合色色五月| 丁香五月婷婷在线| www.日本91| 色青青五月| 超碰com| 三日本无码| 激情五月天婷婷五月天| 99在线观看精品视频| 五月情四婷婷| 噜噜噜噜婷婷五月天| 黄色成人AV在线| 熟女人妻一区二区三区免费看| 看片视频在线免费日产在线看| 天干天天干天天天天天| 99热伊人| 婷婷五月天Av| 日笨久久网| 久久人妻少妇嫩草AV| 99久久性爱| 久大香蕉| 久久人妻人人| 丁香五月色欲| 五月天激情无码高清| 激情综合五月激情17| 亚洲天99| www.婷婷.com| 国产综合81p| 色色综合五月| 九九久久偷拍| 9久9久9久女女女九九九一九| 精品亚洲国产成AV人片传媒| 91日韩在线| 狠狠色综合网站久久久久| 欧美久久网| 色噜噜狠噜噜视频| 五月激情六月丁香| 爱婷婷都市激情| 人人射人人高潮| 婷婷五点亚洲| 久久人妻久久| 五月丁香香蕉| 成人视频在线免费播放| 精品久热69| 免费97碰碰| 夜夜大香蕉婷婷丁香| 五月天色五月| 婷婷久久丁香五月| 日韩啪啪网| 精品人妻一区二区三区四区不卡在| 五月久久婷婷| 天天日,天天插| 亚洲综合激情五月久久| 人人爱操| 五月天婷婷色播综合在线| 日本黄色一级| 国产原创视频91九色| 996黄色片| 九九精品99久久久| 97干欧美| 99色色热| 97色色色色色色色色色色色色色| 亚洲久久婷婷| 五月婷婷色五月| 婷婷中文无码| 丁香六月婷婷| 亚洲传媒在线观看| 99视频91| 色狠狠五月天| 天天爽天天爽夜夜爽| 毛片毛片毛片毛片| 先锋资源婷婷| 九九亚洲视频| 成人小说色图婷婷五月| 色色色色色五月丁香| 亚洲色久| 婷婷丁香视频| www.色婷婷.com| 亚洲操逼网| 免费无码毛片一区二区A片| 日韩五月婷婷久久| 五月丁香啪啪综合| 天天免费成年人视频| 九九色热视频| 全部老头和老太XXXXX| 天天摸天天舔在线视频| 天天草天天日| 国产精品成人AV在线| 色综合久| 欧美激情久| 婷婷综合五月| 国产精品婷婷午夜在线观看| 婷婷九九| 丁香激情综合| 五月丁香婷婷在线| 九色色| 99热这里只有精品1025| 丁香情色五月| 色五月琪琪| 中文字幕性爱丰满| 97色干| 日本三级第一页| 青青草tp| 婷婷五月花西瓜| 狠狠干在线| 五月婷综合| 天天肏屄夜夜爽| 久久99网| 日韩AV免费电影在线播放| 九热视频在线精品15| 六月婷婷七月丁香| 九九这里都是精品| 亚洲色婷婷久久99精品91| 亚洲天堂AV免费片| 91九色国产| 99在线小视频| 巴基斯坦粉嫰无码视频| 亚洲欧洲另类| 六月丁香婷婷色狠狠久久| 五月永久激情| 99精品免费视频| 久草狼人| 五月综合婷婷五月| 9久久狠狠的| 九九热这里只有精品23| 五月天激情视频| 九九爱激情| 琪琪理论片| 99在线精品观看99| 六月婷欧美| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 天天综合五月| 久热天堂| 亚洲色情网站| 大香伊人久色| 丁香五月天欧美| 99久久综合| 91中文在线| 伊人久久婷婷| 色婷婷97| 超碰免费人人| 色播六月| 婷婷六月色开| 97视频久久| 伊人网碰碰| 久热99热| 午夜成人网站在线观看| 久草狼人| 激情五月色婷婷| 97欧美在线| 激情五月天综合网| 亚洲性视频| 久久伦乱| 综合99久久| 色婷婷在线播放| 99操中文视频| 俺去也综合| 99热大全在线观看| 99惹| 亚洲日韩一页精品发布| 五月丁综合在线观看| 中文字幕无码人妻少妇免费视频 | 情涩婷婷五月天| 婷婷五月五月丁香| 婷婷亚洲欧美丁香五月| 亚洲国产另类av| 五月丁香婷婷综合| 国产精品99久久久久久猫咪| 99久久婷婷国产综合精品草原| 综合色色婷婷| www.婷婷五月天| 极品人妻videosss人妻| 天堂久热| 婷婷激情六月视频| 亚洲99综合| 丁香婷婷深情五月亚洲| 99热在线免费观看精品| 婷婷欠久少妇| 五月婷婷啪啪| 99久久婷婷国产综合精品草原| 亚洲色五月| 亚洲AAAA网| 91在线观看www| 午夜成人网站在线观看| 爱性综合网| 丁香六月婷婷色XXXX| 婷婷性爱五月天| 色碰碰视频| 丰满少妇猛烈A片免费看观看| A网在线欧洲| 中文字幕激情综合| 色婷婷丁香五月| 丁香激情婷婷网| 铁牛TV人妻| 狠狠五月天| 思思热在线播放| 99ri国产| 在线播放 精品| 97丁香五月| 天天在线天天综合网色| 色婷婷最新域名 | 五月婷婷天堂| 五月婷婷色播网| www.91在线看| 狠狠综合| 亚洲人人操| 26uuu.| 9热久久| 九九激情网| 九九婷婷网五月天| 好吊操这里只有精品| 91综合视频在线| www.夜夜操| 九九精品热| 六月色婷婷欧美| 婷婷综合一二三| 日本少妇裸体做爰高潮片| 婷婷五月花| 天天色色婷婷| 九九综合色| 97久久超级| 无码激情AAAAA片-区区| 久久激情五月婷婷| 色丁香影院| 就99这里只有精品| 亚洲AV综合在线观看| 操逼电影免费看| www.久久99| 97在线刺激| 五月婷婷无码| 久久狠狠色| 热99国产精品| 99人人干人人| 潮汕成人AV片在线| 无码日本精品XXXXXXXXX | www.主妇. com| 91大屁股精品| 婷婷五月天最新网址| 丁香五月AV| 亚洲综合激情五月久久| 久久五月天网| 九九热在线视频观看| www.五月天。com| www.激情五月天。com| 九九色大香蕉| 丁香婷婷婷五月综合色情| 狠狠一日| 亚洲色无码A片一区二区麻豆| 色婷婷丁香五月| 黄色一级影片| 日本色爽| 五月婷激情| 久久九九蜜| 色欲香综合网| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 丁香五月天亚洲综合| 日韩ww| BBWCUCKOLD精品熟妇| 99爱爱| 五月婷婷中文字幕| 久/久精品99看9| 91狠狠色| 狠狠干婷婷| www.久久久久| 琪琪理论片| 亚洲激情av| 久热9| 丁香五月天导航| 五月丁香六月色婷| 国产1区2区3区在线观| 亚洲综人色综网| 99色这里| 综合狠狠干| 色综合久久伊伊婷婷五月| www.五月天性.com| 婷婷五月天日日日干干干| xxx日本东京热| 综合综合网| 欧美日韩AAAA| 五月丁香六月激情在线| 丁香五月情| 丁香六月啪| 五月色丁香| 无码免费人妻A片AAA毛片西瓜| 亚洲第一成人无码A片| 五月天婷婷婷| 久久精品99久久久久久久久| 色色激情五月| 婷婷五月天中文字幕.| 99精品视频在线免费观看| 伊人超碰| 婷婷五月花西瓜| 天天天在线观看| 中文激情网| 欧美大肥婆大肥BBBBB| 4399啪啪视频| 国产a视频| 日本超碰在线| 日本成人噜噜噜噜噜| 99国产这里只有精品| 大天天伊人| 26uuu欧美日本| 97热91| 亚洲无码激情| 色九月| 六月丁香婷婷尤物| 99精品在线观看视频| 婷婷综合在线| 九月激情婷婷丁香| 成人av观看| 婷婷久久国产视频| 色综合色综合色综合色综合| se99视频| 久久桃花网色婷婷| 香焦网五月天| 五月丁香婷婷六月天| 另类激情中文| 婷婷五月成人| 久久婷婷的综合色丁香五月| 丁香五月天无码AV| 深爱五月网| 婷婷丁香18| 婷婷成人av| 91精品综合久久久久久五月丁香| 深爱激情网婷婷| 激情九九六月激情免费视频| 午夜不卡久久精品无码免费 | 99re热在线观看| 婷婷五月天777| 99在线精品视频| 欧美成人AAA片一区国产精品| 婷婷黄色五月| 日 日干 日日做| 9久久久久久久久久久| 淫五月停停| 日韩色色色色色| 噜噜噜噜综合在线| 成人无码精品1区2区3区免费看 | 日韩乱玛久久| www.久热| 99久久99视频| 欧美综合激情五月天| 国产毛片精品一区二区色欲黄A片| 色婷婷色和| 五月婷婷亚洲综合网| 天天操无码| 99色免费在线观看| 五月婷婷色丁香| 日本一级黄色电影| 婷五月天丁香婷五月| 精品一区二区三区木瓜| 狠狠色丁香| 任你擦免费视频| 婷婷五月天狠狠| 欧美性做爰大片免费看办公室| 在线观看亚洲视频影院| 五月婷婷无码| 性爱激情综合网| 五月天六月丁香| 五月婷婷AV| 国产AV不卡福利| 人人摸人人干人人做| 夜精品无码A片一区二区蜜桃| 99久久网站| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 天天色播| 激情99热| 色婷婷综合综合网| 精a品a| 狠狠色噜噜狠狠狠狠狠色综合久久| 婷婷久久五月| 五月婷婷综合网| 9久国产精品| 婷婷成人AV| 五月丁香婷婷婷激情爱爱| 激情五月色在线播放| 99天堂在线观看免费视频| 日日干夜夜撸夜夜骑| 五月丁香影院| 五月天激情偷拍| 大香蕉综合| www.婷婷网| 五月丁香激情综合网| 国产1区2区3区在线观| 99亚州综合精品成人网| 色婷婷五月综合| 五月婷婷丁香五月| 丁香五月天激情五月天激情五月天激情网| 久久久精品色| 激情综合啪啪啪| 九热视频| xx综合网| 婷婷丁香五月综合网| 甈你aaaaa| 91av成人| 五月天综合视频| 欧美性爱日韩性爱| 91婷色| 婷婷久久综合久| 天天操天天插| 五月丁香av在线| 99天堂在线观看免费视频| 洗浴中心操B视频| 日韩大片艹艹| 夜夜 操无码| 丁香五月激情宗合| 欧美成人猛片AAAAAAA| 日韩精品无码99| 人人妻人人澡人人爽| 色五月天丁香婷婷| 密黄站| 亚洲午夜在线视频| www激情婷婷com| 日韩操逼大片| 丁香婷婷啪啪| 影音先锋人妻出差| 激情久久综合网| 丁香五月性| 呦呦v线| jiuse91在线| 丁香九月婷婷综合| 99在线观看视频精品| 久综合4| 伊人久久大香蕉网| 精品在线| 综合另类激情| 内射综合网| 婷婷色播综合五月| 五月天激情综合网| 开心激情网在线| 天天舔天天插天天干| 大香AV| 天天干天天干天天干| 久久AV电影| 色婷婷成人网| 五月天大香蕉av| 九色啦蜜臀| 丁香五月天天日| 97在线干| 国产乱子轮XXX农村| 婷婷五月丁香六月| 日韩三级片一区二区| www.一起草av| 婷婷丁香六月天| 五月婷婷av| 亚洲 25P| 婷婷五月色图| 在线观看免费观看在线9久| 激情图片久久| 五月综合激情视频| 九九热AV| 久久久九九九 99| 激情久久久| 五月天社区| 精品成人无码A片观看香草视频| 激情五月天啪啪| 熟女强人妻一区二区三区四区无| 久久婷婷色色| 婷婷五月色综合| 操操操www.com| 综合伊人久久| www.金莲av| 热久久这里只有精品| 色欲一区二区三区精品A片| 好好日激情五月天| 99精品久久久久久久婷婷| 欧美精品狠狠色丁香婷婷| 超碰免费人人| 激情床戏| 五月天狠狠网| 99热这里只有精品1998| 天天插天天狠| 色天堂A| 成人在线免费网址| 日本乱子人伦在线视频| 青草五月天| 久久艹99| 激情五月丁香婷婷| 色播婷婷五月天| 人人舔人人色人人高潮| 久久草大香蕉| 婷婷五月综合网| 色 五月 天 婷婷 丁香 九月| 亚洲黄色网址| 五月天激情综合网| 免费观看的av| 午夜丁香婷婷| 成人五月丁香社区| 激情久久久久久久久| 五月天激情电影| 色色丁香激情五月| 日日肏夜夜干| 婷婷五月天激情视频| 色婷婷五月天激情在线播放| 丁香五月婷婷六月婷婷| 久久婷婷网站| 玖玖爱资源站| 日本三级中文字幕| 玖玖在线| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 国产激情久久久| 色爱综合网| 亚洲色综合| 大香蕉久久伊人婷婷五月丁香| 超碰在线免费| 伊人久久婷婷| 玖玖视频福利| 婷婷六月丁香在线| sS丁香五月婷婷| WWW.夜夜操.com| 五月丁香久久综合| 五月六月丁香婷婷在线观看| 99热这是里只有精品| 色青青五月| 婷婷色五月色妇| 狠狠干五码| 色五开心五月五月深深爱| 五月丁香激情婷婷| 99在热线免费视频| 婷婷丁香五月综合| 最新久久网址| 五月丁香婷婷综合网| 久久综合婷婷| 夜夜嗨一区二区三区直播内容| 伊人高清无码| 综合日本婷婷| 99婷婷国产最新视频| 中文字幕黄色片| 99久久99热| 另类国产综合| 色婷婷亚洲精品天天综| 色婷婷精品视频| 9久久精品| 狠狠综合| 久久婷婷一级片| 五月天婷婷久草丁香| 人妻AV在线观看| 六月丁香基地| 噜噜噜精品欧美成人在线观看| 丁香六月成人| 天天看A片| 开心激情站| 欧美人人草草| 涩综合网| 婷婷丁香六月激情综合| 另类综合婷婷五月天欧美视频| 开心五月网 | 综合九九中文字幕| 久久五月综合| www.sezonghe| 大香蕉99热| 乱岳熟女50岁| 39视频第二区| 99色区| 婷婷综合爱| AV在线资源| 九月激情婷婷丁香| 久久婷婷色综合| 五月丁香婷婷激情| 色色色在线观看| 五月激情小说| 久久九精品| 九九热视频网站| 99热这里只有精品中文字幕| 激情婷婷六月天| 丁香久久激情俄| 国在线激情网| 婷婷播5月| 91chinese在线| 亚洲激情五月| 狠狠va| 亚洲综合无码| 激情性爱五月天网页| 成人亚洲精品| 婷婷.com| 四色永久成人网站| 五月婷婷六月丁香玖玖玫瑰91| 天天爽天天弄| 成人在线综合| 亚洲xx在线| 久热只有这里有精品| 色偷偷五月天| 国产免费性爱| 丁香九月婷婷| 亚洲va国产va天堂va综合va| 亚洲熟妇AV乱码在线观看| www.射伊蕉婷婷| 天天综合网亚洲网站| www,五月丁,com| 婷婷五月天深爱| 99久久久免费| www.99操| 五月天堂婷婷| 丁香大香蕉| 伊人激情网| 色婷婷影音| 操人91| 丁香色六月婷婷| 99色性爰网络| 五月婷A V在线| 五月丁香五月丁香| 久婷五月| 超碰色女| 天堂草在线看www| 成人做爰高潮A片免费视频| 操人91| 婷婷五月激情欧美| 777久久久| 激情开心五月天婷婷基地丁香社区| www.99热| 久久草人妻| 五月婷婷啪| 狠狠爱婷婷爱| 丁香五月婷婷偷拍| 欧美操我| 亚洲综合色色| 九九精品大香蕉| 激情五月婷婷中文字幕| 欧美性做爰大片免费看办公室| 日本精品在线噜噜噜| 五月婷婷性爱| 欧美六月| 成人短视频在线| av在线观看网站| 亚洲综合无码| www.97碰碰com| 玖玖在线| 91人操| 日本色天堂| 中文字幕,综合,91| 婷婷六月天天| 非洲一级AV| 久久五月激情综合| 中文资源在线a | 超碰a女人的天堂| 久操97| 97人人操| 婷婷性爱|