• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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


    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模型 隱空間

    評論


    技術專區

    關閉
    主站蜘蛛池模板: 英超| 安阳市| 扶风县| 江北区| 贵港市| 寿宁县| 河东区| 武宣县| 秀山| 获嘉县| 红原县| 墨脱县| 突泉县| 临海市| 遂川县| 连云港市| 潮安县| 新河县| 友谊县| 武清区| 丹棱县| 通化市| 安顺市| 呼伦贝尔市| 邵武市| 彩票| 巴东县| 楚雄市| 惠安县| 五莲县| 漳州市| 兴隆县| 长海县| 长子县| 扶余县| 安宁市| 平远县| 安塞县| 嘉义县| 安国市| 玉溪市|