(完全针对我本人的学习记录)
1.学习步骤:
刘老师视频《PyTorch深度学习实践》完结合集-----李沐老师的书《动手学深度学习》-----李沐老师视频B站主页
2.下一阶段任务:
mtcnn模型原理,facenet原理及训练 mtcnn+facenet学习
动手实现:anoconda安装,先看看需要anoconda里的python版本,需要python37/38
python与anaconda安装
安装pytorch
学习训练facenet模型,yolov3(毕设)/yolov5(很多案例)
3.一些术语:
1.LFW :是数据集
2.CNN的知识:
基本流程:卷积-ReLU-池化
(1)卷积
卷积核(特征提取器)
卷积运算,不同的卷积核对原图进行运算就能提取出不同的特征
(2).池化
将得到的FeatureMap缩小,池化要求一定要保留原特征图的特征
最大池化:选择被扫描区域内的最大值,平均池化:取被扫描区域内的平均值
在处理边缘时的 *** 作称为(Padding)如果对图像采用最大池化,则在边缘补零来提取边缘特征
(3)ReLU激活函数(修正线性单元)
把负数抹成零
(4)全连接层
特征图们展开得到一条特征数组,对数组按目标图的数组权值 *** 作得到一个判断是否为目标的概率数。
3.一些神经网络可视化图像
4.模型性能评测 MAP值,ROC
5.深度可分离卷积块— 各种卷积层的理解(深度可分离卷积、分组卷积、扩张卷积、反卷积)
6.输入通道:输入通道指的是输入了几个二维信息,也就是很直观的rgb图有r,g,b三个通道,这决定了卷积核的通道数,即输入图像的通道数决定了卷积核通道数。
输出通道:输出通道是指卷积(关联)运算之后的输出通道数目,它决定了有几个卷积核,即需要输出通道数为几,就需要几个卷积核。
在卷积层的计算中,假设输入是H x W x C, C是输入的深度(即通道数)【由通道数形成一个类似三维的结构】,假设卷积核的大小为K x K,一个卷积核就为K x K x C,如果有P个K x K x C的卷积核,这样每个卷积核应用于输入都会得到一个通道,所以输出有P个通道。如下图
卷积计算:每次滑动的位置,对应位置相乘再求和,然后将3层 *** 作求和+偏置b
详见如何确定CNN的卷积核通道数和卷积输出的通道数(深度)
输入通道个数 = 卷积核通道个数
卷积核个数 = 输出通道个数
6.搭建网络:即搭建神经网络
在机器学习中,搭建网络主要是分建立函数模型,建立损失函数和寻找最优值三步。在搭建深度学习网络时,主要步骤为初始化参数,加载数据,搭建网络,训练网络和保存网络。在完成深度学习网络搭建后,我们需要了解网络中的参数以及如何调参以提高网络的准确率。在深度学习网络中的参数有一类是可以通过梯度下降算法进行调节,以找到对应于网络最优效果的参数值;另一部分不可以通过网络优化,不能自动收敛到最优值,但是其数值同样对深度网络的性能产生影响,这种参数被称为超参数。超参数主要有layer层数,epoch数,学习率和batchsize等等。
所以我们在给定数据上搭建模型,并通过网络训练拟合出很好的函数模型时,我们需要注意超参数的选择。同时在判断模型优劣时不仅需要考虑模型在训练数据集上的准确率,同时需要考虑模型在测试数据集上准确率,从而避免过拟合现象发生。(不确定是否正确)
7.tensorboard
8.SVM分类器
9.数据集格式VOC,COCO
10.云平台的使用 -colab
11.triplet_loss:
triplet是一个三元组,这个三元组是这样构成的:从训练数据集中随机选一个样本,该样本称为Anchor,然后再随机选取一个和Anchor (记为x_a)属于同一类的样本和不同类的样本,这两个样本对应的称为Positive (记为x_p)和Negative (记为x_n),由此构成一个(Anchor,Positive,Negative)三元组。triplet loss的目的就是通过学习,让x_a和x_p特征表达之间的距离尽可能小,而x_a和x_n的特征表达之间的距离尽可能大,并且要让x_a与x_n之间的距离和x_a与x_p之间的距离之间有一个最小的间隔,即Triplet loss可以帮我们学习一种人脸嵌入,使得同一个人的人脸在嵌入空间中尽量接近,不同人的人脸在嵌入空间中尽量远离。
Tensorflow实现Triplet Loss
12.
L1标准化:每个元素/L1范数
L2标准化:每个元素/L2范数
12.损失函数:
损失函数的定义:衡量模型模型预测的好坏,损失函数就是用来表现预测与实际数据的差距程度。
损失函数(loss function)是用来估量你模型的预测值f(x)或叫y_hat与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。
常用的损失函数:softmax,交叉熵
详见 损失函数
13.sigmoid函数,softmax,交叉熵
深层神经网络的搭建这里面有讲到。
常用的特征层激活函数relu,输出层激活函数softmax、sigmoid,激活函数是一种非线性函数,它是衡量网络深度的标准。
14.SGD
15.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)