一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

半监督学习系统及半监督学习方法与流程

2022-07-01 22:46:41 来源:中国专利 TAG:


1.本发明涉及机器学习,特别涉及一种半监督学习系统及半监督学习方法。


背景技术:

2.数据导向的分析建模技术在特定应用领域(下称源域,source domain)中搜集大量含标签数据标签后,训练所得的模型在同领域的预测表现多能逼近甚至能超越人类。然而当我们想要在另一新领域(下称目标域,target domain)重复利用该模型进行相同预测任务时,新领域的数据集往往和过去训练用数据分布有落差,导致模型的预测表现大幅折损。例如同一产品在多个工厂生产的情况下,使用a工厂生产数据建立出的外观缺陷识别系统,若直接套到b工厂进行识别时,可能因为拍摄角度、采光、相机型号等差别,在数据分布上有所差异,导致运行效果不如预期。


技术实现要素:

3.有鉴于此,本发明是提供一种半监督学习系统及半监督学习方法以解决上述问题。
4.本发明提供一种半监督学习系统,包括:一非易失性存储器,用以存储一半监督学习应用程序;以及一处理器,用以执行该半监督学习应用程序以执行下列步骤:取得一或多个源域的源域数据及一目标域的目标域数据;使用该源域数据及该目标域数据以训练一特征萃取模型;利用一域判别模型、一任务模型及一半监督学习机制以分别计算该特征萃取模型的域判别损失函数、任务损失函数及半监督损失函数;依据该域判别损失函数、该任务损失函数及该半监督损失函数以计算一总损失函数,并依据该总损失函数以更新该特征萃取模型、该任务模型及该域判别模型的权重;以及因应于该整体模型满足模型收敛条件,结束该整体模型的训练过程,其中该整体模型包括该特征萃取模型、该任务模型及该域判别模型。
5.在一些实施例中,该特征萃取模型为resnet50模型,该半监督学习机制为一致性正规化(consistency regularization)的未监督数据增强机制(unsupervised data augmentation),该任务模型为一第一全连接层,且该域判别模型为一第二全连接层加上一梯度反转层(gradient reversal layer)。
6.在一些实施例中,该处理器分别指派第一超参数(hyper parameter)、第二超参数及第三超参数至该域判别损失函数、该任务损失函数及该半监督损失函数以计算该总损失函数。
7.在一些实施例中,该源域数据包括第一已标签数据及第一未标签数据,且该目标域数据包括第二已标签数据及第二未标签数据。该处理器使用该第一已标签数据、该第一未标签数据、该第二已标签数据及该第二未标签数据以计算该域判别函数,并依据该域判别损失函数以更新该特征萃取模型及该域判别模型的权重。该处理器使用该第一已标签数据及该第二已标签数据以计算该任务损失函数,并依据该任务损失函数以更新该特征萃取
模型的权重及该任务模型的该第二权重。该处理器使用该第一未标签数据及该第二未标签数据以计算该半监督损失函数,并依据该半监督损失函数以更新该特征萃取模型的权重。此外,该模型收敛条件表示该整体模型在固定训练批次(epoch)及固定训练时间下的该总损失函数的改善幅度低于临界值。
8.本发明更提供一种半监督学习方法,包括:取得一或多个源域的源域数据及一目标域的目标域数据;使用该源域数据及该目标域数据以训练一特征萃取模型;利用一域判别模型、一任务模型及一半监督学习机制以分别计算该特征萃取模型的域判别损失函数、任务损失函数及半监督损失函数;依据该域判别损失函数、该任务损失函数及该半监督损失函数以计算一总损失函数,并依据该总损失函数以更新相应于该特征萃取模型、该任务模型及该域判别模型的第一权重、第二权重及第三权重;以及因应于一整体模型满足模型收敛条件,结束该整体模型的训练过程,其中该整体模型包括该特征萃取模型、该任务模型及该域判别模型。
附图说明
9.图1为依据本发明一实施例中的半监督学习系统的示意图。
10.图2为依据本发明一实施例中的特征萃取模型的训练过程的示意图。
11.图3a-3c为依据本发明一实施例中的源域数据及目标域数据的示意图。
12.图4为依据本发明一实施例中的半监督学习方法的流程图。
13.附图标记说明:
14.100:半监督学习系统
15.110:处理器
16.130:存储器单元
17.140:存储装置
18.141:特征萃取模型
19.142:半监督学习机制
20.143:任务模型
21.144:域判别模型
22.210-21n:源域数据
23.220:目标域数据
24.210a-21na、220a:已标签数据
25.210b-21nb、220b:未标签数据
26.231:特征向量
27.232:半监督损失函数
28.233:任务损失函数
29.234:域判别损失函数
30.s410-s480:步骤
具体实施方式
31.以下说明为完成发明的优选实现方式,其目的在于描述本发明的基本构思,但并
不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
32.必须了解的是,使用于本说明书中的"包含"、"包括"等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
33.于权利要求中使用如"第一"、"第二"、"第三"等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
34.图1为依据本发明一实施例中的半监督学习系统的示意图。
35.半监督学习系统100包括一或多个处理器110、一存储器单元130、一存储装置140及传输接口150。处理单元110例如可为中央处理器(cpu)、一般用途处理器(general-purpose processor)等等,但本发明并不限于此。
36.存储器单元130为一随机存取存储器,例如是动态随机存取存储器(dram)或静态随机存取存储器(sram),但本发明并不限于此。存储装置140为一非易失性存储器(non-volatile memory),例如可为一硬盘机(hard disk drive)、一固态硬盘(solid-state disk)、一快闪存储器(flash memory)、或一只读存储器(read-only memory),但本发明并不限于此。
37.举例来说,存储装置140可存储特征萃取模型(feature extraction model)141、半监督学习机制(semi-supervised learning mechanism)142、任务模型143及域判别模型144,且可统称为半监督学习应用程序(例如可执行本发明的半监督学习方法)。处理器110是将特征萃取模型141、半监督学习机制142、任务模型143及域判别模型144读取至存储器单元130并执行。在一些实施例中,存储装置140还可存储从不同源域及目标域所取得的源域数据及目标域数据,且上述源域数据及目标域数据包含已标签及未标签的数据。
38.传输接口150例如可为有线传输接口或无线传输接口,且半监督学习系统100可通过传输接口150与一或多个外部装置20连接,并从外部装置接收源域数据或目标域数据。
39.在一实施例中,半监督学习系统100结合领域自适应(domain adaptation)技术及半监督学习(semi-supervised learning)技术的优点。举例来说,领域自适应技术可从源域和目标域的数据中学习出领域不变(domain invariant)的通用特征,并从这些通用特征与源域标签的关系中建立判别模型。由于模型是根据领域不变的特征来进行判断,较不易受到目标域数据分布的改变而影响表现,因而可以运用于目标域进行预测。若训练数据中仅包含少量的标签数据及大量的无标签数据,通常在模型的学习步骤中会融合监督式学习及非监督学习的相关技术。优良的半监督学习模型表现会比仅使用非监督学习时大幅提升,并接近完全使用含标签数据的监督式学习的模型表现,大幅节省下标记的成本。因此,本发明的半监督学习系统100可通过领域自适应技术与半监督学习的机制更好地学习领域不变且对目标领域有效的通用特征,在源域标签数据量或目标域标签数据量较少的情况下,仍能实现良好的模型表现。
40.需注意的是,本发明并不限定半监督学习系统100所使用的模型,且上述模型可以是机器学习、统计模型与深度学习等方法。此外,半监督学习系统100并不限制所使用的训练数据的类型,可包括但不限于结构化数据、信号数据、影像图片、文本数据等等。上述模型的训练方式不限于阶段性,可以分多阶段分别训练不同模型或是采用整个端到端模型同时
进行训练。
41.当源域数据及目标域数据均为影像,则可使用vgg、resnet或inception模型以做为特征萃取模型141。在一优选实施例中,半监督学习系统100使用resnet50以做为特征萃取模型141,其中特征萃取模型141可抽取出来源影像(例如源域数据及目标域数据中的未标签影像)的抽象特征,例如可用特征向量(feature vector)表示,并可用于后续的缺陷检测处理。
42.半监督学习机制142例如可为熵基础式正规化(entropy-based regularization)或一致性正规化(consistency regularization)的技术。在一优选实施例中,半监督学习机制142使用一致性正规化的未监督数据增强(unsupervised data augmentation)机制,其可利用未标签的样本以计算信息一致性,以确保任务模型能够在未知的样本上能有缺陷判别的能力。
43.任务模型143例如可为全连接层(fully connected layer),其可将特征萃取模型143所产生的特征向量进行映射以产生一分类结果(classification result)。
44.域判别模型144例如可为全连接层加上梯度反转层(gradient reversal layer)、或生成对抗网络(generative adversarial network)。在一优选实施例中,域判别模型144使用全连接层加上梯度反转层,其可确保特征萃取模型所学习到的抽象特征具有域不变性(domain invariant),以利于面对不同源域的数据可有较稳健的判断能力。
45.图2为依据本发明一实施例中的特征萃取模型的训练过程的示意图。
46.在一实施例中,特征萃取模型141的训练信息包含源域数据210~21n及目标域数据220,且各源域数据及210~21n及目标域数据220均分别包含已标签数据及未标签数据,例如源域数据210包含已标签数据210a及未标签数据210b,源域数据211包含已标签数据211a及未标签数据211b,依此类推。
47.在一实施例中,处理器110使用源域数据210~21n及目标域数据220中的未标签数据210b~21nb及220b以训练特征萃取模型141,例如可使用自监督学式学习(self-supervised learning)或是生成对抗网络(generative adversarial network),且特征萃取模型141可取出源域与目标域共同的抽象描述特征。
48.本发明的半监督学习系统100可用于多种领域,例如人脸识别、物件检测、图片语音分割、文本数据(例如可用于对话机器人及文章摘要)、信号异常检测、元件寿命预测等等,但本发明并不限于上述领域的应用。因此,依据不同的应用的数据类型以及感测器数据的取得方式,源域数据及目标域数据例如是已经过数据前处理的数据以输入至特征萃取模型141进行训练。因此,利用源域数据及目标域数据可建立域判别模型144,其可确保不同源域数据所萃取出的特征有共同的表达空间。
49.接着,处理器110使用源域数据210~21n及目标域数据220中的已标签数据以训练任务模型142以产生复数个特征向量231。此外,半监督学习机制143使用源域数据及目标域数据中的未标签数据以辅助任务模型训练,其目的是从未标签数据中找出有效的萃取方式。
50.在特征萃取模型141的训练过程中,处理器110会持续依据源域数据及目标域数据计算域判别模型144、任务模型143及半监督学习机制142的损失函数(loss function),例如域判别损失函数234、任务损失函数233及半监督损失函数232。
51.域判别损失函数234例如可表示为:ε
x,domain
[-logp
θ
(domain|x)],其中x为原始数据。处理器110并依据域判别损失函数234并搭配领域对抗训练(domain adversarial training)的机制以计算域判别模型144与特征萃取模型141权重的更新方法,借此确保特征萃取模型141取出的抽象特征具有域不变性(domain invariance)的特性。
[0052]
任务损失函数233例如可表示为:其中x为原始数据,y*为标签、l为已标签数据的集合。处理器110使用已标签样本进行任务模型的监督式学习,并利用反向传播算法计算任务模型143与特征萃取模型141权重的更新方向,确保模型能对任务有准确的判断。
[0053]
半监督损失函数232例如可表示为:其中u为未标签数据的集合,d
kl
为衡量两分布的度量方式(例如使用kl散度演算法)。处理器110使用未标签数据以提供特征萃取模型141与任务模型143学习的信息,并通过反向传播算法计算半监督学习机制142的权重的更新方向。
[0054]
处理器110并给定不同的权重至域判别损失函数、任务损失函数及半监督损失函数,例如分别为α、β及γ。因此,处理器110可计算加权后所得到的总损失函数sl,如式(1)所示:
[0055][0056]
其中,权重α、β及γ均为非负实数;x为原始数据;y*为标签;d
kl
为衡量两分布的度量方式;l为已标签数据的集合;u为未标签数据的集合。权重α、β及γ由使用者事先决定,通常权重α、β及γ的总合为1,其数值大小直接反应对应的损失函数的影响程度,因此若希望增加任务损失的重要程度则可设定较大的α值,该数值另外跟数据的笔数相关,若具标签样本数非常稀少则可设定较大的α以避免该损失函数失去影响力。
[0057]
处理器110并依据总损失函数sl的计算结果通过反向传播法计算整体模型中的各模型的权重的调整方向并用以更新整体模型中的各模型的权重。详细而言,处理器110使用来自不同源域的源域数据及目标域数据以计算域判别损失函数,并依据域判别损失函数以更新特征萃取模型的权重及域判别模型的权重。处理器110使用源域数据及目标域数据中的已标签数据以计算任务损失函数,并依据任务损失函数以更新特征萃取模型的权重及任务模型的权重。举例来说,特征萃取模型会使用可用数据进行预训练,常见的实现方法有自监督学习或是生成对抗网络等。后续进行多源域目标任务训练时,特征萃取模型的权重亦会依据整体损失函数计算的反向传播法更新方向而调整,此时并未对应到专属的损失函数(注:意即未将特征萃取函数的输出用于计算总损失函数sl)。此外,处理器110并使用源域数据及目标域数据中的未标签数据以计算半监督损失函数,并依据半监督损失函数以更新特征萃取模型(及/或任务模型)的权重。在一些实施例中,视处理器110所使用的半监督学习机制142而定,处理器110会使用源域数据及目标域数据中的已标签数据及未标签数据以计算半监督损失函数,并依据半监督损失函数以更新特征萃取模型(及/或任务模型)的权重。
[0058]
接着,处理器110重复执行计算三种损失函数及更新模型权重的步骤。当特征萃取模型141达到模型收敛条件后,处理器110即结束特征萃取模型141的训练过程,并得到训练完成的特征萃取模型141。举例来说,上述模型收敛条件可为整体模型在固定训练批次(epoch)或固定训练时间或总损失函数达到目标值等等,但本发明并不限于此。
[0059]
图3a-3c为依据本发明一实施例中的源域数据及目标域数据的示意图。
[0060]
在工业生产领域里,缺陷检测(defect detection)为一种常见的品质检验的手段,以确保加工过程产品未出现瑕疵。在电子产业中,焊锡为典型的加工程序,对于印刷电路板(pcb)类型的产品良率扮演重要的角色,因此往往会配置对应的自动光学检测(aoi)检测站针对焊锡进行缺陷检测。然而,成熟的制造商不良率通常相当低,导致有效标签样本的数量少且取得成本昂贵。再者,印刷电路板的种类众多且每个焊锡点的形状与角度皆不尽相同,导致缺陷检测的准确率不足需要大量人工进行复判。因此,在图3a-3c的实施例中是采用半监督学习系统100以解决缺陷检测所面临的问题。
[0061]
为了便于说明,在此实施例中,在训练特征萃取模型141之前,半监督学习系统100先取得数量不等的第一源域数据、第二源域数据及目标域数据,其中第一源域数据及第二源域数据分别从工厂a及工厂b取得,且是针对型号80的印刷电路板的各检测点(例如焊锡点)的检测点影像。目标域数据由工厂a取得,且是针对型号60的印刷电路板的部分检测点(例如焊锡点)的检测点影像。图3a为第一源域数据中的其中一张检测点影像,图3b为第二源域数据中的其中一张检测点影像。图3c则为目标域数据中的其中一张检测点影像。
[0062]
需说明的是,在工厂a及工厂b中的自动光学检测装置的拍摄条件可能不同,例如会受到光线、拍摄距离、拍摄角度、曝光时间的影响,再加上印刷电路板的种类众多且每个焊锡点的形状与角度皆不尽相同,进而导致对同一型号的印刷电路板的同一检测点所拍摄的检测点影像不同。
[0063]
此外,半监督学习系统100的目标是利用第一源域数据及第二源域数据以导入在工厂a生产型号60的印刷电路板(即目标域)的缺陷检测功能,其中缺陷检测为二元分类,意即样本(即检测点影像)的判断结果为通过或不通过。若判断结果为通过,则表示半监督学习系统100判断此样本无缺陷;若判断结果为不通过,则表示半监督学习系统100判断此样本有缺陷。
[0064]
第一源域数据、第二源域数据及目标域数据中的良品样本数、不良品样本数、未标签样本数及总样本数如表1所示:
[0065] 第一源域数据第二源域数据目标域数据良品样本数2649317不良品样本数138741未标签样本数015040总样本数164200458
[0066]
表1
[0067]
在处理器110将第一源域数据(例如包含164笔已标签数据)、第二源域数据(例如包含500笔已标签数据及1504笔未标签数据)及目标域数据(例如20笔未标签数据)输入至特征萃取模型141并经过上述实施例的流程完成训练后,处理器110可利用三个指标:准确率(accuracy)、精确率(precision)及召回率(recall)以衡量特征萃取模型141的分类能
力。
[0068]
举例来说,不良品的检出数量可分为四大类:真阳性(true positive)、真阴性(true negative)、伪阳性(false positive)及伪阴性(false negative),例如分别用tp、tn、fp及fn表示相应的数量。tp表示特征萃取模型141判断样本为不良品且实际上为不良品的数量。tn表示特征萃取模型141判断样本为良品且实际上为良品的数量。fp表示特征萃取模型141错误地将良品的样本判断为不良品的数量。fp表示特征萃取模型141错误地将不良品的样本判断为良品的数量。上述表示方式针对不良品的缺陷检测。本发明领域中技术人员亦可利用类似方式以计算出良品的四种检测数量。
[0069]
对于不良品而言,特征萃取模型141的准确率(accuracy)=(tp tn)/(tp fp tn fn),意即特征萃取模型141做出正确判断的整体准确率。特征萃取模型141的召回率(recall)=tp/(tp fn),意即在所有不良品中,特征萃取模型141能正确判断出不良品的比例。特征萃取模型141的精确率(precision)=tp/(tp fp),意即在被特征萃取模型141判断为不良品的样本中有多少比例是真的不良品。
[0070]
依据类似方式,处理器110亦可计算出良品的准确率、召回率及精确率,其中良品的准确率与不良品的准确率是相同的,均是指特征萃取模型141正确判断的整体准确率。良品的召回率则表示在所有良品中,特征萃取模型141可正确判断出多少比例的良品。良品的精确率则表示在被特征萃取模型141判断为良品的样本中有多少比例是真的良品。
[0071]
因此,针对良品及不良品的准确率、召回率及精确率如表2所示:
[0072][0073]
表2
[0074]
在此,本发明提供两种常见的机器学习方法以与本发明的半监督学习系统100的表现进行比较。对照组1采用典型的监督式学习(supervised learning)方法,且仅使用目标域数据中的47笔已标签数据进行训练,并以剩余的11笔已标签数据进行测试。对照组1的情境表示重新搜集目标域的多笔数据,并耗费资源进行标签工作,在不参考其他源域的相似数据的情况下,机器学习模型的准确率、召回率及精确率表现。
[0075]
对照组1针对良品及不良品的准确率、召回率及精确率如表3所示:
[0076][0077]
表3
[0078]
对照组2是采用领域自适应技术,且机器学习模型的训练数据则使用第一源域数据中的164笔已标签数据、第二源域数据中的500笔已标签数据及1504笔未标签数据、以及目标域数据中的20笔未标签数据。对照组2的情境表示当有多个源域可供参考且同时包含标签及未标签数据时,若仅有少数目标域的未标签数据,机器学习模型在目标域的表现。
[0079]
当对照组2的机器学习模型训练完成后,利用目标域数据中剩余的38笔数据以对机器学习模型进行测试,可得到对照组2针对良品及不良品的准确率、召回率及精确率,如表4所示:
[0080][0081]
表4
[0082]
本发明的半监督学习系统100采用与对照组2相同的训练数据。当特征萃取模型141经由上述实施例的流程完成训练后,处理器110利用目标域数据中剩余的38笔数据以对机器学习模型进行测试,可得到半监督学习系统100针对良品及不良品的准确率、召回率及精确率,如表5所示:
[0083][0084]
表5
[0085]
本发明的半监督学习系统100的情境表示可同时充分采用源域数据中的已标签数据及未标签数据,并利用目标域中少量的未标签数据以进行模型转移时,可以达到比其他方法更高的准确率及精确度,甚至可逼近对照组1使用大量已标签数据建立机器学习模型时的表现,且具有极高的精确率。
[0086]
图4为依据本发明一实施例中的半监督学习方法的流程图。
[0087]
在步骤s410,取得一或多个源域的源域数据及一目标域的目标域数据。举例来说,各源域的源域数据以及目标域的目标域数据均包含已标签数据及未标签数据。
[0088]
在步骤s420,使用该源域数据及该目标域数据以训练一特征萃取模型。举例来说,在图3a-3c的实施例中,处理器110将第一源域数据(例如包含164笔已标签数据)、第二源域数据(例如包含500笔已标签数据及1504笔未标签数据)及目标域数据(例如20笔未标签数据)输入至特征萃取模型141以进行训练。
[0089]
在步骤s430,计算域判别损失函数。域判别损失函数例如可表示为:ε
x,domain
[-logp
θ
(domain|x)],其中x为原始数据。处理器110并依据域判别损失函数并搭配领域对抗训练(domain adversarial training)的机制以计算域判别模型144与特征萃取模型141权重的更新方法,借此确保特征萃取模型141取出的抽象特征具有域不变性(domain invariance)的特性。
[0090]
在步骤s440,计算任务损失函数。任务损失函数例如可表示为:其中x为原始数据,y*为标签、l为已标签数据的集合。处理器110使用已标签样本进行任务模型的监督式学习,并利用反向传播算法计算任务模型143与特征萃取模型141权重的更新方向,确保模型能对任务有准确的判断。
[0091]
在步骤s450,计算半监督损失函数。半监督损失函数例如可表示为:
其中u为未标签数据的集合,d
kl
为衡量两分布的度量方式(例如使用kl散度演算法)。处理器110使用未标签数据以提供特征萃取模型141与任务模型143学习的信息,并通过反向传播算法计算特征萃取模型141的权重的更新方向。在此实施例中,步骤s430~450可统整为同一步骤、或是其顺序可任意调换、或是步骤s430~450可同时执行。
[0092]
在步骤s460,更新模型权重。举例来说,处理器110可依据总损失函数sl的计算结果通过反向传播法以计算并更新整体模型中相应于该特征萃取模型、该任务模型及该域判别模型的第一权重、第二权重及第三权重。
[0093]
在步骤s470,判断整体模型是否满足模型收敛条件。若是,则执行步骤s480以结束整体模型的训练过程。若否,则回到步骤s430以重复执行计算三种损失函数及更新模型权重的步骤。举例来说,上述模型收敛条件可为整体模型在固定训练批次(epoch)或固定训练时间或总损失函数达到目标值等等,但本发明并不限于此。
[0094]
综上所述,本发明是提供一种半监督学习系统及半监督学习方法,其可结合领域自适应技术与半监督学习机制,并可使用源域数据及目标域数据进行模型训练,并且搭配域判别损失函数、任务损失函数及半监督损失函数以进行模型权重的更新,以使模型具有优选的训练阶段,以达到更好的机器学习表现。
[0095]
本发明的方法,或特定形态或其部分,可以以程序码的形态包含于实体媒体,如软碟、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)存储媒体,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置或系统。本发明的方法、系统与装置也可以以程序码形态通过一些传送媒体,如电线或电缆、光纤、或是任何传输形态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置或系统。当在一般用途处理器实作时,程序码结合处理器提供一操作类似于应用特定逻辑电路的独特装置。
[0096]
本发明虽以优选实施例公开如上,然其并非用以限定本发明的范围,任何所属技术领域中技术人员,在不脱离本发明的构思和范围内,当可做些许的变动与润饰,因此本发明的保护范围当视权利要求所界定者为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献