论文部分内容阅读
摘要 目的:探索将卷积神经网络技术应用于舌象照片分类任务的方法,从而实现机器学习模型对中医临床舌诊行为的模拟。方法:使用人工标注后的舌象照片数据集分别对YOLO和EfficientNet卷积神经网络模型训练。我们在训练过程中综合调试了各类校正算法与超参数,两模型成功提取图片数据中的模式特征并形成不同特征映射, 使YOLO和EfficientNet分别实现实时舌体识别和中医学舌象特征分类的功能。结果:深度学习模型对部分舌象特征典型的舌诊照片识别精度较好,对芒刺舌、裂纹舌、齿痕舌的识别精确率分别为0.86、0.75和0.72。结论:卷积神经网络模型对几种特征性舌象的识别能力较好,但对舌色、舌形、津液情况多分类的识别尚不理想,尚需进一步改善使用舌诊照片训练卷积神经网络模型的方法。
关键词 中医学;人工智能;机器学习;深度学习;卷积神经网络;舌诊;舌象
随着人们保健意识日益增强,人们期望能够随时随地了解自己的健康情况,移动医疗的研发项目也大量应运而生。近年来医疗信息数据库的逐步建立和完善,网络传输的信息吞吐量提升,计算机硬件运算能力的提高,数据分析(Data Analysis, DA)与机器学习(Machine Learning, ML)算法的更新,都使移动医疗从概念走进现实。
中医药学在治未病(亚健康状态)领域经验丰富,在症状的识别与保健方法上具有独特优势。疾病或亚健康的治疗及保健效果都需建立在可靠诊断的基础上,中医诊断中历来强调四诊合参、辨证论治,也就是说,诊断的确定需建立在望、闻、问、切四种方式获得的临床资料之上。舌诊是望诊的组成部分,医生舌诊时所见的舌体及舌苔特征称为舌象,舌诊照片保存了舌象全部的资料,是我们本次研究的数据来源。医生根据舌象对病情判断的准确度与判读人员的经验、知识水平和视觉敏感度相关,不同医生对同一舌象的判读结果可存在较大差异0。对主观因素对临床资料解读影响程度的评估方法,一直是中医诊断客观化的难题。
本次研究尝试通过将DA与ML等数据处理技术,对舌诊照片中潜在的数据特征进行识别和提取,计算机图像处理研究人员发现,卷积运算可保证图像中浅层特征充分识别和提取的前提下,大幅降低计算复杂度,现已成为计算机视觉常用的图像特征提取方法。人工智能近年来的突破都与人工神经网络(Artificial Neural Network, ANN)的发展密切相关,ANN由大量的人工神经元联结、计算有关,ANN在输入数据信息后,不断自适应地根据输入数据的统计学特征非线性地改变内部权重,构造出局部或全局最优的模型。本研究以ANN与卷积运算结合后的卷积神经网络(convolution neural network,CNN)为基础,通过有监督的ML数据建模。因此,用于图片对象识别和分类任务的模型权重调整不仅依赖于图像语义特征的运算结果,还会受人工标注者主观因素的影响。模型训练完毕后,我们将评估卷积神经网络模型自主舌诊图片识别和分类的精确度,分析不足之处,为进一步完善模型的配置和训练方式奠定基础。
近年来,中医药学与卷积神经网络技术结合应用于舌诊机器分类的试验研究已获得一定进步,董竞方0通过将CNN网络ResNet50应用于对442例肿瘤患者舌象图片的学习,获得齿痕舌、瘀斑舌自动识别模型,F-1达到91.88%。刘梦0通过Faster R-CNN与微调(fine tune)技术应用于构建齿痕舌、裂纹舌识别模型,对裂纹舌识别F-1为97.1%,对齿痕舌识别F-1为85.1%。
1 资料
研究的舌象照片来自网络爬虫程序,共计6373张。将全部照片分为两个数据集,分别用于舌体识别模型与舌象分类两个模型的训练与测试。识别模型数据集3500张,分类模型数据集共2873张。
2 方法
2.1数据预处理
2.1.1标准化 为了保证全部图片符合CNN模型输入尺寸要求,我们对舌象照片给予等比例缩放,并对照片的留白部分灰色填充。
2.1.2归一化 为保证模型的稳定性和训练效率,我们对图片数据进行归一化处理,参考ImageNet图库中的统计数据,RGB三个通道均值为0.485、0.456、0.406,标准差为0.229、0.224、0.225。
2.1.3数据扩增 为了降低模型权重对训练集中数据的过拟合风险,增加其泛化能力,可对数据集中数据进行多重处理,增加图片中信息的离散性,使训练集中数据更加贴近现实的情况。
2.1.4数据集分割 我们采取打乱数据集中图片顺序后,按比例分割的方法对数据集分割为训练集、验证集和测试集。舌体识别模型训练集:验证集为17:3,舌象分类模型训练集:验证集:测试集为4:1:1。
2.2 CNN模型 YOLO-v4和EfficientNet模型是当前先进的图像处理卷积神经网络模型,其架构先进,与多种先进算法适配,无论在性能和精度上均处于先进水平。其中,YOLO-v4模型運算速度快,分类精度差,适用于舌体识别,EfficientNet-B2模型分类精度高,运算速度慢,可用于舌象分类。CNN可以很好地对图像信息的特征进行提取和层层处理后,计算某图片对不同分类的多重Logistic回归结果,从而获得概率估值,估值与阈值结合后判断图片的分类结果。
2.3 模型训练 为了提高训练效率并充分利用模型初始权重所包含的预训练集数据信息,训练过程联合使用转移学习与冻结学习的方法,YOLO-v4模型训练的第1~10期(epoch)冻结浅层,第11~200期解冻全层。
2.4 超参数设置
批量(batch size)是数据集每次批量输入模型的一次性样本量,每次迭代模型内权重更新的方向和参数受每批数据信息影响,批量较大时模型权重调整更准确,批量较小时,损失函数可能出现难收敛的问题。在满足计算机元件满载运行的前提下,适当提高批量至合适的大小。损失函数(loss function)是用来计算评估所建立数学模型与现实世界数据间差距的函数。优化算法(optimization algorithm)是通过调整模型参数使损失函数逐步逼近最优解的计算方法,包括对前次迭代模型参数数据的处理以及新参数调整幅度的计算。为了保证收敛和效率的平衡,本次试验对两个模型均应用余弦退火法(cosine anealing)的学习率调整策略(learning rate scheduler),利用余弦函数曲线特点,使学习率随训练迭代次数而改变,呈先缓、再速、终缓的速率变化特点。
关键词 中医学;人工智能;机器学习;深度学习;卷积神经网络;舌诊;舌象
随着人们保健意识日益增强,人们期望能够随时随地了解自己的健康情况,移动医疗的研发项目也大量应运而生。近年来医疗信息数据库的逐步建立和完善,网络传输的信息吞吐量提升,计算机硬件运算能力的提高,数据分析(Data Analysis, DA)与机器学习(Machine Learning, ML)算法的更新,都使移动医疗从概念走进现实。
中医药学在治未病(亚健康状态)领域经验丰富,在症状的识别与保健方法上具有独特优势。疾病或亚健康的治疗及保健效果都需建立在可靠诊断的基础上,中医诊断中历来强调四诊合参、辨证论治,也就是说,诊断的确定需建立在望、闻、问、切四种方式获得的临床资料之上。舌诊是望诊的组成部分,医生舌诊时所见的舌体及舌苔特征称为舌象,舌诊照片保存了舌象全部的资料,是我们本次研究的数据来源。医生根据舌象对病情判断的准确度与判读人员的经验、知识水平和视觉敏感度相关,不同医生对同一舌象的判读结果可存在较大差异0。对主观因素对临床资料解读影响程度的评估方法,一直是中医诊断客观化的难题。
本次研究尝试通过将DA与ML等数据处理技术,对舌诊照片中潜在的数据特征进行识别和提取,计算机图像处理研究人员发现,卷积运算可保证图像中浅层特征充分识别和提取的前提下,大幅降低计算复杂度,现已成为计算机视觉常用的图像特征提取方法。人工智能近年来的突破都与人工神经网络(Artificial Neural Network, ANN)的发展密切相关,ANN由大量的人工神经元联结、计算有关,ANN在输入数据信息后,不断自适应地根据输入数据的统计学特征非线性地改变内部权重,构造出局部或全局最优的模型。本研究以ANN与卷积运算结合后的卷积神经网络(convolution neural network,CNN)为基础,通过有监督的ML数据建模。因此,用于图片对象识别和分类任务的模型权重调整不仅依赖于图像语义特征的运算结果,还会受人工标注者主观因素的影响。模型训练完毕后,我们将评估卷积神经网络模型自主舌诊图片识别和分类的精确度,分析不足之处,为进一步完善模型的配置和训练方式奠定基础。
近年来,中医药学与卷积神经网络技术结合应用于舌诊机器分类的试验研究已获得一定进步,董竞方0通过将CNN网络ResNet50应用于对442例肿瘤患者舌象图片的学习,获得齿痕舌、瘀斑舌自动识别模型,F-1达到91.88%。刘梦0通过Faster R-CNN与微调(fine tune)技术应用于构建齿痕舌、裂纹舌识别模型,对裂纹舌识别F-1为97.1%,对齿痕舌识别F-1为85.1%。
1 资料
研究的舌象照片来自网络爬虫程序,共计6373张。将全部照片分为两个数据集,分别用于舌体识别模型与舌象分类两个模型的训练与测试。识别模型数据集3500张,分类模型数据集共2873张。
2 方法
2.1数据预处理
2.1.1标准化 为了保证全部图片符合CNN模型输入尺寸要求,我们对舌象照片给予等比例缩放,并对照片的留白部分灰色填充。
2.1.2归一化 为保证模型的稳定性和训练效率,我们对图片数据进行归一化处理,参考ImageNet图库中的统计数据,RGB三个通道均值为0.485、0.456、0.406,标准差为0.229、0.224、0.225。
2.1.3数据扩增 为了降低模型权重对训练集中数据的过拟合风险,增加其泛化能力,可对数据集中数据进行多重处理,增加图片中信息的离散性,使训练集中数据更加贴近现实的情况。
2.1.4数据集分割 我们采取打乱数据集中图片顺序后,按比例分割的方法对数据集分割为训练集、验证集和测试集。舌体识别模型训练集:验证集为17:3,舌象分类模型训练集:验证集:测试集为4:1:1。
2.2 CNN模型 YOLO-v4和EfficientNet模型是当前先进的图像处理卷积神经网络模型,其架构先进,与多种先进算法适配,无论在性能和精度上均处于先进水平。其中,YOLO-v4模型運算速度快,分类精度差,适用于舌体识别,EfficientNet-B2模型分类精度高,运算速度慢,可用于舌象分类。CNN可以很好地对图像信息的特征进行提取和层层处理后,计算某图片对不同分类的多重Logistic回归结果,从而获得概率估值,估值与阈值结合后判断图片的分类结果。
2.3 模型训练 为了提高训练效率并充分利用模型初始权重所包含的预训练集数据信息,训练过程联合使用转移学习与冻结学习的方法,YOLO-v4模型训练的第1~10期(epoch)冻结浅层,第11~200期解冻全层。
2.4 超参数设置
批量(batch size)是数据集每次批量输入模型的一次性样本量,每次迭代模型内权重更新的方向和参数受每批数据信息影响,批量较大时模型权重调整更准确,批量较小时,损失函数可能出现难收敛的问题。在满足计算机元件满载运行的前提下,适当提高批量至合适的大小。损失函数(loss function)是用来计算评估所建立数学模型与现实世界数据间差距的函数。优化算法(optimization algorithm)是通过调整模型参数使损失函数逐步逼近最优解的计算方法,包括对前次迭代模型参数数据的处理以及新参数调整幅度的计算。为了保证收敛和效率的平衡,本次试验对两个模型均应用余弦退火法(cosine anealing)的学习率调整策略(learning rate scheduler),利用余弦函数曲线特点,使学习率随训练迭代次数而改变,呈先缓、再速、终缓的速率变化特点。