31、自组织特征映射在PET探测器事件处理中的应用及相关神经网络研究

自组织特征映射在PET探测器事件处理中的应用及相关神经网络研究

1. 自组织特征映射(SOFM)在PET探测器事件处理中的应用

在PET探测器的事件处理中,传统的晶体识别方法存在一定的局限性。Siemens Inveon专用PET扫描仪采用64个20x20分段的LSO探测器阵列进行小动物PET成像。探测器由20x20的LSO晶体像素通过锥形光导与位置敏感光电倍增管(PSPMT)耦合组成。511keV的伽马射线进入LSO像素,释放能量并通过闪烁过程发射可见光,光经光导被PSPMT检测,闪烁位置(X,Y)由Anger逻辑计算得出。

当前的晶体识别方法使用爬山算法,通过定位位置轮廓中的峰值来确定每个晶体的精确位置,生成晶体查找表(CLT),但该方法准确率约为95%,且需要大量人工交互进行校正,只能在PC上离线实现。

而基于神经网络的SOFM算法则为晶体识别带来了新的解决方案。一个经过修改的无监督SOFM通过传入的闪烁事件进行训练以构建CLT,并在Siemens Inveon事件处理模块(EPM)电子设备的现场可编程门阵列(FPGA)芯片中实现,显著减少了训练时间,使探测器实时训练成为可能。初步训练结果表明,SOFM在CLT构建中能有效实现高精度,且在实时晶体峰值跟踪方面表现良好,可消除因PMT或雪崩光电二极管(APD)增益漂移导致的晶体识别错误。

1.1 神经网络结构

Kohonen的自组织特征映射是一个竞争网络,包含权重向量矩阵W(神经元)和竞争层C。输入向量p表示事件的(X,Y)位置,权重矩阵W表示神经元位置,每个神经元代表一个探测器像素。对于20x20的Inveon探测器,神经元数量为400。

SOFM首先通过竞争层从n中确定获胜神经元:

a = compet (n)
n = Wp

其中,p是2x1的输入向量,W是400x2的权重矩阵。向量a是竞争层的输出,表示获胜神经元,每次只有与p最接近的权重向量的神经元获胜。

然后,使用Kohonen规则更新获胜神经元一定邻域内所有神经元的权重向量:

w(q) = (1 – α)w(q-1) + α p(q)

这里,α是学习率,q是训练索引数,w是获胜神经元邻域内的神经元,与p具有相同维度。在本应用中,使用邻域1,即仅更新获胜神经元。

当呈现向量p时,获胜神经元的位置会向p移动一小段距离。经过多次传入事件的p呈现后,神经元将学习到聚集在一起的向量,这些向量表示位置轮廓中的像素位置。训练后,权重矩阵中神经元的位置代表探测器像素的位置,从而可以轻松构建CLT。

1.2 模拟训练

使用Matlab程序对SOFM训练进行模拟,以验证算法的可行性。将400个神经元作为初始权重向量均匀分布在感兴趣区域。探测器位置轮廓通过记录探测器所有像素随机检测的所有事件序列的列表模式文件进行直方图统计得到。从列表模式文件中顺序读取事件的(X,Y)位置作为输入向量,确保从位置轮廓中随机选取训练向量。在本次模拟中,使用三百万个事件作为训练向量,即权重矩阵更新三百万次。在Matlab程序中,对训练算法进行修改,并随时间改变学习率以获得更好的训练效果。

训练结果显示,大多数神经元找到了正确的像素位置,400个神经元中仅有两个神经元位置错误,定位准确率达到99.5%。在1.6GHz的奔腾IV PC上,三百万个事件的总训练时间约为8小时。由于所有神经元都参与竞争,训练时间随神经元数量的增加而增加。

1.3 FPGA实现

为使SOFM成为一种实用的晶体识别方法,需要解决训练时间长的问题。由于SOFM算法紧凑简单,可在Inveon EPM电子设备的FPGA芯片中实现以加速训练过程。FPGA实现包括前端模块、SRAM寻址模块、竞争流水线和神经元训练模块。

操作步骤如下:
1. 首先在短时间内获取位置轮廓。
2. 根据位置轮廓计算400个神经元的初始权重向量,并在训练前下载到SRAM中。初始神经元均匀分布在位置轮廓的感兴趣区域。
3. 由于竞争和学习计算涉及乘法,且整数分辨率不足,使用具有9位整数和7位小数的定点数据格式,每个神经元的(X,Y)位置占用4字节,范围为0 - 512,分辨率为2 - 7。
4. 基于神经元的初始权重向量生成查找表并存储在SRAM中。查找表根据事件的(X,Y)值定义区域,仅同一区域内的神经元相互竞争,相邻区域相互重叠以确保事件到来时能选取所有必要的神经元进行竞争,从而减少竞争层的大小和流水线处理时间,使所需的FPGA资源和处理周期不随神经元数量的增加而增加。

当事件触发时:
1. 前端对数字化的ABCD值进行采样,并通过Anger逻辑计算事件的(X,Y)位置。
2. 使用(X,Y)值作为地址从SRAM中的查找表中检索区域编号。
3. 从SRAM中读取该区域内所有神经元的位置,并顺序发送到竞争流水线。
4. FPGA包含多个18位x18位乘法器块,由于采用流水线实现,仅需一个乘法器。竞争的获胜神经元将使用传入事件的(X,Y)值根据Kohonen规则进行更新。
5. 每次事件发生时,仅更新一个神经元,更新后的神经元存储回SRAM,训练逻辑准备处理下一个事件。
6. 训练完成后,从SRAM中上传神经元的位置,基于神经元位置代表的峰值位置构建CLT。

在训练过程中,将511keV的弱源置于探测器前,在3分钟内,SOFM通过超过450万个事件进行训练。FPGA训练逻辑以16ns的时钟周期运行,一个训练周期仅消耗688ns。若使用强源,训练可在数秒内完成,且所有神经元都能找到对应的像素位置。

1.4 实时晶体峰值跟踪

使用FPGA实现后,神经元位置可在采集过程中不断训练或更新。一旦神经元被训练到聚集事件的位置,即晶体峰值的位置,在后续训练中它们将被锁定在这些位置附近。当由于增益漂移导致聚集事件的位置缓慢移动时,神经元能够实时跟踪晶体峰值的位置变化。

通过对APD探测器的模拟验证了SOFM实时晶体峰值跟踪的可行性。首先对SOFM进行训练以获得正确的神经元位置,然后缓慢将位置轮廓的左下角向右推以模拟APD增益漂移。模拟结果表明,若使用原始的晶体查找表进行晶体解码,会产生错误的晶体ID,降低扫描仪的分辨率。而在模拟中,神经元在增益漂移的同时进行训练,能够实时跟踪晶体峰值的位置变化,基于更新后的神经元位置可生成动态晶体查找表,有效消除因温度变化导致的APD增益漂移引起的晶体解码错误。

2. 基于自组织神经网络的强制吸积与同化

这里介绍一种基于级联一系列多层感知器的自组织神经网络,即“SOM感知器”。它将同一类中所有接收到的模式映射到深层空间中的一个点,将不同类映射到不同的点,这些广泛分离的类点有助于心理过程中的抽象分类和类比操作。

2.1 构建SOM感知器的相关问题
  • 减少隐藏表示的数量 :所有模式在每一层都有其隐藏表示(HR),当对所有神经元应用硬限制激活函数时,这些HR都是二进制代码。第m层神经元的nm个决策超平面将前一层(m - 1)的nm - 1维空间划分为不重叠的小决策区域,并用二进制代码对这些区域进行编码。通常,离输入层较远的层中HR的总数会大幅减少,理想情况下,最后一层的HR数量可减少到类的数量,这使得SOM感知器的设计成为可能。
  • SOM感知器的权重设计 :对于解决一般位置的两类分类问题,第m层所需神经元数量的上限为 $\left\lceil \frac{\left\lVert Y_{m - 1} \right\rVert}{n_{m - 1}} \right\rceil \geq n_m$,第一层隐藏层n1的上限为 $\left\lceil \frac{P}{D} \right\rceil \geq n_1$。通过这种权重设计,可保证最后一层L的减少数量,即 $\left\lVert Y_L \right\rVert = \left\lVert C \right\rVert$。该方法还展示了一种用于多层感知器(MLP)的建设性权重设计,与BP算法不同,它解决了后续MLP层中的复杂性问题。
  • MLP的自底向上构建 :由于Liou & Yu(1995)引入的“AIR”树可以追踪远离输出层且靠近输入层的潜在隐藏层中的错误神经元,而BP算法无法通过调整靠近输出层的后续层的权重来纠正这些潜在错误,因此MLP应采用自底向上的构建方式。同时,“AIR”树可作为在线监视器,帮助可视化潜在内容,理解MLP解决问题的过程。
  • BP训练下MLP前后层的不同功能 :在监督BP训练中,前层的主要功能是将不同类进行分类,不使用类标签,而是利用类之间的判别差异作为目标函数进行训练;而后层靠近输出层,主要功能是使用类标签进行标记。因此,在SOM感知器中,将包括一个标记扇区,使用类标签作为目标函数进行训练。
2.2 训练方法

SOM感知器由分层神经元组成,使用两个能量函数对每一层进行训练:
- 对于同一类中的模式对 $(x_p, x_q) \in U_{c_i}$,使用能量函数 $E_{att}(x_p, x_q) = \frac{1}{2} \left\lVert y(p, m) - y(q, m) \right\rVert^2$ 来减小它们输出向量之间的距离。
- 对于不同类中的模式对 $(x_p, x_q) \in V_{c_i, c_j}$,使用能量函数 $E_{rep}(x_p, x_q) = -\frac{1}{2} \left\lVert y(p, m) - y(q, m) \right\rVert^2$ 来增大它们输出向量之间的距离。

网络从L = 1开始逐层构建,当Lold层无法实现隔离时,添加一个新的隐藏层Lnew = Lold + 1。在训练添加的层时,固定已训练的Lold层的所有权重。

训练算法如下:
1. 对于每个添加的层Wm,从W1到WL。
2. 进行有限的迭代次数。
3. 选择同一类中满足以下条件的两个模式 $(x_p, x_q)$:

(xp,xq) = argmax{(xi,xj)∈U1 or (xi,xj)∈U2} ||y(i,m) - y(j,m)||^2

即在第m层输出空间中距离最长的同一类模式对。
4. 找到不同类中满足以下条件的两个模式 $(x_r, x_s)$:

(xr,xs) = argmin{(xi,xj)∈V1,2} ||y(i,m) - y(j,m)||^2

即在第m层输出空间中距离最短的不同类模式对。
5. 通过以下方式调整模块Wm:

∇Wm ← ηatt ∂Eatt (xp,xq) / ∂Wm + ηrep ∂Erep (xr,xs) / ∂Wm
Wm ← Wm - ∇Wm

其中,ηatt和ηrep是学习率。

3. 实验分析

进行了多种数据集的模拟实验,包括两个人工数据集(两类问题和三类问题)和四个真实世界数据集。

3.1 两类问题

在二维平面上对两类模式进行训练,模式边界为 $(x_1)^3 + 0.1x_1 = x_2$,每层有五个神经元。SOM感知器逐层训练,直到为每个类产生良好隔离的HR。设置类间HR的隔离条件为 $\min_{(x_p, x_q) \in V_{1, 2}} \left\lVert y(p, L) - y(q, L) \right\rVert^2 \approx 22 \times n_L$,类内HR的隔离条件为 $\max_{(x_p, x_q) \in U_1 \text{ or } (x_p, x_q) \in U_2} \left\lVert y(p, L) - y(q, L) \right\rVert^2 \approx 0$。学习率设置为ηatt = 0.01和ηrep = 0.1,即排斥力比吸引力更强。当L = 2时达到成功隔离,在标记扇区设置一个神经元作为输出层,使用类标识进行训练。与多层感知器(MLP)和支持向量机(SVM)的结果相比,SOM感知器的边界更接近真实边界。

3.2 多类问题

对三个类别的模式进行训练,使用不同数量的神经元(nm = 5, 7, 9, 11)训练四个SOM感知器,每层训练1000次迭代。使用隔离条件来停止添加新层,学习率同样为ηatt = 0.01和ηrep = 0.1。记录并绘制每层的类间最小距离和类内最大距离,结果显示在最后几层逐渐实现了良好隔离的信号,最后一层的输出信号在SOM中有三个集中点。

3.3 真实数据集

使用Sonar数据集、Wine数据集、电离层数据和启动子基因序列进行实验,比较了k - 最近邻算法(k - NN)、SOM感知器、MLP和SVM四种机器学习技术,采用10折交叉验证。结果显示,SOM感知器在训练和测试中的表现具有竞争力,训练准确率达到100%,且所需的层数L通常较小。

4. 相关对比与总结
4.1 RBM与SOM感知器

受限玻尔兹曼机(RBM)和玻尔兹曼机开发的HR与SOM感知器开发的HR非常不同。RBM也是自底向上构建的,每个单独的层自由发展且独立演化,不使用标签,也不直接利用类之间的判别差异。当隐藏层中的神经元数量远小于视觉模式数量时,RBM的表示能力较低,HR倾向于对每个神经元层的模式进行编码;当神经元数量远大于视觉模式数量时,RBM有许多可选的HR,但没有特定的首选HR。而SOM感知器通过施加排斥能量来分离不同类,施加吸引能量来集中同一类,寻求广泛分离的HR以支持和隔离视觉模式。

4.2 Hebbian学习

通常认为监督BP算法在生物学上不可行,而SIR学习在单层上保持了Hebbian形式,具有生物学可能性。在梯度公式中,如果将某些项替换为1,学习规则将变为Hebbian学习的“双模式”形式,修改强度与两个HR模式之间的差异成正比。

4.3 与支持向量机的关系

支持向量机使用Mercer核将模式映射到高维空间,映射结果依赖于核函数的选择和设置,通常不使用类信息。而SOM感知器是一种可调整的映射函数,可将模式转换到高维空间,可作为Mercer核将模式映射到具有高度分离表示的空间。SVM将多类分类任务分解为多个二类分类任务,而SOM感知器试图同时划分所有类的整个表示空间,利用层感知器的内部空间,使每个二分法(超平面)相互依赖地学习,以实现高度分离的表示。

4.4 与互信息学习的关系

提出的方法基于最大化不同类表示之间的距离和最小化同一类表示之间的距离。有一个具有两个模块的网络,其目标是最大化互信息。将该网络替换为单模块网络并在超立方体空间中约束输出响应,通过训练最小化同一类中紧密相关模式对的目标函数,最大化不同类模式的目标函数,可获得与SOM感知器类似的结果。这表明SOM感知器的吸引和排斥能量在一定程度上与互信息一致。

综上所述,SOFM算法在PET探测器晶体识别中展现出了高精度和实时跟踪的优势,而SOM感知器在分类任务中通过独特的训练方法和网络结构,能够有效分离不同类别的模式,在实验中表现出良好的性能,且与其他相关技术相比具有各自的特点和优势。

自组织特征映射在PET探测器事件处理中的应用及相关神经网络研究

5. 技术对比表格分析

为了更清晰地对比不同技术在实验中的表现,下面给出详细的参数设置和实验结果表格。

数据集 技术 参数设置 训练准确率 测试准确率
Sonar k - NN k = 3 95.46% 82.74%
SOM感知器 nm = 35, nc1 = 5, nc2 = 1 100.00% 86.60%
MLP nMLP1 = 30, nMLP2 = 10 98.24% 84.14%
SVM C = 25, gamma = 2 - 3 100.00% 88.00%
Wine k - NN k = 15 97.88% 97.78%
SOM感知器 nm = 10, nc1 = 5, nc2 = 3 100.00% 98.33%
MLP nMLP1 = 20, nMLP2 = 5 100.00% 97.78%
SVM C = 2 - 1, gamma = 2 - 1 99.56% 98.30%
Ionosphere k - NN k = 1 97.69% 85.17%
SOM感知器 nm = 10, nc1 = 5, nc2 = 1 100.00% 90.60%
MLP nMLP1 = 20, nMLP2 = 5 99.46% 88.32%
SVM C = 23, gamma = 2 - 1 99.05% 94.87%
Promoters k - NN k = 3 93.72% 72.64%
SOM感知器 nm = 100, nc1 = 40, nc2 = 1 100.00% 86.55%
MLP nMLP1 = 20, nMLP2 = 5 100.00% 85.73%
SVM C = 21, gamma = 2 - 9 100.00% 89.36%

从表格中可以看出,SOM感知器在训练准确率上表现出色,在多个数据集上都达到了100%。在测试准确率方面,也具有一定的竞争力,尤其在Ionosphere数据集上,其测试准确率仅次于SVM。

6. 流程可视化:FPGA实现SOFM的流程图

下面是FPGA实现SOFM训练过程的mermaid流程图,它直观地展示了整个训练流程。

graph TD;
    A[获取位置轮廓] --> B[计算初始权重向量并下载到SRAM];
    B --> C[生成查找表并存储在SRAM];
    C --> D[事件触发];
    D --> E[前端采样ABCD值并计算(X, Y)位置];
    E --> F[从查找表检索区域编号];
    F --> G[读取区域内神经元位置并发送到竞争流水线];
    G --> H[竞争得出获胜神经元];
    H --> I[更新获胜神经元并存储回SRAM];
    I --> J{是否还有事件};
    J -- 是 --> D;
    J -- 否 --> K[上传神经元位置构建CLT];

这个流程图清晰地展示了从获取位置轮廓开始,到最终构建CLT的整个过程。每个步骤都紧密相连,体现了FPGA实现SOFM训练的高效性和逻辑性。

7. 不同技术的优势与适用场景总结
  • SOFM在PET探测器中的优势与适用场景
    • 优势
      • 高精度 :在模拟训练中,定位准确率达到99.5%,能有效提高PET探测器的晶体识别精度。
      • 实时跟踪 :通过FPGA实现,能够实时跟踪晶体峰值的位置变化,消除因增益漂移导致的晶体解码错误。
      • 训练时间短 :相比传统方法在PC上的离线训练,FPGA实现显著减少了训练时间,使探测器实时训练成为可能。
    • 适用场景 :适用于对探测器精度和实时性要求较高的PET成像领域,特别是在需要频繁调整探测器参数或环境变化导致增益漂移的情况下。
  • SOM感知器在分类任务中的优势与适用场景
    • 优势
      • 有效分类 :能够将同一类模式映射到深层空间的一个点,不同类映射到不同点,实现对不同类别的有效分离。
      • 训练高效 :在实验中,训练准确率达到100%,且所需层数L通常较小,训练效率较高。
      • 生物可行性 :SIR学习在单层上保持了Hebbian形式,具有生物学可能性。
    • 适用场景 :适用于各种分类任务,尤其是在处理多类分类问题时,能够同时划分所有类的整个表示空间,充分利用神经元的潜力。
  • 支持向量机(SVM)的优势与适用场景
    • 优势
      • 高维映射 :使用Mercer核将模式映射到高维空间,能够处理复杂的分类问题。
      • 多类分解 :可以将多类分类任务分解为多个二类分类任务,通过独立的二类分类器实现多类分类。
    • 适用场景 :适用于数据维度较高、分类边界复杂的问题,在许多实际应用中都有广泛的应用。
  • k - 最近邻算法(k - NN)的优势与适用场景
    • 优势
      • 简单易懂 :算法原理简单,易于实现和理解。
      • 无需训练 :不需要进行复杂的训练过程,直接根据最近邻样本进行分类。
    • 适用场景 :适用于数据量较小、分类规则相对简单的问题,在一些对实时性要求不高的场景中可以快速得到分类结果。
8. 未来发展展望

随着科技的不断发展,自组织特征映射和相关神经网络技术有望在更多领域得到应用和发展。
- 在医学成像领域 :可以进一步提高PET探测器的性能,实现更高分辨率的成像,为疾病的早期诊断提供更准确的信息。同时,结合其他医学成像技术,如MRI、CT等,实现多模态成像,为医生提供更全面的诊断依据。
- 在人工智能领域 :SOM感知器等神经网络模型可以应用于图像识别、语音识别、自然语言处理等领域,提高分类和识别的准确率。通过不断优化模型结构和训练算法,有望实现更高效、更智能的人工智能系统。
- 在生物信息学领域 :可以用于基因序列分析、蛋白质结构预测等问题,帮助科学家更好地理解生物分子的功能和相互作用,为药物研发和疾病治疗提供新的思路和方法。

总之,自组织特征映射和相关神经网络技术具有广阔的应用前景和发展潜力,未来值得我们进一步深入研究和探索。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生和初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值