偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

AI開(kāi)發(fā)者九問(wèn):10分鐘了解AI開(kāi)發(fā)的基本過(guò)程

新聞 前端
AI模型本質(zhì)是一個(gè)函數(shù),想要找到這個(gè)函數(shù)準(zhǔn)確的的表達(dá)式,僅憑邏輯是無(wú)法推導(dǎo)出來(lái)的,而是訓(xùn)練出來(lái)的。

  [[413711]]

1、AI開(kāi)發(fā)究竟在開(kāi)發(fā)什么?

  • 一個(gè)硬件開(kāi)發(fā)者的工作成果是一個(gè)布滿集成電路的服務(wù)器,開(kāi)機(jī)就可以運(yùn)行某種軟件。
  • 一個(gè)移動(dòng)端開(kāi)發(fā)者的工作成果可以是一個(gè)手機(jī)APP,包括了大量二進(jìn)制數(shù)據(jù),可被麒麟芯片直接運(yùn)行。
  • 一個(gè)AI開(kāi)發(fā)者的工作成果則是一個(gè)模型,模型本質(zhì)上是一個(gè)函數(shù):
  1. f(圖片) = "How are you" 
  2. f(貓圖片) = "Cat" 

無(wú)論這個(gè)函數(shù)有多么復(fù)雜,有多少個(gè)變量或者參數(shù),AI開(kāi)發(fā)都是試圖找出這個(gè)函數(shù)的表達(dá)式。

2、AI模型(函數(shù))是怎么開(kāi)發(fā)出來(lái)的?

AI模型本質(zhì)是一個(gè)函數(shù),想要找到這個(gè)函數(shù)準(zhǔn)確的的表達(dá)式,僅憑邏輯是無(wú)法推導(dǎo)出來(lái)的,而是訓(xùn)練出來(lái)的,我們喂給機(jī)器目前已有的數(shù)據(jù),機(jī)器就會(huì)從這些數(shù)據(jù)里去找出一個(gè)最能滿足(專(zhuān)業(yè)術(shù)語(yǔ)稱(chēng)為擬合)這些數(shù)據(jù)的函數(shù),當(dāng)有新的數(shù)據(jù)需要預(yù)測(cè)的時(shí)候,機(jī)器就可以通過(guò)這個(gè)函數(shù)去預(yù)測(cè)出這個(gè)新數(shù)據(jù)對(duì)應(yīng)的結(jié)果是什么。

對(duì)于一個(gè)具備某種智能能力而言,一般具備以下要素:數(shù)據(jù)+算法+模型,開(kāi)發(fā)的過(guò)程,就是不斷地用數(shù)據(jù)和算法使得模型越來(lái)越逼近真實(shí)情況,注意是逼近而非推導(dǎo),這個(gè)過(guò)程稱(chēng)為訓(xùn)練。

3、AI模型的訓(xùn)練過(guò)程是怎么樣的?

我們來(lái)用一個(gè)能夠區(qū)分貓和狗圖片的模型來(lái)幫助理解訓(xùn)練的過(guò)程:“數(shù)據(jù)”就是我們需要準(zhǔn)備大量標(biāo)注過(guò)是“貓”還是“狗”的圖片;“算法”指的是構(gòu)建模型時(shí)我們打算用淺層的網(wǎng)絡(luò)還是深層的,如果是深層的話我們要用多少層,每層有多少神經(jīng)元、功能是什么等等,也就是網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì),相當(dāng)于我們確定了我們的預(yù)測(cè)函數(shù)應(yīng)該大致結(jié)構(gòu)是什么樣的。

我們用Y=f(W,X,b)來(lái)表示這一函數(shù),X是已有的用來(lái)訓(xùn)練的數(shù)據(jù)(貓和狗的圖片),Y是已有的圖片數(shù)據(jù)的標(biāo)簽(該圖片是貓還是狗), W和b是什么意思呢?一開(kāi)始,我們確實(shí)不知道,這兩個(gè)參數(shù)是需要機(jī)器學(xué)習(xí)后自己找出來(lái)的,找的過(guò)程也就是訓(xùn)練的過(guò)程。

“模型”指的我們把數(shù)據(jù)帶入到算法中進(jìn)行訓(xùn)練,機(jī)器就會(huì)去不斷地學(xué)習(xí),當(dāng)機(jī)器找到最優(yōu)W和b后,我們就說(shuō)這個(gè)模型是訓(xùn)練成功了,這個(gè)時(shí)候我們的函數(shù)Y=f(W,X,b)就完全確定下來(lái)了

然后我們就可以在已有的數(shù)據(jù)集外給模型一張新的貓或狗的圖片,那模型就能通過(guò)函數(shù)Y=f(W,X,b)算出來(lái)這張圖的標(biāo)簽究竟是貓還是狗,這就是推理。

簡(jiǎn)單總結(jié)下:不管是最簡(jiǎn)單的線性回歸模型、還是較復(fù)雜的擁有一億個(gè)參數(shù)的深度神經(jīng)網(wǎng)絡(luò)模型,本質(zhì)都是尋找一個(gè)能夠良好擬合目前已有數(shù)據(jù)的函數(shù)Y=f(W,X,b),并且我們希望這個(gè)函數(shù)在新的未知數(shù)據(jù)上也能夠表現(xiàn)良好。

4、AI為什么要強(qiáng)調(diào)大量數(shù)據(jù)?

因?yàn)橹挥袛?shù)據(jù)量足夠大,模型才能夠?qū)W習(xí)到足夠多且準(zhǔn)確的區(qū)分貓和狗的特征,才能在區(qū)分貓狗這個(gè)任務(wù)上,表現(xiàn)出足夠高的準(zhǔn)確性;當(dāng)然數(shù)據(jù)量不大的情況下,我們也可以訓(xùn)練模型,不過(guò)在新數(shù)據(jù)集上預(yù)測(cè)出來(lái)的結(jié)果往往就會(huì)差很多。

假設(shè)識(shí)別貓的模型要非常準(zhǔn)確,就需要各種光照條件、各種背景、各種花色的貓的照片,不僅要有波斯貓,還要有加菲貓,直到模型包含了我們能想到的各種貓的特征,一個(gè)人臉識(shí)別模型,大約需要幾百萬(wàn)張照片,才能達(dá)到可用,著名的Imagenet數(shù)據(jù)集,大約包含了1400萬(wàn)張圖片,極大地方便了開(kāi)發(fā)者。

5、在AI開(kāi)發(fā)過(guò)程中一個(gè)好的開(kāi)發(fā)工具可以幫助開(kāi)發(fā)者做什么?

假設(shè)沒(méi)有一個(gè)現(xiàn)成的開(kāi)發(fā)平臺(tái),首先你需要學(xué)會(huì)常用的AI開(kāi)發(fā)語(yǔ)言python,python是整個(gè)過(guò)程并不耗精力的環(huán)節(jié),其次你需要學(xué)習(xí)傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)相關(guān)算法,這塊算是花費(fèi)最多精力和時(shí)間的環(huán)節(jié),然后盡可能去理解和推導(dǎo)算法,然后用python代碼去實(shí)現(xiàn)算法再訓(xùn)練模型,代碼能力很重要,不然你的模型都建不起來(lái)。

然后你發(fā)現(xiàn)了一個(gè)開(kāi)發(fā)框架,華為MindSpore或者谷歌Tensorflow,你會(huì)發(fā)現(xiàn)并不需要那么高的數(shù)學(xué)門(mén)檻,不是說(shuō)要深刻理解算法才能更好訓(xùn)練出好模型,模型損失函數(shù)優(yōu)化方法MindSpore/Tensorflow都內(nèi)置好了,而且只需要簡(jiǎn)單的調(diào)用就好了,如果說(shuō)MindSpore/Tensorflow是可以把一個(gè)模型代碼量大大減少的框架,那么Keras就是讓模型代碼量可以少到驚人的框架,例如上面的貓狗分類(lèi)器,15行代碼就可以搞定,幾十行代碼就把一個(gè)擁有著卷積層、池化層和全連接層的較高級(jí)優(yōu)化方法的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)寫(xiě)出來(lái)。

一個(gè)開(kāi)發(fā)框架就像安卓框架為手機(jī)APP開(kāi)發(fā)者提供的很多基礎(chǔ)功能,如果沒(méi)有這個(gè)框架,一個(gè)簡(jiǎn)單的給好友發(fā)送圖片的功能,你需要直接和操作系統(tǒng)的各個(gè)底層功能模塊打交道了。

6、AI開(kāi)發(fā),有了開(kāi)發(fā)框架就夠了嗎?

當(dāng)然不是,一個(gè)開(kāi)發(fā)框架,只是幫開(kāi)發(fā)者做了一些開(kāi)發(fā)者沒(méi)必要實(shí)現(xiàn)的部分,或者實(shí)現(xiàn)起來(lái)代價(jià)太大的部分,一個(gè)完整的AI開(kāi)發(fā)過(guò)程,從準(zhǔn)備數(shù)據(jù)、數(shù)據(jù)預(yù)處理、數(shù)據(jù)標(biāo)注、選擇算法、訓(xùn)練、調(diào)參、部署,這和一個(gè)普通的APP開(kāi)發(fā)的過(guò)程差不多。如同生產(chǎn)一輛汽車(chē),一個(gè)自動(dòng)化、高科技的總裝車(chē)間是必不可少的,但沖壓、涂裝車(chē)間也制約著汽車(chē)的生產(chǎn)效率,那么制約AI開(kāi)發(fā)效率最頭痛的是什么,請(qǐng)看下一個(gè)問(wèn)題。AI開(kāi)發(fā)過(guò)程中最大的困難是什么?

7、AI開(kāi)發(fā)過(guò)程中最大的困難是什么?

  • 要準(zhǔn)備大量的數(shù)據(jù),前面已經(jīng)提過(guò),更可怕的是數(shù)據(jù)標(biāo)注,據(jù)統(tǒng)計(jì),數(shù)據(jù)處理和標(biāo)注環(huán)節(jié)大約占整個(gè)開(kāi)發(fā)周期的70%。所謂標(biāo)注,就是給數(shù)據(jù)打標(biāo)簽,告訴機(jī)器一張圖片究竟是貓還是狗,標(biāo)注是一件在AI開(kāi)發(fā)者看來(lái)技術(shù)含量非常低的工作,已經(jīng)屬于勞動(dòng)密集型產(chǎn)業(yè),業(yè)界有大量的第三方公司,專(zhuān)門(mén)從事數(shù)據(jù)標(biāo)注工作。以自動(dòng)駕駛為例,車(chē)頭上的攝像機(jī)在實(shí)時(shí)拍攝車(chē)前的所有畫(huà)面,自動(dòng)駕駛標(biāo)注的過(guò)程要標(biāo)注前車(chē)、障礙物、行人、信號(hào)燈、指示牌、指示線等等,這個(gè)過(guò)程如果完全依賴(lài)人工標(biāo)注,自動(dòng)駕駛將永遠(yuǎn)難以商用。
  • 要反復(fù)迭代訓(xùn)練,訓(xùn)練并不是一蹴而就,要反復(fù)修改各種參數(shù),使得模型的準(zhǔn)確度逐步提升,這個(gè)過(guò)程,目前需要豐富的經(jīng)驗(yàn),如果沒(méi)有充足的算力,訓(xùn)練一次,等待三天,然后調(diào)參,再等待三天,如果要迭代20次,這個(gè)過(guò)程是很消耗人的意志。所以,即使不考慮成本因素,算力也是制約AI普及最大的問(wèn)題。

8、怎么解決AI開(kāi)發(fā)者的問(wèn)題?

正如開(kāi)發(fā)一個(gè)office軟件,不可能費(fèi)事到用記事本敲代碼,你需要一個(gè)像visual studio一樣的集成開(kāi)發(fā)環(huán)境,需要一個(gè)像Git一樣的代碼管理工具,同理,開(kāi)發(fā)一個(gè)AI模型,你也需要一個(gè)集成開(kāi)發(fā)環(huán)境,而且需要一個(gè)版本管理工具。

提供給開(kāi)發(fā)者代碼編輯環(huán)境、語(yǔ)法檢查、編譯器等功能,一個(gè)AI的開(kāi)發(fā)平臺(tái),同樣也要能幫開(kāi)發(fā)者標(biāo)注數(shù)據(jù)、創(chuàng)建模型訓(xùn)練作業(yè)、部署模型等功能,有了開(kāi)發(fā)平臺(tái),開(kāi)發(fā)平臺(tái)要幫助開(kāi)發(fā)者把所有苦活累活都干完,讓開(kāi)發(fā)者聚焦在最核心的代碼和算法上。

當(dāng)然,要提供給開(kāi)發(fā)者易獲取、性能強(qiáng)、價(jià)格低的算力,提高模型訓(xùn)練的迭代速度。

9、有沒(méi)有更快地提升AI開(kāi)發(fā)速度的辦法?

當(dāng)然有。從根本上提升開(kāi)發(fā)效率,挖掘到最本質(zhì),只有兩個(gè)辦法:重用和自動(dòng)化,否則只能一行一行代碼干起。

開(kāi)發(fā)一個(gè)APP,可以從最基本的代碼寫(xiě)起,可以復(fù)用開(kāi)發(fā)者共享的開(kāi)發(fā)包、函數(shù)等,華為云開(kāi)源鏡像站有大量的java開(kāi)發(fā)包,就是這個(gè)意思,也可以復(fù)用一個(gè)完整的APP,修改下界面配色,就變成了自己的APP,這是復(fù)用。要保障APP的質(zhì)量,可以手工測(cè)試,也可以用自動(dòng)化測(cè)試工具。如果這些都不想做,可以也可以用一個(gè)現(xiàn)成的工具,用可視化的方法生成一個(gè)APP,當(dāng)然APP的風(fēng)格只能從工具已有的模板中選取。開(kāi)發(fā)者一直在試圖用各種辦法,降低開(kāi)發(fā)的工作量。

AI開(kāi)發(fā)也是一樣的??梢哉椰F(xiàn)成的數(shù)據(jù)集、找現(xiàn)成的標(biāo)注好的數(shù)據(jù)集,現(xiàn)成的算法和模型,用自動(dòng)部署工具將模型部署到端邊云。當(dāng)然,也可用自動(dòng)學(xué)習(xí)功能,只要提供原始數(shù)據(jù),由系統(tǒng)幫助開(kāi)發(fā)者完成模型構(gòu)建、算法選擇和自動(dòng)訓(xùn)練,開(kāi)發(fā)者可以直接看到結(jié)果。最簡(jiǎn)單的辦法,就是尋找一個(gè)已經(jīng)訓(xùn)練好的模型,在軟件中直接調(diào)用。

基于此,一個(gè)好的AI開(kāi)發(fā)平臺(tái),要從各個(gè)維度去提升開(kāi)發(fā)效率,這些功能往往都是很多小細(xì)節(jié),算力強(qiáng)、訓(xùn)練快,只是完成了必須的最基本的功能。

 

責(zé)任編輯:張燕妮 來(lái)源: 博客園精華區(qū)
相關(guān)推薦

2021-04-30 16:23:58

WebRTC實(shí)時(shí)音頻

2019-08-16 10:55:37

開(kāi)發(fā)者技能AI

2023-03-02 09:35:55

chatGPTOpenAI編程

2018-06-03 08:00:24

AI開(kāi)發(fā)深度學(xué)習(xí)語(yǔ)言

2020-10-13 18:22:58

DevOps工具開(kāi)發(fā)

2024-10-30 15:42:39

2025-04-08 08:05:00

生成式AI網(wǎng)絡(luò)安全企業(yè)安全

2024-07-05 11:34:07

2018-10-29 10:08:01

2025-03-17 08:00:00

2024-04-17 14:44:49

2015-11-10 09:26:24

51CTO云計(jì)算專(zhuān)題

2021-05-17 20:13:50

數(shù)倉(cāng)操作型數(shù)據(jù)庫(kù)

2024-07-08 10:51:16

2025-05-24 14:36:43

2024-03-28 12:32:18

JVM類(lèi)加載構(gòu)造器

2014-03-28 16:03:03

移動(dòng)開(kāi)發(fā)跨平臺(tái)工具

2020-10-26 10:18:55

百度EasyDL

2012-06-28 10:26:51

Silverlight
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)