更新的機器學習技術(shù)、更好的編程技術(shù)和更多以數(shù)據(jù)驅(qū)動的技能應(yīng)該會有所作為,而更好的工具將結(jié)果與核心模型相關(guān)聯(lián)也會有所作為。
在我們目前有關(guān)機器學習的所有討論中,常常會忘記重要的一點:由于真正的機器學習應(yīng)該是隱藏在后臺,所以基于機器學習所采取的行為應(yīng)該成為技術(shù)有效性的關(guān)鍵指標。
機器智能不僅可以預(yù)測故障,而且由此可以防止若干次故障的發(fā)生。機器智能不僅可以基于呼叫流量來檢測API結(jié)構(gòu),而且還清楚增加構(gòu)建了多少個API。機器智能不僅可以識別物體,而且可以防止發(fā)生若干次的事故。我想你已明白這一點了??梢哉f,機器智能的真正衡量標準不是準確性和損失(這是一些深度學習傾向選擇的測量標準),而是其對結(jié)果的影響。
我們在從學習模型發(fā)展到對結(jié)果產(chǎn)生影響的過程中存在兩個問題。其一,開發(fā)人員所構(gòu)建的應(yīng)用程序需要衡量該模型對其結(jié)果的影響。其次,他們需要通過輕松整合學習模型來快速構(gòu)建可影響結(jié)果的應(yīng)用程序。
我們先來看看衡量問題。
假設(shè)您正在為一款自動駕駛汽車設(shè)計新的視覺模型。唯一重要的事情是,這個更好的模型是否有助于降低事故發(fā)生,而并非模型本身是否能夠更好或更快地識別物體。
盡管存在很多挑戰(zhàn),但事故畢竟屬于偶發(fā)事件(這是件好事),衡量偶發(fā)事件的結(jié)果有效性并不容易(這是一件壞事),而且還有存在其他困難。避免事故是一個多變量的問題,而一些變量(比如你的模型)是在你的控制之內(nèi)。還有其他變量(比如其他車輛的行駛狀態(tài)、雨天或建筑物)都不在你的可控范圍。利用貝葉斯技術(shù)、多臂賭博機方法、A/B方法等等,都是可以很好衡量和掌握結(jié)果的第一步,但這還不夠。
現(xiàn)在讓我們來看看第二個問題:構(gòu)建可進行學習和適應(yīng)的應(yīng)用程序,以及如何讓衡量問題融入到應(yīng)用程序中。
構(gòu)建學習應(yīng)用程序與構(gòu)建機器學習模型不同。這是因為應(yīng)用程序開發(fā)領(lǐng)域和機器學習領(lǐng)域不同,很少有跨越這兩個領(lǐng)域的工程師。
機器學習領(lǐng)域的人員傾向于以他們認為會影響這些模型的任何輸入量來構(gòu)建模型,并且他們始終需要干凈的輸入向量(所有輸入量必須相同大小、標準化、規(guī)范化等)。因此,如果消費傾向模型是建立在過去的顧客行為和產(chǎn)品相似性的基礎(chǔ)之上,但是另一個變量(如天氣)也會對消費傾向產(chǎn)生影響,那么該模型就不會很理想:它未考慮天氣因素,即使應(yīng)用程序員使用了天氣信息(通常只需要一個API),但并未將其包含到模型中。對機器學習工程師的需求和應(yīng)用程序開發(fā)人員的需求并不完全一致。
事實上,從混亂的現(xiàn)實世界數(shù)據(jù)轉(zhuǎn)變?yōu)槟P退枰母蓛舻妮斎肓浚@通常是一條陡峭的曲線。的確,Panda庫可使用Python語言編寫,但如果應(yīng)用程序是用Java編寫的,那么應(yīng)用程序開發(fā)人員如何正確處理呢?
那么我們?nèi)绾慰朔@些挑戰(zhàn)?當兩個世界相隔甚遠時,唯一的解決辦法就是讓這兩個世界相互靠近。
機器學習變得越來越簡單,而且這一趨勢還會繼續(xù)。在“學會學習”模型領(lǐng)域,機器學習技術(shù)取得了一些非凡的進步 – 開發(fā)出可以探索不同空間和不同類型模型的算法。阿爾法狗(AlphaGo)使用了其中的一些技術(shù)來贏得人機圍棋對抗的比賽。這些機器學習的簡單化不僅會鼓勵更多人去構(gòu)建機器學習模型(幫助解決關(guān)鍵技能問題),還會催生出更容易使用的模型。
但是構(gòu)建應(yīng)用程序的范例和應(yīng)用程序編程人員都需要更加以數(shù)據(jù)為導向,并且要更注重結(jié)果。他們不需要遵循規(guī)則進行編程,而是要通過預(yù)測進行編程。他們需要更多以API驅(qū)動來訪問其控制范圍之外的系統(tǒng)(無論是從第三方獲取天氣信息,還是從企業(yè)內(nèi)部其他團隊設(shè)計的模型所得的預(yù)測結(jié)果)。他們需要一些有關(guān)機器學習的核心教育,以作為從事應(yīng)用程序員工作的先決條件。
在未來五年,機器學習可能會起到越來越大的作用。但最重要的衡量標準將是機器學習對改善結(jié)果所產(chǎn)生的影響。
要做到這一點,應(yīng)用程序必須吸收機器學習技術(shù)。為了實現(xiàn)這一點,機器學習和應(yīng)用程序之間的缺口必須縮小。更新的機器學習技術(shù)、更好的編程技術(shù)和更多以數(shù)據(jù)驅(qū)動的技能應(yīng)該會有所作為,而更好的工具將結(jié)果與核心模型相關(guān)聯(lián)也會有所作為。
隨著這些方面都協(xié)調(diào)一致后,擁有機器智能成果的未來將是非常光明的。
