精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

揭秘大模型的魔法:實現帶有可訓練權重的多頭自注意力機制

人工智能
今天我想把這塊魔術板拆開來給你看個究竟:如何把單頭注意力改成多頭注意力,讓每個頭能學會自己的注意力分布。

大家好,我是寫代碼的中年人!

自注意力(Self-Attention)是大模型里最常讓人“眼花”的魔術道具:看起來只是一堆矩陣乘法和 softmax,可是組合起來就能學到“句子里誰重要、誰次要”的規則,甚至能學到某些頭只盯標點、某些頭專盯主謂關系。

今天我想把這塊魔術板拆開來給你看個究竟:如何把單頭注意力改成多頭注意力,讓每個頭能學會自己的注意力分布。

01、回顧單頭自注意力機制

假設你在開會,桌上有一堆文件,你想找跟“項目進度”相關的內容。

你心里有個問題(Query):“項目進度在哪兒?

”每份文件上有個標簽(Key),寫著它的主題,比如“預算”“進度”“人員”。

你會先挑出標簽里跟“進度”相關的文件(匹配),然后重點看這些文件的內容(Value),最后把這些內容總結成你的理解。

自注意力就像是給每個詞都做了一次這樣的“信息篩選和總結”,讓每個詞都能根據上下文更好地表達自己。

02、理解多頭自注意力機制

繼續用開會的場景:

桌上還是那堆文件(代表句子里的詞),但現在你不是一個人干活,而是找了3個助手(假設3頭注意力)。每個助手都有自己的“專長”,他們會從不同的角度問問題、匹配標簽和提取內容。

每個頭獨立工作(多視角篩選):

頭1(進度專家):他的問題(Query)是“進度怎么樣?”他只關注標簽里跟“進度”“時間表”相關的文件,忽略其他。挑出匹配的文件后,他總結出一份“進度報告”。

頭2(預算專家):他的問題是“預算超支了嗎?”他匹配標簽里的“預算”“開銷”,然后從那些文件的內容里提煉“預算分析”。

頭3(風險專家):問題是“有什么隱患?”他找“風險”“問題”相關的標簽,輸出一份“風險評估”。

每個頭都像單頭注意力一樣:生成自己的問題、鑰匙和內容,計算匹配度,加權總結。但他們用的“眼鏡”不同(在機器里,這通過不同的線性變換實現),所以捕捉的信息側重點不一樣。

把多頭結果合起來(綜合決策):

一旦每個頭都給出自己的總結,你就把這些報告拼在一起(或簡單平均一下),形成一份完整的“項目概覽”。現在,你的理解不只是“進度”,而是進度+預算+風險的全方位視圖。萬一某個頭漏了什么,其他頭能補上,確保沒死角。

03、用代碼實現多頭自注意力機制

# ONE

我們使用水滸傳的內容進行演示,使用前三回各 100 字的文本,并按“字”切分成模型可用的格式。

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import matplotlib.pyplot as plt
import numpy as np


plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False


# ======  準備水滸傳真實語料 ======
raw_texts = [
    "話說大宋仁宗天子在位,嘉祐三年三月三日五更三點,天子駕坐紫宸殿,受百官朝賀。但見:祥雲迷鳳閣,瑞氣罩龍樓。含煙御柳拂旌旗,帶露宮花迎劍戟。天香影裏,玉簪珠履聚丹墀。仙樂聲中,繡襖錦衣扶御駕。珍珠廉卷,黃金殿上現金輿。鳳尾扇開,白玉階前停寶輦。隱隱凈鞭三下響,層層文武兩班齊。",
    "那高俅在臨淮州,因得了赦宥罪犯,思鄉要回東京。這柳世權卻和東京城里金梁橋下開生藥鋪的董將士是親戚,寫了一封書札,收拾些人事盤纏,赍發高俅回東京,投奔董將士家過活。",
    "話說當時史進道:「卻怎生是好?」朱武等三個頭領跪下答道:「哥哥,你是乾淨的人,休為我等連累了大郎。可把索來綁縛我三個,出去請賞,免得負累了你不好看?!?
]


# ======  按字切分 ======
def char_tokenize(text):
    return [ch for ch in text if ch.strip()]  # 去掉空格、換行


sentences = [char_tokenize(t) for t in raw_texts]


# 構建詞表
vocab = {}
for sent in sentences:
    for ch in sent:
        if ch not in vocab:
            vocab[ch] = len(vocab)


# ======  轉成索引形式并做 padding ======
max_len = max(len(s) for s in sentences)
PAD_TOKEN = "<PAD>"
vocab[PAD_TOKEN] = len(vocab)


input_ids = []
for sent in sentences:
    ids = [vocab[ch] for ch in sent]
    # padding
    ids += [vocab[PAD_TOKEN]] * (max_len - len(ids))
    input_ids.append(ids)


input_ids = torch.tensor(input_ids)  # (batch_size, seq_len)


# ======  多頭自注意力模塊 ======
class MultiHeadSelfAttention(nn.Module):
    def __init__(self, embed_dim, num_heads, dropout=0.1):
        super().__init__()
        assert embed_dim % num_heads == 0, "embed_dim 必須能整除 num_heads"
        self.embed_dim = embed_dim
        self.num_heads = num_heads
        self.head_dim = embed_dim // num_heads


        self.q_proj = nn.Linear(embed_dim, embed_dim)
        self.k_proj = nn.Linear(embed_dim, embed_dim)
        self.v_proj = nn.Linear(embed_dim, embed_dim)
        self.out_proj = nn.Linear(embed_dim, embed_dim)


        self.dropout = dropout
        self.last_attn_weights = None  # 保存最后一次注意力權重 (batch, heads, seq, seq)


    def forward(self, x):
        B, T, C = x.size()


        Q = self.q_proj(x).view(B, T, self.num_heads, self.head_dim).transpose(1, 2)
        K = self.k_proj(x).view(B, T, self.num_heads, self.head_dim).transpose(1, 2)
        V = self.v_proj(x).view(B, T, self.num_heads, self.head_dim).transpose(1, 2)


        scores = torch.matmul(Q, K.transpose(-2, -1)) / (self.head_dim ** 0.5)
        attn_weights = F.softmax(scores, dim=-1)
        attn_weights = F.dropout(attn_weights, p=self.dropout, training=self.training)


        self.last_attn_weights = attn_weights.detach()  # (B, heads, T, T)


        out = torch.matmul(attn_weights, V)
        out = out.transpose(1, 2).contiguous().view(B, T, C)
        out = self.out_proj(out)
        return out


# ======  模型訓練 ======
embed_dim = 32
num_heads = 4
vocab_size = len(vocab)


embedding = nn.Embedding(vocab_size, embed_dim)
model = MultiHeadSelfAttention(embed_dim, num_heads)
criterion = nn.MSELoss()
optimizer = optim.Adam(list(model.parameters()) + list(embedding.parameters()), lr=1e-3)


epochs = 200
for epoch in range(epochs):
    model.train()
    x = embedding(input_ids)
    target = x.clone()


    out = model(x)
    loss = criterion(out, target)


    optimizer.zero_grad()
    loss.backward()
    optimizer.step()


    if (epoch + 1) % 20 == 0:
        print(f"Epoch {epoch+1:3d}, Loss: {loss.item():.6f}")


# ======  可視化注意力熱圖 ======
for idx, sent in enumerate(sentences):
    attn = model.last_attn_weights[idx]  # (heads, seq, seq)
    sent_len = len(sent)
    for head in range(num_heads):
        plt.figure(figsize=(8, 6))
        plt.imshow(attn[head, :sent_len, :sent_len].numpy(), cmap='viridis')
        plt.title(f"第{idx+1}句 第{head+1}頭 注意力矩陣")
        plt.xticks(ticks=np.arange(sent_len), labels=sent, rotatinotallow=90)
        plt.yticks(ticks=np.arange(sent_len), labels=sent)
        plt.xlabel("Key (字)")
        plt.ylabel("Query (字)")
        plt.colorbar(label="Attention Strength")
        for i in range(sent_len):
            for j in range(sent_len):
                plt.text(j, i, f"{attn[head, i, j]:.2f}", ha="center", va="center", color="white", fnotallow=6)
        plt.tight_layout()
        plt.savefig(f"attention_sentence{idx+1}_head{head+1}.png")
        plt.close()


print("注意力熱圖已保存。")

這些多頭自注意力(Multi-Head Self-Attention)的熱圖,其實是一個“誰在關注誰”的可視化工具,用來直觀展示模型在處理文本時的注意力分布。

熱圖上的顏色:

橫軸(Key):表示句子中被關注的字,

縱軸(Query):表示當前在思考的字,

顏色深淺:表示注意力強度,越亮的地方代表這個 Query 在計算時更關注這個 Key。

例如,如果“宋”字在看“天”字時顏色很亮,說明模型覺得“天”這個字對理解“宋”有重要信息。因為是古文,有時模型會捕捉到常見的修辭搭配,比如“天子”“鳳閣”,這時候相鄰的字之間注意力會很高。

為什么會有多張圖:

每一行熱圖對應一句文本(水滸前三回的一個片段)

每句話會畫多個頭的熱圖:

多頭機制的設計就是讓不同的頭學習到不同的關注模式

舉個例子:

Head 1 可能更多關注相鄰的字(局部模式)

Head 2 可能更關注句首或特定關鍵詞(全局模式)

Head 3 可能專注某個語法結構

Head 4 可能專注韻律、排比等古文特性

多頭機制就像多雙眼睛,從不同角度觀察同一句話。

舉個大家都能理解的例子:

學生(Query):舉手發言

老師(Attention):環顧四周,看看應該關注哪個學生(Key)

不同的老師(Head)關注點不同:一個老師喜歡看前排學生(局部依賴)一個老師總是看坐在角落的安靜同學(遠距離依賴)還有老師會特別注意那些名字里有“天”“龍”這些關鍵字的學生

(關鍵觸發詞)顏色越亮,表示老師對這個學生說的話越感興趣。

結束語

回到開頭我們的問題:多頭自注意力到底在看什么?通過水滸傳這樣真實、結構獨特的古文片段,我們不僅看到了模型如何在字與字之間建立聯系,還直觀感受了不同“注意力頭”各自的關注模式。有人關注近鄰字,有人專注關鍵字,有人把目光投向整句的節奏與意境。

這就像課堂上不同的老師一樣——他們的視角不同,但共同構成了對整篇文章的完整理解。這種可視化,不只是為了“看個熱鬧”,而是把模型內部的決策過程攤開給人看,讓深度學習的“黑箱”多了一點可解釋性。

至此,我們用水滸的詩意古文,讓多頭自注意力的數學公式“活”了起來。接下來,我們將整合所有已學過的文章,去實現一個生成模型。

責任編輯:龐桂玉 來源: 寫代碼的中年人
相關推薦

2025-08-04 09:31:49

2018-08-26 22:25:36

自注意力機制神經網絡算法

2024-06-28 08:04:43

語言模型應用

2025-04-25 00:20:00

大模型tokenizer

2024-04-03 14:31:08

大型語言模型PytorchGQA

2023-05-05 13:11:16

2025-10-16 09:00:00

大模型

2025-02-10 00:00:55

MHAValue向量

2020-09-17 12:40:54

神經網絡CNN機器學習

2024-12-09 00:00:10

2025-07-16 10:15:51

2024-12-17 14:39:16

2024-01-02 12:50:12

數據模型

2024-12-04 09:25:00

2025-06-20 10:18:58

大模型

2024-09-19 10:07:41

2023-10-07 07:21:42

注意力模型算法

2024-10-31 10:00:39

注意力機制核心組件

2017-08-03 11:06:52

2025-10-24 10:34:55

點贊
收藏

51CTO技術棧公眾號

av福利在线播放| 怡红院男人的天堂| 国产一区二区在线视频你懂的| 亚洲一区二区三区四区五区黄 | 国产成人精品免费视频网站| 久久免费视频在线观看| 亚洲专区区免费| 豆花视频一区| 一本色道久久综合狠狠躁的推荐| 中文字幕免费在线不卡| 亚洲欧洲国产综合| 国产一区二区在线观看视频| 97在线视频观看| 伊人在线视频观看| 国产成人精品三级高清久久91| 欧美日韩中文字幕精品| 欧美日韩一道本| 麻豆影视国产在线观看| 91麻豆成人久久精品二区三区| 91精品免费看| 亚洲精品国产无码| 日韩一级在线| 精品自在线视频| 欧美巨胸大乳hitomi| 久久aimee| 91精品久久久久久蜜臀| 好男人www社区| 男人的天堂免费在线视频| 一区二区激情视频| 最新av在线免费观看| 国产最新视频在线| 91原创在线视频| 国产精品免费视频一区二区| 91成人国产综合久久精品| 久久这里有精品15一区二区三区| 欧美激情一级精品国产| 日韩欧美综合视频| 97精品视频| 中文字幕av一区二区| 久久久久久久久免费看无码 | 亚洲黄在线观看| xxxx视频在线观看| 亚洲午夜精品| 日韩手机在线导航| 人妻巨大乳一二三区| 91成人app| 在线不卡的av| 香蕉视频色在线观看| 日韩电影精品| 8x福利精品第一导航| 无限资源日本好片| 日本精品久久| 欧美一级生活片| 日韩欧美色视频| 日韩在线成人| 亚洲国产精品网站| 日韩免费高清一区二区| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 午夜精品短视频| 91女主播在线观看| 国产精品不卡视频| 潘金莲一级淫片aaaaaa播放1| 黄色成人影院| 亚洲最大的成人av| 国产美女网站在线观看| 成人影院网站| 欧美日韩视频专区在线播放| www.久久av.com| 亚洲91网站| 亚洲精美色品网站| 久久美女免费视频| 久久久久久美女精品| 欧美猛男性生活免费| 欧美成人精品欧美一级乱黄| 免费日韩av片| 国产女同一区二区| 成人毛片视频免费看| 91亚洲精品一区二区乱码| 日韩欧美在线电影| av免费网站在线观看| 亚洲一区二区三区在线播放| 黄色免费福利视频| 国产精品蜜月aⅴ在线| 欧美一区二区在线看| 黄色性视频网站| 欧美日韩高清| 欧美激情精品在线| 97久久久久久久| 久久精品av麻豆的观看方式| 97久草视频| 四虎精品成人影院观看地址| 久久婷婷国产综合精品青草 | 午夜理伦三级做爰电影| 日韩国产欧美| 国产69精品99久久久久久宅男| 潘金莲一级淫片aaaaaa播放| 国产一区二区在线看| 欧美午夜精品久久久久免费视| 免费在线午夜视频| 狠狠爱在线视频一区| xxxx在线免费观看| 天天躁日日躁成人字幕aⅴ| 日韩在线观看免费| 亚洲精品男人的天堂| 国产一区二区视频在线| 欧美一区二区三区四区五区六区 | 男人天堂网在线视频| 国产女人18水真多18精品一级做 | 久久青草久久| 成人av网站观看| 91在线网址| 黑人精品xxx一区| 亚洲精品一区二区18漫画 | 国产亚洲欧洲黄色| 激情综合网五月婷婷| 麻豆成人91精品二区三区| 精品国产一区二区三区麻豆小说 | 黄色国产在线视频| 亚洲欧美日韩高清在线| 国产精品www网站| 欧洲精品久久一区二区| 亚洲欧美日韩电影| 爱情岛论坛亚洲首页入口章节| 老司机凹凸av亚洲导航| 久久深夜福利免费观看| 成年人视频免费| 91免费视频大全| 欧美一级免费播放| 亚洲精品在线a| 久久精品国产久精国产一老狼| 日韩熟女一区二区| 97se亚洲国产综合在线| www.射射射| 成人三级av在线| 久久久久成人精品| 国产 欧美 精品| 一区二区三区精品在线| 欧美精品色视频| 婷婷丁香综合| 成人网在线观看| 激情成人四房播| 欧美精品在线观看一区二区| 91禁男男在线观看| 免费成人av在线| 亚洲欧美日韩精品在线| av久久网站| 日韩中文字幕网站| 一区二区三区免费在线视频| 国产精品色婷婷| 一级片黄色免费| 欧美日韩mv| 国产精品有限公司| 蜜臀久久精品| 亚洲欧美激情另类校园| 日本中文字幕在线观看视频| 国产亚洲综合在线| 久久婷五月综合| 亚洲色图插插| 国产成人女人毛片视频在线| hd国产人妖ts另类视频| 亚洲精品美女在线观看播放| 久久国产视频精品| 国产欧美一区二区三区网站| 视频二区在线播放| 欧美成人日本| 国产在线播放一区二区| 中文字幕一区久| 一区二区欧美久久| 99热精品在线播放| 亚洲不卡一区二区三区| 亚洲国产av一区| 狠狠色狠狠色综合| bt天堂新版中文在线地址| 九色丨蝌蚪丨成人| 国产精品成人久久久久| 中文字幕中文字幕在线中高清免费版| 欧美成人精精品一区二区频| 91玉足脚交嫩脚丫在线播放| 国产精品视频看| 无码人妻丰满熟妇区毛片蜜桃精品| 精品91久久久久| 色一情一区二区三区四区| 一区二区三区日本视频| 91av视频在线免费观看| 天堂中文а√在线| 亚洲国产精品va在线看黑人| 欧美一区免费看| 亚洲一区二区三区视频在线 | 成人久久久精品国产乱码一区二区 | 亚洲成人激情社区| 欧美国产亚洲精品久久久8v| 日本亚洲一区| 日韩欧美黄色影院| 亚洲 欧美 日韩 在线| 亚洲精品视频一区| 一级片手机在线观看| 国产精品中文字幕日韩精品| 免费 成 人 黄 色| 欧美91视频| 午夜精品一区二区三区在线观看| swag国产精品一区二区| 国产精品一区二区三区毛片淫片| 欧美aaa免费| 日韩在线中文字幕| 日色在线视频| 精品国产在天天线2019| 中文字幕丰满人伦在线| 岛国av一区二区在线在线观看| 亚洲欧美精品aaaaaa片| 国产日韩精品一区二区三区| 中文字幕99页| 国产最新精品精品你懂的| 成人在线观看a| 亚洲国产婷婷| 超碰人人爱人人| 99久久99久久精品国产片果冰| 精品国产综合区久久久久久| 欧美黄色一级| 亚洲999一在线观看www| 日韩不卡在线| 日本精品视频在线播放| 91九色在线播放| 久久伊人色综合| 97超碰人人在线| 一区二区国产精品视频| 男男激情在线| 精品一区二区亚洲| 欧美 日韩 综合| 91精品免费在线观看| 亚洲一级特黄毛片| 欧美午夜寂寞影院| 波多野结衣大片| 色综合天天综合狠狠| 青青操免费在线视频| 亚洲自拍与偷拍| 久久久无码精品亚洲国产| 亚洲视频一区在线观看| 国产美女高潮视频| 《视频一区视频二区| 免费黄色国产视频| 国产精品黄色在线观看| 欧洲美熟女乱又伦| 中文字幕av一区二区三区免费看| 欧美18—19性高清hd4k| 国产日产亚洲精品系列| 国产一区二区三区精品在线| 久久久精品综合| 神马久久久久久久久久久| 国产午夜亚洲精品羞羞网站| 国产精久久一区二区三区| 日本一区二区三区免费乱视频| 性欧美一区二区| 亚洲国产精品成人久久综合一区| 国产一级久久久久毛片精品| 日本一区二区三级电影在线观看| 91精品国自产在线| 亚洲日韩欧美一区二区在线| 欧日韩不卡视频| 亚洲另类在线制服丝袜| 久久成人在线观看| 欧美日韩免费在线观看| 天天干,天天干| 欧美日韩日日摸| 亚洲av色香蕉一区二区三区| 亚洲高清不卡av| 男人天堂亚洲二区| 久久精品视频播放| 国产黄色大片在线观看| 国产91精品久久久久久久| 色综合天天色| 91传媒视频在线观看| 国产精品视屏| 神马影院我不卡| 欧美激情偷拍| 国产主播在线看| 精品无人区麻豆乱码久久久| 色久综合一二码| 欧美国产一级片| 4hu四虎永久在线影院成人| 国产福利视频导航| 日韩禁在线播放| av男人的天堂在线| 欧美精品videossex性护士| 制服丝袜专区在线| 91精品久久久久久久久不口人| 日本高清久久| 欧美系列一区| 亚洲午夜精品一区二区国产| 少妇无码av无码专区在线观看| 日韩精品电影一区亚洲| 免费看的av网站| 久久中文娱乐网| 少妇影院在线观看| 91极品视觉盛宴| 国产福利资源在线| 在线观看欧美www| 国产社区精品视频| 成人免费观看a| 亚洲深夜福利在线观看| 亚洲一区 在线播放| 另类国产ts人妖高潮视频| 国产精品久久久久久9999| 99re成人在线| 免费在线观看国产精品| 欧美亚洲动漫精品| 婷婷色在线观看| 另类专区欧美制服同性| 欧美三级网址| 国产原创精品| 国产精品大片| 91福利免费观看| 国产欧美一区二区精品忘忧草| 久久久久久久久久一区二区三区| 欧洲精品一区二区| 亚洲欧美日韩动漫| 久久久久久久久久久人体| 亚洲91在线| 天天好比中文综合网| 亚洲女人av| 亚洲激情 欧美| 亚洲精品免费一二三区| 亚洲一二区视频| 这里只有精品丝袜| 日韩一区二区三区在线免费观看| 国产精品综合久久久久久| 中文视频一区| 爱豆国产剧免费观看大全剧苏畅| 久久久久久亚洲综合影院红桃| 日韩免费观看一区二区| 欧美成人精品1314www| 18在线观看的| 91视频国产精品| 久久精品亚洲人成影院| 9l视频白拍9色9l视频| 国产欧美一区视频| 香蕉污视频在线观看| 亚洲精品中文字| 伊人色综合一区二区三区影院视频| 国产在线一区二区三区四区| 极品av少妇一区二区| 又黄又爽的网站| 亚洲成人av一区二区| 成人免费一级视频| 97香蕉超级碰碰久久免费的优势| 精品亚洲免a| www国产精品内射老熟女| av网站免费线看精品| 在线能看的av| 亚洲欧美精品中文字幕在线| 日韩伦理三区| 亚洲精品成人久久久998| 美腿丝袜一区二区三区| 永久免费看片视频教学| 91麻豆精品国产91久久久| 成人在线视频亚洲| 99久re热视频这里只有精品6| 亚洲天堂黄色| www.超碰97| 欧美亚洲国产bt| www.久久久久.com| 国产精品一区二区欧美| 国产情侣一区| 久久久精品成人| 欧美一区三区二区| аⅴ资源天堂资源库在线| 蜜桃狠狠色伊人亚洲综合网站| 天堂av在线一区| www.av成人| 亚洲成人精品视频| 亚洲成a人片| 欧美一级特黄aaaaaa在线看片| 国产剧情一区二区| 国产性70yerg老太| 亚洲人成网在线播放| 福利一区在线| www.av91| 欧美极品aⅴ影院| 国产成人精品一区二三区四区五区| 97视频网站入口| 成人羞羞在线观看网站| 黑人巨大猛交丰满少妇| 欧美午夜视频在线观看| 麻豆视频网站在线观看| 国产精品一区二区在线观看| 日本欧美久久久久免费播放网| 男人与禽猛交狂配| 亚洲乱码国产乱码精品精天堂 | 国产91成人video| 91精品高清| 熟女俱乐部一区二区| 欧美一区二区视频在线观看2022| 黄视频网站在线观看| 亚洲二区三区四区| 99麻豆久久久国产精品免费| 成人午夜精品视频| 久久久爽爽爽美女图片| 视频在线不卡免费观看| 久久精品女同亚洲女同13| 欧美日韩不卡在线| 一级毛片久久久|