【機器學習】SAE(Sparse Autoencoders)稀疏自編碼器

SAE(Sparse Autoencoders)稀疏自編碼器

0.引言

大模型一直被視為一個“黑箱”,研究人員對其內部神經元如何相互作用以實現功能的機制尚不清楚。因此研究機理可解釋性(Mechanistic Interpretability)就成為了一個熱門研究方向。大模型的復雜之處在于“疊加”(superposition)現象,即一個神經元的激活可能同時是多個完全不相關特征的組成部分,簡單說例如“哈基狗”的特征可能需要激活一組神經元(我們稱之為集合N),而表達“小黑子”,則需要激活另一組神經元(集合M);疊加現象就意味著,集合N和M之間存在交集,這就導致我們很難通過觀察單個神經元的激活,來斷定它究竟在“想”什么。最理想的情況肯定就是一個神經元對應一個特征,而SAE做的就是這樣的事情,將這種疊加狀態剝離出來,類似一種升維再投影的過程。

1. SAE的工作機制

稀疏自編碼器(SAE)通過一個巧妙的“先擴展、后壓縮”的過程,來解構神經網絡內部復雜的疊加狀態。它首先通過編碼器將輸入向量投射到一個維度遠高于自身的特征空間,然后經由解碼器將其重建回原始維度。其訓練目標看似簡單——讓輸出與輸入盡可能一致,但真正的精髓在于訓練過程中施加的“稀疏性懲罰”。

這個懲罰機制迫使那個高維的中間向量變得極其稀疏,大部分維度上的激活值都因過小而被忽略或置零。這正是SAE設計的核心所在:它認為,之所以會出現多個神經元功能疊加的“雜糅”現象,根源在于表達空間不足。因此,通過提供一個巨大的潛在特征空間,并強制模型每次只使用其中一小部分,SAE就能有效地將不同的特征分離到不同的維度上,力求達到“一個維度代表一個精細特征”的理想狀態。

Diagram of a sparse autoencoder

當然,這是一個有損的轉換,總要在重建的“準確性”和特征的“稀疏性”之間做出權衡。SAE的訓練,本質上就是在尋找這個最佳平衡點的旅程。下圖縱軸可以看成代表信息的保留率(信息損失恢復率),橫軸可以看成稀疏向量中激活的個數(L0 范數是衡量一個向量稀疏程度的指標;L0 范數越小,代表這個向量越稀疏),最理想的SAE效果就是接近左上點(0,1)。

Gated SAE L0 vs Loss Recovered

理想情況下,SAE表示中的每個激活的數字都對應于某個可理解的組件。假設,當大模型處理一段Python代碼時,其模型內部的一個12288維的激活向量 [0.8, -2.1, 5.5, ...] 對它來說就意味著**“這是一個Python代碼塊”**。這個向量不僅僅代表“代碼”,它還可能包含了代碼的結構、縮進、常見關鍵字等語法風格的復雜信息。

現在,我們有一個SAE,其解碼器是一個形狀為 (49512, 12288) 的巨大矩陣。我們可以把這個解碼器看作是一個擁有49512個“概念定義”的字典,每個“定義”都是一個12288維的向量。

假設,經過訓練,這個SAE中編號為 #8888 的特征,其使命就是專門識別和表示“Python代碼”。那么,該特征對應的解碼器向量(Decoder Vector #8888),就會在數值上非常接近GPT-4內部代表“Python代碼”的那個向量,即約等于 [0.8, -2.1, 5.5, ...]

Diagram of a sparse autoencoder with bolded feature 1

2. SAE的應用——如何確定SAE中的特征和實際特征的關系

定性分析:分析最大激活輸入 (Maximally Activating Inputs)
  1. 首先,在一個非常龐大的、多樣化的數據集(例如包含數十億個句子的文本庫)上運行大語言模型,并記錄下每一個SAE特征在處理每個文本片段時的激活值。
  2. 然后,針對某一個你感興趣的SAE特征(例如特征編號317),找出那些讓這個特征產生最高激活值的文本輸入。
  3. 最后,由人類研究員來審查這些“最大激活樣本”,并試圖找出它們之間共同的、可被人類理解的模式或概念。
因果干預 (Causal Interventions)
  1. 基于第一步的定性分析,假設已經對一個特征有了一個假設(例如,“特征317代表‘哈基狗’這個概念”)。
  2. SAE的解碼器部分為這個特征學習到了一個向量,這個向量被認為是“哈基狗”這個概念在模型激活空間中的“真實方向”。
  3. 研究員可以在模型處理任何輸入時,人為地將這個特征的解碼器向量添加到模型的中間激活中。

當Anthropic的研究人員將他們認為是“金門大橋”特征的向量注入到Claude模型的激活中時,Claude在每一個回答中都被迫地開始提及金門大橋。這個實驗強有力地證明了該特征與“金門大橋”這個概念之間的因果關系。

最后,強烈推薦一下Adam Karvonen大佬的https://adamkarvonen.github.io/machine_learning/2024/06/11/sae-intuitions.html筆記,看了十幾個視頻筆記,還是這篇講解得最到位。

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

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

相關文章

抖音授權登錄-獲取用戶授權調用憑證

實現微信小程序獲取抖音授權,使用Java實現抖音授權登錄,您需要使用抖音開放平臺提供的API 第一步 :抖音獲取授權碼 前提條件 ?需要去官網為應用申請 scope 的使用權限。?需要在本接口的 scope 傳參中填上需要用戶授權的 scope,多個 scope 以逗號分割。?用戶授權通過后…

普通人怎樣用好Deepseek?

今年4月份左右(2025年),我在上班路上開車,一邊聽著「黑客與畫家」的播客,一邊想著字節的Trae為啥能夠遠程編程,而我的poclogsender[1] [2]卻只能在本地打日志,3天之后,借助deepseek我…

Python ROS2【機器人中間件框架】 簡介

銷量過萬TEEIS德國護膝夏天用薄款 優惠券冠生園 百花蜂蜜428g 擠壓瓶純蜂蜜巨奇嚴選 鞋子除臭劑360ml 多芬身體磨砂膏280g健70%-75%酒精消毒棉片濕巾1418cm 80片/袋3袋大包清潔食品用消毒 優惠券AIMORNY52朵紅玫瑰永生香皂花同城配送非鮮花七夕情人節生日禮物送女友 熱賣妙潔棉…

織夢dedecms {dede:sql} LIKE模糊查詢問題 多出‘號

我們在用到dede:sql這個標簽時候,查詢語句中 LIKE %~title~%,~title~這個like后會出現單引號,造成查詢出錯或者沒有結果,下面就需要修改一下sql.lib.php這個文件,我們需要把自動為語句添加單引號去掉。 找到/include/…

Cursor-1.0安裝Jupyter-Notebook,可視化運行.ipynb文件中Python分片代碼

Cursor 1.0是AI代碼編輯器的里程碑的最新版本。 Cursor - AI 代碼編輯器 Cursor - The AI Code Editor 下載 Cursor 我使用的Cursor版本信息 Version: 1.0.0 (Universal) VSCode Version: 1.96.2 Commit: 53b99ce608cba35127ae3a050c1738a959750860 Date: 2025-06-04T19:21:39.…

SQL進階之旅 Day 28:跨庫操作與ETL技術

【SQL進階之旅 Day 28】跨庫操作與ETL技術 文章簡述 在現代數據驅動的業務場景中,數據往往分布在多個數據庫系統中,如MySQL、PostgreSQL、Oracle等。如何高效地進行跨庫操作和**數據集成(ETL)**成為數據工程師和數據庫開發人員必…

Flutter之GetX框架的使用

文章目錄 前言GetX使用建議狀態管理GetX快速上手GetX基本功能介紹**核心作用****代碼示例****關鍵細節****性能建議** 參考鏈接 前言 在Reddit上,詬病GetX的聲音很多,主要是說它做的事情太多,不是單一功能組件,違反單一職責原則。…

Kettle數據抽取(二)

一、腳本運用 從本地ORACLE11 數據庫 抽取數據到 華為MYSQL8.1 數據庫 抽取前先刪除MYSQL8.1 數據庫中emp_dept_salgrade表原有數據,避免重復 二、插入表更新 事實上前面一種方法不是增量處理,因為是全部刪除合部重新寫入相當于初始化一樣,這種情形,如果數據量較大,如有1…

一套高質量的博客平臺、社交應用UI

這是一套移動端UI設計素材包含14個高質量PSD文件,涵蓋博客社交類APP的核心頁面,包括登錄界面、動態展示、文章詳情、聊天會話等常用場景。所有素材均為可編輯PSD格式,支持快速二次開發,適用于移動網站和APP項目。資源提供完整的UI…

麒麟信安支撐2025年電力監控系統安全運維新技能推廣應用示范培訓班順利舉辦

近日,由國調中心主辦、國網技術學院電網運行培訓部承辦的“2025年電力監控系統安全運維新技能推廣應用示范培訓班(第一期)”順利舉辦。電網運行培訓部高度重視本次培訓組織工作,在國調中心的指導下,精心編制培訓方案&a…

支付系統架構圖

簡明產品架構圖 1. 商戶門戶 商戶通過該門戶管理與支付平臺的所有互動,包括: 登錄:商戶進入系統,進行身份驗證。 入駐:新商戶注冊并加入平臺,開始使用支付服務。 訂單管理:商戶可以管理自己…

企業如何一鍵復制 DolphinScheduler 項目到新項目服務器?全套自動化方案來了!(企業不外傳的實用工具)

在企業生產實踐中,常見的一種場景是:一個大數據調度項目需要為多個客戶分別部署在不同服務器上,而每個客戶的任務邏輯、工作流結構、資源文件基本相同。這種情況下,如果每次都手動創建 DolphinScheduler 項目、上傳資源文件、配置流程和參數,不僅浪費大量時間,還極容易出…

Oracle中10個索引優化

Oracle數據庫作為一個功能強大的企業級數據庫系統,對于索引的優化有著豐富的技巧和方法。理解和運用這些技巧可以顯著提高數據庫性能。 示例代碼: – 假設我們有一個員工表 CREATE TABLE employees ( emp_id NUMBER PRIMARY KEY, name VARCHAR2(100), de…

【cv學習筆記】YOLO系列筆記

寫在前面:本文主要介紹YOLO系列的整體框架,以及改進點的介紹。前面有型號的類型是經典,常被應用,YOLOv5,YOLOv8,和YOLOv11是ultralytics公司作品 *YOLOv5 Ultralytics YOLOv5 -Ultralytics YOLO 文檔 YOL…

Ubuntu下搭建Black Magic Probe (BMP) 編譯環境

版本和環境信息如下: PC平臺: Windows 11 專業版 虛擬機運行平臺:Oracle VM VirtualBox 7.1.6 Linux虛擬機: Ubuntu24.04 Debug調試器: BlackMagicProbe(BMP) 開源調試器:WeAct STM32F103CBT6 BluePill 核心…

Spring Cloud Gateway 動態路由實現方案

動態路由的核心需求:在不重啟網關的情況下,實時修改路由規則。以下是 4 種實現方案: 方案 1:基于內存的動態路由(RefreshRoutesEvent) 適用場景:臨時修改,重啟失效 Autowired pri…

Flutter 路由守衛全面解析:從原理到實踐

路由守衛是現代移動應用開發中不可或缺的重要機制,它如同應用的"安檢系統",在頁面跳轉前進行必要的檢查和攔截。本文將深入探討 Flutter 中路由守衛的實現原理、多種實現方案以及實際應用場景,幫助開發者構建更安全、更可靠的 Flut…

mysql表備份數據,改表名

mysql表改表名 在MySQL中,直接更改表名并不是一個操作,因為MySQL不允許直接更改表的名稱。但是,你可以通過創建一個新表,然后將舊表的數據復制到新表中,最后刪除舊表的方式來實現更改表名的目的。這個過程通常被稱為“…

開疆智能ModbusTCP轉Canopen網關連接匯川AM403PLC與編碼器配置案例

二、AM403作為Modbus四主站的配置過程 1.將AM403設為主站 AM403本體帶一路EtherNET園囗(CN3),本例使用該網口作為ModbusTCP通訊口.如下圖所示展開項目樹,從設備樹中找到網絡組態(或者Network Configuration): 雙擊該節點標題打開網絡組態設置界面&…

Charles里怎么進行斷點調試

Charles進行斷點測試的核心目的是通過主動攔截并篡改網絡請求與響應數據,構建特定測試場景以驗證系統健壯性和邏輯正確性,主要服務于以下關鍵場景: ?? 一、驗證后端邏輯健壯性 繞過前端校驗 修改前端受限參數(如超長字符串、特殊字符),測試后端對異常輸入的過濾與容錯…