关于用CUDA优化三层反传神经网络算法
2011-10-23 16:34
411 查看
把bp算法改写成了CUDA代码,用卡内基梅隆大学的人脸识别图片套尝试了一下人脸识别,对比cpu的速度其实是下降了一倍左右。
原因是这个图像处理只需要用到3个隐藏神经元,缺需要12000个输入神经元。数据copy和运算量的对比才刚达到1比3,根本没用上cuda的优势。
把隐藏神经元数量增加到30个之后,优势就非常明显地体现出来了。cpu算法消耗的时间成倍上涨,而cuda基本不怎么涨。但是也是存在问题的,当隐藏神经元数量进一步上涨之后,cpu算法也就是更慢而已,但是cuda则直接驱动程序失去响应导致程序退出屏幕黑屏了,鲁棒性非常差。
总体来说cuda在神经网络算法上较难体现巨大优势,下次还是用openmp来试试。不过这种多线程编程实在是太累人,一个非常简单短小的cpu程序要经过好几个步骤才能搞成多线程程序,最后收益却并不是特别明显。下次隐藏神经元多的时候再体验一下。
原因是这个图像处理只需要用到3个隐藏神经元,缺需要12000个输入神经元。数据copy和运算量的对比才刚达到1比3,根本没用上cuda的优势。
把隐藏神经元数量增加到30个之后,优势就非常明显地体现出来了。cpu算法消耗的时间成倍上涨,而cuda基本不怎么涨。但是也是存在问题的,当隐藏神经元数量进一步上涨之后,cpu算法也就是更慢而已,但是cuda则直接驱动程序失去响应导致程序退出屏幕黑屏了,鲁棒性非常差。
总体来说cuda在神经网络算法上较难体现巨大优势,下次还是用openmp来试试。不过这种多线程编程实在是太累人,一个非常简单短小的cpu程序要经过好几个步骤才能搞成多线程程序,最后收益却并不是特别明显。下次隐藏神经元多的时候再体验一下。
相关文章推荐
- 深度学习笔记6:神经网络优化算法之从SGD到Adam
- 神经网络优化算法选择
- 【machine-learning;】关于电力系统的数据分析(LM神经网络算法)
- 神经网络优化算法
- 2.改善深层神经网络-第二周 优化算法
- 机器学习(11.2)--神经网络(nn)算法的深入与优化(2) -- QuadraticCost、CorssEntropyCost、SoftMax的javascript数据演示测试代码
- 神经网络(优化算法)
- 神经网络(优化算法)
- 三层神经网络自编码算法推导和MATLAB实现 (转载)
- 遗传算法优化神经网络小车自动寻路走出迷宫(3) 结果演示
- 前沿 | 利用遗传算法优化神经网络:Uber提出深度学习训练新方式
- NN:神经网络算法进阶优化法,进一步提高手写数字识别的准确率—Jason niu
- CNN:人工智能之神经网络算法进阶优化,六种不同优化算法实现手写数字识别逐步提高,应用案例自动驾驶之捕捉并识别周围车牌号—Jason niu
- 机器学习(11.3)--神经网络(nn)算法的深入与优化(3) -- QuadraticCost(二次方代价函数)数理分析
- Tensorflow基础:神经网络优化算法
- 神经网络优化算法如何选择Adam,SGD
- [DeeplearningAI笔记]改善深层神经网络_优化算法2.6_2.9Momentum/RMSprop/Adam优化算法
- 吴恩达神经网络和深度学习课程自学笔记(六)之优化算法
- 机器学习(11.4)--神经网络(nn)算法的深入与优化(4) -- CorssEntropyCost(交叉熵代价函数)数理分析与代码实现
- 关于神经网络算法的 Python例程