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

人工智能教程(四):概率論入門(mén)

人工智能
在本系列的第四篇文章中,我們將開(kāi)始學(xué)習(xí) TensorFlow,這是一個(gè)非常強(qiáng)大的人工智能和機(jī)器學(xué)習(xí)庫(kù)。

在本系列的 上一篇文章 中,我們進(jìn)一步討論了矩陣和線性代數(shù),并學(xué)習(xí)了用 JupyterLab 來(lái)運(yùn)行 Python 代碼。我們也會(huì)簡(jiǎn)要介紹一些其它有用的庫(kù)。稍后,我們將討論概率、理論以及代碼。和往常一樣,我們先討論一些能拓寬我們對(duì)人工智能的理解的話題。

到目前為止,我們只是從技術(shù)方面討論人工智能。隨著越來(lái)越多的人工智能產(chǎn)品投入使用,現(xiàn)在是時(shí)候分析人工智能的社會(huì)影響了。想象一個(gè)找工作的場(chǎng)景,如果你的求職申請(qǐng)由人來(lái)處理,在申請(qǐng)被拒絕時(shí),你可以從他們那里得到反饋,比如被拒的理由。如果你的求職申請(qǐng)由人工智能程序處理,當(dāng)你的申請(qǐng)被拒絕時(shí),你不能要求該人工智能軟件系統(tǒng)提供反饋。在這種情況下,你甚至不能確定你的申請(qǐng)被拒絕是否確實(shí)是僅基于事實(shí)的決定。這明確地告訴我們,從長(zhǎng)遠(yuǎn)來(lái)看,我們需要的不僅僅是魔法般的結(jié)果,還需要人工智能具有 責(zé)任accountability 和 保證guarantee。(LCTT 譯注:責(zé)任主要指確保系統(tǒng)的決策過(guò)程是透明的、可解釋的,并且對(duì)系統(tǒng)的行為負(fù)責(zé)。保證是指對(duì)于系統(tǒng)性能指標(biāo)和行為的一種承諾或者預(yù)期。)目前有很多試圖回答這些問(wèn)題的研究。

人工智能的應(yīng)用也會(huì)引發(fā)許多道德和倫理上的問(wèn)題。我們不必等到強(qiáng)人工智能(也被稱為 通用人工智能artificial general intelligence

同樣的場(chǎng)景下,如果汽車是由人工智能軟件在駕駛會(huì)發(fā)生什么呢?既然你是汽車的主人,那么人工智能軟件理應(yīng)把你的安全放在首位,它甚至全不顧其他乘客的安全。很容易看出,如果世界上所有的汽車都由這樣的軟件控制的話將導(dǎo)致徹底的混亂?,F(xiàn)在,如果進(jìn)一步假設(shè)乘坐自動(dòng)駕駛汽車的乘客身患絕癥。那么對(duì)于一個(gè)數(shù)學(xué)機(jī)器來(lái)說(shuō),為了行人犧牲乘客是合乎邏輯的。但對(duì)于我們這些有血有肉的人卻不見(jiàn)得如此。你可以花點(diǎn)時(shí)間思考一下其它場(chǎng)景,注重邏輯的機(jī)器和熱血的人類都會(huì)做出什么樣的決策。

有很多書(shū)籍和文章在討論人工智能全面運(yùn)作后的政治、社會(huì)和倫理方面的問(wèn)題。但對(duì)于我們這些普通人和計(jì)算機(jī)工程師來(lái)說(shuō),讀所有的書(shū)都是不必要的。然而,由于人工智能的社會(huì)意義如此重要,我們也不能輕易擱置這個(gè)問(wèn)題。為了了解人工智能的社會(huì)政治方面,我建議你通過(guò)幾部電影來(lái)理解人工智能(強(qiáng)人工智能)如何影響我們所有人。斯坦利·庫(kù)布里克Stanley Kubrick的杰作《2001:太空漫游2001: A Space Odyssey》是最早描繪超級(jí)智能生物如何俯視我們?nèi)祟惖碾娪爸?。這部電影中人工智能認(rèn)為人類是世界最大的威脅,并決定毀滅人類。事實(shí)上,有相當(dāng)多的電影都在探索這種情節(jié)。由偉大的藝術(shù)大師史蒂文·斯皮爾伯格Steven Spielberg親自執(zhí)導(dǎo)的《人工智能Artificial Intelligence》,探討了人工智能機(jī)器如何與人類互動(dòng)。另一部名為《機(jī)械姬Ex Machina》的電影詳細(xì)闡述了這一思路,講述了具有人工智能的機(jī)器。在我看來(lái)這些都是了解人工智能的影響必看的電影。

最后思考一下,試想如果馬路上的汽車使用來(lái)自制造商的不同的自動(dòng)駕駛規(guī)則和人工智能,這將導(dǎo)致徹底的混亂。

TensorFlow 入門(mén)

TensorFlow 是由 谷歌大腦Google Brain 團(tuán)隊(duì)開(kāi)發(fā)的一個(gè)自由開(kāi)源的庫(kù),使用 Apache 2.0 許可證。TensorFlow 是開(kāi)發(fā)人工智能和機(jī)器學(xué)習(xí)程序的重量級(jí)的庫(kù)。除了 Python 之外,TensorFlow 還提供 C++、Java、JavaScript 等編程語(yǔ)言的接口。在我們進(jìn)一步討論之前,有必要解釋一下 張量tensor

首先,我們要在 JupyterLab 中安裝 TensorFlow。TensorFlow 有 GPU 版本和 CPU 版本兩種安裝類型可以選擇。這主要取決于你的系統(tǒng)是否有合適的 GPU。GPU 是一種利用并行處理來(lái)加快圖像處理速度的電路。它被廣泛用在游戲和設(shè)計(jì)領(lǐng)域,在開(kāi)發(fā)人工智能和機(jī)器學(xué)習(xí)程序時(shí)也是必不可少的硬件。但一個(gè)不太好的消息是 TensorFlow 只兼容英偉達(dá)的 GPU。此外,你需要在系統(tǒng)中安裝一個(gè)稱為 CUDA(計(jì)算統(tǒng)一設(shè)備架構(gòu)compute unified device architecture)的并行計(jì)算平臺(tái)。如果你的系統(tǒng)滿足這些要求,那么在 JupyterLab 上執(zhí)行命令 pip install tensorflow-gpu 來(lái)安裝 GPU 版本的 TensorFlow。如果你系統(tǒng)的 GPU 配置無(wú)法滿足要求,當(dāng)你嘗試使用 TensorFlow 時(shí),會(huì)得到如下錯(cuò)誤消息:“CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected”。此時(shí)使用 pip uninstall tensorflow-gpu 卸載 GPU 版本的 TensorFlow。然后執(zhí)行命令 pip install tensorflow 安裝 CPU 版本的 TensorFlow。現(xiàn)在 TensorFlow 就準(zhǔn)備就緒了。請(qǐng)注意,目前我們將討論限制在 CPU 和 TensorFlow 上。

圖 1:第一個(gè)使用 TensorFlow 的 Python 腳本圖 1:第一個(gè)使用 TensorFlow 的 Python 腳本

現(xiàn)在,讓我們運(yùn)行第一個(gè)由 TensorFlow 驅(qū)動(dòng)的 Python 代碼。圖 1 顯示了一個(gè)簡(jiǎn)單的 Python 腳本及其在 JupyterLab 上執(zhí)行時(shí)的輸出。前兩行代碼將庫(kù) NumPy 和 TensorFlow 導(dǎo)入到 Python 腳本中。順便一提,如果你想在 Jupyter Notebook 單元中顯示行號(hào),單擊菜單 “查看View > 顯示行號(hào)Show Line Numbers”。第 3 行使用 NumPy 創(chuàng)建了一個(gè)名為 arr 的數(shù)組,其中包含三個(gè)元素。第 4 行代碼將數(shù)組 arr 的每個(gè)元素乘 3,將結(jié)果存儲(chǔ)在一個(gè)名為 ten 的變量中。第 5 行和第 6 行分別打印變量 arr 和 ten 的類型。從代碼的輸出中可以看到,arr 和 ten 的類型是不同的。第 7 行打印變量 ten 的值。注意,ten 的形狀與數(shù)組 arr 的形狀是相同的。 數(shù)據(jù)類型 int64 在本例中用于表示整數(shù)。這使得本例中 NumPy 和 TensorFlow 數(shù)據(jù)類型之間的無(wú)縫轉(zhuǎn)換成為可能。

TensorFlow 支持很多操作和運(yùn)算。隨著處理的數(shù)據(jù)量的增加,這些操作會(huì)變得越來(lái)越復(fù)雜。TensorFlow 支持常見(jiàn)的算術(shù)運(yùn)算,比如乘法、減法、除法、冪運(yùn)算、模運(yùn)算等。如果參與運(yùn)算的是列表或元組,TensorFlow 會(huì)逐元素執(zhí)行該操作。

圖 2:TensorFlow 中的逐元素操作圖 2:TensorFlow 中的逐元素操作

TensorFlow 還支持邏輯運(yùn)算、關(guān)系運(yùn)算和位運(yùn)算。這里的操作也是按元素執(zhí)行的。圖 2 顯示了執(zhí)行這些按元素操作的 Python 腳本。第 1 行代碼從列表創(chuàng)建一個(gè)張量,并將其存儲(chǔ)在變量 t1 中。TensorFlow 的函數(shù) constant() 用于從 Python 對(duì)象(如列表、元組等)創(chuàng)建張量。類似地,第 2 行創(chuàng)建了另一個(gè)張量 t2。第 3 行和第 4 行都是執(zhí)行逐元素求冪并打印輸出。從圖 2 中可以清楚地看出,該求冪的結(jié)果是相同的。第 5 行代碼比較張量 t1 和 t2 的元素并打印結(jié)果。輸出中的 [True True False] 分別是對(duì)應(yīng) 3>2、4>3 和 2>6 的結(jié)果。第 6 行的輸出與之類似。

圖 3:TensorFlow 矩陣乘法圖 3:TensorFlow 矩陣乘法

圖 3 展示了 TensorFlow 處理矩陣的例子。第 1 行和第 3 行分別構(gòu)造兩個(gè)矩陣 x 和 y,第 2 行和第 4 行分別打印矩陣 x 和 y的形狀。代碼的輸出顯示 x 的形狀為 (3,3),y 的形狀為 (3,)。從本系列前面介紹的矩陣知識(shí),我們知道這兩個(gè)矩陣是不能相乘的。

因此,在第 5 行中將矩陣 y 增加了一個(gè)維度。在第 6 行,再次打印矩陣 y 的形狀,輸出結(jié)果為 (3,1)。現(xiàn)在矩陣 x 和 y 可以相乘了。第 7 行中,將矩陣相乘并打印輸出。注意,類似的操作也可以在張量上執(zhí)行,即使張量的維數(shù)很高,TensorFlow 也可以很好地?cái)U(kuò)展。在本系列的后續(xù)文章中,我們將更多地了解 TensorFlow 支持的數(shù)據(jù)類型和其他復(fù)雜操作。

既然介紹了 TensorFlow,我想我也應(yīng)該提一下 Keras。它為 TensorFlow 提供 Python 接口。在后續(xù)的文章中,我們將專門(mén)介紹 Keras。

我們?nèi)绾卫梅怯ミ_(dá) GPU 的能力呢?有許多功能強(qiáng)大的軟件包可以做到這一點(diǎn)。比如 PyOpenCL,一個(gè)在 Python 中編寫(xiě)并行程序的框架。它讓我們可以使用 OpenCL(開(kāi)放計(jì)算語(yǔ)言open computing language)。OpenCL 可以與 AMD、Arm、英偉達(dá)等廠商的 GPU 進(jìn)行交互。當(dāng)然還有其他選擇,比如 Numba。它是一種JIT 編譯器,可用在代碼執(zhí)行期間將 Python 代碼編譯為機(jī)器碼。如果 GPU 可用,Numba 允許代碼使用的 GPU 能力。圖 4 是展示了使用 Numba 的 Python 代碼。

我們可以看到函數(shù) fun() 具有允許并行化的特征。從圖 4 中可以看到,代碼在不使用和使用 Numba 的情況下的答案是相同的。但是我們可以看到所花費(fèi)的執(zhí)行時(shí)間是不同的。當(dāng)使用 Numba 并行化代碼時(shí),只花費(fèi)了不到一半的時(shí)間。此外隨著問(wèn)題規(guī)模的增加,并行化和非并行化版本所花費(fèi)的時(shí)間之間的差距也將增加。

圖 4:使用 Numba 進(jìn)行并行化圖 4:使用 Numba 進(jìn)行并行化

SymPy 入門(mén)

SymPy 是一個(gè)用于符號(hào)計(jì)算的 Python 庫(kù)。通過(guò)圖 5 中的例子,讓我們?cè)囍斫馐裁词欠?hào)計(jì)算。它使用 SymPy 提供的函數(shù) Integral()來(lái)求積分。圖 5 也顯示了這個(gè)符號(hào)計(jì)算的輸出。注意,SciPy 提供的 integrate() 函數(shù)返回?cái)?shù)值計(jì)算結(jié)果,而 SymPy 的 Integral() 函數(shù)能提供精確的符號(hào)結(jié)果表達(dá)式。人工智能和機(jī)器學(xué)習(xí)程序開(kāi)發(fā)中會(huì)用到一些統(tǒng)計(jì)學(xué)操作,SymPy 在執(zhí)行這些操作時(shí)非常有用。

圖 5:符號(hào)計(jì)算的例子圖 5:符號(hào)計(jì)算的例子

在本系列的下一篇文章中,我們將討論 Theano。Theano 是一個(gè) Python 庫(kù)和優(yōu)化編譯器,用于計(jì)算數(shù)學(xué)表達(dá)式。

概率論入門(mén)

現(xiàn)在是概率論出場(chǎng)的時(shí)候了,它是人工智能和機(jī)器學(xué)習(xí)的另一個(gè)重要話題。對(duì)概率論的詳細(xì)討論超出了本系列的范圍。我強(qiáng)烈建議在繼續(xù)閱讀之前,先通過(guò)維基百科上關(guān)于“概率”、“貝葉斯定理”和“標(biāo)準(zhǔn)差”的文章了解一些重要的術(shù)語(yǔ)和概念,如概率、獨(dú)立事件、互斥事件、條件概率、貝葉斯定理、均值、標(biāo)準(zhǔn)差等。學(xué)習(xí)完這些后,你將能夠輕松理解后面關(guān)于概率的討論。

我們從概率分布開(kāi)始講起。根據(jù)維基百科的說(shuō)法,“概率分布是一個(gè)數(shù)學(xué)函數(shù),它能給出一個(gè)實(shí)驗(yàn)中不同的可能結(jié)果發(fā)生的概率”?,F(xiàn)在,讓我們?cè)囍斫馐裁词歉怕史植己瘮?shù)。最著名的概率分布函數(shù)是正態(tài)分布,通常也稱為高斯分布(以偉大的數(shù)學(xué)家高斯的名字命名)。正態(tài)分布函數(shù)的圖像是一條鐘形曲線。圖 6 是一個(gè)鐘形曲線的例子。鐘形曲線的確切形狀取決于均值和標(biāo)準(zhǔn)差。讓我們?cè)囍ㄟ^(guò)分析一種自然現(xiàn)象來(lái)理解鐘形曲線。從網(wǎng)上可以查到,中國(guó)男性的平均身高約為1.7米。在我們周圍的到多數(shù)男性的身高都非常接近這個(gè)數(shù)字。你看到一個(gè)身高低于1.4米或高于2米的男人的可能性很小。如果記錄 100 萬(wàn)人的身高,然后以橫軸為身高,縱軸為該身高的人數(shù),繪制統(tǒng)計(jì)結(jié)果,你會(huì)發(fā)現(xiàn)繪制出的圖像近似為鐘形曲線,其中只有一些輕微的傾斜和彎曲。因此,正態(tài)分布很容易地捕捉到自然現(xiàn)象的概率特征。

圖 6:鐘形曲線(圖像來(lái)源:維基百科)圖 6:鐘形曲線(圖像來(lái)源:維基百科)

現(xiàn)在,我們來(lái)看一個(gè)使用正態(tài)分布的例子。圖 7 的代碼中我們使用 NumPy 的正態(tài)分布的函數(shù) normal(),然后使用 Matplotlib 進(jìn)行繪圖。從第 3 行我們可以看到樣本大小為 1000。第 4 行繪制一個(gè)包含 1000 個(gè) 桶bin 的直方圖。但是圖 7 的鐘形曲線與圖 6 中看到的鐘形曲線相差很大。究其原因是我們的樣本數(shù)量只有 1000。樣本量應(yīng)該足夠大才能獲得更清晰的圖像。將第 3 行代碼替換為 sample = normal(size=100000000),行并再次執(zhí)行程序。圖 8 顯示了一條更好的鐘形曲線。這一次,我們的樣本大小為 100,000,000,鐘形曲線與圖 6 所示非常相似。正態(tài)分布和鐘形曲線只是開(kāi)始。在下一篇文章中,我們將討論可以概括其他事件和自然現(xiàn)象的概率分布函數(shù)。下一次,我們還將更正式地討論這個(gè)主題。

圖 7:繪制鐘形曲線圖 7:繪制鐘形曲線

本篇的內(nèi)容就到此結(jié)束了。在下一篇文章中,我們將繼續(xù)探索概率和統(tǒng)計(jì)中的一些概念。我們還將安裝和使用 Anaconda,這是一個(gè)用于科學(xué)計(jì)算的 Python 發(fā)行版,對(duì)于開(kāi)發(fā)人工智能、機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)程序特別有用。如前所述,我們還將熟悉另一個(gè)名為 Theano 的 Python 庫(kù),它在人工智能和機(jī)器學(xué)習(xí)領(lǐng)域被大量使用。

圖 8:更好的鐘形曲線圖 8:更好的鐘形曲線

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2024-01-02 19:20:37

人工智能Anaconda

2018-08-17 15:17:56

人工智能層次極端

2017-09-20 13:13:30

貝葉斯定理概率分布

2025-06-20 01:00:00

人工智能AI

2023-11-20 16:23:32

人工智能矩陣

2018-06-27 14:23:38

機(jī)器學(xué)習(xí)人工智能入門(mén)方法

2020-03-02 19:28:03

人工智能AI

2017-07-26 16:26:47

數(shù)據(jù)中心人工智能技術(shù)

2022-09-03 13:38:15

人工智能AI

2023-10-30 08:00:24

2022-10-19 07:04:12

?人工智能云服務(wù)Alaas

2022-06-20 11:05:58

通用人工智能機(jī)器人

2023-05-04 14:56:03

2021-05-11 11:26:18

人工智能自然語(yǔ)言機(jī)器人

2023-12-25 22:27:38

2023-10-17 10:20:23

2018-03-28 09:40:00

CITE人工智能館

2022-01-19 00:08:26

人工智能AlphaGO計(jì)算機(jī)

2015-10-10 09:34:52

人工智能機(jī)器學(xué)習(xí)

2021-11-05 09:56:36

人工智能AI指數(shù)
點(diǎn)贊
收藏

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