BERT技術架構

### **一、整體定位:純編碼器架構**

#### **核心設計思想**

> **預訓練+微調**:

> 1. **預訓練**:在海量無標簽文本上學習通用語言規律

> 2. **微調**:用少量標注數據適配具體任務(如分類/問答)

> **類比**:

> - 預訓練 = 醫學生通讀百萬本醫學文獻

> - 微調 = 針對眼科進行3個月專項培訓

?

---

?

### **二、核心架構詳解**

#### **1. 輸入表示層:處理多樣化輸入**

- **三位一體的嵌入組合**:

```python

輸入 = 詞嵌入 + 位置嵌入 + 段落嵌入

```

| 嵌入類型 | 作用 | 示例 |

|---------------|-------------------------------|--------------------------|

| **詞嵌入** | 將詞轉為數字向量 | “貓”→ [0.2, -1.7, 0.5] |

| **位置嵌入** | 標記詞的位置(0~511) | 首詞位置0 → 特定波形編碼 |

| **段落嵌入** | 區分句子A/B(用于問答等任務) | 句子A標0,句子B標1 |

?

- **特殊標記**:

- `[CLS]`:放置句首,用于分類任務的聚合表示

- `[SEP]`:分隔句子對(如問題與答案)

- `[MASK]`:預訓練時的掩碼占位符

?

> **輸入示例**:

> `[CLS] 巴黎是法國的首都 [SEP] 埃菲爾鐵塔在這里 [SEP]`

> *段落編碼:0 0 0 0 0 0 1 1 1 1*

?

#### **2. 編碼器堆疊:Transformer編碼器層**

- **基礎配置**:

- **BERT-base**:12層,每層12個注意力頭,隱藏層768維

- **BERT-large**:24層,每層16頭,隱藏層1024維

- **單層結構**:

```mermaid

graph LR

A[輸入向量] --> B[多頭自注意力]

B --> C[殘差連接+層歸一化]

C --> D[前饋神經網絡]

D --> E[殘差連接+層歸一化]

```

?

#### **3. 核心機制:自注意力(以“貓追老鼠”為例)**

1. **生成Q/K/V向量**:

- 每個詞通過權重矩陣生成三組向量

- “追”的Query向量包含動作意圖

2. **計算相關性**:

- “追”的Query vs “貓”的Key → 高相似度

- “追”的Query vs “老鼠”的Key → 中等相似度

3. **加權融合**:

`“追”的新向量 = 0.7×"貓"的Value + 0.2×"老鼠"的Value + ...`

?

---

?

### **三、預訓練任務:BERT的“通識教育”**

#### **任務1:掩碼語言模型(Masked LM)**

- **操作**:

隨機遮蓋15%的詞,其中:

- 80%替換為`[MASK]`:`貓 [MASK] 老鼠` → 預測“追”

- 10%替換為隨機詞:`貓 跳 老鼠` → 糾正為“追”

- 10%保留原詞:`貓 追 老鼠` → 強化正確性

?

- **設計意圖**:

強制模型**基于雙向上下文推理**,破解傳統語言模型的單向偏見

?

#### **任務2:下一句預測(Next Sentence Prediction)**

- **正例**:

```

句子A:巴黎是時尚之都

句子B:許多設計師在此工作 → 標簽:IsNext

```

- **反例**:

```

句子A:巴黎是時尚之都

句子B:企鵝生活在南極 → 標簽:NotNext

```

- **價值**:

學習句子間邏輯關系,對問答/推理任務至關重要

?

---

?

### **四、微調機制:快速適配具體任務**

#### **1. 分類任務(如情感分析)**

- 取`[CLS]`位置的輸出向量

- 接全連接層分類:

`情感 = Softmax(W·h_[CLS] + b)`

?

?

#### **2. 問答任務(如SQuAD)**

- 輸入:`[CLS]問題 [SEP] 文章 [SEP]`

- 輸出:預測答案在文章中的起止位置

```

起始位置概率 = Softmax(W_s·文章每個詞向量)

終止位置概率 = Softmax(W_e·文章每個詞向量)

```

?

#### **3. 命名實體識別(NER)**

- 對每個詞輸出實體類型:

`“巴黎” → B-LOC(地點起始)`

`“鐵塔” → I-LOC(地點延續)`

?

---

?

### **五、關鍵創新:為何BERT遠超前輩?**

#### **1. 動態詞向量 vs 靜態詞向量**

| 對比項 | Word2Vec | BERT |

|----------------|-------------------|-------------------|

| 詞義表達 | 固定不變 | 隨上下文動態變化 |

| 多義詞處理 | “蘋果”只有1種含義 | “蘋果手機” vs “蘋果好吃”不同向量 |

| 上下文感知 | 無 | 全句雙向理解 |

?

#### **2. 預訓練-微調范式革命**

- **傳統方法**:每個任務需單獨設計模型并標注大量數據

- **BERT方法**:

1. 無監督預訓練(用維基百科等公開文本)

2. 少量標注數據微調(如1000條電影評論做情感分類)

?

> **效果對比**:

> 情感分析任務準確率:

> - 傳統模型:85%

> - BERT微調:92%

?

---

?

### **六、通俗總結:BERT像什么?**

1. **輸入處理**:給每個詞發“身份證”(詞ID+位置卡+段落卡)

2. **編碼過程**:12次“小組討論會”(每層Transformer):

- 每個詞自由與其他詞交流(自注意力)

- 會后整理會議紀要(前饋神經網絡)

3. **預訓練**:

- **填空考試**(Masked LM):蒙住部分詞猜內容

- **邏輯判斷**(NSP):識別句子間是否連貫

4. **微調**:

- 分類任務:看`[CLS]`的總結報告

- 問答任務:在文章中劃重點答案

?

> **核心突破**:

> 同一套模型既能理解法律條文,又能分析情書——

> **秘訣在于從海量閱讀中學會“語言的本質規律”**。

?

---

?

### **附:架構參數速查表**

| 模型類型 | 層數 | 注意力頭數 | 隱藏層維度 | 參數量 |

|--------------|------|------------|------------|---------|

| **BERT-base** | 12 | 12 | 768 | 110M |

| **BERT-large**| 24 | 16 | 1024 | 340M |

?

通過這種架構,BERT實現了語言理解的量子飛躍,成為NLP領域的里程碑式突破。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89789.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89789.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89789.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python+ArcGIS+AI蒸散發與GPP估算|Penman-Monteith模型|FLUXNET數據處理|多源產品融合|專業科研繪圖與可視化等

結合Python編程與ArcGIS工具,通過AI輔助方法實現蒸散發與植被總初級生產力估算。學習國際流行的Penman-Monteith模型,掌握數據獲取、處理、分析和可視化全流程,培養生態水文與雙碳領域的實踐應用能力。通過DeepSeek、豆包等AI工具輔助代碼編寫…

elasticsearch+logstash+kibana+filebeat實現niginx日志收集(未過濾日志內容)

單點部署 環境準備 基于Rocky9虛擬機,內存大小為4G yum -y install lrzsz useradd elkf passwd elkf#密碼隨意su - elk rz 導入包,筆者導使用版本為7.17.8下載地址:https://www.elastic.co/downloads/past-releases/ tar -xf elasticsearch-7…

hadoop 集群問題處理

1.1.JournalNode 的作用在 HDFS HA 配置中,為了實現兩個 NameNode 之間的狀態同步和故障自動切換,Hadoop 使用了一組 JournalNode 來管理共享的編輯日志。具體來說,JournalNode 的主要職責包括:共享編輯日志:JournalNo…

LeetCode--46.全排列

解題思路&#xff1a;1.獲取信息&#xff1a;給定一個不含重復數字的數組&#xff0c;返回所有可能的全排列&#xff0c;可以按任意順序返回提示信息&#xff1a;1 < nums.length < 6-10 < nums[i] < 102.分析題目&#xff1a;要獲取到所有可能的全排列我們每次會從…

云徙科技----一面(全棧開發)

一、公司是做什么業務的&#xff1f;二、介紹一下自己會用的&#xff0c;熟悉的技術棧&#xff1f;三、“在 Spring 應用中&#xff0c;當你發起一個 RESTful API 請求時&#xff08;例如 GET /api/users/1&#xff09;&#xff0c;計算機系統是如何知道這個請求的&#xff1f;…

我是怎么設計一個訂單號生成策略的(庫存系統)

我是怎么設計一個訂單號生成策略的&#xff08;庫存系統&#xff09;一、背景 最近我在做一套自研的庫存管理系統&#xff0c;其中有一個看似簡單、實則很關鍵的功能&#xff1a;訂單號生成策略。 訂單號不僅要全局唯一&#xff0c;還要有一定的可讀性和業務含義&#xff0c;比…

問津集 #1:Rethinking The Compaction Policies in LSM-trees

文章目錄引言正文結束語引言 陪女朋友出門&#xff0c;我大概有兩個小時左右的空閑時間&#xff0c;遂帶上電腦&#xff0c;翻了下論文列表&#xff0c;選擇了這篇文章做一個簡讀。 因為這一年負責時序系統的存儲引擎和計算引擎演進&#xff0c;而Compaction又是串聯讀寫的核心…

數據產品結構:從數據接入到可視化的完整架構指南

在數據驅動決策的時代&#xff0c;一套高效的數據產品結構是企業挖掘數據價值的基礎。無論是巨頭企業自建的完整體系&#xff0c;還是中小企業依賴的第三方工具&#xff0c;其核心邏輯都是實現 “數據從產生到呈現” 的全鏈路管理。本文將拆解數據產品的五層架構&#xff0c;對…

python學智能算法(二十三)|SVM-幾何距離

引言 前序學習文章中&#xff0c;已經探究了電荷超平面的距離計算方法&#xff0c;相關文章為點與超平面的距離。 在這片文章中&#xff0c;我們了解到計算距離的公式&#xff1a; Fmin?i1...myi(w?xib)F\min_{i1...m}y_{i}(w\cdot x_{i}b)Fi1...mmin?yi?(w?xi?b) 計算…

[每日隨題11] 貪心 - 數學 - 區間DP

整體概述 難度&#xff1a;1000 →\rightarrow→ 1400 →\rightarrow→ 1600 P3918 [國家集訓隊] 特技飛行 標簽&#xff1a;貪心 前置知識&#xff1a;無 難度&#xff1a;橙 1000 題目描述&#xff1a; 輸入格式&#xff1a; 輸出格式&#xff1a; 樣例輸入&#xff1a;…

Elasticsearch 9.x 搜索執行流程(源碼解讀)

1. 搜索執行流程概述 Elasticsearch的搜索執行是一個分布式過程,涉及協調節點和數據節點之間的多階段交互 #mermaid-svg-QGh2GjrUKcs5jzQp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QGh2GjrUKcs5jzQp .error…

暑期訓練8

E. G-C-D, Unlucky!題目要求判斷是否存在一個長度為 n 的數組 a&#xff0c;使得p[i] 是 a[0..i] 的前綴 GCDs[i] 是 a[i..n-1] 的后綴 GCD思路前綴 GCD 非遞增后綴 GCD 非遞減首尾 GCD 一致橋梁條件成立對于每個位置 i&#xff0c;gcd(p[i], s[i1]) 必須等于整個數組的 GCD&am…

深入解析Hadoop HDFS高可用性:原理、故障切換與元數據同步

Hadoop HDFS高可用性(HA)概述在分布式存儲領域&#xff0c;Hadoop分布式文件系統(HDFS)作為Hadoop生態系統的核心存儲組件&#xff0c;其高可用性(HA)設計一直是架構師們關注的焦點。傳統HDFS架構中&#xff0c;NameNode作為單一主節點管理整個文件系統的元數據&#xff0c;這種…

Freertos源碼分析:任務創建/刪除

任務創建/刪除流程1.簡介FreeRTOS 中任務創建通過 xTaskCreate() 或 xTaskCreateStatic() 實現。動態創建&#xff08;xTaskCreate&#xff09;會自動分配任務棧和TCB&#xff08;任務控制塊&#xff09;&#xff0c;靜態創建&#xff08;xTaskCreateStatic&#xff09;需用戶預…

warning: _close is not implemented and will always fail

相關問題&#xff1a; 一、undefined reference to _exit undefined reference to ‘end‘ warning: _close is not implemented and will always fail 一、環境&#xff1a; ubuntu24.04實體機、 arm-none-eabi-gcc gcc version 13.2.1 20231009 (15:13.2.rel1-2) 二…

MyBatis之緩存機制詳解

MyBatis之緩存機制詳解一、MyBatis緩存的基本概念1.1 緩存的核心價值1.2 MyBatis的兩級緩存體系二、一級緩存&#xff08;SqlSession級別緩存&#xff09;2.1 工作原理2.2 實戰案例&#xff1a;一級緩存演示2.2.1 基礎用法&#xff08;默認開啟&#xff09;2.2.2 一級緩存失效場…

云服務器搭建自己的FRP服務。為什么客戶端的項目需要用Docker啟動,服務端才能夠訪問到?

簡單回答&#xff1a;在云服務器搭建FRP服務時&#xff0c;客戶端項目用Docker啟動并非必需&#xff0c;而是因為Docker的特性簡化了配置&#xff1a; Docker通過端口映射&#xff08;如-p 本地端口:容器端口&#xff09;能固定項目對外暴露的端口&#xff0c;減少本地端口沖突…

6 STM32單片機的智能家居安防系統設計(STM32代碼+手機APP設計+PCB設計+Proteus仿真)

系列文章目錄 文章目錄 系列文章目錄前言1 資料獲取與演示視頻1.1 資料介紹1.2 資料獲取1.3 演示視頻 2 系統框架3 硬件3.1 主控制器3.2 顯示屏3.3 WIFI模塊3.4 DHT11溫濕度傳感器3.5 煙霧/燃氣傳感器模塊&#xff1a;MQ-23.6 火焰傳感器3.7 門磁模塊MC-38 4 設計PCB4.1 安裝下…

DevOps落地的終極實踐:8大關鍵路徑揭秘!

本文來自騰訊藍鯨智云社區用戶: CanWay當前&#xff0c;DevOps因其能夠降低IT運營成本、提高軟件質量并加快上市時間的能力而在全球范圍內引起廣泛關注。它打破了傳統軟件開發與運營的界限&#xff0c;消除了新功能發布延遲和軟件質量下降的障礙。DevOps通過實施持續集成、持續…

react - 根據路由生成菜單

后端返回菜單的格式menuList:[{index: true,name: "",component: "../views/Home",meta: { title: "首頁", requiresAuth: true,roles:[user]},},{path: "/admin",name: "admin",meta: { title: "管理頁", roles:…