看看一些開(kāi)發(fā)者如何為企業(yè)創(chuàng)建一個(gè)人工智能應(yīng)用的技巧姑尺。
我們正在進(jìn)入“軟件2.0”時(shí)代厂抖,在這個(gè)時(shí)代灸眼,人工神經(jīng)網(wǎng)絡(luò)(ANN)已經(jīng)被使用卧檐,并且受到了具有開(kāi)發(fā)背景的人的贊賞。然而幢炸,人工智能泄隔、深度學(xué)習(xí)、機(jī)器學(xué)習(xí)和高級(jí)分析等技術(shù)也改變了開(kāi)發(fā)人員通過(guò)計(jì)算機(jī)和與人類(lèi)智能協(xié)作創(chuàng)建智能軟件實(shí)體的方式宛徊。
今天佛嬉,所有的智能手機(jī)、智能電視、汽車(chē)和視頻游戲都使用了人工智能专肪,比如Siri可以告訴你最近的加油站在哪里挂签。特斯拉正在利用人工智能和大數(shù)據(jù)將自動(dòng)駕駛汽車(chē)的想法變成現(xiàn)實(shí)。根據(jù)《財(cái)富》雜志上發(fā)表的一篇文章湾揽,人工智能現(xiàn)在可以讀懂我們的想法,并通過(guò)解讀大腦信號(hào)將它們轉(zhuǎn)換成圖像笼吟。
我們可以說(shuō)人工智能無(wú)處不在库物,它對(duì)我們的業(yè)務(wù)、我們的日常生活產(chǎn)生了巨大的影響贷帮,并為我們使用技術(shù)而非人類(lèi)進(jìn)行溝通的方式提供了技術(shù)支持戚揭。
那么,你打算為你的人工智能項(xiàng)目做些什么呢?你開(kāi)始計(jì)劃和編碼了嗎?如果答案是肯定的撵枢,那么在投入到你自己的AI應(yīng)用程序開(kāi)發(fā)項(xiàng)目之前民晒,先來(lái)看看我的想法。
為人工智能應(yīng)用程序開(kāi)發(fā)人員提供的技巧和最佳實(shí)踐
對(duì)于人工智能應(yīng)用程序锄禽,Python潜必、Lisp、Java和Prolog等語(yǔ)言是最流行的沃但。
特別是Python磁滚,被用作大多數(shù)AI的應(yīng)用程序和軟件的基本語(yǔ)言,因?yàn)樗哂泻?jiǎn)單的語(yǔ)法宵晚、大量的庫(kù)和工具以及操作系統(tǒng)支持恨旱。
為了成功地開(kāi)發(fā)AI應(yīng)用程序,我推薦幾個(gè)有用的工具來(lái)簡(jiǎn)化開(kāi)發(fā)坝疼。只需熟悉Django搜贤、Flask、NumPy钝凶、Matplotlib仪芒、wxWidgets唁影、PyQt、OpenStack掂名、panda据沈、Scikit、Theano饺蔑、AIMA锌介、pyDatalog、SimpleAI猾警、EasyAi孔祸、PyBrain、MDP发皿、Scikit崔慧、PyML等庫(kù)和工具。
如今穴墅,對(duì)于AI和ML開(kāi)發(fā)人員來(lái)說(shuō)惶室,為他們的應(yīng)用程序想出一個(gè)朗朗上口的名字是很重要的。亞馬遜推出了Alexa玄货,蘋(píng)果推出了Siri皇钞,谷歌推出了谷歌翻譯。所以松捉,你也應(yīng)該為你的AI應(yīng)用想一個(gè)獨(dú)特的名字夹界。
接下來(lái),選擇支持Python的ide和代碼編輯器惩坑。你可以選擇卓越的Text 3掉盅、GNU Emacs也拜、Eclipse+PyDev以舒、Atom、Vi/Vim慢哈、Visual Studio IDE或PyCharm IDE蔓钟。
Sublime Text 3
對(duì)于AI項(xiàng)目,我推薦Sublime Text 3卵贱,因?yàn)樗且粋€(gè)功能豐富的代碼編輯器滥沫,它的高級(jí)功能令人難以置信,比如快速快捷鍵/搜索键俱、分割結(jié)束兰绣、無(wú)干擾的寫(xiě)作模式、命令面板编振、它還支持所有平臺(tái)缀辩。
現(xiàn)在,創(chuàng)建一個(gè)Python文件“xyz”。在你的桌面上臀玄。如果你使用macOS瓢阴,使用終端命令:
cd?Desktop
touch xyz.py
用代碼編輯器打開(kāi)xyz.py文件,在系統(tǒng)中編寫(xiě)以下命令:
第一步:
Importrandom
第二步:
answers = [ ‘I did not understand what you just said’,
‘It doesn\’t look like anything to me’,
‘I don\’t know, whatever’]
你可以這樣做健无,現(xiàn)在向代碼中添加循環(huán)的主要部分荣恐。
while True:
user_input = input (“>>>”)
if user_input . lower() == ‘hi’ :
print(“Hello”)
else:
print (random.choice(answers))
人工智能編碼的需求
你在編碼環(huán)境中真正需要的東西因應(yīng)用程序的不同而有所不同。但是累贤,有一組核心功能讓你的編碼任務(wù)更容易叠穆。以下是你應(yīng)該考慮的AI編碼要點(diǎn):
檢查你的數(shù)據(jù)
AI和ML模型將反映訓(xùn)練的方式,所以要反復(fù)分析原始數(shù)據(jù)畦浓,盡可能多地理解輸入數(shù)據(jù)痹束。檢查數(shù)據(jù)是否有任何錯(cuò)誤、缺失的值或不正確的標(biāo)簽讶请。假設(shè)你的應(yīng)用程序?qū)⒂糜谒心挲g的計(jì)算祷嘶,但你只有年齡<=45歲的人的數(shù)據(jù),或者如果你的應(yīng)用程序?qū)⒂糜谌甑募倨诙嵋纾阒挥卸斓臄?shù)據(jù)论巍,那你就要確保你的數(shù)據(jù)是準(zhǔn)確的。
應(yīng)用以用戶(hù)為中心的設(shè)計(jì)方法
設(shè)計(jì)你的應(yīng)用程序與適當(dāng)?shù)墓δ芊缦欤屍溆懈玫那逦群涂刂贫燃翁z查你的編程模型中的任何特性是否不必要或冗余。嘗試使用模型的最簡(jiǎn)單形式來(lái)滿(mǎn)足用戶(hù)的偏好状勤。
使用Python庫(kù)來(lái)更好地編寫(xiě)AI應(yīng)用程序
Python中的Dictionary用于存儲(chǔ)數(shù)據(jù)鞋怀。它是一組鍵值,其中每個(gè)鍵都是惟一的持搜,并且提供了用Python存儲(chǔ)數(shù)據(jù)的有用方法密似。通常,Python庫(kù)中存儲(chǔ)的數(shù)據(jù)與用戶(hù)ID或用戶(hù)配置文件中包含的信息相關(guān)葫盼。它在你的AI應(yīng)用程序的數(shù)據(jù)存儲(chǔ)開(kāi)發(fā)中扮演著重要的角色残腌。讓我們來(lái)看看帶有很多if/else子句的代碼示例:
ifname?==?"Mary":
print "This is Mary, she is a dancer"
elif name == "Shaina":
print "This is Shaina, she is an engineer"
elif name == "Tim":
print "This is Tim, he is a doctor"
使用Python?庫(kù),你可以編寫(xiě)與以上代碼相同結(jié)果的代碼:
name_job_dict?=?{
"Mary": "This is Mary, she is a dancer",
"Shaina": "This is Shaina, she is an engineer",
"Tim": "This is Tim, he is a doctor",
}
print name_job_dict[name]
考慮機(jī)器學(xué)習(xí)工具
人工智能應(yīng)用程序開(kāi)發(fā)人員應(yīng)該準(zhǔn)備好嘗試機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的新框架贫导。我推薦Apple Core ML用于AI開(kāi)發(fā)抛猫,因?yàn)樗菣C(jī)器學(xué)習(xí)的一個(gè)特定領(lǐng)域框架。它包括視覺(jué)和圖像分析孩灯、自然語(yǔ)言處理和GamelayKit等功能闺金,以?xún)?yōu)化和評(píng)估常見(jiàn)的行為和決策樹(shù),如隨機(jī)數(shù)生成峰档、人工智能尋路等败匹。
Caffe2也是模塊化深度學(xué)習(xí)開(kāi)源框架的首選匣距。它對(duì)開(kāi)發(fā)人員很有好處,因?yàn)樗试S你試驗(yàn)深度學(xué)習(xí)和機(jī)器學(xué)習(xí)模型和算法哎壳。它帶有c++和Python api毅待,允許開(kāi)發(fā)人員立即原型化并優(yōu)化他們的應(yīng)用程序開(kāi)發(fā)過(guò)程。
對(duì)于在嵌入式設(shè)備上部署機(jī)器學(xué)習(xí)和人工智能應(yīng)用程序归榕,谷歌TensorFlow也是一個(gè)很好的選擇尸红。TensorFlow Lite允許開(kāi)發(fā)人員以更小的二進(jìn)制大小構(gòu)建依賴(lài)關(guān)系更少的應(yīng)用程序。但是刹泄,開(kāi)發(fā)人員也可以使用TensorFlow Lite外里,但是它不能像TensorFlow Mobile一樣覆蓋所有用例。對(duì)于AI和ML應(yīng)用程序的開(kāi)發(fā)特石,你應(yīng)該使用TensorFlow Mobile盅蝗。
低代碼平臺(tái)來(lái)構(gòu)建AI應(yīng)用程序
Mendix是AI開(kāi)發(fā)人員最好的AI輔助低代碼開(kāi)發(fā)平臺(tái)。它通過(guò)對(duì)應(yīng)用程序質(zhì)量和性能的下一步建議和專(zhuān)家質(zhì)量建議姆蘸,幫助提高開(kāi)發(fā)人員的生產(chǎn)力墩莫。低代碼環(huán)境將為人工智能應(yīng)用程序提供一個(gè)協(xié)作的、直觀的開(kāi)發(fā)平臺(tái)逞敷、云原生架構(gòu)(具有最佳的類(lèi)特性)狂秦、開(kāi)放和可擴(kuò)展的api、模型api和用于豐富擴(kuò)展選項(xiàng)的sdk推捐,從而使人工智能開(kāi)發(fā)人員受益裂问,你可以在不使用多種工具和代碼庫(kù)的情況下構(gòu)建多個(gè)應(yīng)用程序。
Mendix Assist更像是為開(kāi)發(fā)者提供的一種培訓(xùn)工具牛柒,它可以幫助開(kāi)發(fā)者降低在AI項(xiàng)目上的成本和時(shí)間堪簿,讓開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用程序時(shí)避免出現(xiàn)問(wèn)題,并讓他們更專(zhuān)注于自己的任務(wù)和業(yè)務(wù)價(jià)值皮壁。
因此椭更,我們得出的結(jié)論是,人工智能應(yīng)用程序的開(kāi)發(fā)正昂首挺胸闪彼,發(fā)展前景一片大好甜孤。的確协饲,人工智能給商業(yè)領(lǐng)域的人提供了很多機(jī)會(huì)畏腕。
此外,新移動(dòng)應(yīng)用開(kāi)發(fā)中的人工智能技術(shù)將為新機(jī)遇茉稠、智能交互描馅、智能決策和個(gè)性化提供新的動(dòng)力。
在本文中而线,我們?yōu)槟闾峁┝艘恍┯杏玫募记擅郏瑤椭銥槟愕钠髽I(yè)構(gòu)建一個(gè)直觀的AI應(yīng)用程序恋日,特別是你企業(yè)未來(lái)的應(yīng)用程序。有關(guān)AI和ML如何改進(jìn)業(yè)務(wù)應(yīng)用程序的更多信息嘹狞,請(qǐng)閱讀此處的完整信息(網(wǎng)站valuecoders岂膳,請(qǐng)百度搜詞條查看)。
除此之外磅网,你還需要為你的AI項(xiàng)目組織一個(gè)合適的開(kāi)發(fā)團(tuán)隊(duì)谈截,因?yàn)閼?yīng)用程序開(kāi)發(fā)是一個(gè)團(tuán)隊(duì)游戲!你的開(kāi)發(fā)團(tuán)隊(duì)的每個(gè)人都必須有一個(gè)共同的目標(biāo);那就是成功涧偷!