OpenAI 使用能量函數學習概念
OpenAI 推出了一種讓代理透過能量函數學習與提取概念的方法,使其能將所學概念應用於完全不同領域的任務,而無需重新訓練。此能力使代理能夠轉移知識,例如將在二維粒子環境中學到的概念轉移至三維基於物理的機器人環境。
基於能量的概念表示
此方法的核心是將概念以能量模型的數學形式表示。根據物理直覺,這些模型將觀測到的事件與狀態視為低能量配置。
對於每個概念,根據三個組件定義能量函數 $E(x, a, w)$:
- 世界狀態 ($x$): 觀測到的環境,由實體及其屬性與位置組成。
- 注意力遮罩 ($a$): 一種「識別」機制,將模型聚焦於特定實體集合。
- 條件向量 ($w$): 一個連續值向量,用以指定計算能量的概念。
能量模型輸出單一正數。當能量為零時,概念被視為滿足;高能量則表示概念未被滿足。滿足條件需要注意力遮罩聚焦於正確位置的實體,且正確的實體被識別。
神經網路架構與訓練
為了處理任意數量的實體作為輸入,能量函數以關係網路架構為基礎構建為神經網路。訓練過程會優化此能量函數的參數,其他函數則隱式推導。
訓練流程
模型使用針對特定概念產生的(注意力遮罩、狀態)軌跡進行訓練。訓練過程包括:
- 示範: 模型通常會收到針對給定概念集合的五個示範。
- 預測: 給定新環境 ($X_0$),模型預測下一個狀態 ($X_1$) 與下一個注意力遮罩 ($a$)。
- 優化: 優化能量函數,使訓練資料中找到的下一個狀態與注意力遮罩被賦予低能量值。
類似於變分自編碼器,模型被激勵學習能有效壓縮任務各方面的值。
能力與跨領域轉移
此架構允許單一網路同時執行生成與辨識。這種雙重能力使模型能將從生成學到的概念跨用於辨識,反之亦然。
概念類型與評估
系統在一系列任務中評估了以下類型的概念:
- 視覺: 例如「紅色」或「方形」。
- 空間: 例如「內部」或「在上方」。
- 時間: 例如「緩慢」或「之後」。
- 社會: 例如「具侵略性」或「助人」。
- 量化: 對數量(一、二、三或超過三)與接近度的判斷。
模型展示了在不同環境中分類與生成特定空間關係,並以特定方式在場景中導航實體的能力。