3.10 深度学习框架-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
| 3.9 訓(xùn)練一個(gè) Softmax 分類器 | 回到目錄 | 3.11 TensorFlow |
深度學(xué)習(xí)框架 (Deep Learning Frameworks)
你已經(jīng)差不多從零開始學(xué)習(xí)了使用Python和NumPy實(shí)現(xiàn)深度學(xué)習(xí)算法,很高興你這樣做了,因?yàn)槲蚁M憷斫膺@些深度學(xué)習(xí)算法實(shí)際上在做什么。但你會(huì)發(fā)現(xiàn),除非應(yīng)用更復(fù)雜的模型,例如卷積神經(jīng)網(wǎng)絡(luò),或者循環(huán)神經(jīng)網(wǎng)絡(luò),或者當(dāng)你開始應(yīng)用很大的模型,否則它就越來(lái)越不實(shí)用了,至少對(duì)大多數(shù)人而言,從零開始全部靠自己實(shí)現(xiàn)并不現(xiàn)實(shí)。
幸運(yùn)的是,現(xiàn)在有很多好的深度學(xué)習(xí)軟件框架,可以幫助你實(shí)現(xiàn)這些模型。類比一下,我猜你知道如何做矩陣乘法,你還應(yīng)該知道如何編程實(shí)現(xiàn)兩個(gè)矩陣相乘,但是當(dāng)你在建很大的應(yīng)用時(shí),你很可能不想用自己的矩陣乘法函數(shù),而是想要訪問(wèn)一個(gè)數(shù)值線性代數(shù)庫(kù),它會(huì)更高效,但如果你明白兩個(gè)矩陣相乘是怎么回事還是挺有用的。我認(rèn)為現(xiàn)在深度學(xué)習(xí)已經(jīng)很成熟了,利用一些深度學(xué)習(xí)框架會(huì)更加實(shí)用,會(huì)使你的工作更加有效,那就讓我們來(lái)看下有哪些框架。
現(xiàn)在有許多深度學(xué)習(xí)框架,能讓實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)變得更簡(jiǎn)單,我們來(lái)講主要的幾個(gè)。每個(gè)框架都針對(duì)某一用戶或開發(fā)群體的,我覺得這里的每一個(gè)框架都是某類應(yīng)用的可靠選擇,有很多人寫文章比較這些深度學(xué)習(xí)框架,以及這些深度學(xué)習(xí)框架發(fā)展得有多好,而且因?yàn)檫@些框架往往不斷進(jìn)化,每個(gè)月都在進(jìn)步,如果你想看看關(guān)于這些框架的優(yōu)劣之處的討論,我留給你自己去網(wǎng)上搜索,但我認(rèn)為很多框架都在很快進(jìn)步,越來(lái)越好,因此我就不做強(qiáng)烈推薦了,而是與你分享推薦一下選擇框架的標(biāo)準(zhǔn)。
一個(gè)重要的標(biāo)準(zhǔn)就是便于編程,這既包括神經(jīng)網(wǎng)絡(luò)的開發(fā)和迭代,還包括為產(chǎn)品進(jìn)行配置,為了成千上百萬(wàn),甚至上億用戶的實(shí)際使用,取決于你想要做什么。
第二個(gè)重要的標(biāo)準(zhǔn)是運(yùn)行速度,特別是訓(xùn)練大數(shù)據(jù)集時(shí),一些框架能讓你更高效地運(yùn)行和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
還有一個(gè)標(biāo)準(zhǔn)人們不常提到,但我覺得很重要,那就是這個(gè)框架是否真的開放,要是一個(gè)框架真的開放,它不僅需要開源,而且需要良好的管理。不幸的是,在軟件行業(yè)中,一些公司有開源軟件的歷史,但是公司保持著對(duì)軟件的全權(quán)控制,當(dāng)幾年時(shí)間過(guò)去,人們開始使用他們的軟件時(shí),一些公司開始逐漸關(guān)閉曾經(jīng)開放的資源,或?qū)⒐δ苻D(zhuǎn)移到他們專營(yíng)的云服務(wù)中。因此我會(huì)注意的一件事就是你能否相信這個(gè)框架能長(zhǎng)時(shí)間保持開源,而不是在一家公司的控制之下,它未來(lái)有可能出于某種原因選擇停止開源,即便現(xiàn)在這個(gè)軟件是以開源的形式發(fā)布的。但至少在短期內(nèi),取決于你對(duì)語(yǔ)言的偏好,看你更喜歡Python,Java還是**C++**或者其它什么,也取決于你在開發(fā)的應(yīng)用,是計(jì)算機(jī)視覺,還是自然語(yǔ)言處理或者線上廣告,等等,我認(rèn)為這里的多個(gè)框架都是很好的選擇。
程序框架就講到這里,通過(guò)提供比數(shù)值線性代數(shù)庫(kù)更高程度的抽象化,這里的每一個(gè)程序框架都能讓你在開發(fā)深度機(jī)器學(xué)習(xí)應(yīng)用時(shí)更加高效。
課程PPT
| 3.9 訓(xùn)練一個(gè) Softmax 分類器 | 回到目錄 | 3.11 TensorFlow |
總結(jié)
以上是生活随笔為你收集整理的3.10 深度学习框架-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3.9 训练一个 Softmax 分类器
- 下一篇: 3.11 TensorFlow-深度学习