《21天实战Caffe》学习笔记第7天
练习题1:Caffe源码中一些宏的原始定义
NOT_IMPLEMENTED
1
| #define NOT_IMPLEMENTED LOG(FATAL) << "Not Implemented Yet"
|
INSTANTIATE_CLASS
1 2 3 4
| #define INSTANTIATE_CLASS(classname) \ char gInstantiationGuard##classname; \ template class classname<float>; \ template class classname<double>
|
练习题3:推导BNLL layer的误差反向传播公式
BNLL layer的激活函数为
φ(x)=x+ln(1+e−x),x>0
φ(x)=ln(1+ex),x⩽0
对激活函数求导
事实上,激活函数可以写成统一的形式
φ(x)=ln(1+ex)
求导
φ′(x)=1+exex
计算反向误差公式
反向误差=后一层的反向误差*激活函数导数,即
δ(l)=δ(l+1)1+exex