當深度學習遇上敏捷開發,會發生怎樣的“化學反應”?
說出來你可能不信,有一種從軟體開發領域誕生的思維方式,自誕生以來就一直深遠地影響著我們日常的工作和生活。這就是“敏捷方法”,即軟體開發領域的“敏捷軟體開發”(Agile Software Development)。
2001年初,十幾位來自美國各個軟體開發的細分領域的代表們共同簽署了一份名為《敏捷軟體開發宣言》(Manifesto for Agile Software Development)的檔案,標誌著這一全新的軟體開發方式的誕生(或者也可以稱其為一種思維方式)。
敏捷開發包含的內容十分豐富,總體上要求客戶參與到整個的開發中,開發者需要根據客戶的需求靈活變更程式碼,採用迭代、循序漸進的方法持續整合,提供持續可用的版本。事實證明,隨著軟體規模和複雜度的升高,在現實生活中成功應用於工廠生產的那一套瀑布式流程並不適合於軟體開發。而敏捷開發正是為了解決瀑布式開發帶來的諸多問題而提出的。
將敏捷開發應用於深度學習
事實上,敏捷開發自提出以來就一直在進行演變,而且目前正向著自動化的方向演變。隨著這種自動化的引入,所謂“持續整合”和“持續開發”的概念將得以真正做到“持續不間斷”。換句話說,當人們清楚地認識到究竟哪些環節適合於自動化實現,併成功地將自動化過程應用於強化人類的日常工作,敏捷方法才能發揮其最大的優勢。
就好像對於初創公司來說,敏捷方法幾乎已經成為了他們的必修課。正是基於敏捷方法的核心理念,越來越多的創業公司開始嘗試在一次又一次的商業計劃迭代中,過濾那些潛在客戶最感興趣的反饋,然後基於這些反饋靈活調整公司的發展方向,從而獲得商業的成功。也就是說,針對那些缺少發展規劃的初創公司來說,這種“精益求精”的取巧過程顯然是更明智的做法。
如果說敏捷方法已經遍及所有的開發過程,那麼將深度學習應用於現實場景的關鍵就變成了:瞭解它在敏捷開發環境中具體的適用位置。也就是說,要把深度學習應用在一個具體流程中,開發者應該清楚地認識到原本的人工流程具體是怎樣的,然後尋找其中可以進行自動化的部分進行強化,而不是簡單粗暴地追求所謂取代人類。在反覆的迭代中,當所有的流程都被自動化之後,完全取代人類才具有實際意義。
例如,深度學習作為與人類溝通的媒介就得到了很好的應用,目前已經成功應用在語音識別和手勢理解。在這種情況下,深度學習本質上成為了一種全新的使用者介面(UI),一個允許使用者靈活排程當前任務的UI環境。這就是一個典型的例子,將深度學習應用在一個具體的環節,而不是完全取代人類。
然而,目前許多企業還停留在將深度學習(甚至機器學習和人工智慧)簡單地看成一種預測工具的階段,他們認為深度學習只是一種資料科學家們用來輔助研究的工具。但事實上,深度學習的現實應用場景要寬泛得多。雷鋒網雷鋒網(公眾號:雷鋒網)
深度學習的能力分類
目前,基於持續整合的敏捷方法,大體可以將深度學習的能力分為以下兩種型別:輔助型和生產型。前者將自動化應用在了某些特定的環節,而後者近乎取代了人類。
其中輔助型的能力目前可以說已經非常普遍了。例如輸入法的自動更正和建議輸入,有些相機具有的智慧背景虛化功能,以及軟體開發環境中對程式碼的自動更正、錯誤檢查、程式碼質量評估甚至漏洞檢測等。
可以看到,這種輔助型能力可以實時得到結果或者在後臺執行。在這種型別的應用裡,深度學習可以幫助我們執行重複的和耗時的任務,例如對照片進行排序和分類等。在某些特定領域,這種資訊的組織和分析能力非常重要。通常可以將海量資訊分解成易於分析的小體量資訊塊來強化訓練這一能力。
相對於輔助型能力,生產型是一種更全面的自動化,並且正在變得越來越普及。近期,傳播非常廣泛的Prisma就是一個例子(如下圖所示,Prisma軟體能夠將照片重新渲染為不同藝術家的風格)。
這就是生產型能力的典型示例。就像“頭腦風暴”那樣,我們可以利用深度學習的這種能力遍歷一個設計空間的所有可能性。例如應用在規劃和執行領域時,就可以依靠這種能力遍歷所有的可選項,然後向使用者提供一個詳細的選擇列表。目前,針對這一能力的應用具有非常廣闊的探索空間。例如此前報導的利用深度學習來進行工業設計,或者利用深度學習來設計遊戲,就是幾種未來可能的發展方向。
來源:medium,由雷鋒網編譯
【兼職召集令!】
如果你對未來充滿憧憬,喜歡探索改變世界的科技進展,look no further!
我們需要這樣的你:
精通英語,對技術與產品感興趣,關注人工智慧學術動態的蘿莉&萌妹子&技術宅;
文字不求妙筆生花,但希望通俗易懂;
在這裡,你會收穫:
一群來自天南地北、志同道合的小夥伴;
前沿學術科技動態,每天為自己充充電;
更高的生活品質,翻翻文章就能掙到零花錢;
有意向的小夥伴們把個人介紹/簡歷發至 guoyixin@leiphone.com,如有作品,歡迎一併附上。
本文作者:恆亮
本文轉自雷鋒網禁止二次轉載,原文連結
相關文章
- 當樹莓派遇上物聯網,會發生怎樣的化學反應?樹莓派
- 當國際貿易撞上AI,會產生怎樣的化學反應?AI
- 深度強化學習技術開發與應用強化學習
- Scrum敏捷開發學習心得Scrum敏捷
- 當RPA遇上AI,會擦出怎樣的火花?AI
- 轉行做Java開發應該怎樣學習?Java
- 國內首個深度學習開發者盛會! 深度學習開發者峰會開幕倒數計時深度學習
- 當 RocketMQ 遇上 Serverless,會碰撞出怎樣的火花?MQServer
- 深度學習 | 如何開發、部署 Serverless 應用?深度學習Server
- 當 .NET 5 遇上OpenTelemetry,會碰撞出怎樣的火花?
- 深度學習及深度強化學習應用深度學習強化學習
- 當雜湊表遇上鍊表會發生什麼呢?
- 當Spark遇上TensorFlow分散式深度學習框架原理和實踐Spark分散式深度學習框架
- 《黑貓警長》正版手遊今日首發,經典IP+塔防會有怎樣的化學反應?
- 2020年學習安卓開發的前途怎麼樣?安卓
- 【機器學習】深度學習開發環境搭建機器學習深度學習開發環境
- 怎樣在敏捷開發中做到“事半功倍”敏捷
- 當計算機圖形學遇上深度學習,針對3D影像的TensorFlow Graphics面世計算機深度學習3D
- 怎樣學好web前端開發Web前端
- 學習Java軟體開發的就業前景怎麼樣Java就業
- 深度學習開發必備開源框架深度學習框架
- 遊戲公司的領導,應當怎樣善待開發者?遊戲
- web前端開發怎麼樣學習?看這份web前端學習路線Web前端
- 小白如何學習大資料開發,大資料學習路線是怎樣的?大資料
- 深度學習發展史深度學習
- 轉行學Java開發怎麼樣?Java
- 怎樣做好教學直播app開發APP
- 人人都能用的深度學習:當前三大自動化深度學習平臺簡介深度學習
- 後端開發學習敏捷需求-->產品價值的定位後端敏捷
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- [AI開發]深度學習如何選擇GPU?AI深度學習GPU
- 谷歌JAX深度學習開發環境搭建谷歌深度學習開發環境
- ICCV 2023 | 當尺度感知調製遇上Transformer,會碰撞出怎樣的火花?ORM
- 什麼人適合學習web前端?怎樣學好web前端開發?Web前端
- 深度學習及深度強化學習研修深度學習強化學習
- 強化學習的框架化,會引爆AI開發的新腦洞嗎?強化學習框架AI
- web前端開發自學路線是怎樣的?html+css+JavaScript的學習方法Web前端HTMLCSSJavaScript
- 哥本哈根兩學生開發新模型,預測深度學習演算法碳排放量模型深度學習演算法
- 深度學習發展歷史深度學習