BERT--學習

一、Transformer

Transformer,是由編碼塊和解碼塊兩部分組成,其中編碼塊由多個編碼器組成,解碼塊同樣也是由多個解碼塊組成。

編碼器:自注意力 + 全連接

  • 多頭自注意力:Q、K、V?
  • 公式:??softmax(\frac{QK^{T}}{\sqrt{d_{k}}})V

解碼塊:自注意力 + 編碼 - 解碼自注意力 +全連接

  • 多頭自注意力:?softmax(\frac{QK^{T}\bigodot M}{\sqrt{d_{k}}})V
  • 編碼—解碼自注意力:Q上個解碼器的輸出

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? K、V最后一個編碼器輸出

二、BERT

  • bert,是由Transformer的多個編碼器組成。
  • Base :12層編碼器,每個編碼器有12個多頭,隱藏維度為768。
  • Large: 24層編碼器,每個編碼器16個頭,隱層維度為1024??
  • bert結構 :

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

import torch
class MultiHeadAttention(nn.Module):def__init__(self,hidden_size,head_num):super().__init__()self.head_size = hidden_size / head_numself.query = nn.Linear(hidden_size, hidden_size)self.key = nn.Linear(hidden_size, hidden_size)self.value = nn.Linear(hidden_size, hidden_size)def transpose_dim(self,x):x_new_shape = x.size()[:-1]+(self.head_num, head_size)x = x.view(*x_new_shape)return x.permute(0,2,1,3)def forward(self,x,attention_mask):Quary_layer = self.query(x)Key_layer = self.key(x)Value_layer = self.value(x)'''B = Quary_layer.shape[0]N = Quary_layer.shape[1]multi_quary = Quary_layer.view(B,N,self.head_num,self.head_size).transpose(1,2)'''multi_quary =self.transpose_dim(Quary_layer)multi_key =self.transpose_dim(Key_layer)multi_value =self.transpose_dim(Value_layer)attention_scores = torch.matmul(multi_quary, multi_key.transpose(-1,-2))attention_scores = attention_scores / math.sqrt(self.head_size)attention_probs = nn.Softmax(dim=-1)(attention_scores) context_layer = torch.matmul(attention_probs,values_layer)context_layer = context_layer.permute(0,2,1,3).contiguous()context_layer_shape =  context_layer.size()[:-2]+(self.hidden_size)context_layer = cotext_layer.view(*context_layer_shape return context_layer

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

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

相關文章

【Hive實戰】 HiveMetaStore的指標分析

HiveMetaStore的指標分析(一) 文章目錄 HiveMetaStore的指標分析(一)背景目標部署架構 hive-site.xml相關配置元數據服務的指標相關配置 源碼部分(hive2.3系)JvmPauseMonitor.javaHiveMetaStore的內部類HMS…

【anaconda】—“conda info“命令后conda配置和環境信息的理解

文章目錄 conda配置和環境信息的理解 conda配置和環境信息的理解 安裝anaconda成功后,打開cmd,輸入"conda info"命令,結果顯示如下: conda的配置和環境信息的輸出。以下是對每個字段的解釋: active environm…

H2 Database Console未授權訪問漏洞封堵

背景 H2 Database Console未授權訪問,默認情況下自動創建不存在的數據庫,從而導致未授權訪問。各種未授權訪問的教程,但是它怎么封堵呢? -ifExists 很簡單,啟動參數添加 -ifExists ,它的含義&#xff1a…

中電金信:加快企業 AI 平臺升級,構建金融智能業務新引擎

在當今數字化時代的浪潮下,人工智能(AI)技術的蓬勃發展正為各行業帶來前所未有的變革與創新契機。尤其是在金融領域,AI 模型的廣泛應用已然成為提升競爭力、優化業務流程以及實現智能化轉型的關鍵驅動力。然而,企業在積…

【C++ 】解決 C++ 語言報錯:Null Pointer Dereferenc

文章目錄 引言 在 C 編程中,空指針解引用(Null Pointer Dereference)是一種常見且危險的錯誤。當程序試圖通過空指針訪問內存時,會導致程序崩潰或產生不可預期的行為。本文將詳細探討空指針解引用的成因、檢測方法及其預防和解決…

微信新寵!淘寶扭蛋機小程序,讓購物更添樂趣

在移動互聯網飛速發展的今天,微信小程序以其便捷性、即用即走的特點,迅速成為了用戶日常生活中不可或缺的一部分。而在眾多小程序中,一款名為“淘寶扭蛋機”的新晉“網紅”,正以其獨特的玩法和豐富的驚喜,為購物體驗增…

【Hive實戰】HiveMetaStore的指標采集告警

HiveMetaStore的指標采集告警 文章目錄 HiveMetaStore的指標采集告警背景部署概要圖 開啟HiveMetaStore的JMX指標采集(Hadoop2指標系統)指標監控查詢指標核心指標選擇告警 遺留問題 背景 在遠程模式的Metastore下,對其開啟Hadoop2指標采集以…

簡單配置VScode輕量級C++競賽環境

1. 安裝拓展 Chinese是中文,需要重啟才可以運行,C/C拓展只是進行語法代碼提示,不需要進行任何配置修改,默認即可。 2. 創建文件 如上圖創建好各級文件夾,其中C是工作文件夾,.vscode是配置文件夾&#xff0…

【網絡安全】Host碰撞漏洞原理+工具+腳本

文章目錄 漏洞原理虛擬主機配置Host頭部字段Host碰撞漏洞漏洞場景工具漏洞原理 Host 碰撞漏洞,也稱為主機名沖突漏洞,是一種網絡攻擊手段。常見危害有:繞過訪問控制,通過公網訪問一些未經授權的資源等。 虛擬主機配置 在Web服務器(如Nginx或Apache)上,多個網站可以共…

學習測試2-方法

設計測試用例 設計測試用例的萬能公式 (在沒有需求文檔的情況下) 軟件質量模型 效率就是性能 兼容性測試 瀏覽器 谷歌 IE 火狐 蘋果 百度 Windows7 10 11 蘋果系統 app 不同品牌 小米 vivo 華為 蘋果 不同的操作系統 安卓 鴻蒙 蘋果 -----------------------…

TikTok馬來西亞直播網絡怎么配置?

TikTok是一款全球流行的社交媒體應用,在東南亞地區擁有大量用戶。在馬來西亞這個多元化的國家,配置高效穩定的直播網絡對TikTok的運營至關重要。 配置馬來西亞直播網絡的必要性 廣泛的地理覆蓋:馬來西亞包括大片陸地和眾多島嶼,網…

OpenSSH遠程代碼執行漏洞(CVE-2024-6387)

OpenSSH遠程代碼執行漏洞(CVE-2024-6387) 漏洞簡介及影響范圍 OpenSSH 遠程代碼執行漏洞(CVE-2024-6387)是影響 OpenSSH 服務器的一個高危安全漏洞,允許未經身份驗證的遠程攻擊者在受影響的 Linux 系統上以 root 身份執行任意代碼。這個嚴重…

性能壓測 -優化 Nginx的動靜分離

兩件事情 1.以后將所有的項目的靜態資源都應該放在nginx里面 2.nginx 規則:/static/***所有請求都有nginx直接返回 nginx 配置一下配置文件,然后把html 的靜態資源,綁定好是Nginx優先級高的靜態資源路徑,就去交給nginx靜態資源…

使用openssl生成公私鑰并進行RSA加密

生成私鑰 openssl genrsa -out private.pem 1024通過私鑰生成公鑰 openssl rsa -in private.pem -pubout -out public.pem通過公鑰加密數據 openssl pkeyutl -encrypt -in data.txt -inkey public.pem -pubin -out encData.txtdata.txt :為我們要加密的數據enc…

skimage.io與matplotlib.image.imread讀取圖片的區別

以前沒用過matplotlib的讀圖方式,今天在別人的工程里看到這個用法,自己改寫別人工程時,怎么都找不到問題,最后在最初,開始讀圖的時候發現了問題。 目錄 🌷🌷1.對于png格式的3波段uint8圖像 &a…

Prometheus + Grafana 監控系統搭建使用指南-Nacos 接入 Prometheus 監控

Nacos 接入 Prometheus 監控 系列文章目錄 Prometheus 的安裝部署Grafana的安裝部署Linux服務器接入Prometheus監控-Node Exporter 安裝指南Prometheus 接入SpringBoot微服務監控Mysql 接入 Prometheus RocketMQ 接入Prometheus 監控ElasticSearch 接入 PrometheusNacos 接入…

在Android運行時切換Retrofit Base URL:簡化開發環境與生產環境的切換

在運行時切換Retrofit Base URL:簡化開發環境與生產環境的切換 在Android開發中,Retrofit是一個由Square開發的類型安全的HTTP客戶端庫。它為API認證和網絡請求提供了一個強大的框架。然而,在開發過程中,我們常常需要在不同的環境(如開發環境和生產環境)之間切換Base UR…

解決剛申請下來的AWS EC2,無法用finalshell連接的問題

在AWS的命令頁面創建一個root用戶 切換到root 模式,輸入密碼 su root 不知道密碼的可以使用一下命令來設置root用戶的密碼: su passwd root 再切換到root用戶 su 修改配置文件 輸入 vim /etc/ssh/sshd_config進入文件,鍵入’i’ ,進行…

YOLOv8改進 添加CVPR2024 PKINet中注意力機制CAAttention

一、PKINet論文 論文地址:2403.06258 (arxiv.org) 二、CAAttention結構 CAA(Context Anchor Attention)注意力模塊是一種用于捕捉長距離上下文信息的并行模塊。 在計算機視覺領域中,上下文信息是指與目標物體或任務相關的周圍環境和語境信息。上下文信息可以幫助我們更好…

【碼銀送書第二十二期】《Python數據分析從入門到精通(第2版)》

💐大家好!我是碼銀~,歡迎關注💐: CSDN:碼銀 公眾號:碼銀學編程 前言 🍀叢書說明:“軟件開發視頻大講堂‘’叢書第1版于2008年8月出版,因其編寫細膩、易學實用…