色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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í)測驗(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è)級文本分類模型融合路徑的完整切片它沒用任何黑盒API所有結(jié)構(gòu)可調(diào)試、每一層可替換、每條數(shù)據(jù)流可追蹤它不堆參數(shù)炫技而是用四類主流架構(gòu)——CNN抓局部語義粒度、RNN建序列依賴、GCN引入句法/依存圖結(jié)構(gòu)、BERT提供上下文感知——在中文新聞標(biāo)題、電商評論、微博短文本等典型場景下做顯式協(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在中文文本分類中的角色分工與接口對齊2.1 為什么必須用四種結(jié)構(gòu)單用BERT不夠嗎BERT在中文長文本分類如法律文書判別上表現(xiàn)優(yōu)異但在短文本、噪聲高、領(lǐng)域遷移強(qiáng)的場景下會暴露短板比如電商評論“這手機(jī)充電快但發(fā)熱嚴(yán)重”BERT可能因token稀疏而弱化“但”字轉(zhuǎn)折權(quán)重又如新聞標(biāo)題“央行降準(zhǔn)釋放流動性”BERT對“降準(zhǔn)”這類專業(yè)縮略詞泛化能力有限。這時(shí)需要其他結(jié)構(gòu)補(bǔ)位CNN負(fù)責(zé)提取n-gram局部特征如“發(fā)熱嚴(yán)重”“充電快”作為2-gram片段對抗分詞錯(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ù)處理流水線確保特征空間對齊# 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及中心詞如動詞相連 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)化動詞中心性假設(shè)索引2為動詞 if n 2: adj[2] 1.0 # 全連向動詞 adj[:, 2] 1.0 return adjbert_input_ids直接喂給BERT模型輸出維度[batch, max_len, 768]wordsCNN/RNN輸入需映射為詞向量如Word2Vec或隨機(jī)初始化embeddingadj_matrixGCN輸入必須是對稱歸一化鄰接矩陣后續(xù)章節(jié)詳述歸一化方法seq_lenRNN動態(tài)padding依據(jù)避免無效計(jì)算。2.3 四路模型結(jié)構(gòu)定義PyTorch中如何讓它們“同頻共振”核心在于時(shí)間步對齊與維度統(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): # 對稱歸一化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é)未歸一化會導(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)方式適用場景預(yù)處理耗時(shí)精度上限規(guī)則模板法基于jieba分詞位置構(gòu)建鏈?zhǔn)竭B接 動詞中心強(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)建雙向鏈 動詞加權(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 # 動詞識別簡單關(guān)鍵詞匹配 verbs [是, 有, 在, 做, 進(jìn)行, 開展, 實(shí)施, 完成] for i, w in enumerate(words): if w in verbs: adj[i] 1.0 # 全連向動詞 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中動詞列表需根據(jù)任務(wù)領(lǐng)域擴(kuò)展如金融文本加“上漲”“下跌”醫(yī)療文本加“診斷”“治療”鄰接矩陣必須是對稱矩陣GCN要求無向圖否則訓(xùn)練不穩(wěn)定。3. 訓(xùn)練流程四路特征拼接、損失函數(shù)設(shè)計(jì)與課設(shè)級收斂策略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)重自動調(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í)如電商評論中“好評”占80%會導(dǎo)致模型偏向多數(shù)類。本課設(shè)采用Focal Loss降低易分類樣本權(quán)重聚焦難樣本Label Smoothing防止模型對訓(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ù)測加權(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需手動實(shí)現(xiàn)Focal Loss中g(shù)amma2是經(jīng)驗(yàn)最優(yōu)值alpha根據(jù)類別分布調(diào)整少數(shù)類設(shè)更高。3.3 課設(shè)級收斂策略早停、學(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對梯度敏感不裁剪易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未對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)象測試時(shí)bert_input_ids長度超128tokenizer.encode截?cái)嗪蠓诸愬e(cuò)誤率飆升原因中文長文本如新聞?wù)谋挥步財(cái)鄟G失關(guān)鍵信息。解決改用滑動窗口分段投票策略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ù)測 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對局部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 # 注冊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對應(yīng)4-gram卷積層最適合捕捉中文雙音節(jié)詞如“充電”“發(fā)熱”cam_scores數(shù)值越高表示該詞對當(dāng)前分類決策貢獻(xiàn)越大實(shí)際課設(shè)中此功能可生成答辯PPT中的“模型可信度證明頁”。5.2 GCN節(jié)點(diǎn)重要性量化每個(gè)分詞在圖結(jié)構(gòu)中的影響力GCN的鄰接矩陣決定了信息流動路徑但各節(jié)點(diǎn)對最終分類的貢獻(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)評委最常問的問題不是“準(zhǔn)確率多少”而是“模型為什么這么判”。一個(gè)只報(bào)92.3%準(zhǔn)確率的模型遠(yuǎn)不如一個(gè)90.1%但能指出“‘發(fā)熱’詞權(quán)重最高”的模型有說服力。更關(guān)鍵的是工業(yè)場景中可解釋性是上線前提金融風(fēng)控需解釋拒貸原因醫(yī)療文本需說明診斷依據(jù)否則合規(guī)部門不會放行。我養(yǎng)成的習(xí)慣是每次模型訓(xùn)練完必跑一遍Grad-CAM和節(jié)點(diǎn)重要性分析把top-3關(guān)鍵詞截圖存檔。不是為了炫技而是當(dāng)業(yè)務(wù)方質(zhì)疑“為什么這條評論被判負(fù)面”時(shí)我能立刻打開截圖說“您看模型聚焦在‘發(fā)熱’和‘嚴(yán)重’這和您標(biāo)注的邏輯一致”。這種具象化溝通比一百行公式都有力。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天亚洲| 日本三级韩三级99久久| 97天天| 激情图片伦理国产一区二区日韩| 福利伊人玖玖国产| 久久在线观看免费视频 | 亚洲图片 欧美电影| 国产女人91精品嗷嗷嗷嗷| 国产成人五月天丁香花| 欧美色图偷拍另类| 久久九九网| 亚洲男人综合| 中文有码9| 91色黑人少妇| 夜色AV无码手机在线影院| 久久久久久99999国产精品| aaaa少妇高潮大片| 久久亚洲AV成人精品无码| 久草毛片| 日韩精品人妻中文字幕久久久| 天天操天天舔| 国产激情在线观看| 国产激情在线| 国产99精品一区二区三区免费| 婷婷激情四射| 国桃视频产巨乳精品一区二区在线| 免费视频a级毛片免费视频| 91人精品妻入口| 一本色道综合久久欧美日韩精品| 野狼福利社区| 亚洲影视第一页| 97香蕉人人乳| 久久五月丁香| 国产精品成人无码av| 国产日韩区| 极品另类| 欧美资源| 久久久9999| 欧美的精品的视频| 国产美女高潮视频| 丰满少妇一区二区三区免费看| 亚洲熟女一区| 国产精品久久久久久久久久久久久久久久| 人妻日日夜夜精品| oumeisetu综合| 秋霞视频一区二区 | 女人双腿搬开让男人桶| 国产欧美成人第一页在线观看| 国产v亚洲v日韩v欧美v片另类| 亚洲美女高潮喷水视频| 人妻久久| а√天堂资源官网在线资源| 日韩欧美日韩| 成人国产视频在线观看| 国内毛片婷婷六月色| 超碰在线人妻中文字幕| 美国精品国产精品| 欧美一级黄片视频在线| 一区不卡在线观看av| 无码区蜜乳| 亚洲国产成人精品久久久国产成人一区二区| 啊啊啊啊好疼视频| 破处bbq| 91国产丝袜白虎| 综合欧美色图| 日本加勒比无码专区| 日本不卡高清视频| 操逼短片| 亚洲欧美内射| 中文字幕天堂在线| 91无遮挡| 99久久久无码精品国产人| 久久精品无码专区| 91丝袜美女视频| 91丝袜在线观看| 久96热在线观看视频| 天天谢天天干| 黄色av片三级三级三级免费看| 亚洲精品无码少妇久久| 老女人爆菊| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 97公开久久| 天天综合站| 十八禁电影伊人网| 日韩精品资源专区二区| AA特级绝黄| 亚洲美乱| 青青草华人在线欧美在线| 少妇久久久久久| 国产成人超碰在线| 国产精品熟女乱伦| 综合情欲网| 国产精品久久久久久久久久久久| 超碰在线观看av不卡| 天天操天天干一区二区| 插欧洲美女欧美精品| 亚洲超碰在线| 二三四区精品| 一级性爱视频免费观看| 九九热视频在线观看| 91人妻丝袜无码| 日本精品一区二区三| 五月丁香激情四射| 欧美性生活综合| 极品丝袜无码| 久草这里只有精品| 日韩性爱高清免费视频| 香蕉久久精品| 精品视频在线观看精品| 日韩中文字幕av在线播放| 欧美综合色图片| 大二网站亚洲| 116美女午夜| 成人日本片久久久蜜桃| 婷婷五月综合在线| 久久视频少妇美女| 国产AV色黄看到爽| 中文字幕制服欧美久久一区| 东京热天堂网| 人人喜人人妻| 色综合一区二区三区| 97这里只精品| 人摸人人操人| www. 男人天堂成人在线| 中文字幕美女91| 欧美亚州手机在线| 1240青青草一区二区三区视频天爱| 日韩午夜啪啪视频| 中文字幕国产| av片在线观看免费播放| 2017天天插| 亚洲无套久久嗯嗯| 天天肏天天干| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 黑人粗大V S日韩女优视频| 91香蕉视频在线观看免费| 亚洲伊人久久精品狠狠在线| 五月婷亚洲精品天堂| 日本 成 人 小说 电影 一区二区| 久久精品99| 久久久久久AⅤ无码免费肉站 | 蜜桃久久一区二区| 久久婷婷一区二| 好属操| 色欧美天天| 亚洲精品久久久久毛片A片拉屎 | 少妇二级| 久久久久久亚洲Av无码| 91精品婷婷国产综合久久| 最新国产亚洲精品精品国产亚洲综合| 中文字幕欧美日本乱码一线二线| 色综合九九| 91丝袜在线播放| 美女露胸露屁股| 男女啪啪啪18禁网站| 高潮嗯啊性感美女久久久| 欧美在线电影| 久久黄色网址| 岛国片在线观看视频亚洲| 99热在线只有精品| 曰韩欧美国产传媒麻豆第一区| 蜜臀99久久精品久久久久| 久久e6只有精品| 小视频玖玖| 91色射| 欧美亚洲综合色| 老司机天天操| 男人的天堂视频精品乱在线| 成人精品一区二区三区| 中文字幕jul-617人妻熟女| 中文 人妻 制服| 密臀AV在线| 不卡一区二区日本视频| 日本色日夜干| 91天射| 又黄又爽在线观看视频| 淫荡熟女乱伦网| 久久国产乱子伦精品免费女,网站| 亚洲男人天堂2012| 先锋精品av色鲁| 一类无码操逼视频| .精品人妻一区二区三| 国产偷人妻精品一区二区在线| 日韩性爱电影一区| 免费观看国产不卡av| 肥臀熟女一区二区三区视频| 国产精品久久久久久9999| 激情小说五月天| 国产精品人人爽人人做可爱福利| 精品人妻一区二区三区视频在线| 人人搡人人肉久久精品| 亚洲男人天堂网久久| 91强奸乱轮| 黄色人人| 综合久久97| 91 国产丝袜在线播放-百度| 久污| 日本幼女18+| 亚洲性图91| 伊人青青一区成人视频在线观看区| 97人人操人人摸人人爱| 欧美gv在线观看| 无套后入双马尾| 四虎精品一区| 欧美色图片欧美色图| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲加勒比| 亚洲影视第一页| 日日夜夜模| 伊人97色天使| 亚州操操穴网| 久久香蕉国产传媒一区剧情天美| 成人五月香网在线| 乱精品一区字幕二区| av无码精品久久久久| 最新av网站在线观看| 襙一襙| 国产成人久久精品蜜臀| 伊人网青青| 日本阿v天堂在线观看| 日日干日日摸| 狠狠爱夜夜| 欧美最婬乱婬爆婬牲视频| 日本精品久久久久久久| 91在线/欧洲| 青青草玖玖爱| 天天综合网合集91| 九九九只有精品| 伊人性在线视频| 色www精品视频在线观看| 国产亚卅97| 丰满精品人妻少妇久久字幕| 东京热精品97综合网| 国产精品。| 天天内射| 亚洲97在线观看| 精品视频在线观看| 国产操偷| 五月丁香综合| 青青草字幕AV| 人妻精品一区二区| 亲子敌伦对白在线播放| 国产乱伦亚洲色图高清无码| 欧美啪啪女女| 久久e6只有精品| 天天日日本| 久久精品视频一区三区小泽玛利亚| 伊人色综合欧美| 中文字幕无码不卡啪啪| 国产一区二区在线播放| 欧美gv在线观看| 欧美一级国产一级| 中文字幕视频一区视频二区| 欧美性综合| 欧美日韩欧美| 成年人网站在线免费观看| 欧美日产国产在线成人第一区| 日韩无码黄色片| 成年女人18级毛片毛片免费观看| 97超碰jingpin| 日本中文字幕一区| 日韩人妻丝袜中文字幕| 黄色视频特级毛片| 四虎AV影视国产精品亚洲精品| 女人天堂网| 亚洲色91| 亚洲色色色| 天天综合网1| 亚春色色| 亚洲国产av中文字幕久久| 亚洲精品亚洲人成在线麻豆| 大香蕉在线视频重口味毛片在线| 久久久久久久久久久久97| 免费αV在线视频| 国产一区二区三区精品观看啪| 怡春院久久| 狠狠操,使劲操| 久久人人爽人人爽人人片Ⅴ| 一本久久精品中文字| 91一区二匹| 色综合久| 久9久精品视频| 女性喷水高潮在线观看| 九九热精品在线| 中文字幕第23区| 亚洲影院成人| 亚洲综合97中文网| 欧美激情区| 亚洲中文日韩欧美大香蕉视频| 欧美黄页在线| 淫淫综合网| 国产精品岛国片在线观看| 亚洲、日韩、综合、另类| 大逼色网站| 91操人| 亚洲欧洲第二视频在线观看色图| 亚洲乱色熟女一区| av在线浏览| 青草精品视频日本久久久久网站在线| 日韩人妻一区二区精品| 欧美一品道| 亚洲性爱免费电影| 97精品97久久| 色综合久久88色综合久久天天| 曰韩精品九九无码| 少妇厨房愉情理伦片bd在线观看 | 久久女人| 东京日日夜夜| 国产精品白丝| 国产AV天美| 一级做受视频免费是看美女| 伊人久久国产免费观看视频| 国产精品久久久久久久久久梁医生| 中文字幕一区二区视频在线观看 | 日本大香蕉| 99e久久国产精品| 另类亚洲图色| 免费看黄视频亚洲网站| 大白逼三四级| 嗯嗯啊在线视频| 亚洲97| 五月婷婷hd| 国产乱伦视频污| 99国产在线绯色一区| 曰韩人妻中文字幕在线| 做爱福利视频一区二区| 国产激情av女片自拍| 激情四射婷婷六月天| 另类小说五月天| 国产三级片在线观看| 密臀在线免费观看| 一级黄色性爱A级片| 动漫av中文| 国产在线精品偷| 欧美综合色图网| 午夜激情床戏激情| 国产精品亚洲天堂网址| 校园春色 亚洲| 狼天天狼天天大香蕉| 中文字幕丝袜| 色婷婷综合久久中文字幕雪峰 | 尤物av网站| 一本大道不卡一二三区| 97干在线视频| 中文欧丝袜诱惑| 九九九九九九九精品视频| 放黄片放3级黄片没穿衣服| 国产欧美精选自拍一区| 91久久国产精品| 欧洲无码一区二区| 日韩AV无码中文一区二区| 日本一线产区和二线产区伦理片| 日韩午夜国产| 色99视频| 逼逼逼逼操操操操操操操操操午夜剧场 | 91在线页| 91快色色色色色| 97视频免费播放| 色综和网| 色婷婷狠狠18禁| 激情五月天中文字幕色| 9长久久精品| 2020中文在线一区二区三区| 欧洲综合色| 亚洲天堂人人妻| 超碰亚洲97| 男女激情黄色网址| 国产人妖的免费的视频| 精品欧美老熟女一二区| 欧美午夜熟妇黑人精品91| 性性欧美| 国产夜夜艹| 六月丁香网| 久久香蕉国产线看观看猫咪av| 亚洲成a人v欧美综合天堂下载| 综合性视频99| 九七毛片九九毛片| 亚洲综合九| 欧美黄色图片| 日本人体九九九九九九| 天天综合精品| 狠狠操天天干| av一区二区三区 中文| 综合免费无码中文| 最新三级网址| 91人妻精华帖| av在线观看不卡网站| 亚洲一区日韩精品中文字幕| 97超碰人妻| 97视频900| 中文字幕日韩人妻视频一区二区三区交换夫妻 | 天天操狠狠日夜夜干超碰撸com视频在线观看 | 九九玖玖精品| 欧美亚洲国产自久久| 日韩精品99999| 国产激情久久久| 黄片www.| 色噜噜狠狠色综合日日| 91超级碰| 亚洲成熟国产精品美女| 婷婷激情五月综合| 亚洲脚交| 91操熟女视频| 肥臀熟女一区二区三区视频| 97超级久久| 欧美在线中M| 4虎在线视频| 91在线国产后入风骚翘臀美女素人| 亚洲人久久久网| 蜜臀久久精品久久久久视频| 亚洲丝袜二区在线| 97色网| 亚洲日韩在线a不卡99精品| 另类图片综合| jk白丝没脱就开始啪啪| 亚洲av影院在线观看| 久久久精品无码亚免费| 美女自卫慰黄网站免费| 天美传媒国产原创中文字幕亚洲欧美另类 | 久草加勒比一区在线| 爱妃国产亚洲视频中文字幕| 国产h片在线观看视频| 久久精视频美日韩在线视频| 色婷婷五月综合| 男人天堂2019亚洲| 天天操人人操骚逼网站| 超碰 欧美| 色悠久| 强奸乱伦大香蕉| 大香蕉免费乱伦视频| 婷婷尹人大香蕉免费| 色天使大香蕉| 97视频在线观看网站| 水多多映视AV| 午夜福利免费精品视频| 人人澡人人爽人人精品| 免费看国产大AB| 久久久青青草| www亚洲免费| 色色操| 青青青青草av在线观看| 日本2020一区二区| 99re公开精品免费视频| 91狠婷| 中文在线视频| 天天谢天天干| 欧美日韩情色一区二区| 大香交| 国产黄色视频久久| 97色色色| 亚洲蜜臀精品视频久久| 亚洲码在线中文在线观看| 26uuu国产免费观看| 操穴国产| 精品人妻久久久久一区二区三区| 国产最新小视频在线播放下载| 国产自偷自拍一区| 精品久久久不卡一区二区| 国产精品乱码久久| 五月丁香影视| 加勒比无码毛片| 老司机天天操| 熟女自慰久久久| 亚洲综合20p| 亚洲女人毛茸茸91| 麻豆国产视频精品观看| 在线天堂999| 九九亚洲| 98色网| 伊人网高清| 偷窥自拍A片| 长久操视频| 一级片在线观看高清无码| 久久黄黄| 国产精品美女久久久久久网站| 亚洲最大AV网| 色哟哟精品1精品2| 91快色色色色色| 日韩丝袜高跟制服在线观看| 中文字幕乱码人妻二区三区| 久久国产视频专区一二三| 97色碰| 亚洲宅男天堂| 日日骚中文字幕| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产精品一区二区三区,亚洲综合| 欧美成人亚洲精品| 日韩极品无码B| 欧美色图天堂网m| 人人摸人人入| 亚洲美女30b| 久久国产免费激情视频| 欧美日韩亚洲天堂网| 日韩欧美性吧婷婷乱伦大香蕉| 91亚州日韩高清| 精品人妻一区二区三区在线视频不卡| 插入综合网| 国产日韩精品suv| 久久天天躁日日躁狠狠躁| 一区二区精品日韩欧美在线观看 | 成人小电影网站tex| 五月丁香色综合| 啊啊啊免费| 色av中文字| 国产在线综合福利网站| 精品国产99| 国产成人欧美一区二区三区的国产| 亚洲综合图片在线| 九九黄色网| 亚洲天堂久久久久久粉红视频| 97色97好| 大香蕉综合| 无码天堂| 色香综合天天影视综合 | 国产乱伦一二三区| 亚洲国产成人精品女人久久久| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美亚洲国产日本在线,久久精品国产| 男人高清无码一区二区| 97色操| 青青草国产亚洲精品久久| 国产毛片在线| av中亚| 青青草吊丝| 黄色av网站在线播放| 国产精品久久久久久久久久久久久久久| 亚欧高清v| 毛片久久| 欧美操逼录像国产黄色国产| 综合干干干av久久久综合网| 国产久久久久久久久一区二区| 中文字幕av亚洲精品| 欧美精品在线观看| 91成人精品在线播放| 91w欧美| 97超碰影音| 国模精品一区二区三区苹果色戒 | 欧美日韩高潮喷水91| 午夜啪啪片| 无码人妻精品酒店| 久久天堂网| 欧美韩国你懂得在线| 日韩欧美视频青青| 肉嘟嘟www视频在线观看高清| 97超碰欧美精品| 亚洲欧美九九九| 蜜桃久久久久久久久久久久 | 老熟妇一区二区三区| 国产久久日韩网站导航| 九九热精品视频在线观看| 国产黄片在线免费观看| 内射小黄片| 啪啪自拍九九综合| 综合欧美色图| 91精品操美女| 欧美日韩人妻少妇 一区二区三区| 色综合中文字幕不卡| 99色色| 五月婷婷激情综合| 国产小u女在线观看| 亚洲另类欧美精品| 大香蕉乱级| 高清有码一区二区| 精品无码一区二区三区色欲| 特色a在线上| 伊香蕉综合久久久久久久噜噜噜| 男人天堂毛片| 亚洲性综合11| 91bbbbbb| 99999国产| 中国和日本人色哪个不下载能放| ...日韩成人一区二区三区字幕| 国产偷仑| 97超碰人操| 激情综合网一盗摄| 亚洲性感丝袜诱惑在线观看| 久久美国毛片| 色综合 加勒比| 97欧美久久久久久久| 加勒比人妻综合| 九九九九免费视频| 色777999综合| 91欧美情色| 亚洲欧美首页| 狠狠爱综合网| 九九精品99| 国产精品自在线发布| 99re公开精品免费视频| 一区二区三区激情在线观看| 五月天婷婷久久| 亚洲男人bt天堂| 麻豆天美电影一区二区| 爱爱动态试试看6 0秒| av一区二区三区四区| 黄色电影观看久久9| 强奸乱伦av电影| 久久丁香五月婷婷| 久热色情精品| 欧美亚洲AN| 天天躁狠狠躁av| 熟妇人妻丰满久久久久久久无码| 亚洲精品九九九| 手机午夜电影神马久久| 欧美一级黄色18片免费看| 91人妻PORNY九色大屁股| 六月婷激情福利天堂69| 亚洲污一污二| 久操电影网| 日韩一级欧美一级国产一级台湾| 色婷婷一区二区三区久久| 大肥女高潮bbwbbwhd视频| 超碰午夜| 亚洲熟女乱色一区二区三区| 亚洲国产精品成人无码久久久| 五月丁香久久| 久神马| 国产免费内射视频| 精品国产无码中文| A V少妇特黄三级| 99蜜桃臀亚洲成人在线观看| 国产农村妇女毛片精品久久| 强被迫伦姧在线观看无码网站| 成人性爱全视频观看| 亚洲色图久久精品蜜| 亚洲色图 综合| 久久久久久人| 岛国毛片手机在线观看| 日韩无码嘿咻黑热久| 日韩亚洲97| 内射夫妻三片| 五月丁香在线| 国内外毛片在线观看| 人人操人人干xxx| 狠狠爱综合网| 亚洲好色人妻| 成人a大片在线观看| 91在线美女| 天天天干977| 国产亚洲色婷婷久久99精品91葵花宝典 | www.av在线观看| 九X超碰| 91欧美亚洲| 色色色色网站| 91精品免费| 综合av社区| 成人AV素股で擦久久| AV女优男人的天堂| 丁香五月久久| 久9综合在线| 国产强奸AV在线| 国产AV高清AV无码| 中文字幕88av在线| 亚洲视频精选| 熟女熟妇一区二区三区视频| 日本高清视频xxxx| 中出789在线视频| 久久久久亚洲熟妇熟女| 亚洲天堂另类小说男人| 性夜影院爽黄A爽免费动漫| 啊啊啊啊嗯嗯嗯用力好爽| 日韩欧美久久婷婷网站| 国产九九九九九九九九| 97操综合| 熟女六十路| 狠狠干2020| 国产精品视频精品一二| 国产超碰97| 精品人妻美妇91job| yazhouzaixian| 婷婷伊人网| 亚洲资源吧| 日韩天美| 国内毛片无遮挡国产| 天天日天天舔东京热| 亚洲欧洲日韩天堂av| 伊人aaa| 蜜乳AV网址| 青青久日| 亚洲性爱高潮影院| 日韩欧美大片免费高清啪啪| 婷婷色香| 约操熟妇| 欧美 亚洲精品首页| 日韩啪啪啪啪啪| 一二三区视频在线观看| 欧美日韩性爱精品| 久久久啊啊啊| 自拍盗摄一区| 在线观看AV片| 97国产|免费| 色婷婷在线视频精品导航| 国产亚洲精品A在线观看下载| 天天操美美| 夜夜草网站| 国产精品com| ai欧美亚洲小说| 久久性爱城| 中文字幕三四区| 亚洲欧洲第二视频在线观看色图| 天天操天天舔| 偷拍精品一区二区三区| 天天看高清麻豆| 国产 三级自拍| 人妻另类 专区 欧美 制服| 亚洲 一区二区 自拍| 天天影视综合色| 色婷婷蜜臀av| 欧美日韩国产色图在线| 国产老太乱伦一区| 中文在线视频| 欧美美女在线高潮999| 无码视频黄色网战| 综合久久久久久久久91| 亚洲九九视频| 玖玖97综合| 亚洲少妇中文字幕网址| 欧美v亚洲v综合v国产v妖精| 亚洲美女高潮喷水视频| 欧美A√综合网| www.超碰| 粉嫩在线一区二区懂色| 伊人久久综合影院精品久久久| 干b网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 人妻丰满熟妇一区二区三| 欧美啪啪天堂| 加勒比伊人影院| 亚洲一区二区三区麻豆传媒| 婷婷五月色| 九九探花视频在线观看| 免费的黄片有限公司| 男人的天堂免费| 久久天堂网| 亚洲精品一卡二卡三卡福利视频网站 | 日日操免费视频| 中日韓欧美高清| 97在线欧| 久久视频,这里只有精品| 黄总AV色图| 日韩人妻资源网| 91国产精品在线看| 人人扣人人操| 久久av成人无码免费| 91精品久久久| 综合av社区| 色呦呦国产精品免费看| 色欲天天综合久久久无码网中文| 亚洲熟妇A V黑人| 综合一区二区影视| 天天伊人| WWW美腿丝袜香蕉中文| 狠色婷婷久久一区二区三区_| 亚洲综合性感在线| 清纯唯美激情四射| 久久久久久亚洲精品中文字幕人妻| 99精品无码| 日韩精品 资源| 嗯嗯嗯好爽| 五月丁香啪| Julia在线播放亚洲久久| 亚洲激情AV| 五月天婷婷色| 欧美黄页在线| 嗯……啊…嗯嗯…啊…好舒服| 爆乳免费黄网站| 日韩pv中文| 97硬碰| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产馆| 91综合在线| 永久电影三级在线观看| 翔田千里爆乳巨臀无码| 国产黄片精品在线| 日韩黄色一区二区三区| 天天插天天操| 91狠狠色丁香婷婷综合久久精品| 大逼色网站| 欧美综合色站| 亚州色阁| 91高清欧美| 精品亚洲| 日本淫乱女一区二区三区视频| 国产日韩无码一区二区三区久久区| 亚洲情欲| 99re这里只有精品9| 亚洲欧美色图小说| 午夜理论片在线观看免费| 久久露脸国产老熟女| 亚洲日韩一区电影| 精品九九九九九九九九九| 欧美色道啊| 啊啊啊爽爽| 美女操逼A A| 中文字幕123| 精品久久久久久亚洲| 亚洲情色在线| 精品人妻一区二区三区视频在线| 五月婷亚洲精品天堂| 天天躁日日躁xxxxx| www.色综合| 九九久久一区二区三区| 青青草久久| 99热这里只有精品18| 亚洲成人精品在线一区| 五月婷婷AV| 青青操少妇| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 91大香蕉伊人| 国产精品内射婷婷一级二| 国产精品久久久久中文字幕| 屌逼传媒| 中文日韩欧美熟| 男人的天堂在线有码| 国产第二页| 四虎精品永久在线播放| 国产成人无码高清| 青青草日本无码| 亚州精品人妻一二三区| 为用户提供免费看黄网址在线观看| 国产67194| 97国产色图| 放黄片放3级黄片没穿衣服| 无色无码| 久久久婷| 呦呦一区| 又黄又爽在线观看视频 | 大学生美女口爆| 国产麻豆一级精品视频| 九区国产| 国产视频一区二区三区在线免费观看| 综合色图区| 俺去啦自拍| 中国少妇XXXX做受| 肉丝网站91| 日日爱99| 婷婷五月天成人网| 性欧美第一页| 偷拍自拍在线视频观看| 国产白领连续中出在线播放| 激情综合网激情综合| 色情五月丁香| 97操97干| 人人操人人大香蕉| 欧美精品欧美精品系列| 人人操人人插人www| 97这里都是精品| AV乱伦国产| 男人天堂.AB| 亚州性9| 亚洲 91 在线| 97超碰色色| 天天透伊人| 亚洲欧美黄| 精品久久青青草| 久久东京热久久| 亚洲成人在线播放| 中文字幕在线免费观看| 中出91| 日韩欧美~中文字| 亚洲第2页| 国产和美国毛片| 啪啪啪精品视频| 91狠狠狠| 婷婷五月天福利| 精品久久久久久久| 天天爽人人综合免费7799| 久久人妻无码毛片A片麻豆| 国产精品嫩草影院午夜两性| 99热超碰| 精品国产乱子伦一区二区三区,精品一| 少妇干B| 99re热| 國產尤物AV尤物在線觀看 | 清纯唯美亚洲综合| 午夜免费视频1000| 四虎精品一区二区| a久久| 亚洲欧洲激情卡通另类文学四射小说网站 | 国内精品伊人久久久久影院会| 公司1区2区3区精产精| 亚洲日韩成人性爱视频| 免费精品99| 欧美裸体美女日麻屄| 99天天超碰| 精品黑人一区二区| 精品久久久久久久| 欧美亚洲AN| 婷婷丁香五月激情啪啪| 成人线上超碰| 搡老女人老91妇女熟女| 亚洲色色色| 91精品亚洲内射孕妇| 免费国产| 丝袜狠狠草尤物人妻av91| 国产最新小视频在线播放下载| 欧美综合自拍亚洲综合图| 99亚亚热| 久久久久久国产精品免费网站| 风间由美日韩欧美久久| 天天操女人| 太久视频| 亚洲自拍偷拍视频在线| 亚洲人码13| 天操天操夜操夜月操月年年操| 成人八戒网站| 亚洲av性爱电影| AV天黑人| 国产无遮挡| 3p国产色噜噜一区| 久久久久亚洲三级电影| 黑丝制服中文字幕| 亚洲色性情三级| 国产成人网址| 岛国大片在线观看网站入口| 外国91| 国产AV天美传媒一区二区三区| 91人人爽人人爽| 成人日本视频人妻在线| 日韩熟女乱伦中出| 热热色中文无码| 97chaopenrihan| 香港日本韩国人妇99www.wccm20| 97人人射| 色官网在线| 黄色在线网站| 韩国免费播放一级毛片| 神马久久免费电影观看| 加勒比av中文| 一及黄久一点| 青青草日本无码| 熟女视频久久| 无码av永久免费专区网站| 人妻另类| 国产久久一区二区| 一区二区三区国产精产| 五月婷婷六月天| 久精品无码av一区二免费国产在线观看 | 91成人18| av久日| 免费网站观看www在线观| 天天狠| 久久久精品国产亚洲伊人| www成人啪啪18秘 免费| 啪啪资源网| 亚洲国产婷婷在线播放| 精品蜜乳AV免费观看| 天堂蜜桃无码视频一区二区| 人人色人人操在线| 欧美日韩操逼嗦吊| 1024人妻熟女一区二区三区| 一区二区三区亚洲| 激情抓乳插进去啪啪啪日韩 | 久久精品熟妇丰满人妻99| 亚洲一区二区av| 精品少妇一区二区三区| 成人开心网在线视频| 久久熟女精品不卡一区| 操逼国产免费| 日韩av不卡在线看| 蜜桃传媒视频第一区入口在线看| caopeng97人妻| 青青草吊丝| 人人色人人射人人妻| 精品国产一区二区久久| 亚洲情色第一页| 毛片视频白嫩| 第45页一区二区| 啊啊好多水| 我中文字幕6区| 久久久98网站免费视频| 欧美人妻一区| 国产区性爱在线视频秋霞豆| 你懂的在线观看区国产| 亚洲精品一二牛牛| 911av网站免费观看| 久久精品国产亚洲AV嘿嘿| 高清无码 国产精品| 伦理片秋霞免费影院| 九月婷婷综合| 97视频在线免费看| 韩国女主播青草福利视频| 亚洲激情 欧美色图| 色天堂综合| 久久久久久中文| 91国模| 岛国1区2区3区在线观看| 操逼天美3区| 欧美99热| 亚洲国产剧情少妇激情| 亚洲欧美一区二区三区在钱蜜桃| 熟女丰满人妻一区| 中文幕97| 欧美高清91| 乱欲视频| 911粉嫩人妻| 91老司机在线视频免费观看| 久操在97| 男女啊啊啊啊啊| 99亚洲精品| 一级性爱aaaa| 97操97色| 九久久精品| 国产 日韩 欧美一区| 日韩免费在线观看不卡| 日本一区二区三区四区免费观看| 超碰免费在线| 亚洲熟女乱熟乱熟妇综合网二区| 欧美日韩亚洲少妇寂寞影院正在播放 | 毛片一区二区| 五月天色电影| 尤物视频偷拍免费| 人妻性爱一区二区| 成年女人18级毛片毛片免费观看| 这里是精品| 国语精品av| 高清成年美女黄网站免费大全| 射 色综合| 1204人成网站色www| 亚洲精品白浆高清久久久久久| 成人性爱av| 一块操欧美| 西西美女视频网| 欧美精品三区| 91精品久久久久久综合五月天| 丰满搜索结果 -第18页- 久久高清无码| 精品国产乱码久久久影院| 亚洲国产成人7777| 人妻天堂综合网| 青青草好吊| 国产精品一区av在线| 天美av在线观看| 97在线公开视频| 日本色色色视频| 蜜臀久久久国产| 思思热在线视频免费| 天天日少妇逼AV| 四季av一区二区凹凸精品小说| 看日韩黄片| 成年人性爱日韩| 最新av在线| 欧美人人曰人人操人人射射| 日韩99神马视频播放片在线播放| 青青草原香蕉日本Ap| 大香网站| 9 9无尺码天堂网| 久久riav中文精品| 国产成人主播| se吧提供国产乱老熟视频胖女人| 无码91| 91色色网站| 欧亚乱色熟一区二区三四区| 欧美色97| 奇米狠999| 一本一首道人妻少妇免费久久| 日韩免费福利在线观看| 99re不伦| 中文字幕高清精品一区| 91色爽欧美| 日日操免费视频| 久久只有精品一区二区三区| 不卡av免费在线网址| 日本不卡三级网在线播放| 国产成年女黄特黄| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | AV乱伦专区| www.狠狠干.coom| 九九九九九精品| 午夜精品99久久久久传媒| 老熟女网站| 日韩偷拍色图| 99re视频这里只有精品| 久久久九97| 襙一襙| 一区二区三区无卡视频在线观看| 91精品久久久久五月天精品| 后入 亚洲 美女 射| 香蕉欧美| 欧美色图 人妻| 国产超碰人人爽人人做| 国产97av| 精品女人999| 一区二区精品日韩欧美在线观看| 国产精品第二页| 人人看人人摸人人色| 91在线丝袜| 久久AV无码网址| 国产精品成人午夜福利| 爆乳免费黄网站| 一级片在线观看高清无码| 久久久久久少妇| 超碰97伊人| 成人熟女视频一区二区三区| 国产Aα| 久久久久女教师免费一区| 狠狠中文字幕| 岛国激情视频软件| 强奸乱亚洲| 日韩三级网址| 搡老女人老妇女AAA一VU麻豆| 亚洲91射| 99热超碰| A片 AV一级在线播放观看免费| 中文字幕一区二区三区人妻不卡 | 一区二区三| a人片中文字幕一区二区| 激情五月天丁香| 日韩中文字幕精品一区在线| 一卡二卡三卡| 91美女在线视频| 大香蕉伊人久久| 懂色中文一区二区三区 | 久久9精品| 青女在线| 日本曲间由美性生活片| 丰满人妻无码一区二区三区| 久久二| 日韩一级二级三级免费看完整版国语版 | 欧美日韩啪啪电影| 青青草在线视频播放器| 爽爽爽免费视频| 大香蕉九九| 亚洲乱伦图片视频| 精品人妻一区二区三区四区不卡在| 亚洲熟女一区| 九九九久千久久激情蜜桃在线看 | 日韩特级毛片免费观看全集| 欧美丝袜91| 97欧美色资源| 欧美久久婷| 狠狠狠狠狠狠| 色综合网1| 色在线亚洲视频www| 国产在线视频午夜精华在| 人妻丰满熟妇av无码区蜜桃| 国产美女激情| 亚洲国产综合久久久性感熟妇| 天天色播| 一区二区三区免费岛国片| 国产精品原创巨作?v网站| 欧美写真视频一区| 91超碰在线观看| 欧美 亚洲 91| 97色色,97综合| 大香蕉十区| 久久这里都是精品| 无码日韩人妻av一| 久久精品一区二区三区四区五区| 亚洲天堂资源| 日本精品国产视频| 欧美亚性天堂| 台欧久久精品视频| 哈哈操电影AV| 久久水蜜臀亚洲AV无码精品| 人人超碰在线观看黄| 韩国一级婬片A片无码天美| 日韩欧美大片免费高清啪啪| 欧美黄色手机在线观看| 久热影视| 美女极品一区二区三区| 福利在线观看一区二区|