本发明涉及人工智能技术领域,尤其涉及深度学习的特征可视化及模型评估方法。
背景技术:
深度学习是机器学习拉出的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
深度学习是机器学习中一种基于对数据进行表征学习的方法。
观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。
深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
现有的深度学习研究虽然在图像分类、语音识别等领域都取得了很好的变现,但是由于其多层的非线性结构,使得深度学习就像一个‘黑盒子’。
这样使得初学者并不能对深度学习这个工具有个直观的印象,对学者来说也不清楚深度学习网络究竟学习到了什么特征。
故此提出深度学习的特征可视化及模型评估方法,对模型学习到的特征经行可视化显示,使得深度学习更加直观易懂,并根据可视化后的结果来判断学习到的模型的好坏。
技术实现要素:
鉴于现有方案存在的问题,为了克服上述现有技术方案的不足,本发明提出了一种深度学习的特征可视化及模型评估方法。
根据本发明的一个方面,提供了1、一种深度学习的特征可视化及模型评估方法,包括以下步骤:对深度学习网络模型从图像数据库输入图像数据,经过卷积层、非线性层、池化层对传入的所述图像数据进行一次前向传播,得到分类结果;利用反向传播算法或反卷积算法或LRP算法,计算对应输入图像的特征图;以及基于所述特征图进行可视化分析及对深度学习网络模型模型进行评估。
从上述技术方案可以看出,本发明具有以下有益效果:
采用反向传播算法或反卷积算法或LRP算法求得对应输入图像的特征图,进而实现可视化分析;
深度学习与可视化技术结合,直观的表现出模型所学习到的每个特征,使得深度学习更加易于理解;同时对特征图进行评价指标计算,达到模型评价的目的。
附图说明
图1是本发明实施例深度学习的特征可视化及模型评估方法流程图;
图2是图1中是深度学习模型利用反向求导算法求特征图流程图;
图3是图1中深度学习模型利用反卷积算法求特征图流程图;
图4是深度学习模型利用LRP算法求特征图流程图;
图5是图1中深度学习模型可视化及评价方法流程图。
具体实施方式
本发明某些实施例于后方将参照所附附图做更全面性地描述,其中一些但并非全部的实施例将被示出。实际上,本发明的各种实施例可以许多不同形式实现,而不应被解释为限于此数所阐述的实施例;相对地,提供这些实施例使得本发明满足适用的法律要求。
在本说明书中,下述用于描述本发明原理的各种实施例只是说明,不应该以任何方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不悖离本发明的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同附图标记用于相似功能和操作。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明实施例提供了一种深度学习的特征可视化及模型评估方法,利用反向传播算法或反卷积算法或LRP算法求得对应输入图像的特征图,利用求得的特征图,进行可视化分析,并对模型进行评估。
图1示出了本发明实施例深度学习的特征可视化及模型评估方法流程图,附图1所示,实施例深度学习的特征可视化及模型评估方法包括如下步骤:
S100:对深度学习网络模型从图像数据库输入图像数据,经过卷积层、非线性层、池化层对传入的图像数据进行一次前向传播,得到分类结果;
其中,输入图像数据可以为任意大小,任意格式,一次前向传播表示从输入图像数据计算到其分类结果。
S200:利用算法,计算对应输入图像的特征图,算法包括反向传播算法或反卷积算法或LRP算法。
S300:基于所述特征图进行可视化分析及对深度学习网络模型模型进行评估。
图2是深度学习模型利用反向求导算法求特征图流程图,如图2所示,若采用反向传播算法,步骤S200具体包括:
步骤S201:在目标层设置优化函数,其中目标层可以为卷积层或非线性层或池化层,然后在网络中对优化函数针对输入图像求偏导数,通过链式求导法则从一层到另一层,其中连续的两层x(l)和x(l+1)对激励的贡献通过式(1)计算,通过反向传播算法获得特征数据;
具体地,在对深度学习中池化层求偏导数时(即图2中反池化层),针对最大池化操作在前向传播时需记住取得最大值的位置,在反池化操作时根据记住的位置返回为原来的空间;
在对深度学习中非线性层求偏导数时(即图2中反线性层求导),根据前向非线性层传播取得最大值索引返回上一层的导数;
对卷积层求偏导数(即图2中滤波器层)时,通过对前向计算的卷积层偏置参数的转置求卷积。
步骤S202:特征数据组合成特征图。
图3是深度学习模型利用反卷积算法求特征图流程图,如图3所示,若采用反卷积算法,步骤S200具体包括:
步骤S211:在目标层设置优化函数,其中目标层可以为卷积层或非线性层或池化层,通过反卷积算法获得特征数据;
具体的,在对深度学习中池化层反向传播时(即图3中反池化层),针对最大池化操作在前向传播时需记住取得最大值的位置,在反池化操作时根据记住的位置返回为原来的空间;
在对深度学习中非线性层反向传播时(即图3中非线性层),其非线性层的操作和正向传播的非线性层的操作一致;
在对深度学习中卷积层反向传播时(即图3中反卷积层)通过式(2)对神经网络的输出映射为输入图像空间,其中R(l),R(l+1)表示反向传递的信号值,mdec表示反卷积操作,Q(l,l+1)表示神经网络l层和l+1层之间的权重。
R(l)=mdec(R(l+1);Q(l,l+1))………………(2)
步骤S212:特征数据组合成特征图。
图4是深度学习模型利用LRP算法求特征图流程图,如图4所示若采用LRP算法,步骤S200具体包括:
步骤S221:指定输出层的某一类概率之后,对LRP算法需要满足一致性约束条件,如式(3)所示,获得特征数据:
具体的,在对深度学习中池化层反向传播时(即图4中反池化层),针对最大池化操作在前向传播时需记住取得最大值的位置,在反池化操作时根据记住的位置返回为原来的空间;
对于LRP算法,其反卷积层(即图4中反卷积层)一种计算方法计算如式(4),其中zij表示神经元i传递到下一层神经元j的数值。
对于LRP算法,其反卷积层(即图4中反卷积层)另一种计算方法计算如式(5),其中的α=2和β=-1公式(5)中为神经元i传递到下一层神经元j的正数部分,为神经元i传递到下一层神经元j的负数部分。
步骤S222:特征数据组合成特征图。
图5为深度学习模型可视化及评价方法流程图,如图5所示,步骤300具体包括:
步骤S301:对步骤S200获得的特征图进行显示可视化;
步骤S302:对步骤S200获得的特征图用一个有序的局部特征集合来表示(图5中局部特征划分),如式(6),其中rp表示局部区域的二维向量,其中p为1,2.....L,L为为所设定的局部特征个数。
步骤S303:对于上式所表示的有序特征集合进行局部特征排序,其局部特征排列顺序(图5中局部特征区域排序)由式(7)决定,其中x为对应的输入图像,f为模型的分类函数,i,j表示神经网络的第i层和第j层。
步骤S304:对输入图像所对应的局部特征局域像素进行扰动(图5中扰动输入图像)。对于局部特征的扰动处理如式(8)所示,其中g表示在x的rk周围的像素用均匀分布的像素随机替代,其中k为1,2…L。
x(0)=x
x(k)=g(xk-1,rk)………………(8)
步骤S305:对处理后的输入图像根据式(9)计算模型评价指标,深度学习模型的评价指标由下式所决定其中,p(x)为表示对数据集里的所有图片求平均,其中AOPC指标数值越高表示模型的性能越好。
至此,本发明实施例介绍完毕。
前面的附图中所描绘的进程或方法可通过包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,被承载在非瞬态计算机可读介质上的软件),或两者的组合的处理逻辑来执行。虽然上文按照某些顺序操作描述了进程或方法,但是,应该理解,所描述的某些操作能以不同顺序来执行。此外,可并行地而非顺序地执行一些操作。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。