机器学习
yolo5代码学习
FLOPs,Floating point operations 浮点运算数量。1 GFLOPs = 10^9 FLOPs 即:10亿次浮点运算。
FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
描述一个深度学习框架/模型,除了他的精确度,通常用Forward Pass计算量和参数个数(#Parameters)来描述复杂度,前者描述了所需的计算力,后者描述了所需内存。
epoch指的是次数,epoch = 10 指的是把整个数据集丢进神经网络训练10次。
batch size 指的是数据的个数,batch size = 10 指的是每次扔进神经网络训练的数据是10个。
iteration同样指的是次数,iteration = 10 指的是把整个数据集分成10次扔进神经网络。
有监督学习的神经网络
𝒐 = 𝑓𝜃(𝒙), 𝒙 ∈ 𝑅𝑑𝑖𝑛 , 𝒐 ∈ 𝑅𝑑𝑜𝑢𝑡
𝑑𝑖𝑛是输入的向量长度,𝑑𝑜𝑢𝑡是网络输出的向量长度。对于分类问题,网络模型通过把长度 为𝑑𝑖𝑛输入特征向量𝒙变换到长度为𝑑𝑜𝑢𝑡的输出向量𝒐,这个过程可以看成是特征降维的过 程,把原始的高维输入向量𝒙变换到低维的变量𝒐。特征降维(Dimensionality reduction)在机 器学习中有广泛的应用,比如文件压缩(Compression),数据预处理(Preprocessing)等。最常 见的降维算法有主成分分析法(Principal components analysis,PCA),通过对协方差矩阵进 行特征分解而得到数据的主要成分,但是PCA 本质上是一种线性变换,提取特征的能力极 为有限。
自动编码器
试着利用数据𝒙本身作为监督信号来指导网络的训练,即希望神经网络 能够学习到映射𝑓𝜃: 𝒙 → 𝒙,我们把网络𝑓𝜃切分为2 个部分,前面的子网络尝试学习映射关 系:𝑔𝜃1 : 𝒙 → 𝒛,后面的子网络尝试学习映射关系ℎ𝜃2 : 𝒛 → 𝒙,我们把𝑔𝜃1看成一个数据编码 (Encode)的过程,把高维度的输入𝒙编码成低维度的隐变量𝒛(Latent variable,或隐藏变量), 称为Encoder 网络(编码器);ℎ𝜃2看成数据解码(Decode)的过程,把编码过后的输入𝒛解码为 高维度的𝒙,称为Decoder 网络(解码器)。