人工智能需要會(huì)什么編程? 說明這個(gè)問題我想你問的一定不只是用什么語言,而是需要會(huì)什么方面的編程技術(shù)。其實(shí)編程在人工智能中只是一個(gè)輔助工具,從事人工智能是不需要你有十分過硬的編程技術(shù)的,但是既然人工智能是需要大量的運(yùn)算和大量的數(shù)據(jù)的話,這種事情也只有計(jì)算機(jī)才能實(shí)現(xiàn),所以將人工智能模型建立和訓(xùn)練就需要靠代碼來實(shí)現(xiàn)。 代碼知識(shí)實(shí)現(xiàn)AI的工具,數(shù)學(xué)才是人工智能的核心。下面就人工智能需要的編程技能大概說明一下: 人工智能技能需求這里有一張人工智能深度學(xué)習(xí)技能需求圖分享給大家,這是我在上深度學(xué)習(xí)的課程時(shí)教材上面的,下面就根據(jù)這個(gè)圖來展開說明。 數(shù)據(jù)獲取數(shù)據(jù)是人工智能的基礎(chǔ)和根本,沒有數(shù)據(jù)就像大廈沒有砂礫是建不起來的。數(shù)據(jù)來源可能有肯多,比如傳感器。那么你可能就需要會(huì)通過串口或者socket等其他網(wǎng)絡(luò)通訊編程將數(shù)據(jù)從傳感器中取出來。又或者,數(shù)據(jù)是存在數(shù)據(jù)庫(kù)比如mysql、redis、sqlite、oracle等,那么你可能就需要會(huì)從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),比如sql語句。又或者,數(shù)據(jù)是以文檔形式存放,那么你就需要會(huì)文檔的讀取。 數(shù)據(jù)分析有了數(shù)據(jù)后需要對(duì)數(shù)據(jù)進(jìn)行處理,比如清洗、數(shù)據(jù)集成、數(shù)據(jù)歸約、特征提取、離散化等處理。那么你可能會(huì)用到matalab工具、pandas、numpy、Hadoop等成熟庫(kù),還有數(shù)據(jù)可是話可能要用到的BI Tableau、Qlikview、PowrerBI等。 AI模型建立這個(gè)是人工智能的核心,智能模型的建立。它包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、生成式對(duì)抗網(wǎng)絡(luò)等。 常用的編程工具和編程庫(kù)是python、C#、C++等。以python為例,常用的庫(kù)有Keras、Tensorflow、PyTorch等,目前這三個(gè)是主流的,若你想從事AI建模的工作,那么著三個(gè)庫(kù)你是必須要會(huì),是繞不開的 keras建立一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)代碼: 成果部署建立并訓(xùn)練好的數(shù)據(jù)模型,你需要將之部署實(shí)用化,放置到項(xiàng)目中去,可以是app、可以是web、也可以是小程序,如果你需要從事這些方面的工作,那么你就需要具備相關(guān)的編程知識(shí),比如app開發(fā)、web開發(fā)、系統(tǒng)運(yùn)維等方面知識(shí)。 總結(jié)以上所列的編程技能并不代表一個(gè)人需要全會(huì),上面提到的四個(gè)模塊,每個(gè)模塊都深不可測(cè),個(gè)人只需要從事其中很小的一方面并專精就好,選擇自己想從事的模塊然后掌握相關(guān)技能就可以了。 至于編程語言,推薦Python。社區(qū)健壯、占有率高、好用、易用、發(fā)展迅猛。 |
|