AI產品開發的核心原則:以研究爲核心驅動

作爲核心驅動的研究:研究環境

不管你的組織規模如何,只要你正在開發機器學習或人工智能產品,那麼你的核心資產就是研究專業人員、數據科學家或人工智能科學家,無論他們的學術背景如何。盲目地使用軟件庫開發模型並不能解決產品部署後可能遇到的問題。比如,即使你需要進行簡單的超參數搜索,這也很容易最後被迫讓位於研究。爲什麼會這樣呢?因爲很可能沒有人嘗試過使用你的數據集構建模型或者嘗試過建模任務,你可能需要一種新的方法,與機器學習庫提供的方法不同。從機器學習庫的最簡單的不同角度或偏差就可以產生一個研究問題。

  • 沒有完整的“黑匣子”的方法。
  • 不要盲目使用軟件庫。
  • 具備數學和算法方面的知識和技能。

image

人工智能產品開發的核心原則示意圖

將研究代碼和生產代碼分開

軟件開發是機器學習產品開發不可或缺的一部分。然而在研究過程中,代碼開發可能會變得問題多多,而科學家,即使是非常優秀的軟件開發人員,最終也會編寫出難以理解的槽糕代碼。如果對結果的再現性和健壯性有信心的話,產品代碼就應該用高質量的軟件工程原則重新編寫。

數據標準化:發佈用於研究的數據集

機器學習產品的一個冷啓動問題是,在進行任何類似的研究工作之前就發佈和設計數據集。當然,這必須與行業需求保持一致。想象一下用於基準測試的數據集,比如MINST或imagenet。發佈的數據集將是任何模型構建或產品開發的第一步,並將構成數據產品本身。數據版本控制也是必須的。

不要癡迷工作流:所有的工作流都是特別的

沒有所謂的普遍或通用的工作流。工作流取決於人們對流程和步驟的理解。人類的理解是基於語言的基礎上,而在語言學上,並沒有所謂的通用語言,至少通用語法還不實用。對研究步驟來說,寬鬆定義的步驟就足夠了。然而,一旦投入生產,那麼可能就需要更爲嚴格的工作流設計,但是要注意,所有的工作流都是特別的。

不要爲核心數據科學進行敏捷迭代

敏捷軟件開發適用於軟件開發創新。Sprint(敏捷迭代)或Agile(敏捷開發)並不適用於人工智能研究環境,因爲它是一種不同於軟件工程的創新。如果認爲敏捷開發是進行科學創新的一種方法,那就是天真的一廂情願了。通過演示和詳細的技術報告來構建研究小組,定期審查併發布成果,這種形式更適合在小型研討會上進行數據科學研究。還可以提出一個簡單的提案來決定投資方向,類似於研究提案。

反饋:服務到業務決策再到研究

使用機器學習技術的服務應該會產生更多的數據。第一個服務監控是A/Null測試,這意味着在沒有人工智能產品的情況下會發生什麼。對服務數據的詳細分析將爲業務和研究帶來更多的洞見。

  • 產生影響評估:A/Null測試
  • 服務質量:服務質量基本上可以根據機器學習模型的成功程度來衡量,這必須是技術性的。

結論和展望

須知天下沒有免費的午餐,開發人工智能產品這樣的事情並不會很快就會實現完全的自動化。誠然,工具可以極大地提高生產力,但是想要人工智能取代數據科學家或人工智能科學家遠非現實,至少目前如此。如果你正在人工智能產品上投資,那麼,基本上可以說你就是在覈心研究方面進行投資,忽略重要的這一點的話,可能會讓你的組織爲此付出高昂的代價。它們的基本核心原則或者變化有可能有助於維持人工智能產品更長時間,並形成相應的團隊。

原文鏈接:

https://memosisland.blogspot.com/2019/01/core-principles-of-sustainable-data.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章