97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

做的好的h游戲下載網(wǎng)站有哪些低價格的網(wǎng)站建設(shè)公司

鶴壁市浩天電氣有限公司 2026/01/22 06:31:56
做的好的h游戲下載網(wǎng)站有哪些,低價格的網(wǎng)站建設(shè)公司,怎么把wordpress字去掉,神馬網(wǎng)站快速排名軟件在AI的世界里萬物皆向量#xff0c;向量可以用統(tǒng)一的方式表示一切信息#xff1a;圖片-像素#xff0c;文字-編碼#xff0c;聲音-頻率特征向量#xff0c;文件-向量化。前文介紹了線性代數(shù)#xff1a;標(biāo)量、向量、矩陣、張量#xff1b;矩陣乘法、轉(zhuǎn)置、點積運算等基本…在AI的世界里萬物皆向量向量可以用統(tǒng)一的方式表示一切信息圖片-像素文字-編碼聲音-頻率特征向量文件-向量化。前文介紹了線性代數(shù)標(biāo)量、向量、矩陣、張量矩陣乘法、轉(zhuǎn)置、點積運算等基本知識。深度學(xué)習(xí)的本質(zhì)就是數(shù)學(xué)運算而向量和矩陣是基石。神經(jīng)網(wǎng)絡(luò)的前向傳播、反向傳播、梯度下降都離不開向量和矩陣運算。本文重點介紹點積計算如何應(yīng)用在transformer注意力機(jī)制中。你肯定好奇到底點積運算發(fā)揮了什么作用這篇文章篇幅較長比較燒腦紕漏之處歡迎指出討論希望可以邊看邊實踐本文重點結(jié)合理論與代碼實踐回答下面幾個問題。1什么是向量的點積運算python如何實現(xiàn)點積運算 2點積運算與向量相似度有什么關(guān)系python如何計算相似度 3相似度與transformer里面注意力attention機(jī)制又是什么關(guān)系 4python實現(xiàn)注意力機(jī)制。1.什么是點積運算點積是深度學(xué)習(xí)中最基礎(chǔ)、最重要的運算它是每個神經(jīng)元進(jìn)行計算的核心操作。點積Dot Product是兩個向量之間的一種運算結(jié)果是一個標(biāo)量。用于衡量兩個向量在方向上有多“一致”。兩種定義1代數(shù)定義: A · B a1*b1 a2*b2 … an*bn對應(yīng)位置的分量相乘然后將所有乘積結(jié)果相加。神經(jīng)網(wǎng)絡(luò)的智能就來自于學(xué)會給不同輸入分配合適的權(quán)重然后做加權(quán)求和。向量點積運算就是這個加權(quán)求和過程讓每個輸入乘以權(quán)重全部加起來。不同神經(jīng)元的點積運算重復(fù)千萬次就產(chǎn)生了人工智能大道至簡從簡單規(guī)則到復(fù)雜智能是不是有點類似螞蟻群體單個螞蟻類似神經(jīng)元的能力極其有限但當(dāng)它們通過簡單規(guī)則相互連接并大規(guī)模組織起來時就會涌現(xiàn)出全新的、更高層次的特性。1.數(shù)學(xué)表達(dá)# 輸入向量比如一張簡化的3像素圖片input_vector [1.0,0.5,2.0]# 權(quán)重向量神經(jīng)元學(xué)到的參數(shù) weight_vector [0.3,0.7,-0.1]# 點積計算這就是神經(jīng)元在做的事情result1.0×0.30.5×0.72.0×(-0.1)0.30.35-0.20.452.程序?qū)崿F(xiàn)利用python的numpy模塊實現(xiàn)點積運算# 輸入向量比如一張簡化的3像素圖片input_vector np.array([1.0,0.5,2.0])# 權(quán)重向量神經(jīng)元學(xué)到的參數(shù)weight_vector np.array([0.3,0.7,-0.1])# 點積計算這就是神經(jīng)元在做的事情result np.dot(input_vector,weight_vector)print(點積計算結(jié)果,result)3.自己實現(xiàn)Vector向量類及點積運算函數(shù)class Vector: def __init__(self, components): self.components components def dot(self, other): if len(self.components)!len(other.components): raise ValueError(向量維度必須相同) return sum(x * y for x, y in zip(self.components, other.components))2幾何定義: A · B ||A|| * ||B|| * cos(θ)點積的結(jié)果由兩個向量的長度和它們之間的夾角共同決定。||A|| 是向量 A 的模長可以理解為向量的長度。 ||B|| 是向量 B 的模長。 θ 是向量 A 和向量 B 之間的夾角。3模長||A||如何計算向量的模長Magnitude也叫范數(shù)Norm直觀來說就是向量在空間中的“長度”從原點(0,0,…)指向向量坐標(biāo)點的距離。對于一個 n維向量 A [a1, a2, a3, …, an]其模長 ||A|| 的計算公式為||A|| √(a12 a22 a32 ... an2)。文字描述就是向量模長等于其所有分量的平方和再開平方根。假設(shè)有一個二維向量 A [3, 4]它在坐標(biāo)系中就是從原點 (0,0) 指向點 (3,4) 的箭頭。計算分量的平方和: 32 42 9 16 25 對結(jié)果開平方根:√25 5所以向量 A 的模長 ||A|| 5。4兩種定義是等價的點積的數(shù)學(xué)本質(zhì)A · B ||A|| * ||B|| * cos(θ)它同時衡量了向量的長度和方向一致性。a1*b1 a2*b2 ... an*bn ||A|| * ||B|| * cos(θ)讓我們用一個二維的例子來可視化這個過程這能極大地幫助理解。假設(shè)有兩個向量:A [3, 4]B [1, 0]第一步計算點積 A · B A · B (3 * 1) (4 * 0) 3 0 3第二步計算模長 ||A|| 和 ||B|| ||A|| sqrt(32 42) sqrt(9 16) sqrt(25) 5 ||B|| sqrt(12 02) sqrt(1 0) 1第三步計算余弦值 cos(θ) cos(θ) (A · B) / (||A|| * ||B||) 3 / (5 * 1) 3/5 0.62.點積vs向量相似度是什么關(guān)系2.1向量相似度計算如何衡量向量相似度本質(zhì)上我們是用夾角余弦值 cos(θ) 來衡量“方向上的相似度”而點積 A · B 是計算 cos(θ) 的一個關(guān)鍵步驟但它本身并不是一個純粹的相似度度量。1最純粹的相似度度量是 cos(θ)它只關(guān)心兩個向量的方向是否一致完全忽略了它們的長度模長。這使得它成為衡量“本質(zhì)相似性”的理想指標(biāo)。cos(θ) 的本質(zhì)是衡量方向一致性? 當(dāng) θ 0° 時cos(0°) 1。這意味著兩個向量方向完全相同。此時點積達(dá)到最大值正值。 ? 當(dāng) θ 90° 時cos(90°) 0。這意味著兩個向量互相垂直。此時點積為 0。 ? 當(dāng) θ 180° 時cos(180°) -1。這意味著兩個向量方向完全相反。此時點積達(dá)到最小值負(fù)值。 所以cos(θ) 本身就是一個完美的“相似度”度量指標(biāo)它衡量了兩個向量在方向上的對齊程度。2點積 A · B 是 cos(θ) 的“未標(biāo)準(zhǔn)化”版本點積的結(jié)果同時受到向量方向和向量長度的影響。 ||A|| * ||B|| 是縮放因子它保證了更長的向量會對點積結(jié)果產(chǎn)生更大的影響。但如果兩個向量的模長是固定的歸一化那么點積的大小就完全由cos(θ)即方向的一致性來決定。特征點積 (Dot Product)余弦相似度 (Cosine Similarity)公式A · B Σ(a_i * b_i)cos(θ) (A · B) / (取值范圍(-∞, ∞)[-1, 1]受向量長度影響是否衡量的是什么方向相似性強度模長純方向相似性主要用途注高效計算相似度理論上純粹的相似度度量2.2向量相似度實現(xiàn)Transformer通過簡單的點積運算(余弦相似度的核心)在大規(guī)模應(yīng)用中涌現(xiàn)出強大的語言理解能力這正是大道至簡的完美體現(xiàn)。import numpy as npfrom numpy.linalg import norm#基于numpy模塊實現(xiàn)兩個向量余弦相似度相似度計算def cosine_similarity(vec1, vec2): 計算兩個向量的余弦相似度 公式:cos(θ)(A·B)/(||A||*||B||) 值域:[-1,1]值越大表示越相似1 完全相同方向,0 正交,-1 完全相反方向Args: vec1 (list/np.array): 第一個向量 vec2 (list/np.array): 第二個向量Returns: float: 余弦相似度值 # 確保輸入是numpy數(shù)組 vec1 np.array(vec1) vec2 np.array(vec2) # 計算點積 dot_product np.dot(vec1, vec2) # 計算向量的模長(L2范數(shù)) norm_vec1 norm(vec1) norm_vec2 norm(vec2) # 防止除以零 if norm_vec1 0 or norm_vec2 0: return 0.0 # 計算余弦相似度 similarity dot_product /(norm_vec1 * norm_vec2) return similarity# 純Python實現(xiàn)(不依賴numpy)代數(shù)相似度vs幾何相似度等價def cosine_similarity_python(vec1, vec2):不使用numpy的余弦相似度實現(xiàn) # 計算點積 dot_product sum(a * b for a, b in zip(vec1, vec2)) # 計算模長 norm1 sum(a * a for a in vec1)**0.5 norm2 sum(b * b for b in vec2)**0.5 # 防止除以零 if norm1 0 or norm2 0: return 0.0 return dot_product /(norm1 * norm2)#測試向量相似度def test_cosine_similarity():測試余弦相似度函數(shù)print( 余弦相似度測試 ) # 相同方向的向量 a [1,2,3] b [2,4,6] # a的2倍完全同向print(f向量 {a} 和  的余弦相似度: {cosine_similarity(a, b):.4f} (應(yīng)接近1.0)) # 正交向量 c [1,0,0] d [0,1,0]print(f向量 {c} 和 0ghprlcq 的余弦相似度: {cosine_similarity(c, d):.4f} (應(yīng)為0.0)) # 相反方向 e [1,2,3] f [-1,-2,-3]print(f向量 {e} 和 {f} 的余弦相似度: {cosine_similarity(e, f):.4f} (應(yīng)接近-1.0)) # 實際應(yīng)用示例 - 文本向量 # 假設(shè)是詞嵌入向量 apple [0.8,0.6,0.1,-0.2] fruit [0.7,0.5,0.2,-0.1] car [-0.1,-0.3,0.9,0.8]print( 實際應(yīng)用示例 (詞向量):)print(fapple 和 fruit 的相似度: {cosine_similarity(apple, fruit):.4f})print(fapple 和 car 的相似度: {cosine_similarity(apple, car):.4f})print( )# 執(zhí)行測試test_cosine_similarity(3.向量相似度vs注意力機(jī)制什么關(guān)系3.1Transformer的自注意力機(jī)制維基百科里面注意力機(jī)制英語attention是人工神經(jīng)網(wǎng)絡(luò)中一種模仿人類認(rèn)知注意力的技術(shù)。這種機(jī)制可以增強神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)中某些部分的權(quán)重同時減弱其他部分的權(quán)重以此將網(wǎng)絡(luò)的關(guān)注點聚焦于數(shù)據(jù)中最重要的一小部分。數(shù)據(jù)中哪些部分比其他部分更重要取決于上下文。可以通過梯度下降法對注意力機(jī)制進(jìn)行訓(xùn)練。允許模型在處理數(shù)據(jù)時動態(tài)分配權(quán)重重點關(guān)注輸入中的重要部分。讓AI模型具備像人類一樣“抓重點”的能力這樣AI在處理信息時也會自動分配“注意力權(quán)重”強化關(guān)鍵特征弱化次要信息。3.1.1transformer里面的self-attentionlayer下面截圖來自李宏毅老師的視頻課程這個結(jié)構(gòu)相信大家看了無數(shù)遍。今天我們主要聚集這幅圖里面的self-attentionlayer模塊。3.1.2Self-attention矩陣運算過程自注意力機(jī)制允許模型在處理序列數(shù)據(jù)時關(guān)注輸入序列中的不同部分。其核心是使用點積計算查詢Query、鍵Key和值Value之間的相關(guān)性。自注意力機(jī)制公式Attention(Q, K, V) softmax(QK?/√d?)V點積用于計算查詢(Query)和鍵(Key)之間的相似度。其中Q: 查詢矩陣K: 鍵矩陣V: 值矩陣d?: 鍵向量的維度用于縮放整體步驟如下3.1.3運算步驟拆解1根據(jù)輸入x與權(quán)重矩陣WqWkWv計算Q、K、V矩陣。詞向量xi位置編碼eiai——WqWkWv*ai2每個q與每個k做點積運算Q*K做 dot product并行運算3Softmax運算-歸一化矩陣運算結(jié)果進(jìn)行softmax運算將點積運算得到的原始分?jǐn)?shù)轉(zhuǎn)換為有意義的概率分布是連接神經(jīng)網(wǎng)絡(luò)計算與概率解釋的橋梁這里不做展開后面概率論單獨文章再去理解。4計算輸出結(jié)果3.1.4多頭自注意力機(jī)制Q、K、V不同維度分解多維度理解就像用多個不同角度的攝像頭同時拍攝一個場景1第一個頭專注語法關(guān)系主謂賓結(jié)構(gòu)2第二個頭專注語義關(guān)系詞匯含義3第三個頭專注長距離依賴句子間邏輯3.2點積相似度計算vs注意力關(guān)系點積在注意力中的角色利用其衡量方向一致性的特性來計算查詢Query 和鍵Key 之間的相似度。方向越一致代表Key越能回答Query的“提問”其對應(yīng)的Value就越重要。1在概念上我們是用 cos(θ) 來衡量向量的相似度。余弦的優(yōu)勢余弦值通過除以模長消除了向量長度的影響。cos(A, B) 1 精確地表示它們方向完全相同。cos(A, C) -1 表示它們方向完全相反。cos(θ) 給出了一個歸一Normalized的結(jié)果它的值永遠(yuǎn)在 [-1, 1] 之間這使得不同向量之間的相似度可以公平地進(jìn)行比較。2在實際操作中尤其是在注意力機(jī)制里我們常用點積 (Q · K) 作為其高效且有效的近似計算方式例如在Transformer中Query和Key向量通常會被歸一化到相同的尺度。3.3點積運算如何在transformer注意力機(jī)制中發(fā)揮作用Transformer原論文中將核心部分稱為Scaled Dot-Product Attention縮放點積注意力最核心的公式為1核心思想對于當(dāng)前要處理的元素Query例如一個詞決定應(yīng)該“關(guān)注”序列中其他元素Key的多少程度。這個“關(guān)注程度”就是一個權(quán)重最終效果通過點積注意力機(jī)制能夠動態(tài)地、有針對性地從輸入序列中提取最相關(guān)的信息這是Transformer和大型語言模型取得成功的關(guān)鍵突破之一。2Query, Key, Value 類比Query (查詢向量)代表當(dāng)前元素發(fā)出的“提問”“我正在處理我需要哪些信息”比喻就像你在搜索引擎里輸入的關(guān)鍵詞。Key (鍵向量)代表序列中每個元素所擁有的“標(biāo)簽”或“標(biāo)識”。它用來回應(yīng) Query的提問。比喻 就像互聯(lián)網(wǎng)上每個網(wǎng)頁的關(guān)鍵詞標(biāo)簽索引。Value (值向量)代表序列中每個元素實際包含的“信息”或“內(nèi)容”。比喻 就像網(wǎng)頁本身的完整內(nèi)容。3注意力的工作流程將當(dāng)前的 Query 與序列中所有元素的 Key 進(jìn)行比較。點積就是執(zhí)行這個比較操作的完美工具相似度分?jǐn)?shù) Query · Key加權(quán)將這些相似度分?jǐn)?shù)通過Softmax函數(shù)轉(zhuǎn)換為權(quán)重所有權(quán)重之和為1的正數(shù)概率分布。分?jǐn)?shù)越高權(quán)重越大。求和用這些權(quán)重對所有的 Value 進(jìn)行加權(quán)求和得到最終的注意力輸出。4為什么點積是計算相似度的完美工具現(xiàn)在我們結(jié)合幾何意義來理解? Query · Key 的值越大 - 根據(jù)點積公式這意味著 cos(θ) 接近 1 - 兩個向量的方向非常接近 - 這個Key所對應(yīng)的元素所擁有的“標(biāo)簽”Key與當(dāng)前的“提問”Query高度相關(guān) - 因此這個元素應(yīng)該獲得高注意力權(quán)重。? Query · Key 的值接近 0 - cos(θ) 接近 0 - 兩個向量近乎垂直 - Key 和 Query 不相關(guān) - 權(quán)重應(yīng)接近 0。? Query · Key 的值為負(fù) - cos(θ) 為負(fù) - 兩個向量方向相反 - 可能意味著某種排斥或?qū)α㈥P(guān)系 - 權(quán)重會非常小因為Softmax會將負(fù)值壓得很低。5既然 cos(θ) 更好為什么Transformer的論文《Attention Is All You Need》中用的是點積公式 Q · K而不是直接寫 cos(θ) 呢理解點積受長度影響這一缺陷是理解為何需要LayerNorm、縮放因子等技巧的關(guān)鍵。架構(gòu)設(shè)計如LayerNorm和縮放操作 (/ √d_k) 確保了 (Q · K) 能夠有效地充當(dāng)相似度的度量指標(biāo)。? 計算效率點積 Q · K 只需要一次矩陣乘法計算速度極快。如果先分別計算每個Q和K的模長再做除法計算成本更高。使用 (Q · K) 是出于計算效率和實現(xiàn)便利的考慮。隱含的假設(shè)在標(biāo)準(zhǔn)的Transformer架構(gòu)中Query和Key向量通常已經(jīng)進(jìn)行了某種形式的歸一化例如通過其初始化方式和層歸一化LayerNorm它們的模長被控制在一個較小的范圍內(nèi)波動。因此點積 Q · K 的結(jié)果雖然不完全等價但已經(jīng)高度近似于余弦相似度 cos(θ) 所表達(dá)的方向相似性。其內(nèi)在的物理意義仍然是衡量Query和Key向量方向的相似性即 cos(θ)。? 可學(xué)習(xí)的縮放因子論文中并沒有直接使用點積而是使用了縮放點積注意力Scaled Dot-Product Attention注意力分?jǐn)?shù) (Q · K) / √d_k)這里除以 √d_kKey向量的維度的主要原因之一是防止點積結(jié)果過大導(dǎo)致Softmax函數(shù)的梯度消失問題因為Softmax會將非常大的輸入值推向飽和區(qū)。這個縮放操作進(jìn)一步穩(wěn)定了訓(xùn)練。4.點積運算vs自注意力python實現(xiàn)在Transformer模型中自注意力機(jī)制(Self-Attention)的核心就是使用點積來計算查詢(Query)和鍵(Key)之間的相似度。具體步驟如下1準(zhǔn)備輸入初始化參數(shù)將輸入向量轉(zhuǎn)換為Query、Key和Value矩陣2計算注意力分?jǐn)?shù)通過Query和Key的點積計算注意力分?jǐn)?shù)attentionscore3縮放將點積結(jié)果除以Key向量維度的平方根(√d?)4Softmax對縮放后的分?jǐn)?shù)應(yīng)用Softmax函數(shù)獲得注意力權(quán)重5加權(quán)求和用注意力權(quán)重對Value進(jìn)行加權(quán)求和6輸出結(jié)果。感興趣的朋友可以閱讀并運行下面代碼。import numpy as npimport matplotlib.pyplot as pltfrom math import sqrt#點積計算注意力defscaled_dot_product_attention(Q, K, V, print_stepsFalse): 實現(xiàn)縮放點積注意力機(jī)制 參數(shù): Q -- 查詢矩陣 (batch_size, num_heads, seq_len, d_k) K -- 鍵矩陣 (batch_size, num_heads, seq_len, d_k) V -- 值矩陣 (batch_size, num_heads, seq_len, d_k) print_steps -- 是否打印中間步驟 返回: 輸出張量和注意力權(quán)重 # 1. 計算注意力分?jǐn)?shù): Q·K^T# 形狀: (batch_size, num_heads, seq_len, seq_len) matmul_qk np.matmul(Q, K.transpose(0,1,3,2))if print_steps:print( 步驟1: 計算Q·K^T)print(Q·K^T 形狀:, matmul_qk.shape)print(示例值(第一個樣本,第一個頭): , matmul_qk[0,0,:,:])# 2. 縮放注意力分?jǐn)?shù) (除以sqrt(d_k)) d_k Q.shape[-1] scaled_attention_logits matmul_qk / sqrt(d_k)if print_steps:print( 步驟2: 縮放注意力分?jǐn)?shù) (除以√d_k))print(d_k , d_k)print(縮放后形狀:, scaled_attention_logits.shape)print(示例值(第一個樣本,第一個頭): , scaled_attention_logits[0,0,:,:])# 3. 應(yīng)用softmax獲取注意力權(quán)重# 注意: softmax應(yīng)用于最后一個維度(seq_len) attention_weights np.exp(scaled_attention_logits - np.max(scaled_attention_logits, axis-1, keepdimsTrue)) attention_weights / np.sum(attention_weights, axis-1, keepdimsTrue)if print_steps:print( 步驟3: 應(yīng)用softmax獲取注意力權(quán)重)print(注意力權(quán)重形狀:, attention_weights.shape)print(示例值(第一個樣本,第一個頭): , attention_weights[0,0,:,:])print(檢查行和(應(yīng)接近1):, np.sum(attention_weights[0,0,0,:]))# 4. 將注意力權(quán)重與值矩陣相乘 output np.matmul(attention_weights, V)if print_steps:print( 步驟4: 注意力權(quán)重·V)print(輸出形狀:, output.shape)print(示例值(第一個樣本,第一個頭): , output[0,0,:,:5])# 只顯示前5個特征return output, attention_weights#多頭注意力機(jī)制classMultiHeadAttention: Multi-Head Attention層實現(xiàn) [[5]] 這個實現(xiàn)將輸入分割為多個注意力頭分別計算注意力然后合并結(jié)果。 def__init__(self, d_model, num_heads): 初始化Multi-Head Attention層 參數(shù): d_model -- 模型維度(輸入和輸出的維度) num_heads -- 注意力頭的數(shù)量 self.d_model d_model self.num_heads num_heads# 確保d_model可以被num_heads整除assert d_model % num_heads 0,d_model must be divisible by num_heads self.d_k d_model // num_heads # 每個注意力頭的維度# 初始化權(quán)重矩陣 (使用Xavier初始化) self.W_q np.random.randn(d_model, d_model)/ sqrt(d_model) self.W_k np.random.randn(d_model, d_model)/ sqrt(d_model) self.W_v np.random.randn(d_model, d_model)/ sqrt(d_model) self.W_o np.random.randn(d_model, d_model)/ sqrt(d_model)print(fMultiHeadAttention初始化完成:)print(f- d_model: {d_model})print(f- num_heads: {num_heads})print(f- d_k per head: {self.d_k})print(f- 權(quán)重矩陣形狀: W_q{self.W_q.shape}, W_k{self.W_k.shape}, W_v{self.W_v.shape}, W_o{self.W_o.shape})defsplit_heads(self, x, batch_size): 將最后一個維度分割為(num_heads, d_k) 參數(shù): x -- 輸入張量 (batch_size, seq_len, d_model) batch_size -- 批次大小 返回: 重排后的張量 (batch_size, num_heads, seq_len, d_k) x x.reshape(batch_size,-1, self.num_heads, self.d_k)# 交換維度以獲得 (batch_size, num_heads, seq_len, d_k)return np.transpose(x,(0,2,1,3))defcombine_heads(self, x, batch_size): 將多個注意力頭的結(jié)果合并 參數(shù): x -- 分割后的張量 (batch_size, num_heads, seq_len, d_k) 返回: 合并后的張量 (batch_size, seq_len, d_model) # 交換維度以獲得 (batch_size, seq_len, num_heads, d_k) x np.transpose(x,(0,2,1,3))# 合并最后兩個維度return x.reshape(batch_size,-1, self.d_model)defforward(self, x, print_stepsFalse): 前向傳播 參數(shù): x -- 輸入張量 (batch_size, seq_len, d_model) print_steps -- 是否打印中間步驟 返回: 輸出張量和所有注意力頭的注意力權(quán)重 batch_size x.shape[0] seq_len x.shape[1]if print_steps:print( Multi-Head Attention 前向傳播 )print(輸入形狀:, x.shape)print(示例輸入(第一個樣本): , x[0,:,:5])# 只顯示前5個特征# 1. 線性投影得到Q, K, V Q np.matmul(x, self.W_q) K np.matmul(x, self.W_k) V np.matmul(x, self.W_v)if print_steps:print( 步驟1: 線性投影得到Q, K, V)print(Q形狀:, Q.shape,K形狀:, K.shape,V形狀:, V.shape)print(示例Q值(第一個樣本): , Q[0,:,:5])# 2. 分割為多個注意力頭 Q self.split_heads(Q, batch_size) K self.split_heads(K, batch_size) V self.split_heads(V, batch_size)if print_steps:print( 步驟2: 分割為多個注意力頭)print(分割后Q形狀:, Q.shape,K形狀:, K.shape,V形狀:, V.shape)print(示例Q值(第一個樣本,第一個頭): , Q[0,0,:,:5])# 3. 計算縮放點積注意力 attn_output, attn_weights scaled_dot_product_attention( Q, K, V, print_stepsprint_steps)# 4. 合并所有注意力頭 attn_outputself.combine_heads(attn_output, batch_size)if print_steps:print( 步驟4: 合并所有注意力頭)print(合并后輸出形狀:, attn_output.shape)print(示例輸出(第一個樣本): , attn_output[0,:,:5])# 5. 應(yīng)用最終的線性變換 output np.matmul(attn_output, self.W_o)if print_steps:print( 步驟5: 應(yīng)用最終線性變換 (W_o))print(最終輸出形狀:, output.shape)print(示例輸出(第一個樣本): , output[0,:,:5])return output, attn_weights# 測試實現(xiàn)if __name____main__:# 設(shè)置隨機(jī)種子以確保結(jié)果可重現(xiàn) np.random.seed(42)# 創(chuàng)建示例輸入 (batch_size2, seq_len3, d_model8) batch_size 2 seq_len 3 d_model 8 num_heads 2print( 創(chuàng)建測試環(huán)境 )print(f批次大小: {batch_size}, 序列長度: {seq_len}, 模型維度: {d_model}, 注意力頭數(shù): {num_heads})# 隨機(jī)生成輸入數(shù)據(jù) (模擬詞嵌入) x np.random.randn(batch_size, seq_len, d_model)# 創(chuàng)建Multi-Head Attention層 mha MultiHeadAttention(d_model, num_heads)# 執(zhí)行前向傳播并打印所有中間步驟print( *50)print(開始執(zhí)行前向傳播打印所有中間步驟...)print(*50) output, attn_weights mha.forward(x, print_stepsTrue)# 打印最終結(jié)果摘要print( *50)print(Multi-Head Attention 計算完成)print(*50)print(輸入形狀:, x.shape)print(輸出形狀:, output.shape)print(注意力權(quán)重形狀 (用于可視化):, attn_weights.shape)print( 注意力權(quán)重示例(第一個樣本,第一個頭):)print(attn_weights[0,0,:,:])# 可視化第一個樣本的第一個注意力頭 plt.figure(figsize(8,6)) plt.imshow(attn_weights[0,0], cmaphot, interpolationnearest) plt.colorbar() plt.title(Attention Weights (Sample 0, Head 0)) plt.xlabel(Key Positions) plt.ylabel(Query Positions)for i inrange(seq_len):for j inrange(seq_len): plt.text(j, i,f{attn_weights[0, 0, i, j]:.2f}, hacenter, vacenter, colorw) plt.savefig(attention_weights.png)print( 已保存注意力權(quán)重可視化到 attention_weights.png)想入門 AI 大模型卻找不到清晰方向備考大廠 AI 崗還在四處搜集零散資料別再浪費時間啦2025 年AI 大模型全套學(xué)習(xí)資料已整理完畢從學(xué)習(xí)路線到面試真題從工具教程到行業(yè)報告一站式覆蓋你的所有需求現(xiàn)在全部免費分享掃碼免費領(lǐng)取全部內(nèi)容?一、學(xué)習(xí)必備100本大模型電子書26 份行業(yè)報告 600 套技術(shù)PPT幫你看透 AI 趨勢想了解大模型的行業(yè)動態(tài)、商業(yè)落地案例大模型電子書這份資料幫你站在 “行業(yè)高度” 學(xué) AI1. 100本大模型方向電子書2. 26 份行業(yè)研究報告覆蓋多領(lǐng)域?qū)嵺`與趨勢報告包含阿里、DeepSeek 等權(quán)威機(jī)構(gòu)發(fā)布的核心內(nèi)容涵蓋職業(yè)趨勢《AI 職業(yè)趨勢報告》《中國 AI 人才糧倉模型解析》商業(yè)落地《生成式 AI 商業(yè)落地白皮書》《AI Agent 應(yīng)用落地技術(shù)白皮書》領(lǐng)域細(xì)分《AGI 在金融領(lǐng)域的應(yīng)用報告》《AI GC 實踐案例集》行業(yè)監(jiān)測《2024 年中國大模型季度監(jiān)測報告》《2025 年中國技術(shù)市場發(fā)展趨勢》。3. 600套技術(shù)大會 PPT聽行業(yè)大咖講實戰(zhàn)PPT 整理自 2024-2025 年熱門技術(shù)大會包含百度、騰訊、字節(jié)等企業(yè)的一線實踐安全方向《端側(cè)大模型的安全建設(shè)》《大模型驅(qū)動安全升級騰訊代碼安全實踐》產(chǎn)品與創(chuàng)新《大模型產(chǎn)品如何創(chuàng)新與創(chuàng)收》《AI 時代的新范式構(gòu)建 AI 產(chǎn)品》多模態(tài)與 Agent《Step-Video 開源模型視頻生成進(jìn)展》《Agentic RAG 的現(xiàn)在與未來》工程落地《從原型到生產(chǎn)AgentOps 加速字節(jié) AI 應(yīng)用落地》《智能代碼助手 CodeFuse 的架構(gòu)設(shè)計》。二、求職必看大廠 AI 崗面試 “彈藥庫”300 真題 107 道面經(jīng)直接抱走想沖字節(jié)、騰訊、阿里、蔚來等大廠 AI 崗這份面試資料幫你提前 “押題”拒絕臨場慌1. 107 道大廠面經(jīng)覆蓋 Prompt、RAG、大模型應(yīng)用工程師等熱門崗位面經(jīng)整理自 2021-2025 年真實面試場景包含 TPlink、字節(jié)、騰訊、蔚來、蝦皮、中興、科大訊飛、京東等企業(yè)的高頻考題每道題都附帶思路解析2. 102 道 AI 大模型真題直擊大模型核心考點針對大模型專屬考題從概念到實踐全面覆蓋幫你理清底層邏輯3. 97 道 LLMs 真題聚焦大型語言模型高頻問題專門拆解 LLMs 的核心痛點與解決方案比如讓很多人頭疼的 “復(fù)讀機(jī)問題”三、路線必明 AI 大模型學(xué)習(xí)路線圖1 張圖理清核心內(nèi)容剛接觸 AI 大模型不知道該從哪學(xué)起這份「AI大模型 學(xué)習(xí)路線圖」直接幫你劃重點不用再盲目摸索路線圖涵蓋 5 大核心板塊從基礎(chǔ)到進(jìn)階層層遞進(jìn)一步步帶你從入門到進(jìn)階從理論到實戰(zhàn)。L1階段:啟航篇丨極速破界AI新時代L1階段了解大模型的基礎(chǔ)知識以及大模型在各個行業(yè)的應(yīng)用和分析學(xué)習(xí)理解大模型的核心原理、關(guān)鍵技術(shù)以及大模型應(yīng)用場景。L2階段攻堅篇丨RAG開發(fā)實戰(zhàn)工坊L2階段AI大模型RAG應(yīng)用開發(fā)工程主要學(xué)習(xí)RAG檢索增強生成包括Naive RAG、Advanced-RAG以及RAG性能評估還有GraphRAG在內(nèi)的多個RAG熱門項目的分析。L3階段躍遷篇丨Agent智能體架構(gòu)設(shè)計L3階段大模型Agent應(yīng)用架構(gòu)進(jìn)階實現(xiàn)主要學(xué)習(xí)LangChain、 LIamaIndex框架也會學(xué)習(xí)到AutoGPT、 MetaGPT等多Agent系統(tǒng)打造Agent智能體。L4階段精進(jìn)篇丨模型微調(diào)與私有化部署L4階段大模型的微調(diào)和私有化部署更加深入的探討Transformer架構(gòu)學(xué)習(xí)大模型的微調(diào)技術(shù)利用DeepSpeed、Lamam Factory等工具快速進(jìn)行模型微調(diào)并通過Ollama、vLLM等推理部署框架實現(xiàn)模型的快速部署。L5階段專題集丨特訓(xùn)篇 【錄播課】四、資料領(lǐng)取全套內(nèi)容免費抱走學(xué) AI 不用再找第二份不管你是 0 基礎(chǔ)想入門 AI 大模型還是有基礎(chǔ)想沖刺大廠、了解行業(yè)趨勢這份資料都能滿足你現(xiàn)在只需按照提示操作就能免費領(lǐng)取掃碼免費領(lǐng)取全部內(nèi)容?2025 年想抓住 AI 大模型的風(fēng)口別猶豫這份免費資料就是你的 “起跑線”
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系我們進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

電子商務(wù)網(wǎng)站模板 html石碣網(wǎng)站建設(shè)

電子商務(wù)網(wǎng)站模板 html,石碣網(wǎng)站建設(shè),網(wǎng)站建設(shè)的具體流程,找網(wǎng)絡(luò)公司做網(wǎng)站需要注意什么一、權(quán)限與認(rèn)證相關(guān) 1. 項目中RBAC模型的權(quán)限設(shè)計 我在項目中基于RBAC#xff08;基于角色的訪問控制

2026/01/21 19:40:01