日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 智能硬件 > 人工智能AI
[導(dǎo)讀] 想挑戰(zhàn)馮·諾依曼,就必須從三個(gè)要素入手:基本操作,例如加減乘除;邏輯流程控制,例如if-else-then,for,while;設(shè)存儲(chǔ)器,內(nèi)存和硬盤的尋址。DeepMind團(tuán)隊(duì)認(rèn)為

想挑戰(zhàn)馮·諾依曼,就必須從三個(gè)要素入手:基本操作,例如加減乘除;邏輯流程控制,例如if-else-then,for,while;設(shè)存儲(chǔ)器,內(nèi)存和硬盤的尋址。DeepMind團(tuán)隊(duì)認(rèn)為,馮·諾依曼體系中的邏輯流程控制和外設(shè)存儲(chǔ)器使用,都必須在程序中寫死,而不能通過(guò)觀察范例,自動(dòng)生成程序。

2016年10月27日 “Nature” 期刊第538卷,發(fā)表了Google旗下的DeepMind團(tuán)隊(duì)寫的人工智能的論文,題目是 “Hybrid compuTIng using a neural network with dynamic external memory” [1],用配置了動(dòng)態(tài)外部存儲(chǔ)的神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)雜交計(jì)算。這篇論文介紹了DifferenTIable Neural Computer的實(shí)現(xiàn)細(xì)節(jié)。

DeepMind團(tuán)隊(duì)在倫敦工作,2014年被Google收購(gòu)。DeepMind開(kāi)發(fā)的AlphaGo,2016年年初戰(zhàn)勝了圍棋高手李世乭。

早在2014年12月,DeepMind團(tuán)隊(duì)發(fā)表了一篇論文,“Neural Turing Machines” [2]。后來(lái),他們對(duì)Neural Turing Machines (NTM)的存儲(chǔ)管理方式做了改進(jìn),命名為DifferenTIable Neural Computer(DNC)。DifferenTIable是可訓(xùn)練的意思,尤其是可以用gradient descent的算法來(lái)訓(xùn)練。

馮·諾依曼體系

當(dāng)今世界,所有計(jì)算機(jī)的體系,都源自于馮·諾依曼于1945年設(shè)計(jì)的體系,馮·諾依曼體系有三大要素:

基本操作,例如加減乘除。

邏輯流程控制,例如if-else-then,for,while。

外設(shè)存儲(chǔ)器,內(nèi)存和硬盤的尋址。

想挑戰(zhàn)馮·諾依曼,就必須從這三個(gè)要素入手。DeepMind團(tuán)隊(duì)認(rèn)為,馮·諾依曼體系中的邏輯流程控制和外設(shè)存儲(chǔ)器使用,都必須在程序中寫死,而不能通過(guò)觀察范例,自動(dòng)生成程序。

如果把程序理解為把輸入x轉(zhuǎn)換為輸出y的函數(shù)f(),y = f(x),那么neural network就是模擬任何函數(shù)的通用模型f^()。

但是早期的neural network有兩個(gè)軟肋:

不能實(shí)現(xiàn)variable binding,也就是說(shuō),f() 的內(nèi)部參數(shù),不能隨著輸入x的不同而改變。

不能實(shí)現(xiàn)variable-length structure,也就是說(shuō),輸入x和輸出y的維度都是定長(zhǎng)的,不能改變。

早期neural network的這兩個(gè)軟肋,都不難修補(bǔ)。譬如循環(huán)神經(jīng)網(wǎng)絡(luò)Recurrent Neural Network(RNN),就解決了這兩個(gè)問(wèn)題。換而言之,RNN是Turing-complete的,可以用來(lái)模擬任何函數(shù),當(dāng)然也可以模擬任何程序的功能。

既然馮·諾依曼體系的三大要素中的兩個(gè),基本操作和邏輯流程控制,都能夠被RNN模擬,假如RNN也能夠解決存儲(chǔ)管理的問(wèn)題,那么整個(gè)馮·諾依曼體系,就都能夠被RNN來(lái)實(shí)現(xiàn)了。所以 Differentiable Neural Computer (DNC)的工作重點(diǎn),在于存儲(chǔ)管理。

[3] 深入淺出地解釋了用RNN來(lái)管理存儲(chǔ)的原理。建議先讀 [3],再讀 [2],最后讀 [1]。需要特別注意的,個(gè)人體會(huì)有幾個(gè)方面,1. 存儲(chǔ)的設(shè)置,2. 尋址機(jī)制,3. 需要訓(xùn)練哪些參數(shù),4. 如何把DNC應(yīng)用到Graph操作中。

存儲(chǔ)的設(shè)置

[3] 把NTM/DNC的存儲(chǔ)設(shè)置解釋為the memory is an array of vectors,也就是一個(gè)矩陣,每一行就是一個(gè)vector,每行的vector的長(zhǎng)度一致,所有行集結(jié)起來(lái)就是array。在文中的例子中,[3] 把memory簡(jiǎn)化為an array of scalar, 也就是N行單列的矩陣,每一行只存儲(chǔ)一個(gè)數(shù)值。

什么時(shí)候需要存儲(chǔ)向量呢?如果存儲(chǔ)里存放的是圖像,那么每個(gè)存儲(chǔ)單元上存儲(chǔ)的是一個(gè)像素(r,g,b),像素就是一個(gè)向量,三個(gè)bytes組成的向量。

但是如果需要存儲(chǔ)的是一篇文章,每個(gè)存儲(chǔ)單元上需要存儲(chǔ)一個(gè)詞,而每個(gè)詞的長(zhǎng)度不同,怎么辦?三篇文章都沒(méi)有說(shuō),但是簡(jiǎn)單的辦法有二。

每個(gè)存儲(chǔ)單元上,預(yù)留足夠長(zhǎng)的vector,遇到很短的詞,空著的byte就全部填0。

把每個(gè)詞,無(wú)論長(zhǎng)短,都轉(zhuǎn)換為詞向量,詞向量的長(zhǎng)度定長(zhǎng)。第二個(gè)辦法就是其它論文中說(shuō)的encoding的辦法。

另外要注意的是,存儲(chǔ)矩陣的行數(shù)可能很多。想象一下,把一部長(zhǎng)篇小說(shuō)存放到存儲(chǔ)矩陣?yán)?,每個(gè)詞都占用一行,需要占用存儲(chǔ)矩陣的多少行。

尋址機(jī)制

DNC改進(jìn)了NTM的尋址機(jī)制。NTM的尋址機(jī)制是content-based和location-based的混搭。為什么需要改進(jìn)呢?原因有三。

NTM不能保障多個(gè)存儲(chǔ)單元之間,不相互重疊,不相互干擾。dynamic memory allocation: allocate a free space

NTM不能釋放存儲(chǔ)單元,如果處理很長(zhǎng)的序列時(shí),譬如處理一部超長(zhǎng)的長(zhǎng)篇小說(shuō),搞不好所有存儲(chǔ)都會(huì)被占滿,導(dǎo)致系統(tǒng)崩潰。dynamic memory allocation: free gates

如果連續(xù)做幾個(gè)讀寫操作,它們所使用的存儲(chǔ)單元的位置,最好是相鄰的。但是在NTM中,一旦某個(gè)讀寫操作,遠(yuǎn)遠(yuǎn)跳到其它存儲(chǔ)區(qū)域,那么后續(xù)操作也跟著去其它區(qū)域,而且失憶,想不起來(lái)原先的存儲(chǔ)區(qū)域在哪里。temporal link matrix

DNC的尋址機(jī)制,把讀操作和寫操作分開(kāi)。DNC用content-based和dynamic memory allocation的混搭方式,處理寫操作。用content-based和temporal memory linkage的混搭方式,處理讀操作。

1. content-based尋址:

比較需要處理的目標(biāo)vector,與存儲(chǔ)矩陣中每一行的vector,用余弦距離來(lái)計(jì)算兩者相似性。取存儲(chǔ)矩陣中,與目標(biāo)vector距離最短的行。

計(jì)算余弦距離時(shí),需要一個(gè)系數(shù)向量,beta,這個(gè)系數(shù)向量是被訓(xùn)練出來(lái)的。

2. dynamic memory allocation存儲(chǔ)單元分配:

每一個(gè)存儲(chǔ)單元,都是等長(zhǎng)的vector。當(dāng)每一個(gè)存儲(chǔ)單元被free的時(shí)候,整個(gè)vector中的每一個(gè)element,都可以用來(lái)寫入新數(shù)據(jù)。但是當(dāng)一個(gè)vector中有若干elements已經(jīng)被占用時(shí),剩下的elements還可以被寫入新數(shù)據(jù)。

想象一下,如果每個(gè)vector的長(zhǎng)度是100,又如果某個(gè)vector里,已經(jīng)寫入了一個(gè)不長(zhǎng)的詞,但是還有剩余的elements,這些剩余的elements可以用于給這個(gè)詞做詞性標(biāo)注等等。但是如果剩余的elements不多,那么詞性標(biāo)注只好被寫到其它行的vector里。

DNC設(shè)計(jì)了一個(gè)存儲(chǔ)單元占用向量u。u(i) = 0時(shí)第i行的vector中,所有element都可以被寫入新數(shù)據(jù),而當(dāng)u(i) = 1時(shí)第i行的vector中所有elements都已經(jīng)被占用了。

但是如果存儲(chǔ)矩陣中有兩行,i和j,分別有完全相同的elements可以被寫。誰(shuí)先被寫,取決于權(quán)重向量wt。wt體現(xiàn)了存儲(chǔ)使用的策略,策略既可以是盡可能寫入最新釋放的存儲(chǔ)單元,也可以盡可能寫入內(nèi)容相似,而且沒(méi)有被完全占用的存儲(chǔ)單元。這個(gè)權(quán)重向量wt,是可以根據(jù)被訓(xùn)練出來(lái)的。

3. Temporal memory linkage讀寫時(shí)序的關(guān)聯(lián):

Dynamic memory allocation沒(méi)有記錄歷次寫操作時(shí),loc(t) 發(fā)生在哪個(gè)存儲(chǔ)單元,以及l(fā)oc(t+1) 發(fā)生在哪個(gè)存儲(chǔ)單元。而記錄歷次寫操作的存儲(chǔ)單元的位置順序,是有用的。

DNC用N^2的方陣,來(lái)記錄temporal link,其中L(i, j) 記錄著t時(shí)寫操作發(fā)生在存儲(chǔ)單元j,而t+1時(shí)寫操作發(fā)生在存儲(chǔ)單元i的概率。L(i, j) 可以是簡(jiǎn)單的統(tǒng)計(jì)結(jié)果,也可以是加權(quán)的統(tǒng)計(jì)結(jié)果,權(quán)重體現(xiàn)了控制策略。權(quán)重是可以被訓(xùn)練出來(lái)的。

當(dāng)N很大的時(shí),理論上來(lái)說(shuō)L方陣會(huì)占用很多空間。但是鑒于L方陣很稀疏,很多L(i, j) 等于0。根據(jù)DeepMind團(tuán)隊(duì)的估算,L實(shí)際占用空間只有O( N ),計(jì)算成本只有O( N * Log N )。

需要訓(xùn)練哪些參數(shù)?

除了讀寫操作、以及尋址操作中的幾個(gè)權(quán)重向量以外,還有作為controller的RNN的參數(shù)。RNN可以選擇結(jié)構(gòu)比較簡(jiǎn)單的neuralnet work,也可以選擇結(jié)構(gòu)更復(fù)雜的LSTM。選用LSTM意味著有更多參數(shù),需要被訓(xùn)練。

訓(xùn)練數(shù)據(jù)通常不包含讀寫操作發(fā)生在哪個(gè)存儲(chǔ)空間上的信息。譬如NTM中,Priority Sort實(shí)驗(yàn)的訓(xùn)練數(shù)據(jù),是一連串(輸入,理想輸出)pairs。每個(gè)pair中的輸入,是20個(gè)向量,每個(gè)向量伴隨著priority打分。每個(gè)pair中的理想輸出,是從輸入的20個(gè)向量中,挑選出來(lái)的16個(gè),并且按priority得分排序。

注意,訓(xùn)練數(shù)據(jù)中不包含讀寫操作在哪些存儲(chǔ)單元上進(jìn)行的信息。

把DNC應(yīng)用到Graph操作中

文中把DNC用于在倫敦地鐵中,尋找兩站之間最佳路線。坐地鐵本身不重要,重要的是如果RNN學(xué)會(huì)使用Graph以后,能做什么?假如Graph不是地鐵,而是social graph呢?又假如是knowledge graph呢?

參考文獻(xiàn):

[1] Graves, Alex, et al. "Hybrid computing using a neural network with dynamic external memory." Nature 538.7626 (2016): 471-476.

[2] Graves, Alex, Greg Wayne, and Ivo Danihelka. "Neural turing machines." arXiv preprint arXiv:1410.5401 (2014).

[3] Chris Olah & Shan Carter, “Attention and Augmented Recurrent Neural Networks”, Distill, 2016.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉