太陽能神諭隨身聽: Difference between revisions

From SGMK-SSAM-WIKI
Jump to navigation Jump to search
Line 28: Line 28:
相同輸入必定得到相同輸出
相同輸入必定得到相同輸出
即使輸入稍有改變,輸出也會截然不同
即使輸入稍有改變,輸出也會截然不同
┌───────────────────────────────────────┐
'''太陽能神諭隨身聽 v1 — 概覽'''
│  '''Solar Oracle Walkman v1 — 概覽'''       │
<pre>
└───────────────────────────────────────┘
[光]
[光] ──▶ [具圖案的 DSSC「迷你碟」]
  ▼
              │
[具圖案的 DSSC「迷你碟」]
             
 
        [I-V 掃描/取樣]
[I–V 掃描 / ESP32-S3 測試器]
        ESP32-S3 I-V 測試器
 
        (四線量測,逐步負載)
[特徵擷取,7 維]
              │  生成 I–V 曲線
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
             
 
        [特徵擷取,7D]
ml.scale 正規化
        F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
  ▼
              │
ml.principle (PCA)
              ├───────────────────────────────┬───────────────────────────────────────────┐
  ▼
              │                              │                                          │
輸入 RAVE nn~ 解碼器
              ▼                              ▼                                         
  ▼
        【聲音路徑(即時)】              【Oracle/鏈上路徑】                        【模型訓練(離線)】
即時聲音輸出
        ml.scale 正規化               打包 {pubkey, cell_id, F}                      資料集:多片 DSSC I–V → 7D
跨模態映射:I–V 潛在向量 聲音潛在向量
              │                              │                                          │
(映射依藝術 / 作曲語境決定)
        ml.principle (PCA)             POST /api/iv 至 Oracle API                訓練 RAVE(或輕量替代模型)
</pre>
              │                        (本地/雲端)                                      │
 
  映射至 RAVE nn~ 解碼器潛在輸入口        智慧合約驗證並紀錄                        匯出模型(onnx/ckpt/nn~)
'''太陽能神諭隨身聽 v2 — 概覽'''
              │                                │                                          │
<pre>
              │                              │                                          │
[光]
        ▶ 即時聲音輸出                 回傳 tx_hash / OK|FAIL                      部署於 Max/MSP (nn~)
  ▼
              │                              │                                         
[具圖案的 DSSC「迷你碟」]
              └───────────────┬───────────────┘
 
                              │ (狀態回饋)
[連續 I–V 掃描 / ESP32-S3 測試器]
                              ▼
  ▼
                      [播放授權/語意閘]
[I–V 編碼器(在 Colab 以 Conv1D 訓練)— 鏈下]
                    OK 進入「語意穩定」播放區段 
輸入:7 維序列 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, 曲率總和, 面積]
                    FAIL → 提示重新量測/重新註冊/降噪
輸出:潛在向量 z = (z1, z2, …, zn)
訓練:triplet loss + 先驗匹配
┌──────────────────────────────────────────────────────┐
增強:增益縮放 / 噪音 / 時序抖動
│  '''Solar Oracle Walkman v2(RAVE 潛在向量 z)— 概覽'''       │
 
└──────────────────────────────────────────────────────┘
[模糊提取器 — 鏈下]
[光] ──▶ [具圖案的 DSSC「迷你碟」]
z → 正規化 / 量化
              │
  → ECC + 輔助資料 → 穩定金鑰 K
             
  → commit = keccak256(K || salt)
        [連續 I–V 掃描]
註冊:panel_id = keccak256("panel-id" || K)
        ESP32-S3 I-V 測試器
驗證:新 K′ → keccak256(K′ || salt) → 與儲存的承諾值比對
        (四線量測,逐步負載)
 
              │  生成連續 I–V 曲線
  ├───────────────► [Oracle / 鏈上路徑]
              ▼
                    打包 {pubkey, panel_id, commitment, timestamp, nonce, signature}
        [RAVE 編碼器]
                    智慧合約:驗證 EIP-712 簽章、時間戳、nonce
        以連續 I–V 數據訓練
                    智慧合約:檢查 keccak256(K′ || salt) == commitment(於 verify 呼叫時)
              │
                    智慧合約:儲存 panel_id、commitment、metadata;發出事件
              ▼
                    回饋:OK / FAIL
        [潛在嵌入 z = (z1, z2, …, zn)]
 
              │
 
             
[輸入 RAVE nn~ 解碼器]
        [fuzzy extractor(逐維處理)]
  ▼
          對每個 zi:
即時聲音輸出
              ml.scale(正規化)
跨模態映射:I–V 潛在向量 聲音潛在向量
              ml.principle(PCA)
(映射依藝術 / 作曲語境決定)
          輸出:穩定化 z′ = (z′1, z′2, …, z′n)
</pre>
             
              ├───────────────────────────────┬───────────────────────────────────────────┐
                                            │                                          │
              ▼                              ▼                                          ▼
        【聲音路徑(即時)】              【Oracle/鏈上路徑】                        【模型訓練(離線)】
        穩定化 z′ → RAVE nn~            打包 {pubkey, cell_id, z′}                 資料集:多條連續 I–V 曲線
            解碼器潛在輸入口                      │                                         
                                    POST /api/z′ 至 Oracle API                  訓練 RAVE(編碼器–解碼器)
          ▶ 即時聲音輸出                    (本地/雲端)                                   
                                    智慧合約驗證並紀錄                            匯出編碼器至 Max/MSP (nn~)
              └───────────────┬───────────────┘                                           
                              │ (狀態回饋)                                        部署編碼器於 Max/MSP
                             
                      [播放授權/語意閘]
                  OK → 進入「語意穩定」播放區段 
                  FAIL 提示重新量測/重新註冊/降噪
(註解)
與 v1 的差異:輸入為完整連續 I–V 曲線,而非僅 7D 特徵。
RAVE 編碼器學習光照魯棒的潛在向量 z;PCA 將 z 穩定化為 z′(扮演fuzzy extractor角色)。
Oracle 僅錨定承諾(z′ 或衍生金鑰的雜湊)。
聲音引擎與 oracle 共享相同的穩定化 z′ → 保持一致身份 + 生成對應映射。


==第一個原型:7-D聲紋和模糊提取I-V曲線==
==第一個原型:7-D聲紋和模糊提取I-V曲線==

Revision as of 16:04, 4 September 2025

摘要

太陽能神諭隨身聽(Solar Oracle Walkman) 是一個能源交易與聲音雕塑的探索。外觀參考了復古的 Sony WM-F107,而內部裝置則用於測量一片 6 × 6 公分手工製作、帶有藝術圖案的 DSSC(染料敏化太陽能電池)的 I–V 曲線,其 TiO₂ 多孔層透過氰版顯影或網版印刷製成。每一片「太陽能迷你碟」都會產生獨特的 I–V 聲紋(voiceprint),並透過 oracle(將鏈外資料安全橋接至區塊鏈的機制)傳送至智慧合約進行驗證。 概念上,這台隨身聽運作如同冷錢包:每片 DSSC 是一個實體代幣,而內建的 I–V 測試器則是其讀取器。完成驗證後,隨身聽會播放生成的、語意受限的音樂;鏈上的判定會作為播放的門檻。 在目前的 Max/MSP 原型中,量測到的 I–V 曲線會被分解為七個無量綱特徵 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*],可選擇使用 PCA 降維,然後手動映射至 nn~ RAVE 解碼器的潛在輸入口,以達成可重現的聲音身份,而不依賴明確的語意結構。下一步,我們將記錄在不同光照下的連續 I–V 數據,並訓練 RAVE 編碼器以學習每片電池的緊湊且具魯棒性的潛在嵌入。這些嵌入會輸入至模糊提取(fuzzy extractor)流程(量化 → 輔助資料錯誤更正(ECC) → 雜湊),以導出穩定的金鑰。鏈上只會錨定該金鑰的承諾值,以維護隱私並允許驗證。若能保持向量空間的幾何關係,潛在空間中的距離將能反映光伏行為的差異,使裝置能作為一部「占卜機」,連結物質、感知與想像。

生成系統中感知進展的聲音化

感知與人工智慧都可以被理解為生成機制:它們不只是被動接收訊號,而是主動進行預測與修正。在隨身聽中,鏈上的聲紋扮演著錨點──以經驗痕跡來限制生成──而解碼器的表現力則像是召喚,在可驗證的範圍內支撐想像。 依據 Stinson 的「通用機制觀」以及 Feigl 的「對應模型」,我們設計了從量測(I–V 曲線)到潛在變數(音訊嵌入)的明確橋接。這使得作品能夠被視為一項實驗:每一個聲音決策都可以追溯至能量曲線上的可測變換。

實驗

太陽能神諭隨身聽主要由三個元件組成: I-V 曲線測試器 具圖案的太陽能迷你碟 智慧合約 每片迷你碟的 I–V 曲線會被量測並上傳至部署於 Sepolia 測試網 的智慧合約進行驗證。一旦其 I–V 數據通過驗證,相應的音樂就會被生成並允許由隨身聽播放。每片「太陽能迷你碟」的聲音被期望具有 可重現性、生成性與語意性——如同一段具備清晰機制的生成音樂,而非完全隨機。 為了讓每片太陽能迷你碟成為生成裝置,我首先假設需要設計一個 雜湊運算 來獲得每片太陽能玻璃的「聲紋 (V)」。雜湊運算是將輸入資料(例如數字、文字、檔案,或一組 I–V 曲線參數)送入數學函式或演算法以產生雜湊值的過程。雜湊演算法可以處理任意長度的輸入,但總是輸出固定長度的結果。它們被設計為: 計算快速 相同輸入必定得到相同輸出 即使輸入稍有改變,輸出也會截然不同 太陽能神諭隨身聽 v1 — 概覽

[光]
   ▼
[具圖案的 DSSC「迷你碟」]
   ▼
[I–V 掃描 / ESP32-S3 測試器]
   ▼
[特徵擷取,7 維]
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
   ▼
ml.scale 正規化
   ▼
ml.principle (PCA)
   ▼
輸入 RAVE nn~ 解碼器
   ▼
即時聲音輸出
跨模態映射:I–V 潛在向量 → 聲音潛在向量
(映射依藝術 / 作曲語境決定)

太陽能神諭隨身聽 v2 — 概覽

[光]
   ▼
[具圖案的 DSSC「迷你碟」]
   ▼
[連續 I–V 掃描 / ESP32-S3 測試器]
   ▼
[I–V 編碼器(在 Colab 以 Conv1D 訓練)— 鏈下]
輸入:7 維序列 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, 曲率總和, 面積]
輸出:潛在向量 z = (z1, z2, …, zn)
訓練:triplet loss + 先驗匹配
增強:增益縮放 / 噪音 / 時序抖動
   ▼
[模糊提取器 — 鏈下]
z → 正規化 / 量化
  → ECC + 輔助資料 → 穩定金鑰 K
  → commit = keccak256(K || salt)
註冊:panel_id = keccak256("panel-id" || K)
驗證:新 K′ → keccak256(K′ || salt) → 與儲存的承諾值比對
   │
   ├───────────────► [Oracle / 鏈上路徑]
   │                   打包 {pubkey, panel_id, commitment, timestamp, nonce, signature}
   │                   智慧合約:驗證 EIP-712 簽章、時間戳、nonce
   │                   智慧合約:檢查 keccak256(K′ || salt) == commitment(於 verify 呼叫時)
   │                   智慧合約:儲存 panel_id、commitment、metadata;發出事件
   │                   回饋:OK / FAIL
   │
   ▼
[輸入 RAVE nn~ 解碼器]
   ▼
即時聲音輸出
跨模態映射:I–V 潛在向量 → 聲音潛在向量
(映射依藝術 / 作曲語境決定)

第一個原型:7-D聲紋和模糊提取I-V曲線

一個 DIY I–V 曲線測試器被連接至電腦,其量測的 16 個 I–V 曲線點會透過序列通訊傳送到 Max/MSP。I–V 曲線通常用來分析太陽能電池的特性,因此在此被視為電池的「聲紋」,尤其是那些帶有氰版與網版印刷 TiO₂ 層的 DSSC。在本研究中,I–V 曲線的形狀被拆解成 七個特徵,並對每個特徵應用機器學習,讓電腦能夠「學會」其形狀。此方法預期能夠保證對光照強度的不變性,使太陽能迷你碟的音訊輸出在不同光照下依舊保持穩定再現。聲紋 V 定義為: V = [FF (填充因子), Vmpp/Voc, Impp/Isc, Rs (串聯電阻), Rsh (旁路電阻), 曲率總和, I–V 曲線面積] 注意:這些計算均為 無量綱(dimensionless)。 所謂無量綱特徵向量,指的是經過正規化後不再帶有物理單位(伏特、安培、歐姆)。例如透過比值 Vmpp/Voc 或 Impp/Isc,這些特徵只捕捉相對形狀或行為,而與絕對大小無關。這在比較或分類不同光照條件下的 I–V 曲線時至關重要,因為它能確保差異反映的是裝置的內在特性,而不是量測條件的變動。

7-D Voice print(無量綱化)

FF (填充因子)
FF = (Vmpp * Impp) / (Voc * Isc)
Vmpp/Voc 與 Impp/Isc
無量綱比值,捕捉最大功率點的操作位置。
Rs* 與 Rsh*(無量綱電阻估計)
先估計在重取樣曲線上的局部斜率:
Rs ≈ -ΔV/ΔI (在 I ≈ Isc 附近)
Rsh ≈ -ΔV/ΔI (在 V ≈ Voc 附近)
再轉換為無量綱形式:
Rs* = Rs * (Isc / Voc)
Rsh* = Rsh * (Isc / Voc)
Σκ (曲率總和)
沿著 64 點重取樣 I–V 折線,累積各段角度變化:
Σκ = Σ |angle(s_i, s_{i+1})|
(直覺上:Σκ 越大,曲線「彎曲」程度越明顯)
A* (I–V 曲線面積,正規化)
定義:從 V=0 到 V=Voc 的曲線下方面積,除以 (Isc * Voc)
離散近似:
A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)

ml.scale 與 ml.principle 作為模糊提取的前處理

為了讓每片太陽能迷你碟的聲音能被智慧合約穩定驗證並重現,Max/MSP 的 ml.* 函式庫是一個解決方案。 ml.scale:先將七個原始特徵正規化到 0 到 1 的範圍。 ml.principle:再進行 PCA(主成分分析),將七個值轉換至新的 7 維 PCA 空間。PCA 是一種數學方法,能將數據旋轉並壓縮到較少維度,同時保留最多變異。 ml.principle 是 Max/MSP 內實作 PCA 的物件: 它會從訓練數據中學習主軸 並將新的數據投影至該降維空間

RAVE 作為可信神諭空間與生成音樂引擎的介質

PCA 僅僅是線性降維;它無法保證「在不同光照下仍能重現」或「二進位金鑰的錯誤更正」。因此本設計採用了模糊提取器:它將連續的潛在向量 z 轉換為可糾錯、可驗證的位元列,並輸出一個穩定的金鑰 K,以同時滿足身份可重現性與鏈上需求。 我們在 Google Colab 中訓練了一個客製化的 I–V 編碼器(由於 RAVE 編碼器無法直接處理曲線數據,因此使用 Conv1D 架構進行訓練)。輸入為連續的七維「聲紋」(FF、Vmpp/Voc、Impp/Isc、Rs*、Rsh*、曲率總和、面積);輸出則是一個與下游音訊解碼器維度對齊的潛在向量 z。訓練採用 triplet loss(將相同電池的樣本拉近、不同電池的樣本推遠)並加入先驗匹配,使 z 服從解碼器的高斯先驗分布。量測噪聲與光照漂移則透過數據增強(增益縮放、小幅噪音、時序抖動)來處理。 由於 z 是連續且帶有些許噪聲,因此需要進一步的模糊提取: z 先正規化並量化 再經過 ECC(錯誤更正碼)以導出穩定金鑰 K 最後計算鏈上承諾值:keccak256(K || salt) 在初始註冊時,系統會生成一個匿名索引: panel_id = keccak256("panel-id" || K) 之後的每次回報,只需重建 K′ 並計算 keccak256(K′ || salt),合約即可自動將紀錄歸屬於該 panel_id,而無需上傳任何人類身份資訊。 音訊解碼器則獨立於音樂數據上訓練(或直接使用既有的 RAVE 解碼器);它的唯一任務是將 z 聲音化。由於編碼器在 z 上強制了穩定性與幾何關聯,相同電池的重複量測會產生可重現的音色與動態。這是一種跨模態映射(I–V → 聲音潛在向量):語意秩序僅保留在編碼器端,而解碼器端的映射則完全由藝術/作曲語境決定(例如映射至 AM/FM、濾波、失真、空間參數等),其目標在於聲音與音樂表現,而非身份驗證。 整體而言,RAVE ——更精確地說,是 I–V 編碼器與 RAVE 解碼器的組合——充當了一個中介層。一方面,它建立了一個可驗證語意空間 (VSP):物理 I–V 量測透過對比學習被嵌入到既聚合又分離的幾何結構中,模糊提取器則輸出金鑰 K 與鏈上承諾值。根據 Jha 等人 (2025),語意穩定性依賴三個核心約束: 重建性:轉換後的表徵能映射回來源 循環一致性:往返轉換能保持意義 向量空間保存 (VSP):嵌入間的成對距離在映射後仍被保存 另一方面,它支援美學生成:穩定的 z 值會產生可重現的音色風格與聲音敘事。從哲學角度看,這並不是將兩種媒介視為等同,而是將生成錨定於 oracle,使美學得以在物理驗證的基礎上展開。 因此,RAVE 成為一個「翻譯的膜」: 內層維持真實的幾何與承諾(身份與因果) 外層釋放可感知的語意與聲音(美學與表達) 鏈上負責驗證;鏈下負責運算與生成 —— 這樣的清晰分工既保障了 DSSC 身份的安全,又保留了藝術創作的自由。

智慧合約驗證系統

概述

Solar Oracle Walkman 的智慧合約部署於 以太坊 Sepolia測試網(合約地址:0xeF19a90e5786dd0e89264F38f52CF81102db938e)。合約作為去中心化的數位公證人,負責: - 驗證簽名與資料完整性(EIP-712) - 以 panel_id 為鍵管理提交 - 儲存並發佈與 I–V 聲紋關聯的承諾值(commitment)與中繼資料

注意:模糊提取(Fuzzy Extraction)與金鑰 K 的導出均在鏈下完成;本合約不執行 FE。

驗證流程(鏈上)

輸入(由鏈下提交):

  1. code>panel_id:鏈下以 panel_id = keccak256("panel-id" || K) 生成
  2. commitment:鏈下以 commitment = keccak256(K || salt) 計算
  3. 簽名:依 EIP-712 標準對提交資料簽名
  4. timestampnonce
  5. (可選)7 維聲紋 [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area],用於可視化或研究

合約責任:

  1. 驗證 EIP-712 簽名、timestampnonce
  2. panel_id 為索引管理提交,檢查 commitment 與既有紀錄的一致性(或依業務規則更新)
  3. 儲存 panel_idcommitment、時間戳與(可選)7 維聲紋;發佈事件以供訂閱

Panel ID 與身份管理(鏈上觀點)

  1. 來源(鏈下):panel_id = keccak256("panel-id" || K)
  2. 鏈上歸檔:以 panel_id 為鍵歸檔與查詢測量紀錄
  3. 身份驗證:鏈下重建 K' 後計算 keccak256(K' || salt) 與鏈上 commitment 比對;合約僅接受比對結果所需之提交並進行存證

安全機制

EIP-712 結構化簽名

合約實作 EIP-712 標準,為提交的測量資料提供可驗證的結構化簽名:

struct IVMeasurement {
    uint256 timestamp;
    bytes32 panelId;
    bytes32 commitment;
    uint256[7] voiceprint;
    bytes32 nonce;
}

數據完整性檢查

  1. 時間戳驗證:防止重放攻擊
  2. Nonce 機制:確保每筆交易唯一性
  3. 聲紋範圍檢查:若提供 7 維聲紋則檢查範圍合理性
  4. 承諾一致性:對同一 panel_id 的 commitment 進行一致性檢查

儲存結構

測量記錄

每筆驗證通過的測量記錄包含:

  1. Panel ID:DSSC 的匿名化識別碼(鏈下導出)
  2. Commitment:Keccak-256 承諾雜湊(鏈下計算)
  3. Timestamp:測量時間戳
  4. Voiceprint(可選):7 維 I–V 聲紋特徵
  5. Verification Status:驗證狀態

歷史追蹤

合約維護每片 DSSC 的提交歷史:

  1. 性能變化:追蹤特徵隨時間的演變(若提交)
  2. 環境影響:記錄不同條件下的表現(若提交)
  3. 老化分析:長期性能退化(若提交)

神諭機制(鏈上角色)

合約作為區塊鏈神諭的一端,對鏈下送來的簽名資料進行鏈上驗證與存證:

  1. 數據驗證:簽名、時間戳、nonce 與資料完整性
  2. 身份確認:以 panel_id 比對 commitment
  3. 狀態更新:更新鏈上資料結構
  4. 事件觸發:驗證成功後發佈事件

隱私保護

  1. 最小揭露:不上鏈金鑰 K,只存 panel_idcommitment
  2. 匿名化 ID:panel_id 無法反推至實體設備
  3. 選擇性揭露:7 維聲紋可選擇性提交

技術規格

  1. 區塊鏈:以太坊 Sepolia 測試網
  2. 合約語言:Solidity ^0.8.0
  3. 雜湊算法:Keccak-256
  4. 簽名標準:EIP-712
  5. (鏈下)錯誤更正:漢明碼(7,4)
  6. (鏈下)金鑰長度:256 位元

討論

  1. 目前的狀態 神諭隨身聽作為一件簡單的藝術雕塑,能即時將 DSSC 的 I–V 曲線聲音化。經過正規化後,七個特徵的聲紋在光照變化下依然穩定。映射設計刻意保持極簡,使得可重現性的評估變得直接明瞭。在 Max/MSP 中已經建立了一條從感測到聲音的受控流程。感知與人工智慧被視為同一生成機制的兩個面向。此處「幻覺」的工作定義是:生成過程漂移到可接受證據與先驗之外。大腦會進行預測與修正;幻覺則是預測失配的極端情況。oracle 提供了外部錨點,使生成保持在可驗證的範圍內,同時保留創造性變異的空間。
  2. 理論目前的作用 Stinson 的「通用機制觀」激發我們將 DSSC–RAVE 與人類感知視為同一生成架構的不同實現。Feigl 的「對應模型」則驅動我們設計從觀測到潛在變數的明確橋接,讓每一個設計步驟都能追溯至可測痕跡。這些理論視角本身不是最終目標,而是資料集建立的設計指南映射的先驗假設偏移與變異的評估指標目前的限制在於缺乏向量空間保存 (VSP);沒有 VSP,潛在空間只能作為身份的穩定註冊,卻無法保證不同電池之間的關聯意義。因此,oracle 主要只是一個驗證真偽的守門人,卻提供不了太多語意解釋。然而,若能引入 VSP,oracle 則可能演化成為一台真正的「神諭機」:不僅能驗證真實,還能揭示不同能量曲線之間的關係,將物理差異轉譯為另一領域中可解釋的結構。
  3. 下一步 建立一個小而乾淨的 DSSC 聲紋訓練集,控制光照與溫度,並測試單調性與局部平滑性的先驗條件。原型化 vec2vec 式的約束:簡單的循環檢查與距離保持,並在保留測試集中記錄當「聲音鄰域」無法對應「能量曲線鄰域」的情況。研究輕量化推論目標與壓縮方法,以便未來能應用於行動裝置。探索能否將可追溯的能源紀錄註冊為來自聲紋的可驗證雜湊,並評估失效模式與防偽極限。「oracle」不僅指區塊鏈上的鏈外數據橋接機制,也回應了其古代語源——神廟的「神諭」或「占卜」。當 DSSC 聲紋僅用於驗證時,oracle 只是守門人;但當其承載語意結構,能揭示不同能量曲線之間的關聯並轉譯至聲音領域時,它就超越了驗證,開始運作如同一部「占卜機」,將物理世界的跡象轉換為另一個世界的訊息。

參考

  1. Buckner, Cameron J. 2023. From Deep Learning to Rational Machines: What the History of Philosophy Can Teach Us about the Future of Artificial Intelligence. 1st ed. Oxford University PressNew York. https://doi.org/10.1093/oso/9780197653302.001.0001.
  2. Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
  3. Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
  4. https://www.hackteria.org/wiki/A_RAVE_and_starvation_synth_based_generative_sonic_device_powered_by_dye_sensitized_solar_cell
  5. https://github.com/shihweichieh2023/IVcurve_tester
  6. https://github.com/rjha18/vec2vec
  7. https://github.com/shihweichieh2023/solar-oracle-walkman