En 400-6655-581
5
返回列表
> 資源中心 > 技術(shù)干貨 | API與人工智能

技術(shù)干貨 | API與人工智能

2020-02-28瀏覽次數(shù):1263

API(應(yīng)用編程接口)和人工智能有一個共同點就是他們都是計算機應(yīng)用領(lǐng)域里面發(fā)展較早的技術(shù),近年來各自產(chǎn)生許多新的發(fā)展和變革。





人工智能早先是基于專家系統(tǒng)和規(guī)則驅(qū)動機制,隨著近年來神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)算法的發(fā)展演進,人工智能在模式識別、機器學(xué)習(xí)和預(yù)測等領(lǐng)域形成很多成熟的應(yīng)用;


API最初是單個應(yīng)用或企業(yè)信息系統(tǒng)實現(xiàn)模塊化架構(gòu),用于模塊間通訊的接口;現(xiàn)在逐步演進為基于REST協(xié)議,通過標(biāo)準(zhǔn)的XML或JSON報文格式,實現(xiàn)服務(wù)可重用的企業(yè)應(yīng)用通訊機制和互聯(lián)網(wǎng)云服務(wù)通訊機制。


除了上面這個共同點,這兩種現(xiàn)今的熱門技術(shù)相結(jié)合的應(yīng)用場景還有不少,那讓我們一起來的結(jié)合探討下。



人工智能之API


人工智能及機器學(xué)習(xí)的API有很多種形式:


一種是機器學(xué)習(xí)算法框架,提供API用于模型構(gòu)建、訓(xùn)練、參數(shù)調(diào)優(yōu)、算法迭代等基礎(chǔ)功能;流行的框架有Tensorflow、PyTorch和Caffe等用于深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)模型開發(fā),NumPy、Pandas和Scikit-learn等Python機器學(xué)習(xí)API庫,Spark MLLib等分布式機器學(xué)習(xí)算法API庫 。數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師用某種開發(fā)語言如Python, Java或Scala調(diào)用框架提供的API構(gòu)建機器學(xué)習(xí)應(yīng)用,算法框架的API客戶端和服務(wù)端不管是部署在一個還是多個服務(wù)器節(jié)點上運行通常是緊耦合的,類似操作系統(tǒng)的底層軟件庫,如Windows操作系統(tǒng)的Win32/64 API、MFC、.Net; Linux操作系統(tǒng)的Glibc、POSIX。


另外一種是將通用人工智能算法以API服務(wù)形式發(fā)布,提供各種類型的客戶端使用,這些API通常是以REST方式訪問和調(diào)用;通用的人工智能算法包括NLP自然語言處理,語音合成和識別,圖像和視頻的處理和識別等;以Google Vision API為例,訪問這個API時上傳一張圖片,API的返回結(jié)果JSON中會包含識別的對象、標(biāo)簽、相關(guān)網(wǎng)站鏈接、識別的文字、圖片屬性和圖片安全評級等各種信息。





還有比如基于微軟Azure機器學(xué)習(xí)平臺的人臉識別Face API,實現(xiàn)圖片中人物性別和年齡識別,也是通過提供REST接口的方式,集成到手機端就可以實時對手機拍攝的對象返回相關(guān)信息。



這類API通過云端服務(wù)的方式提供,一方面是因為這些類型的服務(wù)需要大量的計算資源用于模型訓(xùn)練和模型參數(shù)調(diào)優(yōu),同時隨著這些服務(wù)的推廣,新的數(shù)據(jù)會不斷的接入,也可以進一步優(yōu)化模型,提高模型的準(zhǔn)確率;對于使用這些API服務(wù)的客戶端來說,隨著網(wǎng)絡(luò)的普及和帶寬的不斷提升,移動設(shè)備基于這些API就可以快速構(gòu)建智能應(yīng)用。當(dāng)然這里我們需要考慮數(shù)據(jù)隱私問題, API的客戶端和服務(wù)端需要約定相應(yīng)的數(shù)據(jù)保護規(guī)則和策略,以免用戶的敏感數(shù)據(jù)被濫用。



人工智能用于API


借助人工智能技術(shù),API請求和輸入輸出數(shù)據(jù)流可以作為樣本數(shù)據(jù)構(gòu)建分析模型,預(yù)測可能的API訪問模式;這是API開發(fā)和管理人員通過常規(guī)的分析統(tǒng)計方式無法實現(xiàn)的。特別是部署在云端的API服務(wù),其訪問記錄和數(shù)據(jù)流的樣本數(shù)量大,滿足作為人工智能和機器學(xué)習(xí)理想的數(shù)據(jù)集和應(yīng)用場景要求。


首先我們來看下人工智能用于API訪問安全的應(yīng)用場景;


由于API傳輸數(shù)據(jù)的敏感性,其訪問安全需要確保;基于人工智能安全分析和檢測機制可以檢測數(shù)據(jù)泄露、滲透攻擊、數(shù)據(jù)完整性、內(nèi)存注入、DDoS API攻擊和登錄服務(wù)DDoS攻擊等各種安全問題。和常規(guī)基于安全訪問規(guī)則和策略的機制相比,人工智能的實現(xiàn)機制是自學(xué)習(xí)的,不需要人力和時間去維護管理大量的規(guī)則和策略,能夠根據(jù)部署的技術(shù)和業(yè)務(wù)環(huán)境自動學(xué)習(xí)和適應(yīng);另外,人工智能算法通常基于業(yè)界認可的數(shù)學(xué)模型,理論并結(jié)合實踐應(yīng)用通常比人力去開發(fā)和維護安全規(guī)則和策略要更加有效并有更高的準(zhǔn)確率。


在身份安全解決方案中,基于人工智能的智能認證登錄服務(wù)API將用戶身份數(shù)據(jù)、登錄訪問行為、設(shè)備指紋和上下文等信息作為風(fēng)險預(yù)測模型算法的輸入,自動評定該登錄行為的風(fēng)險級別,根據(jù)不同級別觸發(fā)不同的認證策略。



在企業(yè)IT架構(gòu)中扮演重要角色的API網(wǎng)關(guān)也是人工智能技術(shù)應(yīng)用的關(guān)鍵組件,除了上文提到的API訪問安全可以基于人工智能技術(shù)在API網(wǎng)關(guān)中實現(xiàn),另外由于API網(wǎng)關(guān)承載了企業(yè)部分或全部的業(yè)務(wù)服務(wù)API,通過對這些API服務(wù)訪問使用人工智能技術(shù)進行分析,能夠更高效地實現(xiàn)企業(yè)業(yè)務(wù)流程優(yōu)化。


API網(wǎng)關(guān)承載了企業(yè)產(chǎn)品生命周期從研發(fā)、生產(chǎn)制造、營銷和售后服務(wù)各階段、客戶關(guān)系管理、供應(yīng)鏈、財務(wù)等等業(yè)務(wù)服務(wù)API。人工智能在其中的應(yīng)用場景如:通過分析客戶相關(guān)API服務(wù)請求數(shù)據(jù),可以覆蓋客戶關(guān)系的全方位信息,在銷售階段,算法模型可以自動分類銷售機會,預(yù)測未來購買行為,生成定制化的銷售策略和市場推廣方案;基于客戶行為數(shù)據(jù)的算法模型可以預(yù)測潛在的延期付款,優(yōu)化現(xiàn)金流;通過分析供應(yīng)鏈相關(guān)API服務(wù)請求數(shù)據(jù)和事件信息,算法模型可以實現(xiàn)庫存優(yōu)化,縮短交付周期,并且預(yù)測訂單交付過程中可能發(fā)生的問題。


通常人工智能和機器學(xué)習(xí)算法需要大量計算資源,比較適合在云端、企業(yè)數(shù)據(jù)中心部署服務(wù)端,API技術(shù)將這種能力提供到更廣泛的平臺,通過規(guī)范協(xié)議,提供到端設(shè)備,如手機或各種移動端設(shè)備,使各種設(shè)備智能化,實現(xiàn)萬物智能互聯(lián)的愿景。另外,人工智能和API這兩種技術(shù)的應(yīng)用能力也將成為衡量企業(yè)IT成熟度的一個重要指標(biāo)。