新聞中心

        EEPW首頁 > 智能計算 > 業界動態 > 觀察AI模型的隱空間狀態,探索潛在因子

        觀察AI模型的隱空間狀態,探索潛在因子

        作者:高煥堂 時間:2024-10-16 來源:EEPW 收藏


        本文引用地址:http://www.104case.com/article/202410/463708.htm

        1   前言

        當我們在觀察的生成數據時,通常會比較關注于模型輸出層的結果。然而,觀察其隱藏層的數據也是非常有價值的。善于捕捉萬事萬物之間的關聯性或規律,因而成為探索人體、企業等復雜系統中潛在因子(Latent factors)的利器。在這些復雜系統中,其潛在因子是指無法直接觀察但影響系統行為的潛在變量或模式。例如,大家已經很熟悉的自動編碼器(Autoencoder,簡稱AE)模型,它能透過學習數據的壓縮表示,來呈現復雜系統中的潛在模式和關系。這種功能使得AE模型在醫學研究、生理監測或企業財務分析各領域中,都展現出高度的實用性。

        在本文里,將說明如何透過可視化方法對模型的隱( 藏) 空間(Latent space) 狀態進行繪制而呈現于人們可觀察的二維空間里。這種表示可以呈現慢性病患者的分布情況、特定患者的健康狀況演變,因而在臨床環境中至關重要。在企業經營中,擅用AI 模型來發現這些潛在因子,可以有效降低決策風險、優化營運模式來大幅提企業的競爭力。

        2   觀察<狀態> 的意義

        狀態是指模型學習從輸入數據中捕獲的顯著特征,并表示于較低維度的里。所以我們可以藉由觀察模型的隱空間變量( 狀態) 來探索復雜系統的重要潛在因子,以便探索復雜系統的底層機制。例如,人體的健康狀況就是一個無法直接測量的變量,尤其是對于無法透過特定測試診斷的疾病( 如多發性硬化癥)。此時,AI 模型可以協助將不同的測試結合起來呈現出患者的健康狀況( 圖-1)。

        1729070843464088.png

        圖1

        此外,還能將觀察到的見解整合到商業智能工具、儀表板和報告系統中,以進行持續監控和分析。

        3   以VAE模型為例

        例如,大家已經很熟悉的變分自動編碼器(Variation autoencoder,簡稱VAE)模型,它能透過學習數據的壓縮表示,來呈現復雜系統中的潛在模式和關系。這種功能使得VAE模型在醫學研究、生理監測或企業財務分析各領域中,都展現出高度的實用性。擅用VAE可以讓企業獲得更深入的見解,增強決策能力,并保持在各自行業的競爭優勢。

        使用VAE是為了產生與原始源數據相關的新數據。這VAE假設源數據具有某種潛在的機率分布(例如高斯分布),然后嘗試找到分布的參數( 圖-2)。

        1729070918920652.png

        圖2

        VAE模型從輸入數據(x)中學習,然后映射到隱空間。就如同觀察到一位華麗盛裝的小孩X,經由Encoder 層過濾( 卸妝) 分析,得出其母體(Population) 平均值和標準偏差,其代表所屬家庭( 概率分布)。然后從家庭里隨機抽樣一位( 素妝) 小孩Z。再經由Decoder 層生成(化妝) 之后,得出^x,比較看看^x 與x 的誤差值(Loss)。一直持續訓練,來降低誤差值。

        4   演練:觀察簡單AE模型

        現在來觀察簡單AE( 自動編碼器) 模型的訓練流程,以海中的< 魚群> 為例:

        1729070988795923.png

        一開始,先從上述的魚群中萃取各條魚的特征(Feature):

        1729071029468750.png

        有些情形下,也需要給予各條魚不同的編號(ID):

        1729071084938558.png

        于是,得到一個數值化特征表,這就是要輸入給AE模型的訓練數據(X):

        1729071135306488.png

        這AE模型從輸入數據(x)中學習, 然后經由Encoder映射到隱空間,得出其母體的概率分布。然后從母體里隨機抽樣(Z)。再經由Decoder 層生成之后,得出^x,一直持續訓練。訓練完成時,我們可以來觀察隱空間里的狀態。例如,以繪圖方式來呈現的隱空間狀態。請看看范例程序:

        # example_01.py

        import numpy as np

        import torch

        import torch.nn as nn

        import torch.nn.functional as F

        import matplotlib.pyplot as plt

        class AE(nn.Module):

        def __init__(self):

        super(AE,self).__init__()

        self.Enc1 = nn.Linear(3, 8)

        self.Enc2 = nn.Linear(8, 2)

        self.Dec1 = nn.Linear(2, 8)

        self.Dec2 = nn.Linear(8, 3)

        def forward(self, x):

        h = self.Enc2(self.Enc1(x))

        out = F.sigmoid(self.Dec2(self.Dec1(h)))

        return out, h

        model = AE()

        lossF = nn.MSELoss()

        opt = torch.optim.SGD(model.parameters(), lr=0.35)

        ----------------------------------

        X = torch.tensor(

        [[1,10, 5], [9, 2, 4], [8, 1, 3],

        [3, 1,10], [5, 9, 7], [5, 8, 3],

        [9, 2, 3], [2,10, 5], [1, 9, 4]

        ], dtype=torch.float32)

        ----------------------------------

        dx = X/10

        dt = dx

        for ep in range(1000):

        z, h = model(dx)

        loss = lossF(z, dt)

        opt.zero_grad()

        loss.backward()

        opt.step()

        if(ep%200 == 0):

        loss = loss.detach().numpy()

        print(‘ep =’, ep,’, loss = ‘,np.round(loss,4))

        ----------------------------------

        model.eval()

        z, h = model(dx)

        hh = h.detach().numpy()

        map_color = {0: ‘r’, 1: ‘g’, 2:’b’, 3:’y’, 4:’k’, 5:’m’,

        6:’c’,7:’pink’,8:’grey’,9:’blueviolet’}

        color = list(map(lambda k: map_color[k], [0,1,

        2,3,4,5,6,7,8]))

        fig, ax = plt.subplots(1)

        plt.scatter(hh[:, 0], hh[:, 1], c=color)

        plt.show()

        # End

        當訓練完成時,就繪出圖形:

        1729071211912734.png

        于是,觀察到隱空間狀態了。

        1729071281253887.png

        圖-3

        5   結束語

        一般而言,搭配行業的專業知識,會更易于詮釋隱空間狀態的涵意。例如,醫藥專家擅用VAE 模型將復合編碼成196維的隱空間表示,來產生具有藥物發現感興趣的特性的新化合物(圖-3)。

        此外,具有豐富的企業財務專業知識的經理人,即能擅用AI模型來獲得深入的見解,增強其決策能力,來保持企業的競爭優勢。在商業中的潛在因子則包括:市場趨勢、顧客偏好、競爭策略和投資風險等等。藉由觀察AI 模型的隱空間狀態,來發現這些潛在因子來為企業決策提供信息、優化流程并增強客戶體驗。

        (本文來源于《EEPW》



        關鍵詞: 202410 AI模型 隱空間

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 中阳县| 海淀区| 南通市| 娄底市| 锡林郭勒盟| 拜城县| 湘阴县| 乌兰县| 莫力| 景谷| 连江县| 胶南市| 新民市| 五寨县| 东乌珠穆沁旗| 隆昌县| 麻江县| 堆龙德庆县| 扶余县| 紫云| 蕉岭县| 宝清县| 吐鲁番市| 蓬溪县| 霍山县| 五寨县| 西林县| 五河县| 博乐市| 宣恩县| 麻阳| 集安市| 贵南县| 江源县| 濮阳市| 城口县| 黔西| 旬邑县| 巴林右旗| 温州市| 钦州市|