色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          觀察AI模型的隱空間狀態(tài),探索潛在因子

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


          本文引用地址:http://cafeforensic.com/article/202410/463708.htm

          1   前言

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

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

          2   觀察<狀態(tài)> 的意義

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

          1729070843464088.png

          圖1

          此外,還能將觀察到的見解整合到商業(yè)智能工具、儀表板和報告系統(tǒng)中,以進行持續(xù)監(jiān)控和分析。

          3   以VAE模型為例

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

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

          1729070918920652.png

          圖2

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

          4   演練:觀察簡單AE模型

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

          1729070988795923.png

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

          1729071029468750.png

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

          1729071084938558.png

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

          1729071135306488.png

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

          # 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

          于是,觀察到隱空間狀態(tài)了。

          1729071281253887.png

          圖-3

          5   結束語

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

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

          (本文來源于《EEPW》



          關鍵詞: 202410 AI模型 隱空間

          評論


          技術專區(qū)

          關閉