当前位置: 首页 > 科技观察

TensorFlow应用技术拓展——图像分类

时间:2023-03-12 03:19:59 科技观察

1.科研平台环境部署操作拓展对于机器学习中的模型训练,建议大家多学习TensorFlow官方课程或资源,比如中大MOOC上的两门课程《 TensorFlow 入门实操课程 》和《 TensorFlow 入门课程 - 部署篇 》。对于科研或工作中涉及的模型分布式训练,一个资源平台往往会非常耗时,不能及时满足个性化需求。在这里,我将对上篇文章《初步了解TensorFlow框架学习》中提到的九天笔升平台的使用做一个具体的拓展,以方便同学们和用户更快的进行模型训练。该平台可以进行数据管理、模型训练等任务,是一个方便快捷的科研任务实践平台。模型训练中的具体操作步骤为:(1)注册并登录九天必胜平台。由于后续训练任务需要消耗算力豆,而新用户的算力豆数量有限,可以通过好友分享任务等方式完成。电源豆的收购。同时,对于大规模的模型训练任务,为了获得更多的模型训练存储空间,可以邮件联系平台工作人员升级控制台,以满足未来所需的训练存储需求.存储和算力bean详情如下:(2)进入数据管理界面部署科研项目模型使用的数据集,通过打包上传完成平台模型训练所需的数据集科研任务部署所需的数据集。(3)在模型训练窗口添加一个新的项目训练实例,选择之前导入的数据集和需要的CPU资源。创建的实例是一个单一的模型文件,需要进行科学研究训练。新增项目实例详情如下图所示:(4)运行新增项目实例,即运行项目训练环境。运行成功后,您可以选择jupyter编辑器来创建和编辑需要的代码文件。(5)可以使用jupyter编辑器进行后续的代码编写和模型训练。2、图像分类技术扩展了图像分类。顾名思义,就是根据图像之间的差异来判断不同图像的类别。针对图像之间的差异设计判别模型是机器学习需要掌握的知识。关于图像分类的基础知识和操作过程,可以参考中文大学MOOC上的《TensorFlow入门实操课程》,快速了解TensorFlow的基本应用和设计思路。.https://www.icourse163.org/learn/youdao-1460578162?tid=1461280442#/learn/content?type=detail&id=1239107268&cid=1260057739本章主要是想扩展图像分类技术,让接入这门课程用户对图像分类有了更深刻的理解。2.1卷积运算有什么用?说到对图像进行处理或者分类,一定有一个操作是绕不开的,这个操作就是卷积。具体的卷积操作通过学习视频基本可以理解,但是更多的读者可能只停留在如何进行卷积操作的层面,而为什么要进行卷积、卷积操作有什么用,还是知之甚少。这里给大家做一定的拓展,帮助大家更好的理解卷积。基本的卷积过程如下图所示。以一幅图像为例,用一个矩阵来表示图像,矩阵的每个元素就是图像中对应的像素值。卷积运算就是通过将对应的矩阵乘以卷积核得到这些小区域的特征值。提取的特征会因为卷积核的不同而不同。这也是为什么有人会对图像的不同通道进行卷积运算,从而得到图像不同通道的特征,从而更好的进行后续的分类任务。在日常模型训练中,具体的卷积核不需要人工设计,而是通过给定图像的真实标签,利用网络自动训练,但这样的过程不利于人们对卷积核的理解和理解。卷积过程,还是不直观。因此,为了帮助大家更好的理解卷积运算的含义,这里给出一个卷积运算的例子。如下图矩阵所示,数值代表图形的像素点。为了计算方便,这里只取0和1。不难看出矩阵图形的特点。图形的上半部分是亮的,图形的下半部分是黑色的。因此,图像具有非常清晰的分界线,即具有明显的水平特征。因此,为了很好地提取上述矩阵的水平特征,所设计的卷积核也应该具有水平特征提取的属性。利用垂直特征提取特性的卷积核在特征提取程度上相对不足。如下图,使用卷积核提取水平特征:从得到的卷积结果矩阵中,很好的提取了原始图形的水平特征,由于图形有颜色部分,图形的边界线会更加明显像素值的加深,很好地提取和突出了图形的横向特征。当用提取垂直特征的卷积核进行卷积时:从得到的卷积结果矩阵可以看出,原来图形的水平特征也可以提取出来,但是会产生两条分割线,图形从特别又亮又亮。从亮到暗,真实图形反映的情况变成了由亮到暗再到黑的情况,这与真实原始图形的横向特征不同。从上面的例子不难知道,不同的卷积核会影响到最终提取的图形特征的质量,不同的图形所体现的特征也是不同的。如何根据不同的图形特征属性来设计网络模型来提高卷积核的学习和设计也很重要。在实际的地图分类项目中,需要根据图像的差异性来选择和提取合适的特征,往往需要权衡取舍。2.2如何考虑卷积以获得更好的图像分类?从上一节卷积运算的作用可以看出,设计网络模型以更好地学习适合图像的卷积核尤为重要。但在实际应用中,给出给定图像类别的真实标签,将类别标签转化为机器可以理解的向量数据,进行自动学习和训练。当然,通过手动设置来改善也不是没有可能。虽然数据集的标签是固定的,但是我们可以根据数据集的图像类型选择不同的网络模型。综合考虑不同网络模型的优缺点往往会有很好的训练效果。同时,在提取图像特征时,也可以考虑使用多任务学习的方法。在已有的图像数据中,再次利用图像数据提取一些额外的图像特征(如图像通道特征和空间特征等),然后对之前提取的特征进行补充或填充,以提高最终提取的图像特征。当然,有时这种操作会导致特征提取冗余,得到的分类效果往往适得其反,需要根据实际训练分类结果来考虑。2.3网络模型选择的一些建议图像分类领域已经发展了很长时间。从最初经典的AlexNet网络模型到近几年流行的ResNet网络模型,图像分类技术得到了比较好的发展。对于一些常用的图像数据集,分类准确率已经接近100%。目前在这个领域,大多数人使用的是最新的网络模型,而在大多数图像分类任务中,使用最新的网络模型确实可以带来明显的分类效果,所以这个领域很多人往往忽略了以前的网络模型,而直接学习最新和流行的网络模型。在这里,我还是建议读者熟悉一下图分类领域的一些经典网络模型,因为技术的更新迭代非常快,即使是最新的网络模型未来也有可能被淘汰,但是其运行原理基本网络模型大致相同。通过掌握经典的网络模型,不仅可以掌握基本原理,还可以了解不同网络模型的差异和不同任务处理的优缺点。比如当你的图像数据集比较小的时候,用最新的网络模型去训练可能会非常复杂和耗时,但是提升的效果却微乎其微,所以为了可以忽略不计的效果牺牲自己的训练时间成本是不值得的蜡烛。因此,对图像分类网络模型的掌握需要能够知其然,知其所以然,这样以后在选择图像分类模型的时候才能真正做到有的放矢。作者简介:稀饭,社区编辑,曾就职于电商人工智能研发中心大数据技术部,从事推荐算法方面的工作。目前从事自然语言处理方面的研究,主要专业领域包括推荐算法、NLP、CV,使用的代码语言包括Java、Python、Scala。发表ICCC会议论文1篇。