人工智能-注意力機制之注意力匯聚:Nadaraya-Watson 核回歸

查詢(自主提示)和鍵(非自主提示)之間的交互形成了注意力匯聚; 注意力匯聚有選擇地聚合了值(感官輸入)以生成最終的輸出。 本節將介紹注意力匯聚的更多細節, 以便從宏觀上了解注意力機制在實踐中的運作方式。 具體來說,1964年提出的Nadaraya-Watson核回歸模型 是一個簡單但完整的例子,可以用于演示具有注意力機制的機器學習。

import torch
from torch import nn
from d2l import torch as d2l

生成數據集

在這里生成了50個訓練樣本和\(50\)個測試樣本。 為了更好地可視化之后的注意力模式,需要將訓練樣本進行排序。

n_train = 50  # 訓練樣本數
x_train, _ = torch.sort(torch.rand(n_train) * 5)   # 排序后的訓練樣本def f(x):return 2 * torch.sin(x) + x**0.8y_train = f(x_train) + torch.normal(0.0, 0.5, (n_train,))  # 訓練樣本的輸出
x_test = torch.arange(0, 5, 0.1)  # 測試樣本
y_truth = f(x_test)  # 測試樣本的真實輸出
n_test = len(x_test)  # 測試樣本數
n_test

下面的函數將繪制所有的訓練樣本(樣本由圓圈表示), 不帶噪聲項的真實數據生成函數\(f\)(標記為“Truth”), 以及學習得到的預測函數(標記為“Pred”)。

def plot_kernel_reg(y_hat):d2l.plot(x_test, [y_truth, y_hat], 'x', 'y', legend=['Truth', 'Pred'],xlim=[0, 5], ylim=[-1, 5])d2l.plt.plot(x_train, y_train, 'o', alpha=0.5);

平均匯聚

如下圖所示,這個估計器確實不夠聰明。 真實函數(f)(“Truth”)和預測函數(“Pred”)相差很大。

y_hat = torch.repeat_interleave(y_train.mean(), n_test)
plot_kernel_reg(y_hat)

?

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

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

相關文章

Lubuntu 23.10用戶可使用LXQt 1.4桌面

導讀在眾多 Lubuntu 用戶的要求下,Lubuntu 開發人員決定將 LXQt 1.4 桌面環境向后移植到最新的 Lubuntu 23.10 (Mantic Minotaur) 版本。 是的,您沒看錯,您現在可以使用官方的 Lubuntu Backports PPA(個人軟…

黑馬點評筆記 分布式鎖

文章目錄 分布式鎖基本原理和實現方式對比Redis分布式鎖的實現核心思路實現分布式鎖版本一Redis分布式鎖誤刪情況說明解決Redis分布式鎖誤刪問題分布式鎖的原子性問題分布式鎖-Redission分布式鎖-redission可重入鎖原理分布式鎖-redission鎖重試和WatchDog機制分布式鎖-redissi…

01、Tensorflow實現二元手寫數字識別

01、Tensorflow實現二元手寫數字識別(二分類問題) 開始學習機器學習啦,已經把吳恩達的課全部刷完了,現在開始熟悉一下復現代碼。對這個手寫數字實部比較感興趣,作為入門的素材非常合適。 基于Tensorflow 2.10.0 1、…

pandas獲取年月第一天、最后一天,加一秒、加一天、午夜時間

Timestamp對象 # ts = pandas.Timestamp(year=2023, month=10, day=15, # hour=15, minute=5, second=50, tz="Asia/Shanghai") ts = pandas.Timestamp("2023-10-15 15:05:50", tz="Asia/Shanghai") # 2023-10-15 15:05…

數據丟失預防措施包括什么

數據丟失預防措施是保護企業或個人重要數據的重要手段。以下是一些有效的預防措施: 可以通過域之盾軟件來實現數據防丟失,具體的功能包括: https://www.yuzhidun.cn/https://www.yuzhidun.cn/ 1、備份數據 定期備份所有重要數據&#xff0…

unittest指南——不拼花哨,只拼實用

📢專注于分享軟件測試干貨內容,歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!📢交流討論:歡迎加入我們一起學習!📢資源分享:耗時200小時精選的「軟件測試」資…

centos7 docker開啟認證的遠程端口2376配置

docker開啟2375會存在安全漏洞 暴露了2375端口的Docker主機。因為沒有任何加密和認證過程,知道了主機IP以后,,任何人都可以管理這臺主機上的容器和鏡像,以前貪圖方便,只開啟了沒有認證的docker2375端口,后…

代碼隨想錄算法訓練營第五十三天|1143.最長公共子序列 1035.不相交的線 53. 最大子序和

文檔講解:代碼隨想錄 視頻講解:代碼隨想錄B站賬號 狀態:看了視頻題解和文章解析后做出來了 1143.最長公共子序列 class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:dp [[0] * (len(text2) 1) for _ i…

機器學習入門

簡介 https://huggingface.co/是一個AI社區,類似于github的地位。它開源了許多機器學習需要的基礎組件如:Transformers, Tokenizers等。 許多公司也在不斷地往上面提交新的模型和數據集,利用它你可以獲取以下內容: Datasets : 數…

hikariCP 數據庫連接池配置

springBoot 項目默認自動使用 HikariCP ,HikariCP 的性能比 alibaba/druid快。 一、背景 系統中多少個線程在進行與數據庫有關的工作?其中,而多少個線程正在執行 SQL 語句?這可以讓我們評估數據庫是不是系統瓶頸。 多少個線程在…

基于法醫調查算法優化概率神經網絡PNN的分類預測 - 附代碼

基于法醫調查算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于法醫調查算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于法醫調查優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要:針對PNN神…

【學生成績管理】數據庫示例數據(MySQL代碼)

【學生成績管理】數據庫示例數據(MySQL代碼) 目錄 【學生成績管理】數據庫示例數據(MySQL代碼)一、創建數據庫二、創建dept(學院)表1、創建表結構2、添加示例數據3、查看表中數據 三、創建stu(學…

35.邏輯運算符

目錄 一.什么是邏輯運算符 二.C語言中的邏輯運算符 三.邏輯表達式 三.視頻教程 一.什么是邏輯運算符 同時對倆個或者倆個以上的表達式進行判斷的運算符叫做邏輯運算符。 舉例:比如去網吧上網,只有年滿十八周歲并且帶身份證才可以上網。在C語言中如果…

為什么 Flink 拋棄了 Scala

曾經紅遍一時的Scala 想當初Spark橫空出世之后,Scala簡直就是語言界的一顆璀璨新星,惹得大家紛紛側目,連Kafka這類技術框架也選擇用Scala語言進行開發重構。 可如今,Flink竟然公開宣布棄用Scala 在Flink1.18的官方文檔里&#x…

國家開放大學的學子們 練習題 走起!

試卷代號:1356 高級英語聽說(2) 參考 試題 Section One (20 points, 2 points each) Directions: Listen to the conversation and fill in the blanks with the words you hear. Write the words on the Answer Sheet The conversation will be read TWICE. M…

windows11上安裝WSL

Windows電腦上要配置linux(這里指ubuntu)開發環境,主要有三種方式: 1)在windows上裝個虛擬機(比如vmware)。缺點是vmware加載ubuntu后系統會變慢很多,而且需要通過samba來實現window…

使用Java連接Hbase

我在網上試 了很多代碼,但是大部分都不能實現,Java連接Hbase,一直報一個錯 java.util.concurrent.ExecutionException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode NoNode for /hbase/hbaseid一直也不清楚為什…

計算機組成原理。3-408

1.動態存儲和靜態存儲 2.雙端口RAM 注意:cpu通過地址線和數據線讀寫數據時,不能同時寫,但可以同時讀,也不能一邊讀一邊寫。 3.多體并行存儲器 分為高位存儲和低位存儲 小結 4.磁盤存儲器的組成 5.磁盤的性能指標 磁盤讀寫尋道…

如何對網站進行滲透測試

信息搜集 信息搜集拿到域名后獲取真實IP,如果存在CDN想辦法繞過端口掃描,針對開放的端口在獲取客戶同意的前提下進行爆破查找網站子域名,后臺目錄判斷網站的CMS 可以使用 Wappalyzer插件 whatcms 是一個可以用來確定特定網站正在使用的什么…

Vue中Slot的使用指南

目錄 前言 什么是slot? 單個slot的使用 具名slot的使用 作用域插槽 總結 前言 在Vue中,slot是一種非常強大和靈活的功能,它允許你在組件模板中預留出一個或多個"插槽",然后在使用這個組件的時候動態地填充內容。這…