超参数:超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。
马尔科夫:当前时刻的状态只跟上一时刻的状态相关。
高斯分布:多维的正态分布。
重参数技巧:在随机采样中,使采样样本可导,并且不失去随机性。
损失函数(loss function):度量模型的预测值与真实值的差异程度的运算函数,它是一个非负实值函数,损失函数越小,模型的鲁棒性就越好。损失函数也是神经网络中优化的目标函数,神经网络训练或者优化的过程就是最小化损失函数的过程。loss为m个样本的loss均值。
激活函数:一个没有激活函数的神经网络只不过是一个线性回归模型,它不能表达复杂的数据分布。神经网络中加入了激活函数,相当于引入了非线性因素,从而解决了线性模型不能解决的问题。激活函数一般单调可微。参考博客
交叉熵:表达目标与预测值之间概率分布的差异。随着预测越来越准确,交叉熵的值越来越小,如果预测完全正确,交叉熵的值就为0。参考博客1 、参考博客2
噪声:衡量数据集的数据的质量如何,即真实标记与数据集中的实际标记间的偏差,包括错误值和偏离期望的孤立点值。参考博客
批标准化 (Batch Normalization):是将分散的数据统一的一种做法,被添加在每一个全连接和激活函数之间。参考博客
非凸函数:凸函数指的是顺着梯度方向走,函数能得到最优解 ,大部分传统机器学习问题都是凸的。而非凸指的是顺着梯度方向走能够保证是局部最优,但不能保证是全局最优,深度学习以及小部分传统机器学习问题都是非凸的。非凸函数通常有鞍点(即损失函数的一阶导数为 0 的点),我们可以将这些鞍点视为「陷阱」,鞍点的存在阻止梯度下降到最优点,因为梯度下降在导数为 0 时不能向前移动。参考博客
Epoch:当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次epoch。(也就是说,所有训练样本在神经网络中都 进行了一次正向传播 和一次反向传播 )随着epoch数量增加,神经网络中的权重的更新次数也在增加,曲线从欠拟合变得过拟合。
batch szie:将整个训练样本分成若干个Batch,每批样本的大小。GPU对2的幂次的batch可以发挥更佳的性能,因此设置成16、32、64、128…参考博客
GD(Gradient Descent):就是没有利用Batch Size,用基于整个数据库得到梯度,梯度准确。但数据量大时,计算非常耗时,GPU内存撑不住。同时神经网络常是非凸的,网络最终可能收敛到初始点附近的局部最优点。
SGD(Stochastic Gradient Descent):就是Batch Size=1,每次计算一个样本,梯度不准确,所以学习率要降低。如果数据量不大,noise数据存在时,模型容易被noise带偏。增大BATCH_SIZE的大小可以使得梯度方差的大小减小,直接使梯度更加准确。
mini-batch SGD:就是选着合适Batch Size的SGD算法,mini-batch利用噪声梯度,一定程度上缓解了GD算法直接掉进初始点附近的局部最优值。同时梯度准确了,学习率要加大。
Iteration:训练一个Batch就是一次Iteration。公开的神经网络模拟网站
前馈神经网络(Feedforward Neural Network):些地方也会称之为多层感知机(Multilayer Perceptron,MLP),前馈神经网络中数据是从输入层到输出层按照一个方向流动的,中间没有任何循环,这种前向传播的网络区别于循环神经网络(RNN)。
反向传播算法(Backpropagation,缩写为BP):是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。 该方法再前向传播后,将网络输出值与真实值之差(误差)进行回传,对网络中所有权重计算损失函数的梯度, 这个梯度会反馈给最优化方法,用来更新权重以最小化损失函数。“正向传播”求损失,“反向传播”回传误差。参考博客
LSTM:用于解决一般递归神经网络(RNN)中普遍存在的长期依赖问题,使用LSTM可以有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被忽略(遗忘),而且只有一部分的信息需要长期的记忆,而有的信息可以不记下来。同时,我们还需要一套机制可以动态的处理神经网络的“记忆”,因为有的信息可能一开始价值很高,后面价值逐渐衰减,这时候我们也需要让神经网络学会“遗忘”特定的信息。除此之外,LSTM还可以解决RNN中的梯度消失/爆炸问题。参考博客
Embedding:
均方误差(Mean squared error,MSE):
变分自编码器(Variational auto-encoder,VAE):
U-net结构: