BN在深度学习训练和测试阶段的区别?BN在训练时是如何更新参数的? 对于BN,在训练时,是对每一批的训练数据进行归一化,也即用每一批数据的均值和方差。 而在测试时,比如进行一个样本的预测,就并没有batch的概念,因此,这个时候用的均值和方差是全量训练数据的均值和方差,这个可以通过移动平均法求得。 对于BN,当一个模型训练完成之后,它的所有参数都确定了,包括均值和方差,gamma和bata。 蓝海大脑为满足深度学习BN平台用户的需要,经过多年的努力,成功研发出集支持一键式部署;支持多种CPU、GPU多种部署模式;无缝对接对象存储海量训练数据等优点为一体的 阅读全文 → 2023-01-04
XGBoost和LightGBM的区别是什么? xgboost采用的是level-wise的分裂策略,而lightGBM采用了leaf-wise的策略,区别是xgboost对每一层所有节点做无差别分裂,可能有些节点的增益非常小,对结果影响不大,但是xgboost也进行了分裂,带来了不必要的开销。 leaft-wise的做法是在当前所有叶子节点中选择分裂收益最大的节点进行分裂,如此递归进行,很明显leaf-wise这种做法容易过拟合,因为容易陷入比较高的深度中,因此需要对最大深度做限制,从而避免过拟合。 lightgbm使用了基于histogram 阅读全文 → 2023-01-04
XGBoost与GBDT的区别有哪些? 传统的高性能GBDT以重组CART蛋白树作为基学习器,XGBoost还支持线性分类器,这个时候XGBoost相当于L1和L2正则化的逻辑斯蒂回归(分类)或者线性回归(回归);传统的GBDT在优化的时候只用 阅读全文 → 2023-01-04
高性能计算GBDT的原理是什么? GBDT是梯度提升决策树,是一种基于Boosting的算法,采用以决策树为基学习器的加法模型,通过不断拟合上一个弱学习器的残差,最终实现分类或回归的模型。关键在于利用损失函数的负梯度在当前模型的值作为残差的近似值,从而拟合一个回归树。对于分类问题:常使用指数损失函数;对于回归问题:常使用平方误差损失梯度函数(此时,其负梯度就是通常意义的残差),对于一般损失函数来说就是残差的近似。 阅读全文 → 2023-01-03
GRU与LSTM的区别是什么? (1)LSTM和GRU的性能在很多任务上不分伯仲; (2)GRU参数更少,参数少了1/3,因此更容易收敛,但是在大数据集的情况下,LSTM性能表现更好; (3)GRU 只有两个门(update和reset),LSTM 有三个门(forget,input,output),GRU 直接将hidden state 传给下一个单元,而 LSTM 用memory cell 把hidden state 包装起来。 阅读全文 → 2023-01-03
并行训练的时候有哪些方法加快训练速度? 数据并行:将一大块数据切成小份,分发给几个完全相同模型,分别训练,之后聚合梯度。 模型并行:模型太大,一张卡放不下,要放到多张卡上去。 阅读全文 → 2023-01-03