如何學習Tensorflow?

姓名:韓卓成?學號 :20011210097

轉(zhuǎn)載自:https://mp.weixin.qq.com/s?__biz=MzI2OTQxMTM4OQ==&mid=2247485308&idx=1&sn=c7b3268055c5cae30ef7817db05c9f42&chksm=eae1f22edd967b383236d43f8db88f2eadf07f44ea110581474e8a63a809c3cfdebf4360115d#rd

【嵌牛導讀】:本文介紹了一些人工智能的基本概念和學習方法,以及Tensorflow的概念。

【嵌牛鼻子】:人工智能

【嵌牛提問】:1、人工智能中專有名詞有哪些?

2、什么是深度學習?什么是機器學習?AI是個啥?

3、TensorFlow是什么?它和人工智能有什么關(guān)系?

【嵌牛正文】:問題1:在國外找到一篇文章《28 Artificial Intelligence Terms You Need to Know》原文:

https://dzone.com/articles/ai-glossary

A

算法(Algorithms):為人工智能、神經(jīng)網(wǎng)絡或其他機器提供的一套規(guī)則或指令,以幫助自己學習;分類、聚類、推薦和回歸是最流行的四種算法類型。

人工智能(Artificial intelligence):簡寫AI,機器做出決策和執(zhí)行模擬人類智能和行為的能力。

人工神經(jīng)網(wǎng)絡(Artificial neural network ):簡寫ANN,一個學習模型,它的作用就像人腦,解決了傳統(tǒng)計算機系統(tǒng)很難解決的問題。

自主計算(Autonomic computing):一種系統(tǒng)的自主適應自我管理的能力,用于在沒有用戶輸入的情況下為高級計算函數(shù)提供自身的資源。

C

聊天機器人(Chatbots):簡稱chatbot,它設計的目的是通過文字聊天、語音指令或兩者同時進行交流來模擬與人類用戶的對話。它們是包括人工智能在內(nèi)的計算機程序的常用接口。

分類(Classification):分類算法讓機器根據(jù)訓練數(shù)據(jù)給數(shù)據(jù)點分配類別。

群集分析(Cluster analysis):一種無監(jiān)督的學習方法,用于探索數(shù)據(jù)分析,以發(fā)現(xiàn)隱藏的模式或數(shù)據(jù)分組;集群的建模方法是類似于歐幾里得或概率距離的度量。

聚類(Clustering):聚類算法讓機器組的數(shù)據(jù)點或項目分成具有相似特征的組。

認知計算(Cognitive computing):一個模擬人腦思維方式的計算機模型。它涉及使用數(shù)據(jù)挖掘、自然語言處理和模式識別的方法進行自學。

卷積神經(jīng)網(wǎng)絡(Convolutional neural network):簡寫CNN,一種識別和理解圖像的神經(jīng)網(wǎng)絡。

D

數(shù)據(jù)挖掘(Data mining):對數(shù)據(jù)集檢查,以發(fā)現(xiàn)和挖掘可以進一步使用的數(shù)據(jù)模式。

數(shù)據(jù)科學(Data science):由統(tǒng)計學、信息科學和計算機科學等結(jié)合科學的方法、系統(tǒng)和過程的跨學科領(lǐng)域,通過結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)來提供對現(xiàn)象的分析。

決策樹(Decision tree):用于映射決策及其可能結(jié)果的樹和分支模型,類似于流程圖。

深度學習(Deep learning):通過由串聯(lián)的信息層組成人工神經(jīng)網(wǎng)絡,機器能夠自主地模擬人類思維模式。

F

變數(shù)(Fluent):一種隨時間變化的狀況。

G

游戲AI(Game AI):使用一種算法來代替隨機性的特定游戲人工智能。它是一種用于非玩家角色的計算行為,以產(chǎn)生玩家所采取的類似于人類的智力和反應。

遺傳算法(Genetic algorithm):一種基于遺傳和自然選擇原理的進化算法,用于尋找最優(yōu)或接近最優(yōu)的解決方案,否則將需要幾十年的時間才能解決。

H

啟發(fā)式搜索技術(shù)(Heuristic search techniques):支持通過消除不正確的選項來縮小尋找問題的最佳解決方案的支持。

K

知識工程(Knowledge engineering):重點是建立知識體系,包括所有的科學、技術(shù)和社會學方面。

L

邏輯編程(Logic programming):一種基于事實和規(guī)則的知識存儲庫進行計算的編程范式;LISP和Prolog是用于人工智能編程的兩種邏輯編程語言。

M

機器智能(Machine intelligence):一個涵蓋機器學習、深度學習和經(jīng)典學習算法的統(tǒng)稱。

機器學習(Machine learning):一個專注于算法的人工智能,當接觸到新數(shù)據(jù)允許機器在不被編程和改變情況下學習。

機器知覺(Machine perception):系統(tǒng)接收和解釋外部世界數(shù)據(jù)的能力,類似于人類使用感官的能力。這通常是由附加的硬件完成的,雖然軟件也可用。

N

自然語言處理(Natural language processing):程序在理解的基礎上識別人類交流的能力。

R

遞歸神經(jīng)網(wǎng)絡(Recurrent neural network):簡寫RNN,神經(jīng)網(wǎng)絡的一種,它能夠理解順序信息和識別模式,并根據(jù)這些計算創(chuàng)建輸出。

S

有監(jiān)督學習(Supervised learning):機器學習類型的一種,輸出數(shù)據(jù)集訓練機器生成所需的算法,像一個教師監(jiān)督學生,比無監(jiān)督學習更常見。

群體行為(Swarm behavior):從數(shù)學建模者的角度來看,它是由個人遵循的簡單規(guī)則引起的緊急行為,不涉及任何中央?yún)f(xié)調(diào)。

U

無監(jiān)督學習(Unsupervised learning):一種機器學習算法,用于從不帶標記響應的包含輸入數(shù)據(jù)的數(shù)據(jù)集中提取結(jié)果。最常見的無監(jiān)督學習方法是聚類分析。

問題2,在找到一篇國外文章《https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/》,翻譯成中文就是《AI、機器學習和深度學習之間的區(qū)別是什么?》

今天我們就用最簡單的方法——同心圓,可視化地展現(xiàn)出它們?nèi)叩年P(guān)系和應用。

如上圖,人工智能是最早出現(xiàn)的,也是最大、最外側(cè)的同心圓;其次是機器學習,稍晚一點;最內(nèi)側(cè),是深度學習,當今人工智能大爆炸的核心驅(qū)動。

五十年代,人工智能曾一度被極為看好。之后,人工智能的一些較小的子集發(fā)展了起來。先是機器學習,然后是深度學習。深度學習又是機器學習的子集。深度學習造成了前所未有的巨大的影響。

|從概念的提出到走向繁榮

1956年,幾個計算機科學家相聚在達特茅斯會議(Dartmouth Conferences),提出了“人工智能”的概念。其后,人工智能就一直縈繞于人們的腦海之中,并在科研實驗室中慢慢孵化。之后的幾十年,人工智能一直在兩極反轉(zhuǎn),或被稱作人類文明耀眼未來的預言;或者被當成技術(shù)瘋子的狂想扔到垃圾堆里。坦白說,直到2012年之前,這兩種聲音還在同時存在。

過去幾年,尤其是2015年以來,人工智能開始大爆發(fā)。很大一部分是由于GPU的廣泛應用,使得并行計算變得更快、更便宜、更有效。當然,無限拓展的存儲能力和驟然爆發(fā)的數(shù)據(jù)洪流(大數(shù)據(jù))的組合拳,也使得圖像數(shù)據(jù)、文本數(shù)據(jù)、交易數(shù)據(jù)、映射數(shù)據(jù)全面海量爆發(fā)。

讓我們慢慢梳理一下計算機科學家們是如何將人工智能從最早的一點點苗頭,發(fā)展到能夠支撐那些每天被數(shù)億用戶使用的應用的。

|人工智能(Artificial Intelligence)——為機器賦予人的智能

早在1956年夏天那次會議,人工智能的先驅(qū)們就夢想著用當時剛剛出現(xiàn)的計算機來構(gòu)造復雜的、擁有與人類智慧同樣本質(zhì)特性的機器。這就是我們現(xiàn)在所說的“強人工智能”(General AI)。這個無所不能的機器,它有著我們所有的感知(甚至比人更多),我們所有的理性,可以像我們一樣思考。

人們在電影里也總是看到這樣的機器:友好的,像星球大戰(zhàn)中的C-3PO;邪惡的,如終結(jié)者。強人工智能現(xiàn)在還只存在于電影和科幻小說中,原因不難理解,我們還沒法實現(xiàn)它們,至少目前還不行。

我們目前能實現(xiàn)的,一般被稱為“弱人工智能”(Narrow AI)。弱人工智能是能夠與人一樣,甚至比人更好地執(zhí)行特定任務的技術(shù)。例如,Pinterest上的圖像分類;或者Facebook的人臉識別。

這些是弱人工智能在實踐中的例子。這些技術(shù)實現(xiàn)的是人類智能的一些具體的局部。但它們是如何實現(xiàn)的?這種智能是從何而來?這就帶我們來到同心圓的里面一層,機器學習。

|機器學習—— 一種實現(xiàn)人工智能的方法

機器學習最基本的做法,是使用算法來解析數(shù)據(jù)、從中學習,然后對真實世界中的事件做出決策和預測。與傳統(tǒng)的為解決特定任務、硬編碼的軟件程序不同,機器學習是用大量的數(shù)據(jù)來“訓練”,通過各種算法從數(shù)據(jù)中學習如何完成任務。

機器學習直接來源于早期的人工智能領(lǐng)域。傳統(tǒng)算法包括決策樹學習、推導邏輯規(guī)劃、聚類、強化學習和貝葉斯網(wǎng)絡等等。眾所周知,我們還沒有實現(xiàn)強人工智能。早期機器學習方法甚至都無法實現(xiàn)弱人工智能。

機器學習最成功的應用領(lǐng)域是計算機視覺,雖然也還是需要大量的手工編碼來完成工作。人們需要手工編寫分類器、邊緣檢測濾波器,以便讓程序能識別物體從哪里開始,到哪里結(jié)束;寫形狀檢測程序來判斷檢測對象是不是有八條邊;寫分類器來識別字母“ST-O-P”。使用以上這些手工編寫的分類器,人們總算可以開發(fā)算法來感知圖像,判斷圖像是不是一個停止標志牌。

這個結(jié)果還算不錯,但并不是那種能讓人為之一振的成功。特別是遇到云霧天,標志牌變得不是那么清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是為什么前一段時間,計算機視覺的性能一直無法接近到人的能力。它太僵化,太容易受環(huán)境條件的干擾。

隨著時間的推進,學習算法的發(fā)展改變了一切。

|深度學習——一種實現(xiàn)機器學習的技術(shù)

人工神經(jīng)網(wǎng)絡(Artificial Neural Networks)是早期機器學習中的一個重要的算法,歷經(jīng)數(shù)十年風風雨雨。神經(jīng)網(wǎng)絡的原理是受我們大腦的生理結(jié)構(gòu)——互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡具有離散的層、連接和數(shù)據(jù)傳播的方向。

例如,我們可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡的第一層。在第一層的每一個神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。

每一個神經(jīng)元都為它的輸入分配權(quán)重,這個權(quán)重的正確與否與其執(zhí)行的任務直接相關(guān)。最終的輸出由這些權(quán)重加總來決定。

我們?nèi)砸酝V梗⊿top)標志牌為例。將一個停止標志牌圖像的所有元素都打碎,然后用神經(jīng)元進行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標志的典型尺寸和靜止不動運動特性等等。神經(jīng)網(wǎng)絡的任務就是給出結(jié)論,它到底是不是一個停止標志牌。神經(jīng)網(wǎng)絡會根據(jù)所有權(quán)重,給出一個經(jīng)過深思熟慮的猜測——“概率向量”。

這個例子里,系統(tǒng)可能會給出這樣的結(jié)果:86%可能是一個停止標志牌;7%的可能是一個限速標志牌;5%的可能是一個風箏掛在樹上等等。然后網(wǎng)絡結(jié)構(gòu)告知神經(jīng)網(wǎng)絡,它的結(jié)論是否正確。

即使是這個例子,也算是比較超前了。直到前不久,神經(jīng)網(wǎng)絡也還是為人工智能圈所淡忘。其實在人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡就已經(jīng)存在了,但神經(jīng)網(wǎng)絡對于“智能”的貢獻微乎其微。主要問題是,即使是最基本的神經(jīng)網(wǎng)絡,也需要大量的運算。神經(jīng)網(wǎng)絡算法的運算需求難以得到滿足。

不過,還是有一些虔誠的研究團隊,以多倫多大學的Geoffrey Hinton為代表,堅持研究,實現(xiàn)了以超算為目標的并行算法的運行與概念證明。但也直到GPU得到廣泛應用,這些努力才見到成效。

我們回過頭來看這個停止標志識別的例子。神經(jīng)網(wǎng)絡是調(diào)制、訓練出來的,時不時還是很容易出錯的。它最需要的,就是訓練。需要成百上千甚至幾百萬張圖像來訓練,直到神經(jīng)元的輸入的權(quán)值都被調(diào)制得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結(jié)果。

只有這個時候,我們才可以說神經(jīng)網(wǎng)絡成功地自學習到一個停止標志的樣子;或者在Facebook的應用里,神經(jīng)網(wǎng)絡自學習了你媽媽的臉;又或者是2012年吳恩達(Andrew Ng)教授在Google實現(xiàn)了神經(jīng)網(wǎng)絡學習到貓的樣子等等。

吳教授的突破在于,把這些神經(jīng)網(wǎng)絡從基礎上顯著地增大了。層數(shù)非常多,神經(jīng)元也非常多,然后給系統(tǒng)輸入海量的數(shù)據(jù),來訓練網(wǎng)絡。在吳教授這里,數(shù)據(jù)是一千萬YouTube視頻中的圖像。吳教授為深度學習(deep learning)加入了“深度”(deep)。這里的“深度”就是說神經(jīng)網(wǎng)絡中眾多的層

現(xiàn)在,經(jīng)過深度學習訓練的圖像識別,在一些場景中甚至可以比人做得更好:從識別貓,到辨別血液中癌癥的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學會了如何下圍棋,然后與它自己下棋訓練。它訓練自己神經(jīng)網(wǎng)絡的方法,就是不斷地與自己下棋,反復地下,永不停歇。

|深度學習,給人工智能以璀璨的未來

深度學習使得機器學習能夠?qū)崿F(xiàn)眾多的應用,并拓展了人工智能的領(lǐng)域范圍。深度學習摧枯拉朽般地實現(xiàn)了各種任務,使得似乎所有的機器輔助功能都變?yōu)榭赡?。無人駕駛汽車,預防性醫(yī)療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現(xiàn)

問題3:TensorFlow是什么?它和人工智能有什么關(guān)系?

TensorFlow是谷歌基于DistBelief進行研發(fā)的第二代人工智能學習系統(tǒng),其命名來源于本身的運行原理。Tensor(張量)意味著N維數(shù)組,F(xiàn)low(流)意味著基于數(shù)據(jù)流圖的計算,TensorFlow為張量從流圖的一端流動到另一端計算過程。TensorFlow是將復雜的數(shù)據(jù)結(jié)構(gòu)傳輸至人工智能神經(jīng)網(wǎng)中進行分析和處理過程的系統(tǒng)。TensorFlow? 是一個采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計算的開源軟件庫。節(jié)點(Nodes)在圖中表示數(shù)學操作,圖中的線(edges)則表示在節(jié)點間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)。它靈活的架構(gòu)讓你可以在多種平臺上展開計算,例如臺式計算機中的一個或多個CPU(或GPU),服務器,移動設備等等。TensorFlow 最初由Google大腦小組(隸屬于Google機器智能研究機構(gòu))的研究員和工程師們開發(fā)出來,用于機器學習和深度神經(jīng)網(wǎng)絡方面的研究,但這個系統(tǒng)的通用性使其也可廣泛用于其他計算領(lǐng)域。

支持的算法:

從目前的文檔看,TensorFlow支持CNN、RNN和LSTM算法,這都是目前在Image,Speech和NLP最流行的深度神經(jīng)網(wǎng)絡模型。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容