一、神经网络基础
从loss曲线和accuracy来判断如何调整训练参数
1、loss曲线:步长、学习率、batch size
曲线特点:
- 这个整体的线,刚开始平滑,后面近似于线性下降,而我们更期待的是一开始非线性下降,后面逐渐平滑,而非刚开始平滑。(学习率)
- 震动很大(batch size)
学习率:初始的时候调大,则开始的时候就可以快速下降,当然学习率并非一成不变
batch size:采样的样本不够大,所以会有很大的震荡
2、accuracy
从曲线来判断是 overfitting 还是under fitting,这里训练和验证的accuracy基本一致,不存在过拟合和欠拟合的问题。
调整参数之后:
基于硬件的资源问题,也没有办法把batch size调的很大。
二、详解卷积操作
两个输入:图片+卷积核
横向滑动
卷积背后的物理意义:向量的内积,其实就是相似性或相关性,卷积就是算模板和覆盖区域的相关性,计算图中每个位置和模板的相关性
卷积后的结果物理意义:计算整个图片中每个位置和模板的内积,得到的结果就是每个位置和这个模板的相似性,相关性比较大的,得到的值都会比较大,也是我们想要得到的特征。
卷积神经网络的目的:寻找很多能够提取不同类型特征的模板,这个模板也就是一种特征。基于数据驱动的方式,来获得很好的模板。
传统的不同卷积模板:
卷积神经网络:输入层+卷积层+激活层+池化层+FC
池化:卷积神经网络中有很多参数是冗余的,可以进行一定的筛除
三、海洋鱼类分类
问题:训练数据少,有过拟合的风险
解决:迁移学习,fine-tuning,让小的lr,让网络来学习
新加的一层,随机初始化后添加到后面。
迁移学习的应用场景:所需要解决的问题与之前的模型解决的问题相关,且数据较少。
步骤:
一层层推进的意义:数据过少,打开所有的层会过拟合
越靠前的层学到的特征:通用性的特征
越靠后的层学到的特征:专用型的特征