(一)Introduction of Deep Learning

(一)Introduction of Deep Learning
王貔貅什么是机器学习?
Machine Learning ≈ Looking for Function
机器学习就是帮助人类找出一个函数。
不同类型的函数
different types of Functions
Regression(回归):The function outputs a scalar.
Classification(分类):Given options(classes),the function outputs the correct one.
Structured Learning(结构化学习):Create something with structure(image,document).
机器如何自动找一个函数?
Supervised learning(监督学习)
提供训练数据集,数据集包括数据和标签(label)。
缺点:It is not efficient to collect data for each task.(为每个任务收集数据是不高效的。)
Self-supervised Learning(自监督学习)
将大量未标注的数据(unlableed datas)交给机器学习一些基本能力,它可以在我们真正关心的任务上(Downstream Tasks,下游任务)得到好的结构。
在训练之前,模型先进行 Pre-train,使之在新的任务上做得更好。Pre-train 中使用的是没有标记的资料,得到 Pre-trained Model,最终结果是在下游任务(真正要做的任务)上能得到好的结果。
Pre-trained Model(Foundation Model)
无监督学习
通过Generative Adversarial Network(GAN,生成对抗网络),只需收集大量输入输出,而不需要他们的成对关系,也不需要他们是相关的关系,训练后的机器就能自动实现输入到输出的转换。
Reinforcement Learning(RL,强化学习)
当人们不知道如何标注数据,但可以定义或判断好坏时,可以使用强化学习。
正确率之外的进阶目标
Anomaly Detection(异常检测)
机器能够发现异常的输入数据。让机器具有回答“我不知道”的能力。
Explainable AI(可解释AI)
机器可以得到答案,同时可以解释为什么得出这样的结果。
Model Attack(模型攻击)
添加扰动后的对抗样本使得模型分类错误。
Transfer Learning(迁移学习)
当测试样本与训练样本的分布不是类似的时候,模型依然要有很高的正确率,即 Domain Adaptation(领域自适应)。
Network Compression(网络压缩)
当计算资源等有限时,需要对模型进行压缩。
Life-long Learning(终身学习)
无法训练一个学会所有技术、能够“统治”人类的机器。
Meta Learning(元学习)
让机器学习如何学习。机器从大量任务、过去的经验中,发明新的算法进行训练。可以达到只用少量标注的样本就能进行学习(Few-shot Learning,小样本学习)。
Few-shot Learning is usually achieved by meta-learning.
机器学习的三个步骤(Training 训练)
1. Function with Unknown Parameters.(带有未知参数的函数)
给出一个带有未知参数的函数。比如模型为 ,其中 是特征, 是模型的预测值(注意这里的 不是标签,标签是正确的数值),和特征相乘的未知参数 是权重(weight),最后加上的未知参数 是偏置(bias)。
2. Define Loss from Training Data.(从训练数据中定义损失)
Loss is a function of parameters. (损失是一个参数的函数。)
Loss:how good a set of values is.
比如定义 Loss 函数为 ,损失函数是关于模型中的未知参数的函数,损失函数表示模型预测值和真实值之间的差距。Loss 函数可以选择为平均绝对值误差、平均平方误差、交叉熵( 是概率分布时)等,根据对具体任务的要求进行选择。Loss 函数值越小表明参数越好。
3. Optimization(最优化)
Gradient Descent(梯度下降法)
每一次更新,参数的变化由学习率和偏导(梯度值)两方面决定。
注:关于梯度和偏导数的关系,在此处,梯度是各个维度上的偏导数(标量)构成的向量,在一维情况下,可以认为偏导数和梯度是等价的。
说明:从理论上来说,梯度下降法可能会有仅仅是收敛到局部最优解的问题,不过李老师说在实际中不是问题(原因之后解释)。
learning rate(学习率)
hyperparameters(超参数):包括学习率在内的需要自己设置的参数叫做超参数。
对模型进行修改:对模型进行的修改来自于对问题的理解(domain knowledge),用相对复杂的模型可以使得学习效果更好。
深度学习
Linear model have severe limitation. Model Bias
需要一个更复杂、更有弹性 有未知参数的 Function。
Sigmoid Function
上图所示的 sigmoid function
是一种 soft sigmoid function
,而如果函数图像的中间也是直线则是 hard sigmoid function
。
用多个 sigmoid function 和一个常数项进行叠加可以逼近任何折线函数,而曲线函数又可以近似为无穷多个折线,故用多个 sigmoid function 和一个常数项进行叠加可以逼近任何函数。
New Model:More Features
New Loss
定义新的损失函数为 ,其中 代表所有未知参数。
Optimization of New Model
在实际训练过程中,往往会将训练数据分成很多批(batch),对每一个 batch 都会计算一个 Loss 函数,计算一个梯度并进行更新,对所有的 batch 完成一次计算叫做一轮(epoch)。
ReLU
Deep Learning
Neural Network(神经网络)
hidden layer(隐藏层)
Deep = Many hidden layers
只要有足够多的 sigmoid、ReLU 就可以逼近任何的 Function。