零散知识点整理(一)
端到端的学习end-to-end learning:
- 传统机器学习的流程往往由多个独立的模块组成,比如在一个典型的自然语言处理(Natural Language Processing)问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果,这是非端到端的。
- 深度学习模型在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束,这是端到端的。
- 两者相比,端到端的学习省去了在每一个独立学习任务执行之前所做的数据标注,为样本做标注的代价是昂贵的、易出错的。
梯度下降Gradient Descent和随机剃度下降Stochastic Gradient Descent
梯度下降是计算所有样本总的损失函数,随机剃度下降是在所有样本中随机选取一个计算损失函数。
-
一次将所有图片输入到网络中学习,这种做法就叫batch梯度下降
-
与batch对应的另一种极端方法是每次就只输入一张图片进行学习,我们叫随机梯度下降
-
介于batch梯度下降和随机梯度下降之间的就是mini-batch梯度下降:将待训练数据分割成若干份,一次学习一份。
反向传播
先正向计算: ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z, ∂ z ∂ w \frac{\partial z}{\partial w} ∂w∂z,