观察AI模型的隐空间状态,探索潜在因子

观察AI模型的隐空间状态,探索潜在因子
2024年10月17日 09:21 电子产品世界

本文引用地址:

1   前言

当我们在观察AI模型的生成数据时,通常会比较关注于模型输出层的结果。然而,观察其隐藏层的数据也是非常有价值的。AI模型善于捕捉万事万物之间的关联性或规律,因而成为探索人体、企业等复杂系统中潜在因子(Latent factors)的利器。在这些复杂系统中,其潜在因子是指无法直接观察但影响系统行为的潜在变量或模式。例如,大家已经很熟悉的自动编码器(Autoencoder,简称AE)模型,它能透过学习数据的压缩表示,来呈现复杂系统中的潜在模式和关系。这种功能使得AE模型在医学研究、生理监测或企业财务分析各领域中,都展现出高度的实用性。

在本文里,将说明如何透过可视化方法对模型的隐( 藏) 空间(Latent space) 状态进行绘制而呈现于人们可观察的二维空间里。这种表示可以呈现慢性病患者的分布情况、特定患者的健康状况演变,因而在临床环境中至关重要。在企业经营中,擅用AI 模型来发现这些潜在因子,可以有效降低决策风险、优化营运模式来大幅提企业的竞争力。

2   观察<隐空间状态> 的意义

隐空间状态是指模型学习从输入数据中捕获的显著特征,并表示于较低维度的隐空间里。所以我们可以藉由观察模型的隐空间变量( 状态) 来探索复杂系统的重要潜在因子,以便探索复杂系统的底层机制。例如,人体的健康状况就是一个无法直接测量的变量,尤其是对于无法透过特定测试诊断的疾病( 如多发性硬化症)。此时,AI 模型可以协助将不同的测试结合起来呈现出患者的健康状况( 图-1)。

图1图1

此外,还能将观察到的见解整合到商业智能工具、仪表板和报告系统中,以进行持续监控和分析。

3   以VAE模型为例

例如,大家已经很熟悉的变分自动编码器(Variation autoencoder,简称VAE)模型,它能透过学习数据的压缩表示,来呈现复杂系统中的潜在模式和关系。这种功能使得VAE模型在医学研究、生理监测或企业财务分析各领域中,都展现出高度的实用性。擅用VAE可以让企业获得更深入的见解,增强决策能力,并保持在各自行业的竞争优势。

使用VAE是为了产生与原始源数据相关的新数据。这VAE假设源数据具有某种潜在的机率分布(例如高斯分布),然后尝试找到分布的参数( 图-2)。

图2图2

VAE模型从输入数据(x)中学习,然后映射到隐空间。就如同观察到一位华丽盛装的小孩X,经由Encoder 层过滤( 卸妆) 分析,得出其母体(Population) 平均值和标准偏差,其代表所属家庭( 概率分布)。然后从家庭里随机抽样一位( 素妆) 小孩Z。再经由Decoder 层生成(化妆) 之后,得出^x,比较看看^x 与x 的误差值(Loss)。一直持续训练,来降低误差值。

4   演练:观察简单AE模型

现在来观察简单AE( 自动编码器) 模型的训练流程,以海中的< 鱼群> 为例:

一开始,先从上述的鱼群中萃取各条鱼的特征(Feature):

有些情形下,也需要给予各条鱼不同的编号(ID):

于是,得到一个数值化特征表,这就是要输入给AE模型的训练数据(X):

这AE模型从输入数据(x)中学习, 然后经由Encoder映射到隐空间,得出其母体的概率分布。然后从母体里随机抽样(Z)。再经由Decoder 层生成之后,得出^x,一直持续训练。训练完成时,我们可以来观察隐空间里的状态。例如,以绘图方式来呈现AI模型的隐空间状态。请看看范例程序:

# 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

当训练完成时,就绘出图形:

于是,观察到隐空间状态了。

图-3图-3

5   结束语

一般而言,搭配行业的专业知识,会更易于诠释隐空间状态的涵意。例如,医药专家擅用VAE 模型将复合编码成196维的隐空间表示,来产生具有药物发现感兴趣的特性的新化合物(图-3)。

此外,具有丰富的企业财务专业知识的经理人,即能擅用AI模型来获得深入的见解,增强其决策能力,来保持企业的竞争优势。在商业中的潜在因子则包括:市场趋势、顾客偏好、竞争策略和投资风险等等。藉由观察AI 模型的隐空间状态,来发现这些潜在因子来为企业决策提供信息、优化流程并增强客户体验。

训练
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片