用于对进行聚类的模型进行训练分析的方法和相关产品转让专利

申请号 : CN202211310915.3

文献号 : CN115375934B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘从新韩宇星

申请人 : 北京鹰瞳科技发展股份有限公司

摘要 :

本申请一种用于对进行聚类的模型进行训练的方法和相关产品。所述方法包括:获取患者的眼底图像和多模态信息并将其进行合并,以获得合并数据;将所述合并数据划分为第一训练集、第一验证集和第二验证集;使用所述第一训练集对所述特征提取子模型进行训练;基于训练完成的特征提取子模型,对所述第一训练集、所述第一验证集和所述第二验证集执行特征提取操作,以获得对应的特征并形成统一表示的特征空间;将所述第一训练集和所述第一验证集作为第二训练集;以及使用所述第二训练集在所述特征空间对所述聚类子模型进行训练,以实现对进行聚类的模型进行训练。利用本申请方案训练用于聚类的模型,可以将图像数据和多模态信息统一到相同的测度空间,以便于聚类分析。

权利要求 :

1.一种用于对进行聚类的模型进行训练分析的方法,其特征在于,所述模型包括特征提取子模型和聚类子模型,并且所述方法包括:获取患者的眼底图像和多模态信息并将其进行合并,以获得合并数据;

将所述合并数据划分为第一训练集、第一验证集和第二验证集;

使用所述第一训练集对所述特征提取子模型进行训练;

基于训练完成的特征提取子模型,对所述第一训练集、所述第一验证集和所述第二验证集执行特征提取操作,以获得对应的特征并形成统一表示的特征空间;

将所述第一训练集和所述第一验证集作为第二训练集;以及使用所述第二训练集在所述特征空间对所述聚类子模型进行训练,以实现对进行聚类的模型进行训练,基于所述进行聚类的模型的聚类结果获得与单个患者相近的一类,以根据相近一类的数据对单个患者的眼底疾病的演进进行预测;

其中,使用所述第二训练集在所述特征空间对所述聚类子模型进行训练包括:根据所述第二训练集的样本量确定聚类的初始类别数;

根据所述初始类别数确定初始搜索区间;以及

基于所述初始搜索区间,使用所述第二训练集在所述特征空间进行初始聚类训练,以获得初始聚类子模型。

2.根据权利要求1所述的方法,其特征在于,所述多模态信息包括所述患者的基础信息、生化指标信息或者疾病史信息中的一种或者多种,其中所述基础信息包括年龄、性别、教育或者职业中的一种或者多种;所述生化指标包括肝功能、肾功能或者血脂类中的一种或者多种;所述疾病史信息包括基础疾病信息、药史信息或者家族疾病史信息中的一种或者多种。

3.根据权利要求1所述的方法,其特征在于,还包括:使用训练好的嵌入模型获取所述眼底图像的嵌入向量;

分别对所述嵌入向量和所述多模态信息执行归一化操作,以获得对应的归一化结果;

以及

将所述嵌入向量和所述多模态信息对应的归一化结果进行合并,以获得所述合并数据。

4.根据权利要求3所述的方法,其特征在于,还包括:响应于所述对应的归一化结果之间的维度差异,对所述合并数据增加维度惩罚因子。

5.根据权利要求1所述的方法,其特征在于,所述特征提取子模型包括多层,并且使用所述第一训练集对所述特征提取子模型进行训练包括:以所述第一训练集为所述特征提取子模型的原始输入,对所述特征提取子模型的每层进行逐层训练;以及将所述特征提取子模型的上一层的输出增加噪声,以将增加噪声后的上一层的输出作为所述特征提取子模型的下一层的输入,以对所述特征提取子模型进行训练。

6.根据权利要求5所述的方法,其特征在于,还包括:利用预设范围对增加噪声后的输出进行截取,以获得目标输出;以及将所述目标输出作为所述特征提取子模型的下一层的输入,以对所述特征提取子模型进行训练。

7.根据权利要求1所述的方法,其特征在于,所述初始搜索区间包括初始搜索起点和初始搜索终点,并且基于所述初始搜索区间,使用所述第二训练集在所述特征空间进行初始聚类训练,以获得初始聚类子模型包括:基于所述初始搜索区间,使用所述第二训练集在所述特征空间分别对所述初始搜索起点和初始搜索终点进行初始聚类训练,以获得各自对应的初始聚类子模型。

8.根据权利要求7所述的方法,其特征在于,还包括:使用所述第二验证集分别计算所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数;

基于所述各自对应的初始聚类子模型的整体SIL系数确定最优类别数;以及基于所述最优类别数,使用所述第二训练集在所述特征空间进行最终聚类训练,以获得最终聚类子模型。

9.根据权利要求8所述的方法,其特征在于,基于所述各自对应的初始聚类子模型的整体SIL系数确定最优类别数包括:基于所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数迭代确定下一个搜索区间并且确定所述下一个搜索区间的搜索起点和搜索终点各自的中间聚类子模型;

比较所述下一个搜索区间的搜索起点和搜索终点各自的中间聚类子模型的整体SIL系数之间的最大值,直至满足迭代退出条件时停止迭代;以及将迭代后的最大值对应的搜索点确定为最优类别数。

10.根据权利要求9所述的方法,其特征在于,基于所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数迭代确定下一个搜索区间包括:比较所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数的最大值;以及将所述最大值对应的搜索点与所述初始搜索起点和所述初始搜索终点之间的中值进行组合,构成下一个搜索区间。

11.一种用于对进行聚类的模型进行训练分析的设备,包括:处理器;以及

存储器,其存储有用于对进行聚类的模型进行训练分析的程序指令,当所述程序指令由所述处理器执行时,使得所述设备实现根据权利要求1‑10任意一项所述的方法。

12.一种计算机可读存储介质,其上存储有用于对进行聚类的模型进行训练分析的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现如权利要求1‑10任意一项所述的方法。

13.一种用于进行聚类的方法,其特征在于,包括:获取待进行聚类的患者的眼底图像和多模态信息并将其进行合并,以获得合并数据;

将所述合并数据输入至根据权利要求1‑10任意一项所述的模型中进行聚类,以获得聚类结果。

14.根据权利要求13所述的方法,其特征在于,还包括:使用训练好的嵌入模型获取所述眼底图像的嵌入向量;

分别对所述嵌入向量和所述多模态信息执行归一化操作,以获得对应的归一化结果;

以及

将所述嵌入向量和所述多模态信息对应的归一化结果进行合并,以获得所述合并数据。

15.根据权利要求14所述的方法,其特征在于,还包括:响应于所述对应的归一化结果之间的维度差异,对所述合并数据增加维度惩罚因子。

16.一种用于进行聚类的设备,包括:

处理器;以及

存储器,其存储有用于进行聚类的程序指令,当所述程序指令由所述处理器执行时,使得所述设备实现根据权利要求13‑15任意一项所述的方法。

17.一种计算机可读存储介质,其上存储有用于进行聚类的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现如权利要求13‑15任意一项所述的方法。

说明书 :

用于对进行聚类的模型进行训练分析的方法和相关产品

技术领域

[0001] 本申请一般涉及聚类技术领域。更具体地,本申请涉及一种用于对进行聚类的模型进行训练的方法、设备和计算机可读存储介质。进一步地,本申请还涉及一种用于进行聚类的方法、设备和计算机可读存储介质。

背景技术

[0002] “聚类”分析是大数据分析挖掘中有效而经典的方法。所谓“物以类聚,人以群分”,对于大规模的人群,总可以按相似度将总样本划分为若干类(类别数远小于总样本量),并且属于同一类的样本,具有相似的属性和行为。通过聚类算法,可提供直观的可视化来获得对数据的洞见,也可消减计算复杂度作为后续算法的预处理等。在医疗健康领域的各种应用,通常都服务于大范围人群,随着时间会积累大量的医学影像和非影像类的结构化数据(或者多模态数据),而这些非影像类的结构化数据更加全面地蕴含了患者的身体健康信息,值得进行挖掘和利用。例如在眼底检测时,除会积累大量的眼底图像以外,还会收集到患者的非影像类的结构化数据。然而,聚类的前提是要求输入数据(或称特征)必须在相同的测度空间,才能进行相似度计算。这对于非影像类的结构化数据,尤其是增加医学影像数据后,显然是不满足的。因此,如何针对不满足相同测度空间的医学影像和非影像类的结构化数据进行聚类分析成为需要解决的技术问题。

发明内容

[0003] 为了至少部分地解决背景技术中提到的技术问题,本申请提供了用于对进行聚类的模型进行训练以及利用训练完成的模型进行聚类的方案。利用本申请的方案,可以将眼底图像和多模态信息映射到统一的测度空间,以在该统一的测度空间内进行聚类。为此,本申请在如下的多个方面提供解决方案。
[0004] 在第一方面中,本申请提供一种用于对进行聚类的模型进行训练的方法,其中所述模型包括特征提取子模型和聚类子模型,并且所述方法包括:获取患者的眼底图像和多模态信息并将其进行合并,以获得合并数据;将所述合并数据划分为第一训练集、第一验证集和第二验证集;使用所述第一训练集对所述特征提取子模型进行训练;基于训练完成的特征提取子模型,对所述第一训练集、所述第一验证集和所述第二验证集执行特征提取操作,以获得对应的特征并形成统一表示的特征空间;将所述第一训练集和所述第一验证集作为第二训练集;以及使用所述第二训练集在所述特征空间对所述聚类子模型进行训练,以实现对进行聚类的模型进行训练。
[0005] 在一个实施例中,其中所述多模态信息包括所述患者的基础信息、生化指标信息或者疾病史信息中的一种或者多种,其中所述基础信息包括年龄、性别、教育或者职业中的一种或者多种;所述生化指标包括肝功能、肾功能或者血脂类中的一种或者多种;所述疾病史信息包括基础疾病信息、药史信息或者家族疾病史信息中的一种或者多种。
[0006] 在另一个实施例中,所述方法还包括:使用训练好的嵌入模型获取所述眼底图像的嵌入向量;分别对所述嵌入向量和所述多模态信息执行归一化操作,以获得对应的归一化结果;以及将所述嵌入向量和所述多模态信息对应的归一化结果进行合并,以获得所述合并数据。
[0007] 在又一个实施例中,所述方法还包括:响应于所述对应的归一化结果之间的维度差异,对所述合并数据增加维度惩罚因子。
[0008] 在又一个实施例中,其中所述特征提取子模型包括多层,并且使用所述第一训练集对所述特征提取子模型进行训练包括:以所述第一训练集为所述特征提取子模型的原始输入,对所述特征提取子模型的每层进行逐层训练;以及将所述特征提取子模型的上一层的输出增加噪声,以将增加噪声后的上一层的输出作为所述特征提取子模型的下一层的输入,以对所述特征提取子模型进行训练。
[0009] 在又一个实施例中,所述方法还包括:利用预设范围对增加噪声后的输出进行截取,以获得目标输出;以及将所述目标输出作为所述特征提取子模型的下一层的输入,以对所述特征提取子模型进行训练。
[0010] 在又一个实施例中,其中使用所述第二训练集在所述特征空间对所述聚类子模型进行训练包括:根据所述第二训练集的样本量确定聚类的初始类别数;根据所述初始类别数确定初始搜索区间;以及基于所述初始搜索区间,使用所述第二训练集在所述特征空间进行初始聚类训练,以获得初始聚类子模型。
[0011] 在又一个实施例中,所述方法还包括:其中所述初始搜索区间包括初始搜索起点和初始搜索终点,并且基于所述初始搜索区间,使用所述第二训练集在所述特征空间进行初始聚类训练,以获得初始聚类子模型包括:基于所述初始搜索区间,使用所述第二训练集在所述特征空间分别对所述初始搜索起点和初始搜索终点进行初始聚类训练,以获得各自对应的初始聚类子模型。
[0012] 在又一个实施例中,所述方法还包括:使用所述第二验证集分别计算所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数;基于所述各自对应的初始聚类子模型的整体SIL系数确定最优类别数;以及基于所述最优类别数,使用所述第二训练集在所述特征空间进行最终聚类训练,以获得最终聚类子模型。
[0013] 在又一个实施例中,其中基于所述各自对应的初始聚类子模型的整体SIL系数确定最优类别数包括:基于所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数迭代确定下一个搜索区间并且确定所述下一个搜索区间的搜索起点和搜索终点各自的中间聚类子模型;比较所述下一个搜索区间的搜索起点和搜索终点各自的中间聚类子模型的整体SIL系数之间的最大值,直至满足迭代退出条件时停止迭代;以及将所述最大值对应的搜索点确定为最优类别数。
[0014] 在又一个实施例中,基于所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数迭代确定下一个搜索区间包括:比较所述初始搜索起点和所述初始搜索终点各自对应的初始聚类子模型的整体SIL系数的最大值;以及将所述最大值对应的搜索点与所述初始搜索起点和所述初始搜索终点之间的中值进行组合,构成下一个搜索区间。
[0015] 在第二方面中,本申请还提供了一种用于对进行聚类的模型进行训练的设备,包括:处理器;以及存储器,其存储有用于对进行聚类的模型进行训练的程序指令,当所述程序指令由所述处理器执行时,使得所述设备实现前述第一方面中的多个实施例。
[0016] 在第三方面中,本申请还提供了一种计算机可读存储介质,其上存储有用于对进行聚类的模型进行训练的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现前述第一方面中的多个实施例。
[0017] 在第四方面中,本申请还提供了一种用于进行聚类的方法,包括:获取待进行聚类的患者的眼底图像和多模态信息并将其进行合并,以获得合并数据;将所述合并数据输入至前述训练完成的模型中进行聚类,以获得聚类结果。
[0018] 在一个实施例中,所述方法还包括:使用训练好的嵌入模型获取所述眼底图像的嵌入向量;分别对所述嵌入向量和所述多模态信息执行归一化操作,以获得对应的归一化结果;以及将所述嵌入向量和所述多模态信息对应的归一化结果进行合并,以获得所述合并数据。
[0019] 在另一个实施例中,所述方法还包括:响应于所述对应的归一化结果之间的维度差异,对所述合并数据增加维度惩罚因子。
[0020] 在第五方面中,本申请还提供了一种用于进行聚类的设备,包括:处理器;以及存储器,其存储有用于进行聚类的程序指令,当所述程序指令由所述处理器执行时,使得所述设备实现前述第四方面中的多个实施例。
[0021] 在第六方面中,本申请还提供了一种计算机可读存储介质,其上存储有用于进行聚类的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现前述第四方面中的多个实施例。
[0022] 通过本申请的方案,通过首先利用眼底图像和多模态信息的合并数据对特征提取子模型进行训练,并通过训练完成的特征提取子模型获取合并数据的特征并形成统一表示的特征空间。接着,利用合并数据在前述特征空间内对聚类子模型进行训练,以实现对进行聚类的模型进行训练。基于此,可以将眼底图像和多模态信息统一到相同的测度空间,以进行聚类获得聚类结果,以便对眼底图像和多模态信息进行挖掘和分析。进一步地,本申请实施例还考虑了眼底图像和多模态信息的维度差异,加入了维度惩罚因子,使得特征提取子模型的学习更具语义特性及可分性的特征。此外,本申请实施例还通过整体SIL系数来确定聚类类别,并且利用验证集进行评估,极大地减少了计算量,并且使得模型具有可推广性。

附图说明

[0023] 通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
[0024] 图1是示出根据本申请实施例的用于对进行聚类的模型进行训练的方法的示例性流程框图;
[0025] 图2是示出根据本申请实施例的Pixel2Style2Pixel网络模型的示例性示意图;
[0026] 图3是示出根据本申请实施例的合并数据划分的示例性示意图;
[0027] 图4是示出根据本申请实施例的SDAE模型的示例性示意图;
[0028] 图5是示出根据本申请实施例的用于进行聚类的方法的示例性流程框图;
[0029] 图6是示出根据本申请实施例的用于进行聚类的整体的示例性示意图;以及[0030] 图7是示出根据本申请实施例的用于对进行聚类的模型进行训练的或者用于进行聚类的设备的示例性结构框图。

具体实施方式

[0031] 下面将结合附图对本申请实施例中的技术方案进行清楚和完整地描述。应当理解的是本说明书所描述的实施例仅是本申请为了便于对方案的清晰理解和符合法律的要求而提供的部分实施例,而并非可以实现本申请的所有实施例。基于本说明书公开的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0032] 图1是示出根据本申请实施例的用于对进行聚类的模型进行训练的方法100的示例性流程框图。如图1中所示,在步骤102处,获取患者的眼底图像和多模态信息并将其进行合并,以获得合并数据。在一个实施例中,前述患者的眼底图像可以通过例如眼底相机拍摄获得,前述多模态信息可以从医疗数据库中获得。其中,前述多模态信息可以包括患者的基础信息、生化指标信息或者疾病史信息中的一种或者多种。其中,基础信息可以包括但不仅限于是年龄、性别、教育或者职业中的一种或者多种,例如还可以包括患者的婚姻状况等。生化指标可以包括但不仅限于是肝功能、肾功能或者血脂类中的一种或者多种,而疾病史信息可以包括但不仅限于是基础疾病信息、药史信息或者家族疾病史信息中的一种或者多种。基于获取的眼底图像和多模态信息,可以将其进行合并,以获得合并数据。
[0033] 在一个实现场景中,首先可以使用训练好的嵌入模型获取眼底图像的嵌入向量,接着分别对嵌入向量和多模态信息执行归一化操作,以获得对应的归一化结果,进而将嵌入向量和多模态信息对应的归一化结果进行合并,以获得合并数据。其中,前述嵌入模型可以例如是Pixel2Style2Pixel网络(数学符号记为ME)模型,通过将眼底图像输入至训练好的Pixel2Style2Pixel网络模型(例如图2所示)中,可以输出眼底图像的嵌入向量。在获得眼底图像的嵌入向量后,分别对嵌入向量和多模态信息执行归一化操作,以获得对应的归一化结果。
[0034] 在一个实施例中,可以通过如下式子来对嵌入向量执行归一化操作,即:
[0035] (1)
[0036] 其中, 表示嵌入向量对应的归一化结果, 表示所有眼底图像的嵌入向量,表示所有嵌入向量的集合,mean和std分别表示计算集合的均值和方差。在一些实施例中,由于存在标准差极微小的异常情况,由此可以在分母加上缺省值 做修正,并且该缺省值可以约为1e‑7。
[0037] 在对上述多模态信息执行归一化操作时,可以根据多模态信息的数据类型分别进行归一化操作,以获得归一化结果。在应用场景中,多模态信息的数据类型可以分为类别数据或者实数值的数据。其中,对于类别数据而言,可以按照one‑hot encoding的方式执行归一化操作。例如,假设特征x一共有C个类别,x属于某单类或同时属于多个类别,可以将x转换为C维的特征向量,其属于某个类别对应下标的元素为1,其它均为0。由此,可以获得针对类别数据的归一化结果,其对应的数学表示式为 。以患者的教育程度为例,教育程度可以划分为初中、高中、大学等,当患者为初中教育时,其归一化结果可对应为(1,0,…,0)。相应地,当教育程度为高中或者大学时,其归一化结果可分别对应为(0,1,…,
0)或者(0,0,1,…,0)。
[0038] 对于实数值的数据来说,可以通过如下式子来执行归一化操作,即:
[0039] (2)
[0040] 其中, 表示实数值的数据的归一化结果, 表示单个特征, 表示特征 对应的所有值构成的集合,mean和std分别表示计算集合的均值和方差。类似地,可以在分母加上缺省值 做修正,并且该缺省值可以约为1e‑7。例如对于患者的年龄(例如18,25,30,25)而言,可以采用上述公式(2)来执行归一化操作。
[0041] 基于上述嵌入向量和多模态信息各自对应的归一化结果,可以将其各自对应的归一化结果进行合并,以获得合并数据,例如通过如下式子表示合并数据:
[0042] (3)
[0043] 其中, 表示合并数据, 表示嵌入向量对应的归一化结果, 表示多模态信息对应的归一化结果, , 表示眼底图像的嵌入向量的维数,表示多模态信息的维数。在该场景下,眼底图像和多模态信息合并后的合并数据为 +维。
[0044] 在一些实施例中,响应于对应的归一化结果之间的维度差异,对合并数据增加维度惩罚因子。可以理解,嵌入向量和多模态信息的维数的维度差异过大(例如嵌入向量为512维,而多模态信息为18维),会导致某部分特征的贡献过大,从而影响模型的训练结果。
由此,在本申请实施例中,可以通过对合并数据增加维度惩罚因子来避免前述问题。具体地,通过将嵌入向量和多模态信息对应的归一化结果除以其维度的平方根来增加维度惩罚因子,例如如下式子表示:
[0045] (4)
[0046] 其中, 表示合并数据, 表示嵌入向量对应的归一化结果, 表示多模态信息对应的归一化结果, 表示眼底图像的嵌入向量的维数, 表示多模态信息的维数。
[0047] 在获得上述合并数据后,在步骤104处,将合并数据划分为第一训练集、第一验证集和第二验证集。在一个实现场景中,可以通过预设划分比例将合并数据划分成第一训练集、第一验证集和第二验证集。优先地,前述预设划分比例可以例如是70%、10%、20%。接着,在步骤106处,使用第一训练集对特征提取子模型进行训练。在一个实施例中,该特征提取子模型可以例如是栈式降噪自编码器(Stacked Denoising Autoencoder,“SDAE”)模型(例如图4所示),并且该SDAE模型可以包括编码器和解码器,而编码器和解码器中均包括多层,例如包括多个隐藏层。其中,在对特征提取子模型进行训练时,可以以第一训练集为特征提取子模型的原始输入,对特征提取子模型的每层进行逐层训练,通过将特征提取子模型的上一层的输出增加噪声,以将增加噪声后的上一层的输出作为特征提取子模型的下一层的输入,以对特征提取子模型进行训练。也就是说,SDAE模型可以通过逐层训练获得,其每层是以前一层的输出加上噪声作为输入来进行重构。
[0048] 例如,假设第 层( 从零计)的编、解码器分别为 和 ,输入为 ,则可以通过以下式子来表示SDAE模型的逐层训练过程:
[0049] (5)
[0050] 其中, 表示原始输入, 表示第一训练集中的合并数据,表示第 层的输入,表示 层的上一层, 表示 层的上一层的编码(输出)结果。
[0051] 在一个实施例中,可以通过如下式子来计算SDAE模型训练过程中第 层的损失函数Loss,即:
[0052] (6)
[0053] 其中,RND表示与 的向量维度相同的标准正态分布随机函数,其均值为0且方差为1, 表示噪声的强度。可选地或附加地,前述噪声的强度可以为0.1 0.001。~
[0054] 在一些实施例中,还可以利用预设范围对增加噪声后的输出进行截取,以获得目标输出,进而将目标输出作为特征提取子模型的下一层的输入,以对所特征提取子模型进行训练。这是由于上述 (即 )对应真实医疗数据的输入,需要处于有意义的范围。以多类别的多模态信息为例,其经过归一化操作后,其值相当于概率,应当处于[0,1]之间。因此,本申请实施例提出通过预设范围(或者有效范围)对增加噪声后的输出(也即下一层的输入值)进行截取。在实施场景中,假设预设范围(或者有效值范围)为[ , ],则可以通过以下式子对增加噪声后的输出进行截取:
[0055] (7)
[0056] 需要理解的是, 实际上是合并后的多维向量,不同下标的元素其有效范围会不同,在计算时需要对其进行细分。另外,如果对合并数据增加了维度惩罚因子,其相应的有效值范围也需要进行相应调整。
[0057] 根据上述对特征提取子模型进行训练,可以获得训练完成的特征提取子模型,在步骤108处,基于训练完成的特征提取子模型,对第一训练集、第一验证集和第二验证集执行特征提取操作,以获得对应的特征并形成统一表示的特征空间。即,在完成特征提取子模型的训练后,可以用训练完成的特征提取子模型对所有眼底图像和多模态信息的合并数据进行特征提取,以获得相应的特征,进而将相应的特征形成统一表示的特征空间。在实现场景中,可以经由训练完成的特征提取子模型中的编码器对所有眼底图像和多模态信息的合并数据进行编码获得对应的特征,并将该特征形成统一表示的特征空间。此时,其编码器中的每层输入可以不再增加噪声,所有合并数据经特征提取子模型中编码器的最后一层即可获得特征空间。
[0058] 进一步地,在步骤110处,将第一训练集和第一验证集作为第二训练集。即,在第一训练集的基础上增加第一验证集作为训练数据。基于上述获得的特征空间,在步骤112处,使用第二训练集在特征空间对聚类子模型进行训练,以实现对进行聚类的模型进行训练。即,基于第二训练集,利用第一训练集的特征来完成聚类训练。在一个实施例中,首先可以根据第二训练集的样本量确定聚类的初始类别数,接着根据初始类别数确定初始搜索区间,以基于初始搜索区间,使用第二训练集在特征空间进行初始聚类训练,以获得初始聚类子模型。其中,初始搜索区间包括初始搜索起点和初始搜索终点,并且在基于初始搜索区间,使用第二训练集在特征空间进行初始聚类训练,以获得初始聚类子模型中,可以基于初始搜索区间,使用第二训练集在特征空间分别对初始搜索起点和初始搜索终点进行初始聚类训练,以获得各自对应的初始聚类子模型。
[0059] 也就是说,在进行初始聚类训练时,本申请实施例首先根据初始类别数确定初始搜索区间,接着分别对初始搜索区间的两个搜索端点(包括初始搜索起点和初始搜索终点)进行初始聚类训练,以获得两个搜索端点各自的初始聚类子模型。例如,将第二训练集的总样量数记为N,可以计算出初始类别数为K0= 。接着,可以根据初始类别数确定初始搜索区间,例如初始搜索区间可以为 至 ,其中 表示floor函数,表示ceiling函数。特别地,初始搜索区间中K0前的系数0.5和2可以作调整,本申请对此不作限制。作为示例,第二训练集的总样本量N为1,000,其对应的初始类别数K0为22,初始搜索区间为11至
44;第二训练集的总样本量N为1,000,000,其对应的初始类别数K0为707,初始搜索区间为
353至1414。下面表1还示出几种样本量对应的初始类别数和对应的初始搜索区间。
[0060] 表1 几种样本量对应的初始类别数和对应的初始搜索区间
[0061]N K0 初始搜索区间
100 7 3 15
~
1,000 22 11 44
~
10,000 70 35 140
~
100,000 223 111 446
~
1,000,000 707 353 1414
~
10,000,000 2236 1118 4472
~
[0062] 进一步地,根据上述确定的初始搜索区间,分别对初始搜索区间的两个搜索端点(包括初始搜索起点和初始搜索终点)进行初始聚类训练,即确定每个搜索端点中每个聚类类别的聚类质点(或者说是聚类中心),以获得两个搜索端点各自的初始聚类子模型。以上述初始搜索区间11至44为例,其初始搜索起点为11,初始搜索终点为44。在进行初始聚类训练时,分别以类别数11和类别数44分别进行聚类训练,以获得各自对应的初始聚类子模型。
[0063] 在一个实施例中,根据上述获得的搜索端点各自对应的初始聚类子模型,使用第二验证集分别计算初始搜索起点和初始搜索终点各自对应的初始聚类子模型的整体SIL系数,以基于各自对应的初始聚类子模型的整体SIL系数确定最优类别数,进而基于最优类别数,使用第二训练集在特征空间进行最终聚类训练,以获得最终聚类子模型。其中,在基于各自对应的初始聚类子模型的整体SIL系数确定最优类别数中,可以基于初始搜索起点和初始搜索终点各自对应的初始聚类子模型的整体SIL系数迭代确定下一个搜索区间并且确定下一个搜索区间的搜索起点和搜索终点各自的中间聚类子模型,比较下一个搜索区间的搜索起点和搜索终点各自的中间聚类子模型的整体SIL系数之间的最大值,直至满足迭代退出条件时停止迭代,以将返回的最大值对应的搜索点确定为最优类别数。具体而言,可以通过比较初始搜索起点和初始搜索终点各自对应的初始聚类子模型的整体SIL系数的最大值,将最大值对应的搜索点与初始搜索起点和初始搜索终点之间的中值进行组合,构成下一个搜索区间。
[0064] 也就是说,本申请实施例首先通过比较初始搜索区间的两个搜索端点各自的初始聚类子模型的整体SIL系数,将整体SIL系数最大值对应的搜索端点与两个搜索端点的中值组合成下一个搜索区间。接着,确定下一个搜索区间的两个搜索端点对应的中间聚类子模型,进而使用第二验证集计算下一个搜索区间的两个搜索端点对应的中间聚类子模型的整体SIL系数并将其进行比较,将整体SIL系数最大值对应的搜索端点与两个搜索端点的中值再组合成下一个搜索区间。进一步地,再确定组合而成的搜索区间的搜索端点的聚类模型以及比较其相应的整体SIL系数,继续确定下一个搜索区间。由此,通过不断迭代搜索区间,直至满足迭代退出条件时停止迭代,将返回的最大值对应的搜索点确定为最优类别数。在一些实施例中,前述迭代退出条件可以包括搜索区间的搜索端点对应的聚类模型的整体SIL系数差异极小、达到预设迭代次数或者达到计算代价。
[0065] 需要理解的是,在确定下一个搜索区间的两个搜索端点对应的中间聚类子模型以及计算其整体SIL系数时,通常需要分别对两个搜索端点进行聚类获得对应的中间聚类子模型以及分别计算其整体SIL系数。然而,由于上一个搜索区间的搜索端点已有对应的聚类模型以及整体SIL系数,由此在迭代下一个搜索区间的两个搜索端点的中间聚类子模型以及整体SIL系数时,只需要对中值(或者说中点)进行聚类训练以及计算其获得的聚类子模型的整体SIL系数。
[0066] 在一个实现场景中,上述整体SIL系数(Overall Silhouettes Coefficient,“OSC”)可以表示成如下式子:
[0067] (8)
[0068] 其中, 表示单个数据点i的SIL系数,即:
[0069] (9)
[0070] 其中,a(i)表示属于类k的点 到同类其它点 的平均距离,例如下方式子所示:
[0071] (10)
[0072] 其中,dist(*)表示距离函数,该距离函数可以采用L2欧氏距离,即:
[0073] (11)
[0074] 进一步地,上述公式(9)中的b(i)表示属于类k的点 到其它类中所有点的平均距离的最小距离,即:
[0075] (12)
[0076] 基于上述描述可知,在计算整体SIL系数(也即OSC值)时,首先根据上述公式(10)和公式(12)计算当前点至同类点的平均距离和当前点至其他类中所有点的平均距离的最小距离,接着根据上述公式(9)计算当前点的SIL系数,进而根据上述公式(8)计算整体SIL系数。其中,该整体SIL系数的取值范围在[‑1, 1],并且整体SIL系数的值越大,表明聚类效果越好。
[0077] 具体地,假设将初始搜索起点和初始搜索终点分别记为Kstart和Kend,首先可以分别对Kstart和Kend进行初始聚类训练,以获得对应的初始聚类子模型。接着,在第二验证集上分别计算Kstart对应的初始聚类子模型的整体SIL系数 和Kend对应的初始聚类子模型的整体SIL系数 ,并且将其进行比较。例如,假设 大于 时,将 所对应的搜索点Kstart与初始搜索起点和初始搜索终点之间的中值(Kstart+Kend)/2进行组合,以构成下一个搜索区间[Kstart,(Kstart+Kend)/2]。进一步地,确定搜索区间[Kstart,(Kstart+Kend)/2]中搜索端点Kstart和(Kstart+Kend)/2各自对应的中间聚类子模型。
[0078] 根据前文可知,由于搜索端点Kstart已有对应的聚类子模型,由此只需对中点(Kstart+Kend)/2进行聚类训练,以获得对应的中间聚类子模型。基于前述获得的搜索端点Kstart和(Kstart+Kend)/2各自对应的聚类子模型,获得Kstart对应的聚类子模型的整体SIL系数以及计算(Kstart+Kend)/2对应的聚类子模型的整体SIL系数 。接着,通过比较与 确定下一个搜索区间,直至满足迭代退出条件时停止迭代,将返回的最大
值对应的搜索点确定为最优类别数。类似地,当 大于 时,将 对应的搜索
点Kend与(Kstart+Kend)/2进行组合,以构成下一个搜索区间[(Kstart+Kend)/2,Kend],通过前述迭代过程确定最优类别数,进而根据最优类别数完成对最终聚类子模型的训练,以实现对聚类模型的训练。
[0079] 结合上述描述可知,本申请实施例通过将眼底图像和多模态信息进行合并,通过合并数据首先对特征提取子模型进行训练,并且利用训练完成的特征提取子模型计算所有合并数据的特征并形成统一表示的特征空间。接着,通过部分合并数据在前述特征空间内对聚类子模型进行训练,以实现对聚类的模型进行训练。基于此,可以将眼底图像和多模态信息统一到相同的测度空间,以便于对眼底图像和多模态信息进行聚类分析,从而实现对多模态信息的挖掘和利用。进一步地,本申请实施例通过整体SIL系数来确定聚类类别,并通过利用验证集进行评估以及通过迭代算法进行加速,极大减少了计算量(这是由于验证集数据量通常远小于训练集),使得本申请训练完成的模型具有可推广性。
[0080] 图2是示出根据本申请实施例的Pixel2Style2Pixel网络模型200的示例性示意图。如图2中所示,该Pixel2Style2Pixel网络模型(也即ME模型)200可以包括第一编码器201和生成器(例如生成器MG)202,其中第一编码器201可以包括残差模块203和map2style模块204,生成器202可以是styleGAN网络。在应用场景中,当将图像输入至
Pixel2Style2Pixel网络模型200后,首先经第一编码器201中的残差模块203提取图像中的特征,接着经map2style模块204对前述特征进行编码后获得图像的嵌入向量。图中进一步示出,前述提取的嵌入向量可以输入至生成器202,经生成器202中的多级结构由粗到细逐渐生成逼真的图像,以获得重建图像。在一个示例性场景中,假设将输入的图像记为m,可以经第一编码器201获得图像的嵌入向量 。基于获得的嵌入向量 ,经生成器202可以获得重建图像 ,通过数学表达式可以表示成如下式子:
[0081] (13)
[0082] 在本申请实施例中,上述图像m为眼底图像,通过Pixel2Style2Pixel网络模型中的编码器可以获得眼底图像的嵌入向量 。可以理解,通过Pixel2Style2Pixel网络模型获得的嵌入空间具备线性可分性,以便于聚类分析。
[0083] 基于上述获得的眼底图像的嵌入向量,可以基于上述公式(1)对其执行归一化操作获得对应的归一化结果。进一步地,还可以基于 或者上述公式(2)对患者的多模态信息执行归一化操作获得对应的归一化结果,通过将其各自对应的归一化结果进行合并,进而获得合并数据(例如上述公式(3)所示)。在一些实施例中,还可以对前述合并数据维度惩罚因子,以避免特征贡献过大。其中,关于获得合并数据的更多细节,可以参考上述图1中步骤102的描述,本申请在此不再赘述。在获得合并数据后,可以根据预设划分比例将其划分为第一训练集、第一验证集和第二验证集,以分别对特征提取子模型和聚类子模型进行训练。
[0084] 图3是示出根据本申请实施例的合并数据划分的示例性示意图。如图3中所示,可以根据预设划分比例将合并数据Sall划分为第一训练集SStrain、第一验证集SSval和第二验证集SCval。在一个实施例中,前述预设划分比例可以例如是70%、10%、20%。根据前文知,经划分后的数据集,首先可以使用第一训练集SStrain对特征提取子模型(例如SDAE模型)进行训练。其中,在对SDAE模型进行训练时,可以通过逐层训练,并且每层是以前一层的输出加上噪声作为输入来进行重构。基于增加噪声的输出,还可以通过预设范围进行截取,以使得真实医疗数据的输入处于有意义的范围。在完成SDAE模型的训练后,可以使用训练完成的SDAE模型计算合并数据Sal(l 包括第一训练集SStrain、第一验证集SSval和第二验证集SCval)的特征,并将其形成统一表示的特征空间。接着,在第一训练集SStrain的基础上增加第一验证集SSval作为第二训练集SCtrain,以基于第二训练集SCtrain在特征空间对聚类子模型进行训练,从而实现对进行聚类的模型进行训练。其中,在对聚类子模型进行训练时,还可以使用第二验证集SCval进行评估,极大地减少了计算量。
[0085] 图4是示出根据本申请实施例的SDAE模型400的示例性示意图。如图4中所示,该SDAE模型400可以包括第二编码器401和解码器402,并且第二编码器401和解码器402均包含多层。在实现场景中,其原始输入数据经由第二编码器401的非线性变换,得到多个隐含层403的表示(也称为隐含编码),接着前述表示(隐含编码)再经由解码器402可以重构出与原始输入数据相似的输出数据。进一步地,该输出数据与原始输入数据的差异可以通过损失函数 来计算,并通过随机梯度下降(Stochastic Gradient Descent,“SGD”)的方式进行优化,其中前述 表示原始输入数据, 表示与原始输入数据相似的输出数据,即 。
[0086] 可以理解,SDAE模型是一种自编码器,并且是一种无监督方式学习数据表示的方式。在对SDAE模型400进行训练时,可以通过对输入增加噪声,使得自编码器重构干净的原始输入,以便自编码器学习到更为普遍的、高层次的且鲁棒的表示。在本申请实施例中,通过在SDAE模型的前一层输出加上噪声作为下一层的输入,以对SDAE模型进行逐层训练,并且训练过程可以基于上述公式(6)的损失函数计算损失。其中,上述公式(6)是由中的输入数据增加噪声后变换的损失函数。
[0087] 在完成对SDAE模型400的训练后,可以将上述第一训练集SStrain、第一验证集SSval和第二验证集SCval输入至SDAE模型400中,经SDAE模型400的编码器获得其各自对应的特征,进而获得特征空间h。接着,可以基于上述第二训练集SCtrai(n 包括第一训练集SStrain、第一验证集SSval),在特征空间h对聚类子模型进行训练,并同时使用第二验证集SCval进行评估,以实现对进行聚类的模型进行训练。例如,首先根据第二训练集的总样本量确定初始类别数,根据初始类别数确定初始搜索区间,并且通过第二训练集分别对初始搜索区间的初始搜索起点和初始搜索终点进行初始聚类训练,以获得各自对应的初始聚类子模型。
[0088] 接着,在第二验证集分别计算初始搜索区间的初始搜索起点和初始搜索终点各自对应的初始聚类子模型的整体SIL系数(参见上述公式(8)所示),通过比较各自对应的初始聚类子模型的整体SIL系数之间的最大值,将最大值对应的搜索点与初始搜索起点和初始搜索终点之间的中值进行组合,构成下一个搜索区间。进一步地,再确定下一个搜索区间的搜索端点的中间聚类子模型以及对应的整体SIL系数,进而再迭代下一个搜索区间,直至满足迭代退出条件时停止搜索,并且将OSC值的最大值所对应的类别数确定最优类别数,以完成聚类子模型的训练。其中,关于聚类子模型的训练的更多细节,可以参考上述图1中步骤112的描述,本申请在此不再赘述。
[0089] 图5是示出根据本申请实施例的用于进行聚类的方法500的示例性流程框图。如图5中所示,在步骤502处,获取待进行聚类的患者的眼底图像和多模态信息并将其进行合并,以获得合并数据。如前所述,该待进行聚类的患者的眼底图像可以通过例如眼底相机拍摄获得。待进行聚类的患者的多模态信息可以从医疗数据库中获取,并且该多模态信息可以包括但不仅限于是患者的年龄、性别、教育、职业、肝功能、肾功能或者血脂类或者基础疾病信息、药史信息或者家族疾病史信息中的一种或者多种。
[0090] 在一个实施例中,对于获取的眼底图像,首先可以通过嵌入模型(例如Pixel2Style2Pixel网络)获得其嵌入向量,接着基于上述公式(1)对嵌入向量执行归一化操作获得对应的归一化结果。在另一个实施例中,可以根据多模态信息的数据类型,分别基于 或者上述公式(2)对执行归一化操作,以获得对应的归一化结果。根
据眼底图像的嵌入向量和多模态信息各自对应的归一化结果,基于上述公式(3)将其进行合并,以获得合并数据。在一些实施例中,当其各自对应的归一化结果之间的维度差异较大时,可以基于上述公式(4)对合并数据增加维度惩罚因子。
[0091] 进一步地,在步骤504处,将合并数据输入至训练完成的模型中进行聚类,以获得聚类结果。在一个实现场景中,该训练完成的模型可以包括特征提取子模型(例如SDAE模型)和聚类子模型。具体地,将合并数据输入至特征提取子模型中,由特征提取子模型对合并数据执行特征提取操作,以获得合并数据的特征,接着将该特征进行统一表示,可以获得特征空间。进一步地,通过聚类子模型在特征空间中进行聚类,即可获得聚类结果。利用该聚类结果,可以对患者的眼底图像和多模态信息进行全面的挖掘和使用。例如可以通过聚类结果获得与单个患者相近的一类,并通过相近一类的数据对单个患者的眼底疾病的演进进行预测。其中,关于前述模型的训练可以参考上述图1描述的内容,本申请在此不再赘述。
[0092] 图6是示出根据本申请实施例的用于进行聚类的整体的示例性示意图。如图6中所示,本申请实施例用于进行聚类的模型可以包括训练完成的SDAE模型400和聚类子模型601。在进行聚类时,获取待进行聚类的患者的眼底图像602和多模态信息603。基于获取的眼底图像602和多模态信息603,首先可以将患者的眼底图像602输入至嵌入模型ME 604中进行特征提取,以输出眼底图像的嵌入向量605。接着,可以对嵌入向量605执行归一化操作,以获得嵌入向量605对应的归一化结果606。图中还进一步示出对多模态信息603执行归一化操作,以获得多模态信息603对应的归一化结果607。接着,将嵌入向量605对应的归一化结果606和多模态信息603对应的归一化结果607进行合并,获得合并数据608。根据获得的合并数据608,可以使用训练完成的SDAE模型400对合并数据608执行特征提取操作,以获得对应的特征,进而获得特征空间609。进一步地,使用训练完成的聚类子模型601在前述特征空间609进行聚类,可以获得聚类结果610。
[0093] 图7是示出根据本申请实施例的用于对进行聚类的模型进行训练的或者用于进行聚类的设备700的示例性结构框图。可以理解的是,实现本申请方案的设备可以是单一的设备(例如计算设备)或包括各种外围设备的多功能设备。
[0094] 如图7中所示,本申请的设备可以包括中央处理器或中央处理单元(“CPU”)711,其可以是通用CPU、专用CPU或者其他信息处理以及程序运行的执行单元。进一步,设备700还可以包括大容量存储器712和只读存储器(“ROM”)713,其中大容量存储器712可以配置用于存储各类数据,包括各种与患者的眼底图像和多模态信息、算法数据、中间结果和运行设备700所需要的各种程序。ROM 713可以配置成存储对于设备700的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统所需的数据和指令。
[0095] 可选地,设备700还可以包括其他的硬件平台或组件,例如示出的张量处理单元(“TPU”)714、图形处理单元(“GPU”)715、现场可编程门阵列(“FPGA”)716和机器学习单元(“MLU”)717。可以理解的是,尽管在设备700中示出了多种硬件平台或组件,但这里仅仅是示例性的而非限制性的,本领域技术人员可以根据实际需要增加或移除相应的硬件。例如,设备700可以仅包括CPU、相关存储设备和接口设备来实现本申请的用于对进行聚类的模型进行训练的方法或者用于进行聚类的方法。
[0096] 在一些实施例中,为了便于数据与外部网络的传递和交互,本申请的设备700还包括通信接口718,从而可以通过该通信接口718连接到局域网/无线局域网(“LAN/WLAN”)705,进而可以通过该LAN/WLAN连接到本地服务器706或连接到因特网(“Internet”)707。替代地或附加地,本申请的设备700还可以通过通信接口718基于无线通信技术直接连接到因特网或蜂窝网络,例如基于第3代(“3G”)、第4代(“4G”)或第5代(“5G”)的无线通信技术。在一些应用场景中,本申请的设备700还可以根据需要访问外部网络的服务器708和数据库
709,以便获得各种已知的算法、数据和模块,并且可以远程地存储各种数据,例如用于呈现例如患者的眼底图像、多模态信息、嵌入向量或者聚类结果等的各类数据或指令。
[0097] 设备700的外围设备可以包括显示装置702、输入装置703和数据传输接口704。在一个实施例中,显示装置702可以例如包括一个或多个扬声器和/或一个或多个视觉显示器,其配置用于对本申请的训练进行聚类的模型或者进行聚类进行语音提示和/或图像视频显示。输入装置703可以包括例如键盘、鼠标、麦克风、姿势捕捉相机等其他输入按钮或控件,其配置用于接收音频数据的输入和/或用户指令。数据传输接口704可以包括例如串行接口、并行接口或通用串行总线接口(“USB”)、小型计算机系统接口(“SCSI”)、串行ATA、火线(“FireWire”)、PCI Express和高清多媒体接口(“HDMI”)等,其配置用于与其他设备或系统的数据传输和交互。根据本申请的方案,该数据传输接口704可以接收来自于眼底相机拍摄的眼底图像和医疗数据库记录的患者的多模态信息,并且向设备700传送包括眼底图像和多模态信息或各种其他类型的数据或结果。
[0098] 本申请的设备700的上述CPU711、大容量存储器712、ROM 713、TPU 714、GPU 715、FPGA 716、MLU 717和通信接口718可以通过总线719相互连接,并且通过该总线与外围设备实现数据交互。在一个实施例中,通过该总线719,CPU 711可以控制设备700中的其他硬件组件及其外围设备。
[0099] 以上结合图7描述了可以用于执行本申请的用于对进行聚类的模型进行训练的或者用于进行聚类的设备。需要理解的是这里的设备结构或架构仅仅是示例性的,本申请的实现方式和实现实体并不受其限制,而是可以在不偏离本申请的精神下做出改变。
[0100] 根据上述结合附图的描述,本领域技术人员也可以理解本申请的实施例还可以通过软件程序来实现。由此本申请还提供了一种计算机程序产品。该计算机程序产品可以用于实现本申请结合附图1‑图6所描述的用于对进行聚类的模型进行训练的方法或者用于进行聚类的方法。
[0101] 应当注意,尽管在附图中以特定顺序描述了本申请方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0102] 应当理解,当本申请的权利要求、当说明书及附图中使用到术语“第一”、“第二”、“第三”和“第四”等时,其仅用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0103] 还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本申请。如在本申请说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0104] 虽然本申请的实施方式如上,但所述内容只是为便于理解本申请而采用的实施例,并非用以限定本申请的范围和应用场景。任何本申请所述技术领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。