一 机器如何学习
机器学习就是通过自身运行,习得(学习)事物的规律和事物间的关联
让一段程序了解客观世界变化万千的事物,则必须将这些事物数值化,将事物的变化和不同事物之间的关联转化为运算
说到数值,大家可能本能地想到 int、double、 float……但实际上,如果将一个语言要素对应成一个标量的话,太容易出现两个原本相差甚远的概念经过简单运算相等的情况。
假设“苹果“被转化为2,而“香蕉”被转化为4,难道说两个苹果等于一个香蕉吗?
因此,一般在处理时会将自然语言转化成 n 维向量(独热模式就是典型代表)。只要转化方式合理,规避向量之间因为简单运算而引起歧义的情况还是比较容易的。
概念 <-> 数值、关系 <-> 运算的映射,造就了机器可以自主学习获得事物规律的可能
二 什么是深度学习
Deep Learning is a subfield of machine learning
concerned with algorithms inspired by the structure
and function of the brain called artificial neural
networks
深度学习不是某一种模型,而是一种框架,一类方法论的集合,是一种“加深”的思想
- 传统机器学习经典算法:
Linear Regression
Logistic Regression
LDA
LVQ
Naive Bayes
KNN
Random Forest
Decision Tree
SVM
Boosting&AdaBoost
- 数据增强技术:
GAN
mixup
Label smooth
RandAugment
mosaic
dropout
cutout
cutmix
Augmix
MoEx
- 常用的三个数据增强库:
imgaug
albumentations
torchvision
补充:
几何增强:水平、垂直翻转、旋转、缩放、平移、裁剪、透视变换、仿射变换等;
颜色增强:对比度、亮度、饱和度,色彩空间转换、颜色抖动,通道混洗、随机擦除、填充,叠加噪声等;
- 常用的学习衰减策略:
StepLR
MultiStepLR
ExponentialLR
CosineAnnealingLR
ReduceLROnPlateau
- 归一化技术
BN
GN
LN
GN
FRN
- 优化算法
SGD
Adam
RMSprop