91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

transformer原理解析

新機器視覺 ? 來源:小白學視覺 ? 2023-09-06 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

transformer架構可能看起來很恐怖,您也可能在YouTube或博客中看到了各種解釋。但是,在我的博客中,我將通過提供一個全面的數學示例闡明它的原理。通過這樣做,我希望簡化對transformer架構的理解。 那就開始吧!
wKgZomT4H_2AI5HhAAH2McYogm4348.png

Inputs and Positional Encoding

讓我們解決最初的部分,在那里我們將確定我們的輸入并計算它們的位置編碼。

bba63ee2-4c68-11ee-a25d-92fbcf53809c.png

Step 1 (Defining the data)

第一步是定義我們的數據集(語料庫)。

bbcd014e-4c68-11ee-a25d-92fbcf53809c.png

在我們的數據集中,有3個句子(對話) 取自《權力的游戲》電視劇。盡管這個數據集看起來很小,但它已經足以幫助我們理解之后的數學公式。

Step 2 (Finding the Vocab Size)

為了確定詞匯量,我們需要確定數據集中的唯一單詞總數。這對于編碼(即將數據轉換為數字) 至關重要。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.pngbbf41392-4c68-11ee-a25d-92fbcf53809c.png ? 其中N是所有單詞的列表,并且每個單詞都是單個token,我們將把我們的數據集分解為一個token列表,表示為N。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bc1fe6e8-4c68-11ee-a25d-92fbcf53809c.png

獲得token列表(表示為N) 后,我們可以應用公式來計算詞匯量。 具體公式原理如下: bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bc4d239c-4c68-11ee-a25d-92fbcf53809c.png

使用set操作有助于刪除重復項,然后我們可以計算唯一的單詞以確定詞匯量。因此,詞匯量為23,因為給定列表中有23個獨特的單詞。

Step 3 (Encoding and Embedding)

接下來為數據集的每個唯一單詞分配一個整數作為編號。

bc7af77c-4c68-11ee-a25d-92fbcf53809c.png

bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png 在對我們的整個數據集進行編碼之后,是時候選擇我們的輸入了。我們將從語料庫中選擇一個句子以開始: ? “When you play game of thrones” bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bcb20c1c-4c68-11ee-a25d-92fbcf53809c.png

作為輸入傳遞的每個字將被表示為一個編碼,并且每個對應的整數值將有一個關聯的embedding聯系到它。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bcd79090-4c68-11ee-a25d-92fbcf53809c.png

這些embedding可以使用谷歌Word2vec (單詞的矢量表示) 找到。在我們的數值示例中,我們將假設每個單詞的embedding向量填充有(0和1) 之間的隨機值。

此外,原始論文使用embedding向量的512維度,我們將考慮一個非常小的維度,即5作為數值示例。

bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bd03234a-4c68-11ee-a25d-92fbcf53809c.png

現在,每個單詞embedding都由5維的embedding向量表示,并使用Excel函數RAND() 用隨機數填充值。

Step 4 (Positional Embedding)

讓我們考慮第一個單詞,即“when”,并為其計算位置embedding向量。位置embedding有兩個公式:

bd2df584-4c68-11ee-a25d-92fbcf53809c.png

第一個單詞“when”的POS值將為零,因為它對應于序列的起始索引。此外,i的值(取決于是偶數還是奇數) 決定了用于計算PE值的公式。維度值表示embedding向量的維度,在我們的情形下,它是5。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bd56b302-4c68-11ee-a25d-92fbcf53809c.png

繼續計算位置embedding,我們將為下一個單詞“you” 分配pos值1,并繼續為序列中的每個后續單詞遞增pos值。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bdb83dac-4c68-11ee-a25d-92fbcf53809c.png

找到位置embedding后,我們可以將其與原始單詞embedding聯系起來。

bdcd7744-4c68-11ee-a25d-92fbcf53809c.png

bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png 我們得到的結果向量是e1+p1,e2+p2,e3+p3等諸如此類的embedding和。 ?

be170b52-4c68-11ee-a25d-92fbcf53809c.png

bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png Transformer架構的初始部分的輸出將在之后用作編碼器的輸入。 ?

編碼器

在編碼器中,我們執行復雜的操作,涉及查詢(query),鍵(key)和值(value)的矩陣。這些操作對于轉換輸入數據和提取有意義的表示形式至關重要。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

be2dc78e-4c68-11ee-a25d-92fbcf53809c.png

在多頭注意力(multi-head attention)機制內部,單個注意層由幾個關鍵組件組成。這些組件包括: bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

be4f758c-4c68-11ee-a25d-92fbcf53809c.png

請注意,黃色框代表單頭注意力機制。讓它成為多頭注意力機制的是多個黃色盒子的疊加。出于示例的考慮,我們將僅考慮一個單頭注意力機制,如上圖所示。

Step 1 (Performing Single Head Attention)

注意力層有三個輸入

Query

Key

Value

bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

be8336e2-4c68-11ee-a25d-92fbcf53809c.png

在上面提供的圖中,三個輸入矩陣(粉紅色矩陣) 表示從將位置embedding添加到單詞embedding矩陣的上一步獲得的轉置輸出。另一方面,線性權重矩陣(黃色,藍色和紅色) 表示注意力機制中使用的權重。這些矩陣的列可以具有任意數量的維數,但是行數必須與用于乘法的輸入矩陣中的列數相同。在我們的例子中,我們將假設線性矩陣(黃色,藍色和紅色) 包含隨機權重。這些權重通常是隨機初始化的,然后在訓練過程中通過反向傳播和梯度下降等技術進行調整。所以讓我們計算(Query, Key and Value metrices): bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bea157ee-4c68-11ee-a25d-92fbcf53809c.png

一旦我們在注意力機制中有了query, key, 和value矩陣,我們就繼續進行額外的矩陣乘法。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.pngbbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bee1c0fe-4c68-11ee-a25d-92fbcf53809c.png

bee72df0-4c68-11ee-a25d-92fbcf53809c.png

bf38a914-4c68-11ee-a25d-92fbcf53809c.png

bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png現在,我們將結果矩陣與我們之前計算的值矩陣相乘: bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bf5daf5c-4c68-11ee-a25d-92fbcf53809c.png

如果我們有多個頭部注意力,每個注意力都會產生一個維度為(6x3) 的矩陣,那么下一步就是將這些矩陣級聯在一起。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bf9142b8-4c68-11ee-a25d-92fbcf53809c.png

在下一步中,我們將再次執行類似于用于獲取query, key, 和value矩陣的過程的線性轉換。此線性變換應用于從多個頭部注意獲得的級聯矩陣。 bbe7bf8e-4c68-11ee-a25d-92fbcf53809c.png

bfb91e8c-4c68-11ee-a25d-92fbcf53809c.png

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4379

    瀏覽量

    64827
  • Transformer
    +關注

    關注

    0

    文章

    151

    瀏覽量

    6512

原文標題:圖解!逐步理解Transformers的數學原理

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    手機通信原理解析

    `手機通信原理解析:第 1 章    無線通信原理第2 章    移動通信系統第3 章    移動通信系統的多址接入技術第4 章    移動通信系統的語音編碼第5 章 GSM移動通信系統的數字
    發表于 12-14 14:31

    如何更改ABBYY PDF Transformer+界面語言

    在安裝ABBYY PDF Transformer+時會讓您選擇界面語言。此語言將用于所有消息、對話框、按鈕和菜單項。在特殊情況下,您可能需要在安裝完成后更改界面語言以適應需求,方法其實很簡單,本文
    發表于 10-11 16:13

    定位技術原理解析

    【追蹤嫌犯的利器】定位技術原理解析(4)
    發表于 05-04 12:20

    鋰電池基本原理解析

    【鋰知道】鋰電池基本原理解析:充電及放電機制電池充電最重要的就是這三步:第一步:判斷電壓
    發表于 09-15 06:47

    虛擬存儲器部件原理解析

    虛擬存儲器部件原理解析
    發表于 04-15 14:25 ?3388次閱讀

    觸摸屏的應用與工作原理解析

    觸摸屏的應用與工作原理解析
    發表于 02-08 02:13 ?38次下載

    解析Transformer中的位置編碼 -- ICLR 2021

    引言 Transformer是近年來非常流行的處理序列到序列問題的架構,其self-attention機制允許了長距離的詞直接聯系,可以使模型更容易學習序列的長距離依賴。由于其優良的可并行性以及可觀
    的頭像 發表于 04-01 16:07 ?1.3w次閱讀
    <b class='flag-5'>解析</b><b class='flag-5'>Transformer</b>中的位置編碼 -- ICLR 2021

    史密斯圓圖和阻抗匹配原理解析

    史密斯圓圖和阻抗匹配原理解析
    的頭像 發表于 11-02 20:16 ?2262次閱讀

    什么是晶振 晶振工作原理解析

    什么是晶振 晶振工作原理解析
    的頭像 發表于 12-30 17:13 ?4866次閱讀
    什么是晶振 晶振工作原<b class='flag-5'>理解析</b>

    基于Transformer的目標檢測算法的3個難點

    理解Transformer背后的理論基礎,比如自注意力機制(self-attention), 位置編碼(positional embedding),目標查詢(object query)等等,網上的資料比較雜亂,不夠系統,難以通過自學做到深入
    發表于 07-18 12:54 ?888次閱讀
    基于<b class='flag-5'>Transformer</b>的目標檢測算法的3個難點

    基于Transformer的目標檢測算法

    掌握基于Transformer的目標檢測算法的思路和創新點,一些Transformer論文涉及的新概念比較多,話術沒有那么通俗易懂,讀完論文仍然不理解算法的細節部分。
    發表于 08-16 10:51 ?840次閱讀
    基于<b class='flag-5'>Transformer</b>的目標檢測算法

    BEV人工智能transformer

    BEV人工智能transformer? 人工智能Transformer技術是一種自然語言處理領域的重要技術,廣泛應用于自然語言理解、機器翻譯、文本分類等任務中。它通過深度學習算法從大規模語料庫中自動
    的頭像 發表于 08-22 15:59 ?1157次閱讀

    基于Transformer的目標檢測算法難點

    理解Transformer背后的理論基礎,比如自注意力機制(self-attention), 位置編碼(positional embedding),目標查詢(object query)等等,網上的資料比較雜亂,不夠系統,難以通過自學做到深入
    發表于 08-24 11:19 ?489次閱讀
    基于<b class='flag-5'>Transformer</b>的目標檢測算法難點

    大模型基礎Transformer結構的原理解析

    該研究的結果適用于一般數據集,可以擴展到交叉注意力層,并且研究結論的實際有效性已經通過徹底的數值實驗得到了驗證。該研究建立一種新的研究視角,將多層 transformer 看作分離和選擇最佳 token 的 SVM 層次結構。
    發表于 09-07 10:50 ?1521次閱讀
    大模型基礎<b class='flag-5'>Transformer</b>結構的原<b class='flag-5'>理解析</b>

    更深層的理解視覺Transformer, 對視覺Transformer的剖析

    最后是在ADE20K val上的LeaderBoard,通過榜單也可以看出,在榜單的前幾名中,Transformer結構依舊占據是當前的主力軍。
    的頭像 發表于 12-07 09:39 ?1143次閱讀
    更深層的<b class='flag-5'>理解</b>視覺<b class='flag-5'>Transformer</b>, 對視覺<b class='flag-5'>Transformer</b>的剖析
    主站蜘蛛池模板: 免费一级片视频 | 在线中文字幕一区 | 韩国三级日本三级在线观看 | 色偷偷狠狠色综合网 | 丁香花五月天婷婷 | 亚洲精品视频免费 | 奇米影视777欧美在线观看 | 黄在线观看网站 | 国产色系视频在线观看免费 | 日日操天天射 | 久久国内| 网址色| 国产 日韩 欧美 高清 | 狠狠ri| 艹逼视频免费观看 | 日本黄色免费电影 | 国产精品三级在线观看 | 国产巨大bbbb俄罗斯 | 男女做性无遮挡免费视频 | 欧美 亚洲 国产 精品有声 | 欧美性生活一级 | 欧美肥穴| 国产日本三级在线播放线观看 | 天天精品 | 手机看片国产免费现在观看 | 亚洲qingse中文字幕久久 | 自拍偷拍欧美 | 婷婷丁香色 | 欧美aaaaa性bbbbb小妇 | 操片| 四虎永久精品视频在线 | 国产三级精品最新在线 | 精品视频免费看 | 国产yw855.c免费视频 | av免费网站在线观看 | 美女被猛男躁免费视频网站 | 天天狠天天操 | 久久伊人精品青青草原高清 | 亚洲人成综合网站在线 | 精品国内一区二区三区免费视频 | 色婷婷网 |