人工智能系列 之深度学习和caffe应用整理笔记1
Posted 琅晓琳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人工智能系列 之深度学习和caffe应用整理笔记1相关的知识,希望对你有一定的参考价值。
1 前言
之前用过windows-caffe做过深度学习的训练和应用,以下的专题算是对于caffe和深度学习部分内容的回顾。
其实个人觉得数据分析和深度学习都算人工智能的范畴,整体流程分为以下几步:
(1)【数据源的整理以及数据的预处理】对于数据分析来说整体目标是在海量的数据中得到数据的分布规律(均值、方差、变化趋势等),对于深度学习(专指CNN)来说就是从已知的图像分类中做图像分类、图像识别等,对于数据的质量和数量来说都有一定的要求。前者可能是质量要求大于数量要求,后者是数量要求大于质量要求,对于CNN来说适当加入噪声、干扰等可以提高模型的鲁棒性;
(2)【网络或者说模型的选择】这里的网络或者模型的选择要考虑以下因素:首先是应用的场景对于准确率等指标的要求;其次是机器资源,包括有没有足够的GPU资源、有没有适当的CPU资源等;然后是数据量的多少,尤其是对于CNN的训练,原始图的数量起码要在千张数量级甚至万张数量级,如果不能得到这么多的数量级原始图像,就算之后利用旋转、加入适当噪声、缩放等图像变换进行处理,那数量级还是不能支撑起一个小型CNN网络数据的需求;接着就是原始数据图像的尺寸以及最后的目标分类数量,这个可以决定网络的输入神经元数量和输出神经元数量;最后是对于模型的熟悉程度,建议要在论文中研究一下网络或者模型的原理,这样方便进行第(3)步的调参;
(3)【模型的训练和调参】数据和网络是训练的两大支柱,以上工作做好之后会进入模型训练的过程,这时需要评估下模型训练的时长,可以简单的设定下训练次数为500次或者1000次,估计下所用的时间,然后再根据数据量的多少、模型的深度、预训练的时长决定自己的训练迭代次数;调参就是当准确率不够高时对于网络参数的调整,包括层数、神经元数量、卷积核尺寸、激活函数的选择等,这里要注意的是梯度消失或者梯度弥散等问题的出现;
(4)【模型的应用】模型的训练其实就是确定网络参数,对于分类来说,通俗的讲就是确定分类函数的k和b,当然这里的分类函数不是简单的二维或者平面的函数,而是一个很复杂的分类平面,这里可以了解下SVM中关于此类问题的解释。通过第(3)步的训练确定模型的参数,这样在模型应用时只需要跑一个前向过程,然后判断图像的分类即可;
(5)以上仅是对于图像分类过程的总结,对于图像识别、图像去噪等领域可能不适用;所述的流程是通用流程,对于具体模型的应用可能会有所改变;大概就是这些,祝大家AI之旅愉快,也欢迎大家的交流!
2 window下利用.bat命令批处理生成图像(图片)标签
(1)打开cmd界面;
(2)进入图像所在的文件夹,例如cd D:\\caffe\\caffe-master\\data\\train;
(3)输入命令:dir /s/on/b > d:train.txt,这样会在D盘生成一个名为train.txt的文本,里面存放D:\\caffe\\caffe-master\\data\\train文件夹中的所有文件路径;
(4)利用txt的查找替换的操作,对图像进行打标签处理。
3 Caffe中的Blob,Layer and Net的含义
(1)Blob是caffe实际存储数据的结构,是一个不定维矩阵,在caffe中一般用来表示一个拉直的四维矩阵,四个维度对应Batch Size(N)、Feature Map的通道数(C)、Feature Map的高度(H)和宽度(W)。Blob提供了统一的存储器接口,使用SyncedMemory类进行数据存储,数据成员data_指向实际存储数据的内存或者显存块,shape_存储当前blob的维度信息,diff_保存反向传播的梯度信息。
在模型中设定的参数,也是用Blob来表示和运算,它的维度会根据参数的类型不同而不同。比如:在一个卷积层中,输入一张3通道图片,有96个卷积核,每个核大小为11×11,因此这个Blob是96×3×11×11;而在一个全连接层中,假设输入1024通道图片,输出500个数据,则Blob为500*1024;
(2)Layer是网络模型的组成要素和计算的基本单位。层的类型比较多,如Data,Convolution,Pooling,ReLU,Softmax-loss,Accuracy等,它是组成网络的基本要素;
(3) 一个net由多个layer组合而成,caffe的优势就是将net中的layer定制出来供我们选择使用;劣势是有可能对于新出来的层并不支持。
4 几个常用的指标
真阳性(TP):属于该类且被分类器分为该类的样本;
真阴性(TN):不属于该类且被分类器分为不属于该类的样本;
假阳性(FP):不属于该类且被分类器分为该类的样本;
假阴性(FN):属于该类且被分类器分为不属于该类的样本;
灵敏度(Sen):代表正确判断病人的比率—>TP/(TP+FN);
特异性(Spe):代表正确判断非病人的比率—>TN/(TN+FP)。
5 下载或者安装caffe请参考以下链接(window平台下):
https://blog.csdn.net/zb1165048017/article/details/51355143 caffe+VS2013+Windows无GPU快速配置教程
https://blog.csdn.net/zb1165048017/article/details/51549105 caffe+VS2013+Windows+GPU配置+cifar使用
以上是关于人工智能系列 之深度学习和caffe应用整理笔记1的主要内容,如果未能解决你的问题,请参考以下文章