1. 程式人生 > >[原始碼和文件分享]基於CUDA的卷積神經網路演算法實現

[原始碼和文件分享]基於CUDA的卷積神經網路演算法實現

摘 要

卷積神經網路是近年來人工智慧領域取得重大突破的一種重要手段,給出了影象識別、語音識別和自然語言處理領域中關鍵問題的優化解決方案,尤其適合處理影象方面的任務,如人臉識別和手寫體識別。手寫數字識別是用卷積神經網路解決的經典問題,採用一般方法訓練出來的神經網路達到了97%的識別率,幾乎與人類的識別精度一致,但在執行速度上沒有人類識別得快。在實際商業應用中不可避免地會遇到資料量過大的問題,如在手寫數字識別中有60000條規格為28*28單位畫素的訓練樣本需要訓練,這樣會導致執行速度較慢,CPU在處理這樣包含大量高精度浮點數的任務時,其消耗的時間是不可接受的,在訓練期要花費數小時的時間。

針對上述問題,該文將構建基於CUDA架構的程式設計環境,採用CUDA/C++程式設計實現卷積神經網路演算法,將卷積神經網路演算法應用於手寫數字識別問題中,在選擇合適的網路模型和相關引數的情況下,利用GPU的高度併發效能,提高卷積神經網路訓練資料的速度。通過對GPU實現和CPU實現進行對比實驗,驗證對卷積神經網路演算法進行CUDA並行化訓練和識別是可行有效的,實驗表明在普通PC機上採用GPU實現的卷積神經網路演算法比CPU實現的卷積神經網路演算法雖然在準確率上僅提升了0.29%,但在速度上加快了15%。

關鍵詞:CUDA,卷積神經網路,深度學習,平行計算

 


參考文件和完整的文件和原始碼下載地址:

https://www.write-bug.com/article/1773.html