基于Tensorflow对卷积神经网络的优化研究
2020-01-06郭敏钢
郭敏钢,宫 鹤
1.吉林农业大学 信息技术学院,长春130118
2.吉林农业大学 吉林省智能环境工程研究中心,长春130118
3.吉林农业大学 吉林省农业物联网科技协同创新中心,长春130118
1 引言
随着深度学习[1]的不断发展,目前的机器学习框架也是层出叠见,例如:Tensorflow[2]、Theano、Keras、Caffe、Torch、DeepLearning4J 等等。首选Tensorflow 作为研究机器学习框架的原因,是其在对比同类机器学习框架的可用性、灵活性、效率、支持等方面都有着优异的表现。
卷积神经网络[3-5]作为一种广泛的深度学习方法,在Google 研发的Alphago[6]以及图像分类、视频及声音识别[7]、目标检测[8-9]、医学研究[10]等方面都取得了显著的效果和极高的效率。
卷积神经网络的优秀性能表现不仅需要像Tensorflow这样的良好的深度学习框架支撑,还要依赖较为出色的计算设备支撑。随着深度学习的不断发展,卷积神经网络计算模型的复杂度也随之增加,使得模型训练的难度及耗时呈指数倍增长,单CPU 或单GPU 设备甚至已经无法解决复杂网络模型的训练耗时问题。为此,本文提出了一种异构式CPU+GPU的协同计算模型,根据CPU逻辑运算强及GPU 费逻辑运算强的特点,将网络模型计算任务按模块分配到CPU 与GPU 设备上运行,通过耗时对比分析得出异构式CPU+GPU[11-12]的协同计算模型要明显优于单CPU或单GPU计算模型。有效地提高了卷积神经网络的训练速度。
激活函数在卷积神经网络中扮演着重要的角色,其作用是将神经元的输入映射到输出端,常见的激活函数包括Sigmoid、TanHyperbolic(Tanh)、ReLU、PReLU、Softplus、ELU、Softsign、Swish等。其中,早期的Sigmoid激活函数、TanHyperbolic(Tanh)激活函数、Softsign激活函数均为S型非线性饱和函数,在模型训练中极易造成梯度消失现象。……
