狠狠操夜夜甜|人妻在线中文字幕亚洲无码不卡av|一区二区欧美亚洲|日躁夜躁狠狠躁2001|亚洲,超碰,欧美|18AV成人电影|午夜成人免费在线|婷婷激情网深爱五月|色欲综合成人在线|在线美女搞黄大片

中企動力 > 頭條 > 團隊拓展訓練視頻

網站性能檢測評分

注:本網站頁面html檢測工具掃描網站中存在的基本問題,僅供參考。

團隊拓展訓練視頻

從自然語言處理到人工智能的兩條路徑(附64頁PPT) 人工智能視頻課程

img

賁綾

關注

大數(shù)據文摘作品,轉載請聯(lián)系

編譯團隊|寒陽,范玥燦,毛麗,曹翔

現(xiàn)在是機器思考,學習并創(chuàng)造的世界。此外,他們做這些事情的能力會迅速增加,直到在一個明顯的未來,他們能處理的問題范圍將與人類思想應用的范圍一起擴大。

——赫伯特·西蒙, 1957

2017年1月14日Texas Data Day的大會上,Deep Grammar的聯(lián)合創(chuàng)始人、CEO、人工智能專家和機器學習專家Jonathan Mugan做了題為《從自然語言處理到人工智能(Deep Learning for Natural Language Processing》的演講。

Jonathan Mugan專注人工智能、機器學習與自然語言處理的結合。本次演講中,他重點闡述了如何從自然語言處理到人工智能,以及兩條具體路徑:符號路線和亞符號路線。

本文基于本次演講的64頁ppt整理漢化完成。點擊右上角進入大數(shù)據文摘后臺,回復“自然語言處理”獲取完整版演講ppt。

人工智能已經變得更聰明。尤其是深度學習,但是,計算機仍不能智能地讀取或交談。

要想了解語言,計算機需要了解世界。他們需要回答類似于下面這樣的問題——

為什么你可以用繩拉馬車卻不推它?

為什么體操運動員用一條腿競爭是不尋常的?

為什么只有外面下雨?

如果有一本書在桌上,你推桌子,會發(fā)生什么?

如果鮑勃去垃圾場,那么他會在機場嗎?

讓我們以一種基于感覺和行動的方式理解語言——

當某人說“雞”的時候,我們直接把它和我們對于雞的經驗相匹配,我們理解彼此因為我們有相同的經歷,這就是電腦需要的一種理解能力。

兩種理解含義的路徑:

無意義的標記

詞袋(Bags-of-words)表述:

將詞語視為任意符號,并查看其頻率。“狗 咬 人”和“人 咬 狗”完全一致??紤]一個有50,000個單詞的詞匯表:

“aardvark” 的位置是 0 

“ate” 的位置是 2 

“zoo” 的位置是 49,999 

一個詞袋可以是一個有50,000維度的向量。

“The aardvark ate the zoo.”= [1,0,1, ..., 0, 1]

我們可以做的更好一點,通過數(shù)出這些詞數(shù)出現(xiàn)的頻率。

tf: 詞頻(term frequency),單詞出現(xiàn)的頻率。

“The aardvark ate the aardvark by the zoo.” = [2,0,1, ..., 0, 1]

提升非常見詞匯:

認為非常見詞匯比常見詞匯更能表征文本,我們可以得到更好的結果。將每個條目乘以一個表示它在語料庫中有多常見的度量。

idf: 逆文本頻率指數(shù)

idf( 術語, 文本) = log(文本數(shù)量 / 包含術語的文本的數(shù)量)

10 文本, 只有一個 有 “aardvark” , 5 個有 “zoo” , 5個 有 “ate”

tf-idf: tf * idf

“The aardvark ate the aardvark by the zoo.” =[4.6,0,0.7, ..., 0, 0.7]

稱為向量空間模型。你可以將這些向量放入任何分類器,或者基于類似的向量找到相似的文檔。

主題模型 (LDA):

潛在狄利克雷分布(Latent Dirichlet Allocation)

你選擇主題的數(shù)量 ,每個主題是一個關于單詞的分布,每個文檔是一個關于主題的分布,在Python主題模型 gensim中很容易操作(https://radimrehurek/gensim/models/ldamodel.html )

通過pyLDAvis在推特上應用LDA:

情感分析:——作者對文本是什么樣的感受:

人工設置表達法

我們通過手動指定符號之間的關系來告訴計算機事物的意思。

1.使用預定的關系來儲存意思

2.圖示多種書寫某種同意東西的方法 

通過相對較少表述數(shù)量,我們可以對機器應該做什么進行編碼。

單詞網絡(WordNet):

框架網絡:

概念網絡:

另一個知識本體:

建議上的合并本體:

意象圖式(Image Schemas):

意象圖式是人類關于跨共同文化經驗的表示

——費爾德曼, 2006

人類使用意象圖式來理解空間布置和空間運動 

——曼德勒, 2004

意象圖式的例子包括路徑,先知,阻塞和吸引力 

——約翰遜, 1987

抽象概念例如浪漫關系和論證被表示為這種經驗的隱喻

——萊考夫和約翰遜, 1980

語義網-鏈接數(shù)據:

世界模型

計算機需要關于世界如何運作以及如何與之交互的因果模型。人們不會說一切事情來表達一個信息,只會說沒有被我們共同的概念所涵蓋的東西 。編碼我們的共享概念最有效的方法來是借用模型。模型表達了世界如何根據事件變化。回顧商務購買框架 ,后來,一個人有更多的錢,另一個人有更少的錢 ,從模型中讀出這樣的結論 。

模型的緯度:

概率:確定性與隨機比較。例如,邏輯與概率編程比較 

因素狀態(tài):整體狀態(tài)和使用變量比較。例如,有限自動機與動態(tài)貝葉斯網絡比較

相關性: 命題邏輯和一階邏輯比較。 例如, 貝葉斯網絡與馬爾可夫邏輯網絡

同時發(fā)生Concurrent: 對一個事物模型與多個事物比較。例如, 有限自動機與Petri網比較

時間的: 靜態(tài)與動態(tài)比較。 例如, 貝葉斯網絡與動態(tài)貝葉斯網絡比較

通過模型合并表達法:

Word2vec

Word2vec模型為詞匯表中的每一個單詞學習一個向量。每個詞向量的維度是相同的,一般在300左右。和tf-idf向量不同,詞向量是緊密的,大部分值不是0。

1.將每個單詞初始化為一個隨機向量 

2.對于文檔集里的每一個單詞w1: 

3.對于單詞w1周圍的每一個詞w2: 

4.移動向量,使w1和w2距離更近,同時其他單詞和w1的距離更遠。

5.若沒有達到終止條件,跳轉到步驟2 

——Skip-gram 模型 (Mikolov et al., 2013)

注意:實際上每個單詞對應兩個向量,因為你不希望一個單詞是在它本身附近的。(參見Goldberg and Levyhttps://arxiv.org/pdf/1402.3722v1.pdf ), 這個雙層for循環(huán)的解釋出自 Christopher Moody

word2vec 的含義:

我們常常可以看到這樣名言: 

“你可以通過一個詞附近的其它詞來理解這個詞”

——J. R. Firth 1957  

從某種意義上講,這個似乎是個事實。

“向量具有內部結構?!?/p>

——Mikolov et al., 2013

意大利– 羅馬= 法國– 巴黎 

國王– 女王= 男人– 女人 

但是……單詞不是基于經驗的,它們只是依賴于周圍的其它單詞的。

(也可以在ConceptNe上進行word2vec, 參見https://arxiv.org/pdf/1612.03975v1.pdf)

seq2seq 模型

seq2seq(序列-序列)模型可以對一個符號的序列進行編碼,例如一個句子,將其編碼為一個向量。進而,模型可以將向量解碼為另一個符號的序列。編碼和解碼都可以通過循環(huán)神經網絡(RNNs)進行。一個明顯的應用就是機器翻譯。例如,源語言是英語,目標語言是西班牙語。

將句意編碼為向量:

將句意解碼:

生成圖片題注:

回答提問

興趣點:

深度學習與回答提問:

神經網絡學習到了各個符號序列之間的聯(lián)系,但是這種描述并不足以覆蓋真實世界的豐富的聯(lián)系。

外部世界訓練

如果我們希望和機器交流,我們需要在和我們自己盡可能相似的環(huán)境中訓練他們。且不能僅僅是對話!(Harnad[1990] http://users.ecs.soton.ac.uk/harnad/Papers/Harnad/harnad90.sgproblem.html)為了理解“雞”,我們需要機器盡可能多的得到關于“雞”的經驗。當我們說出“雞”的時候,我們不僅僅指的是那種鳥類,我們指的是所有我們可以對它做的事情,以及它在我們文化中的所有含義。

這個方向已有很多工作:

首先,是在工業(yè)界——

1.OpenAI 

世界: 在 VNC(遠程桌面)的屏幕上訓練 

現(xiàn)在是通過Grand Theft Auto(俠盜車手)! 

(https://openai/blog/GTA-V-plus-Universe/)  

2.Google

Mikolov et al., A Roadmap towards Machine Intelligence(機器智能路線圖). 

他們定義了一個人工環(huán)境. (https://arxiv.org/pdf/1511.08130v2.pdf )

3.Facebook 

Weston, 應用于對話的記憶網絡https://arxiv.org/pdf/1604.06045v7.pdf 

Kiela et al., Virtual Embodiment: A Scalable Long-Term Strategy for Artificial Intelligence Res(虛擬實體化:人工智能的可拓展長期戰(zhàn)略). 提倡“有目的地” 使用視頻游戲https://arxiv.org/pdf/1610.07432v1.pdf

當然還有學術界——

1.Ray Mooney

文本到局面的映射

http://videolectures/aaai2013_mooney_language_learning/

2.Luc Steels

具有詞匯量和簡單語法的機器人

3.Narasimhanet al. 

訓練神經網絡來玩基于文字的冒險游戲

https://arxiv.org/pdf/1506.08941v2.pdf

但是,我們需要針對現(xiàn)實世界的更多訓練:

也許在Amazon Alexa 有了一個攝像頭以及一顆可以轉動的腦袋之后?沒有了老師的教益,我們還能走多遠?

我們可以將目光作為信息的來源嗎?

——Yu and Ballard, [2010]

從NLP到AI的兩條路徑

最后的思考

開放問題:

從商業(yè)視角來看,需要使用常識和邏輯推理的,最簡單的任務是什么?

TensorFlow和Caffe、MXNet、Keras等其他深度學習框架的對比 行業(yè)視頻課程

img

曼易

關注

雷鋒網按:本文作者黃文堅,PPmoney 大數(shù)據算法總監(jiān),《 TensorFlow 實戰(zhàn)》作者。本文節(jié)選自《 TensorFlow 實戰(zhàn)》第二章。

在下周二(2月28日)雷鋒網硬創(chuàng)公開課欄目將會推出黃文堅老師的公開課《深度學習之經典卷積神經網絡的技術淺析》(),歡迎大家報名!點擊了解詳情

Google 近日發(fā)布了 TensorFlow 1.0 候選版,這第一個穩(wěn)定版將是深度學習框架發(fā)展中的里程碑的一步。自 TensorFlow 于 2015 年底正式開源,距今已有一年多,這期間 TensorFlow 不斷給人以驚喜。在這一年多時間,TensorFlow 已從初入深度學習框架大戰(zhàn)的新星,成為了幾近壟斷的行業(yè)事實標準。

主流深度學習框架對比

深度學習研究的熱潮持續(xù)高漲,各種開源深度學習框架也層出不窮,其中包括 TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearning4、Lasagne、Neon 等等。然而 TensorFlow 卻殺出重圍,在關注度和用戶數(shù)上都占據絕對優(yōu)勢,大有一統(tǒng)江湖之勢。表 2-1 所示為各個開源框架在GitHub上的數(shù)據統(tǒng)計(數(shù)據統(tǒng)計于 2017 年 1 月 3 日),可以看到 TensorFlow 在 star 數(shù)量、fork 數(shù)量、contributor 數(shù)量這三個數(shù)據上都完勝其他對手。

究其原因,主要是 Google 在業(yè)界的號召力確實強大,之前也有許多成功的開源項目,以及 Google 強大的人工智能研發(fā)水平,都讓大家對 Google 的深度學習框架充滿信心,以至于 TensorFlow 在 2015 年 11 月剛開源的第一個月就積累了 10000+ 的 star 。其次,TensorFlow 確實在很多方面擁有優(yōu)異的表現(xiàn),比如設計神經網絡結構的代碼的簡潔度,分布式深度學習算法的執(zhí)行效率,還有部署的便利性,都是其得以勝出的亮點。如果一直關注著 TensorFlow 的開發(fā)進度,就會發(fā)現(xiàn)基本上每星期 TensorFlow 都會有1萬行以上的代碼更新,多則數(shù)萬行。產品本身優(yōu)異的質量、快速的迭代更新、活躍的社區(qū)和積極的反饋,形成了良性循環(huán),可以想見 TensorFlow 未來將繼續(xù)在各種深度學習框架中獨占鰲頭。

表2-1 各個開源框架在 GitHub 上的數(shù)據統(tǒng)計

觀察表2-1還可以發(fā)現(xiàn),Google、Microsoft、Facebook 等巨頭都參與了這場深度學習框架大戰(zhàn),此外,還有畢業(yè)于伯克利大學的賈揚清主導開發(fā)的 Caffe,蒙特利爾大學 Lisa Lab 團隊開發(fā)的 Theano,以及其他個人或商業(yè)組織貢獻的框架。另外,可以看到各大主流框架基本都支持 Python,目前 Python 在科學計算和數(shù)據挖掘領域可以說是獨領風騷。雖然有來自 R、Julia 等語言的競爭壓力,但是 Python 的各種庫實在是太完善了,Web 開發(fā)、數(shù)據可視化、數(shù)據預處理、數(shù)據庫連接、爬蟲等無所不能,有一個完美的生態(tài)環(huán)境。僅在數(shù)據挖據工具鏈上,Python 就有 NumPy、SciPy、Pandas、Scikit-learn、XGBoost 等組件,做數(shù)據采集和預處理都非常方便,并且之后的模型訓練階段可以和 TensorFlow 等基于 Python 的深度學習框架完美銜接。

表 2-1 和圖 2-1 所示為對主流的深度學習框架 TensorFlow、Caffe、CNTK、Theano、Torch 在各個維度的評分,本書 2.2 節(jié)會對各個深度學習框架進行比較詳細的介紹。

表2-2 主流深度學習框架在各個維度的評分

圖2-1 主流深度學習框架對比圖

各深度學習框架簡介

在本節(jié),我們先來看看目前各流行框架的異同,以及各自的特點和優(yōu)勢。

TensorFlow

TensorFlow 是相對高階的機器學習庫,用戶可以方便地用它設計神經網絡結構,而不必為了追求高效率的實現(xiàn)親自寫 C++或 CUDA 代碼。它和 Theano 一樣都支持自動求導,用戶不需要再通過反向傳播求解梯度。其核心代碼和 Caffe 一樣是用 C++編寫的,使用 C++簡化了線上部署的復雜度,并讓手機這種內存和CPU資源都緊張的設備可以運行復雜模型(Python 則會比較消耗資源,并且執(zhí)行效率不高)。除了核心代碼的 C++接口,TensorFlow 還有官方的 Python、Go 和 Java 接口,是通過 SWIG(Simplified Wrapper and Interface Generator)實現(xiàn)的,這樣用戶就可以在一個硬件配置較好的機器中用 Python進行實驗,并在資源比較緊張的嵌入式環(huán)境或需要低延遲的環(huán)境中用 C++部署模型。SWIG 支持給 C/C++代碼提供各種語言的接口,因此其他腳本語言的接口未來也可以通過 SWIG 方便地添加。不過使用 Python 時有一個影響效率的問題是,每一個 mini-batch 要從 Python 中 feed 到網絡中,這個過程在 mini-batch 的數(shù)據量很小或者運算時間很短時,可能會帶來影響比較大的延遲。現(xiàn)在 TensorFlow 還有非官方的 Julia、Node.js、R 的接口支持,地址如下。

Julia: http://github/malmaud/TensorFlow.jl

Node.js: http://github/node-tensorflow/node-tensorflow

R: http://github/rstudio/tensorflow

TensorFlow 也有內置的 TF.Learn 和 TF.Slim 等上層組件可以幫助快速地設計新網絡,并且兼容 Scikit-learn estimator 接口,可以方便地實現(xiàn) evaluate、grid search、cross validation 等功能。同時 TensorFlow 不只局限于神經網絡,其數(shù)據流式圖支持非常自由的算法表達,當然也可以輕松實現(xiàn)深度學習以外的機器學習算法。事實上,只要可以將計算表示成計算圖的形式,就可以使用 TensorFlow 。用戶可以寫內層循環(huán)代碼控制計算圖分支的計算,TensorFlow 會自動將相關的分支轉為子圖并執(zhí)行迭代運算。TensorFlow 也可以將計算圖中的各個節(jié)點分配到不同的設備執(zhí)行,充分利用硬件資源。定義新的節(jié)點只需要寫一個 Python 函數(shù),如果沒有對應的底層運算核,那么可能需要寫 C++或者 CUDA 代碼實現(xiàn)運算操作。

在數(shù)據并行模式上,TensorFlow 和 Parameter Server 很像,但 TensorFlow 有獨立的 Variable node,不像其他框架有一個全局統(tǒng)一的參數(shù)服務器,因此參數(shù)同步更自由。TensorFlow 和 Spark 的核心都是一個數(shù)據計算的流式圖,Spark 面向的是大規(guī)模的數(shù)據,支持 SQL 等操作,而 TensorFlow 主要面向內存足以裝載模型參數(shù)的環(huán)境,這樣可以最大化計算效率。

TensorFlow 的另外一個重要特點是它靈活的移植性,可以將同一份代碼幾乎不經過修改就輕松地部署到有任意數(shù)量 CPU 或 GPU 的 PC、服務器或者移動設備上。相比于 Theano,TensorFlow 還有一個優(yōu)勢就是它極快的編譯速度,在定義新網絡結構時,Theano 通常需要長時間的編譯,因此嘗試新模型需要比較大的代價,而 TensorFlow 完全沒有這個問題。TensorFlow 還有功能強大的可視化組件 TensorBoard,能可視化網絡結構和訓練過程,對于觀察復雜的網絡結構和監(jiān)控長時間、大規(guī)模的訓練很有幫助。TensorFlow 針對生產環(huán)境高度優(yōu)化,它產品級的高質量代碼和設計都可以保證在生產環(huán)境中穩(wěn)定運行,同時一旦 TensorFlow 廣泛地被工業(yè)界使用,將產生良性循環(huán),成為深度學習領域的事實標準。

除了支持常見的網絡結構(卷積神經網絡(Convolutional Neural Network,CNN)、循環(huán)神經網絡(Recurent Neural Network,RNN))外,TensorFlow 還支持深度強化學習乃至其他計算密集的科學計算(如偏微分方程求解等)。TensorFlow 此前不支持 symbolic loop,需要使用 Python 循環(huán)而無法進行圖編譯優(yōu)化,但最近新加入的 XLA 已經開始支持 JIT 和 AOT,另外它使用 bucketing trick 也可以比較高效地實現(xiàn)循環(huán)神經網絡。TensorFlow 的一個薄弱地方可能在于計算圖必須構建為靜態(tài)圖,這讓很多計算變得難以實現(xiàn),尤其是序列預測中經常使用的 beam search。

TensorFlow 的用戶能夠將訓練好的模型方便地部署到多種硬件、操作系統(tǒng)平臺上,支持 Intel 和 AMD 的 CPU,通過 CUDA 支持 NVIDIA 的 GPU (最近也開始通過 OpenCL 支持 AMD 的 GPU,但沒有 CUDA 成熟),支持 Linux 和 Mac,最近在 0.12 版本中也開始嘗試支持 Windows。在工業(yè)生產環(huán)境中,硬件設備有些是最新款的,有些是用了幾年的老機型,來源可能比較復雜,TensorFlow 的異構性讓它能夠全面地支持各種硬件和操作系統(tǒng)。同時,其在 CPU 上的矩陣運算庫使用了 Eigen 而不是 BLAS 庫,能夠基于 ARM 架構編譯和優(yōu)化,因此在移動設備(Android 和 iOS)上表現(xiàn)得很好。

TensorFlow 在最開始發(fā)布時只支持單機,而且只支持 CUDA 6.5 和 cuDNN v2,并且沒有官方和其他深度學習框架的對比結果。在 2015 年年底,許多其他框架做了各種性能對比評測,每次 TensorFlow 都會作為較差的對照組出現(xiàn)。那個時期的 TensorFlow 真的不快,性能上僅和普遍認為很慢的 Theano 比肩,在各個框架中可以算是墊底。但是憑借 Google 強大的開發(fā)實力,很快支持了新版的 cuDNN (目前支持cuDNN v5.1),在單 GPU 上的性能追上了其他框架。表 2-3 所示為 給出的各個框架在 AlexNet 上單 GPU 的性能評測。https://github/soumith/convnet-benchmarks

表2-3 各深度學習框架在 AlexNet 上的性能對比

目前在單 GPU 的條件下,絕大多數(shù)深度學習框架都依賴于 cuDNN,因此只要硬件計算能力或者內存分配差異不大,最終訓練速度不會相差太大。但是對于大規(guī)模深度學習來說,巨大的數(shù)據量使得單機很難在有限的時間完成訓練。這時需要分布式計算使 GPU 集群乃至 TPU 集群并行計算,共同訓練出一個模型,所以框架的分布式性能是至關重要的。TensorFlow 在 2016 年 4 月開源了分布式版本,使用 16 塊 GPU 可達單 GPU 的 15 倍提速,在 50 塊 GPU 時可達到 40 倍提速,分布式的效率很高。目前原生支持的分布式深度學習框架不多,只有 TensorFlow、CNTK、DeepLearning4J、MXNet 等。不過目前 TensorFlow 的設計對不同設備間的通信優(yōu)化得不是很好,其單機的 reduction 只能用 CPU 處理,分布式的通信使用基于 socket 的 RPC,而不是速度更快的 RDMA,所以其分布式性能可能還沒有達到最優(yōu)。

Google 在 2016 年 2 月開源了 TensorFlow Serving,這個組件可以將 TensorFlow 訓練好的模型導出,并部署成可以對外提供預測服務的 RESTful 接口,如圖 2-2 所示。有了這個組件,TensorFlow 就可以實現(xiàn)應用機器學習的全流程:從訓練模型、調試參數(shù),到打包模型,最后部署服務,名副其實是一個從研究到生產整條流水線都齊備的框架。這里引用 TensorFlow 內部開發(fā)人員的描述:“ TensorFlow Serving 是一個為生產環(huán)境而設計的高性能的機器學習服務系統(tǒng)。它可以同時運行多個大規(guī)模深度學習模型,支持模型生命周期管理、算法實驗,并可以高效地利用 GPU 資源,讓 TensorFlow 訓練好的模型更快捷方便地投入到實際生產環(huán)境”。除了 TensorFlow 以外的其他框架都缺少為生產環(huán)境部署的考慮,而 Google 作為廣泛在實際產品中應用深度學習的巨頭可能也意識到了這個機會,因此開發(fā)了這個部署服務的平臺。TensorFlow Serving 可以說是一副王牌,將會幫 TensorFlow 成為行業(yè)標準做出巨大貢獻。

圖2-2 TensorFlow Serving 架構

TensorBoard 是 TensorFlow 的一組 Web 應用,用來監(jiān)控 TensorFlow 運行過程,或可視化 Computation Graph。TensorBoard 目前支持五種可視化:標量(scalars)、圖片(images)、音頻(audio)、直方圖(histograms)和計算圖(Computation Graph)。TensorBoard 的 Events Dashboard 可以用來持續(xù)地監(jiān)控運行時的關鍵指標,比如 loss、學習速率(learning rate)或是驗證集上的準確率(accuracy);Image Dashboard 則可以展示訓練過程中用戶設定保存的圖片,比如某個訓練中間結果用 Matplotlib 等繪制(plot)出來的圖片;Graph Explorer 則可以完全展示一個 TensorFlow 的計算圖,并且支持縮放拖曳和查看節(jié)點屬性。TensorBoard 的可視化效果如圖 2-3 和圖 2-4 所示。

圖2-3 TensorBoard 的 loss 標量的可視化

圖2-4 TensorBoard 的模型結構可視化

TensorFlow 擁有?...

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動力姐姐微信

img
img

TOP