《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 神經網絡關聯存儲器的設計及應用
神經網絡關聯存儲器的設計及應用
2019年電子技術應用第11期
萬迪凱,豐大軍
華北計算機系統工程研究所,北京100083
摘要: 神經網絡的存儲能力一直是一個重大的缺陷,其存儲主要體現在權重系數上,因此參數量一多,訓練起來就十分困難。給神經網絡設計一個外部關聯存儲器,能有效對神經網絡的輸入進行關聯查詢,并將查詢的結果作為輔助輸入傳入到神經網絡中去。此外,設計了自然語言語句的向量嵌入模型,并將模型和關聯存儲器集合起來形成一個自動關聯語句語義向量的關聯存儲系統,其性能指標達到了設計要求。
中圖分類號: TP183
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190355
中文引用格式: 萬迪凱,豐大軍. 神經網絡關聯存儲器的設計及應用[J].電子技術應用,2019,45(11):10-12,16.
英文引用格式: Wan Dikai,Feng Dajun. The design and application of neural network associative memory system[J]. Application of Electronic Technique,2019,45(11):10-12,16.
The design and application of neural network associative memory system
Wan Dikai,Feng Dajun
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: The storage capacity of neural networks has always been a major flaw. Its storage is mainly reflected in the weight coefficient. Therefore, it is very difficult to train a neural network with a large amount of parameters. This paper intends to design an external associative memory for the neural network, which can effectively serve the neural network. The input is associated with the query and the result of the query is passed to the neural network as an auxiliary input. In addition, this paper designs a vector embedding model of natural language sentences, and assembles the model and associated memory to form an associative storage system with automatic association statement semantic vectors. The performance indicators of this system meet the design requirements.
Key words : associative memory;seq2seq;neural network;storage

0 引言

    神經網絡和深度學習的發展給語言、圖像以及個性化推薦[1-2]等領域帶來了突破的進展,但是神經網絡的存儲能力一直是一個重大的缺陷。目前的神經網絡深度越來越深,參數數量也越來越多,橫掃自然語言處理多項任務的BERT模型[3]的參數數量更是達到了3億以上。如此多的參數就帶來了神經網絡訓練上的困難。同時參數數量的增加也會帶來額外的計算開銷,將模型應用到小型嵌入式等計算能力低的設備中去就要減少參數數量,如對模型進行剪枝優化[4]。要達到減少參數數量的目的,可以給神經網絡裝配一個大容量的存儲器,將一些神經網絡學習過程中的知識記錄下來,等需要時再進行提取,直觀上可以降低神經網絡需要學習的參數量。

    知識有兩種,一種是觸類旁通、舉一反三的邏輯推理能力;一種是死記硬背的知識點。大容量的存儲器用來存儲這兩類知識,以便在需要的時候進行存儲。然而知識點之間并不是孤立存在的,它們是聯系著的,回想下人類思考的過程,在思考一個問題時往往會把相關的問題以及相關的方法都聯想起來。為了模擬人類的這一能力,就需要存儲器具有關聯能力,即邏輯上這些被存儲的東西之間構成一張立體的網絡圖,互相聯系,能進行關聯性存儲。當一個輸入到達時,此時如若能將相關的知識提取出來作為當前輸入的輔助輸入,則可以增強當前神經網絡的能力。本文旨在設計一個適合于神經網絡使用的大容量的關聯存儲系統,并通過設計神經網絡將自然語言語句向量嵌入后加以關聯存儲進行實際應用。

1 總體設計

    設計整體分為關聯存儲器的設計和自然語言語句向量嵌入兩部分。關聯存儲器主要用來存儲經過向量表示后的語句的語義,并能進行動態更新和關聯性查詢。自然語言語句向量嵌入主要負責把語句進行有意義的向量化,其通過訓練一個seq2seq的神經網絡模型來達到此目的,系統的總體架構圖如圖1所示。

rngz1-t1.gif

    關聯存儲器持久化采用的數據庫是REmote DIctionary Server(Redis)數據庫。Redis是一個開源的、使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。它通常被稱為數據結構服務器,因為值可以是字符串、哈希、列表、集合和有序集合等類型。

2 關聯存儲器的設計

    神經網絡的向量一般維度都較高,且需要存儲的向量個數通常較多,采用通常的存儲方式,每進行一次相關性查詢,需要兩兩比較,所需要的時間復雜度為O(N2),其中N為存儲的向量的個數。要想在神經網絡的海量數據訓練過程中使用關聯存儲器,這樣的時間復雜度是無法接受的。為了解決這個問題,有兩種方法可供選擇,一種是LSH(局部敏感性哈希)[5],另一種是Hopfield神經網絡[6]

2.1 局部敏感性哈希

    局部敏感性哈希的提出用以解決在大量向量中找到相似的向量而不用兩兩比較。局部敏感性哈希將兩個原本相似的長向量經過哈希后,其哈希向量仍然保持相似性,其原本用在比較文本之間的相似性上,不同的相似性度量對應不同的哈希函數,但并不是所有的相似性度量都有對應的哈希函數。哈希函數族的原始定義如下:

    從S空間變換到U空間的函數族H如果滿足以下兩個條件:

    (1)如果p∈B(q,r1),那么P(h(q)=h(p))≥p1

    (2)如果prngz1-2.1-x1.gifB(q,r2),那么P(h(q)=h(p))≤p2

則稱函數族H是(r1,r2,p1,p2)敏感的,其中B(q,r1)代表與q距離小于r1的點集合,P函數代表概率,h是從H中任選的哈希函數。

    也就是說,如果兩個點p、q足夠接近,那么它們哈希之后的值也大概率一樣;如果兩個點p、q相距較遠,那么它們哈希之后的值就大概率不一樣。

    有了敏感性哈希函數后,通過與或操作可以控制兩個向量被映射到同一個哈希桶中的概率。

    通過局部敏感性哈希可以將原來需要O(N2)復雜度的查詢操作減少到O(N)。

2.2 Hopfield神經網絡

    Hopfield神經網絡通過引入物理學中的能量函數的概念旨在構建一個聯想的記憶系統,其基本結構如圖2所示。

rngz1-t2.gif

rngz1-gs1.gif

其中,Vi、Vj分別為神經元i、j的輸出。

    給定所有的神經元一個初始的值,該神經網絡最終會達到能量局部最低的狀態,整個網絡就像一個動力系統,傾向于保持能量處于一個較小的狀態,就像物理學中水往低處走的現象。能量的局部極小值可能有很多個,給定神經元以不同的初始值能量可能會收斂到不同的局部最小值。給極小值附近的點施加一個輕微的擾動,它還是會回到極小值點,由于該神經網絡的這個特點,可以把它用在聯想記憶上。聯想記憶系統存儲著一系列記憶向量的集合。只要給聯想記憶網絡一個相關的記憶向量,它就能正確恢復出原來存儲的記憶向量,例如聯想記憶系統存儲著一句話,可能只需要幾個詞語就能聯想起整句話。

    要讓上述網絡存儲不同的記憶向量,就要讓這些需要記憶的向量都變成能量方程的局部最小值點。因此需要尋找一種方法可以讓任意點都成為局部極小值點。此外學習規則還需要滿足以下兩條性質:

    (1)局部性,即某個權重的更新要只依賴與它相鄰的兩個神經元;

    (2)能增量學習,即記憶某個新模式(向量)不必依賴原來的向量,權重的更新只依賴于它的舊值和新的要記憶的模式。

    Hebbian學習規則如下:

    當神經元輸出0/1時,有:

     rngz1-gs2-3.gif

其中,s代表迭代步。這個學習規則的意思是同時激發的兩個神經元傾向于形成強的連接關系。

    雖然Hopfield神經網絡提供了模擬人類記憶的模型,但是其存儲效率較為低下,N個神經元的完全圖大概能存儲0.15N個記憶向量,總共存儲了0.15N2 bit的數據。而構建一個這樣的神經網絡需要的存儲量為N(N-1)個權重向量,設每個權重的值范圍為[-M,M],則需要N(N-1)log(2M+1)位來存儲這些權重。因此,本文選取了局部敏感性哈希作為關聯存儲器的實現。

3 自然語言語句向量嵌入

    為了將語句存儲進關聯存儲器中去,首先要將文字表達的語句轉換為向量,為此本文設計神經網絡模型,將語句嵌入為向量。

3.1 模型結構

    模型的基礎結構為seq2seq模型[7],如圖3所示,分為編碼器和解碼器,編碼器將向量編碼為語義向量,將生成的語義向量輸入解碼器解碼為所需要得到的輸出語句。現在常用的seq2seq結構的編碼器和解碼器一般由堆疊的LSTM或GRU組成,并且帶有attention和beam search,目的并不是為了得到更高的精確度,而是為了獲取更加精確的中間向量表示。由于LSTM會生成狀態向量c和隱藏層輸出h,這兩者均輸入到解碼器,如果是堆疊的多層LSTM,那么就會有多個這樣的(c,h)組。由于無法判斷使用那個可以較好地代表中間語義向量,因此編碼器和解碼器只是采用單層的簡單的RNN,這樣編碼器就只生成一個單一的狀態向量傳遞到解碼器,通過語料訓練后可以得到有意義的語句向量表示。本文采用Cornell Movie-Dialogs Corpus[8]當作訓練語料庫進行訓練,該語料庫包含從原始電影腳本中提取的大量元數據豐富的虛構對話集合,該語料集共囊括617部電影,電影人物角色數量達到9 035個,共有10 292對電影角色之間的220 579次對話,總計304 713個對話片段。對于對話片段,相似的回答往往對應相似的提問,根據語料庫構建問答對,將提問當作輸入傳入編碼器,生成語義向量,再將該語義向量作為初始狀態輸入到解碼器中去,解碼器的目標是生成正確的回答。編碼器和解碼器的結構如圖4所示。雖然在訓練過程中分別訓練了編碼器和解碼器,但是實際使用時只用到了訓練好的編碼器,編碼器和解碼器一起訓練是為了讓編碼器產生的語義向量更加準確。

rngz1-t3.gif

rngz1-t4.gif

3.2 模型訓練

    本次訓練采用單個NVIDIA Tesla P100 GPU,使用TensorFlow開源庫作為基本框架進行模型搭建。損失函數采用交叉熵損失函數,優化器選用Adam優化器,共計訓練30輪,18 720批次,學習率為0.002。訓練過程中的損失函數的下降曲線如圖5所示。

rngz1-t5.gif

4 結束語

    本文主要介紹適用于神經網絡的關聯存儲器的設計,并設計實驗對實際的語句進行向量嵌入并存儲到關聯存儲器中,其性能指標達到了設計要求。

參考文獻

[1] 徐中輝,呂維帥.基于卷積神經網絡的圖像著色[J].電子技術應用,2018,44(10):19-22.

[2] 字云飛,李業麗,孫華艷. 基于深度神經網絡的個性化推薦系統研究[J].電子技術應用,2019,45(1):14-18,22.

[3] DEVLIN J,CHANG M W,LEE K,et al.Bert:Pre-training of deep bidirectional transformers for language understanding[J].arXiv Preprint arXiv:1810.04805,2018.

[4] 馬治楠,韓云杰,彭琳鈺,等.基于深層卷積神經網絡的剪枝優化[J].電子技術應用,2018,44(12):119-112,126.

[5] DATAR M,IMMORLICA N,INDYK P,et al.Locality-sen-sitive hashing scheme based on p-stable distributions[C].Proceedings of the Twentieth Annual Symposium on Computational Geometry.ACM,2004:253-262.

[6] HOPFIELD J J.Neural networks and physical systems with emergent collective computational abilities[J].Proceedings of the National Academy of Sciences,1982,79(8):2554-2558.

[7] SUTSKEVER I,VINYALS O,LE Q V.Sequence to sequence learning with neural networks[C].Advances in Neural Information Processing Systems,2014:3104-3112.

[8] DANESCU-NICULESCU-MIZIL C,LEE L.Chameleons in imagined conversations:a new approach to understanding coordination of linguistic style in dialogs[C].Proceedings of the 2nd Workshop on Cognitive Modeling and Computational Linguistics. Association for Computational Linguistics,2011:76-87.



作者信息:

萬迪凱,豐大軍

(華北計算機系統工程研究所,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲午夜影视影院在线观看| 亚洲欧洲在线免费| 精品96久久久久久中文字幕无| 国产精品白丝av嫩草影院| 毛片一区二区| 久久久久一区二区三区| 欧美影院一区| 欧美亚洲综合在线| 午夜精品视频一区| 亚洲一区欧美二区| 亚洲日本va在线观看| 亚洲国产精品久久人人爱蜜臀| 羞羞视频在线观看欧美| 香蕉成人伊视频在线观看| 亚洲一区二区三区色| 亚洲视频精品| 亚洲午夜精品网| 亚洲午夜伦理| 午夜精品亚洲| 性欧美video另类hd性玩具| 午夜精品国产精品大乳美女| 亚洲男人av电影| 欧美一区二区播放| 在线综合视频| 亚洲影院免费观看| 午夜日韩电影| 久久不射中文字幕| 亚洲国产精选| 一本久久综合亚洲鲁鲁五月天| 在线视频中文亚洲| 亚洲一区免费观看| 午夜一区二区三区不卡视频| 欧美一级视频精品观看| 久久久久久久久久久久久久一区 | 亚洲国产婷婷香蕉久久久久久99 | 尤物精品国产第一福利三区| 在线观看久久av| 亚洲七七久久综合桃花剧情介绍| 亚洲精品字幕| 亚洲午夜日本在线观看| 欧美一级久久| 亚洲欧洲一区二区在线观看| 一本久道久久综合狠狠爱| 亚洲制服少妇| 欧美在线视频日韩| 欧美成人国产| 欧美三日本三级少妇三2023| 国产乱人伦精品一区二区| 国产综合香蕉五月婷在线| 亚洲高清一区二区三区| 一本色道久久加勒比精品| 日韩一级精品| 欧美在线观看视频一区二区| 亚洲精品久久久一区二区三区| 亚洲视频在线观看| 欧美在线高清| 欧美国产第一页| 国产精品久久久久久久久久久久久久 | 亚洲欧洲一区| 亚洲无线视频| 久久久久久久97| 欧美日本韩国一区| 国产亚洲一区二区在线观看| 亚洲黄一区二区三区| 亚洲午夜三级在线| 亚洲激情不卡| 亚洲欧美激情视频在线观看一区二区三区| 久久久久久噜噜噜久久久精品| 欧美激情按摩| 国产日韩欧美中文在线播放| 亚洲精品欧美日韩| 欧美在线视频一区二区三区| 一区二区免费看| 久久久噜噜噜久久人人看| 欧美日韩免费高清一区色橹橹| 国产亚洲精品aa| 99国产精品久久久久久久| 久久高清福利视频| 亚洲欧美日韩精品久久| 欧美成人午夜激情在线| 国产精品一区毛片| 亚洲精品欧美极品| 久久精品一区二区三区不卡| 亚洲综合视频1区| 欧美高清视频一区| 国产亚洲精品美女| 一本色道久久综合亚洲精品不 | 亚洲欧美文学| 欧美高清hd18日本| 国产在线精品一区二区夜色| 99精品国产一区二区青青牛奶| 亚洲国产黄色片| 久久高清免费观看| 欧美午夜电影完整版| 亚洲国产精品免费| 久久国产精品99国产精| 欧美亚洲视频在线看网址| 欧美日韩亚洲综合一区| 亚洲国产精品福利| 亚洲大黄网站| 久久久91精品国产一区二区三区| 国产精品嫩草影院av蜜臀| 夜色激情一区二区| 亚洲精品久久久久| 麻豆精品网站| 国模私拍视频一区| 欧美一区二区日韩一区二区| 欧美一级在线播放| 国产精品青草综合久久久久99| 日韩一级大片在线| 一区二区免费在线观看| 欧美极品在线视频| 亚洲国产精品成人综合| 亚洲国产精品久久久久秋霞影院| 久久精品视频播放| 国产偷自视频区视频一区二区| 亚洲欧美日韩国产综合在线| 午夜久久美女| 国产乱码精品一区二区三| 亚洲淫性视频| 欧美一区二区视频观看视频| 国产精品综合久久久| 亚洲欧美日韩直播| 欧美一区观看| 国产偷久久久精品专区| 欧美在线1区| 久久久精品日韩| 国内视频精品| 亚洲国产精品一区制服丝袜 | 欧美精品久久一区| 最新中文字幕亚洲| 一区二区三区视频在线播放| 欧美日韩中字| 亚洲视频综合| 久久av一区二区三区| 国产亚洲精品一区二区| 久久精品一区二区国产| 免费成人毛片| 亚洲伦理久久| 亚洲自拍三区| 国产日韩欧美中文| 亚洲第一黄网| 欧美精品九九| 一区二区成人精品 | 国产亚洲第一区| 亚洲国产高清自拍| 欧美激情一区二区久久久| 亚洲美女av网站| 午夜精品久久久久久久99水蜜桃| 国产欧美亚洲精品| 亚洲国产高清在线| 欧美日韩国语| 亚洲一区日韩在线| 卡通动漫国产精品| 日韩午夜电影在线观看| 亚洲欧美日韩另类精品一区二区三区| 国产欧美在线观看| 亚洲国内精品在线| 欧美日韩精品二区第二页| 亚洲欧美日本国产有色| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲欧洲日本国产| 亚洲在线视频免费观看| 国内精品久久久久久久影视蜜臀| 亚洲日韩欧美视频一区| 国产精品99免费看| 亚洲成人直播| 欧美日韩三级视频| 欧美一区综合| 欧美日韩高清不卡| 性欧美8khd高清极品| 欧美高清在线精品一区| 亚洲午夜精品久久| 欧美成人xxx| 午夜精品久久久久久久99水蜜桃 | 国产欧美精品日韩区二区麻豆天美| 亚洲成人自拍视频| 欧美视频在线免费| 欧美在线观看一区二区| 欧美日韩国产丝袜另类| 先锋影音国产一区| 欧美精品在线视频| 欧美一站二站| 国产精品电影网站| 亚洲精品视频在线看| 国产精品久久久久婷婷| 91久久线看在观草草青青| 国产精品一区二区久久| 亚洲精品中文字| 国产午夜精品麻豆| 中国成人在线视频| 精品1区2区3区4区| 欧美在线观看网址综合| 日韩午夜av电影| 牛牛影视久久网| 午夜日韩视频| 国产精品老牛| 一区二区三区.www| 在线精品视频免费观看| 欧美综合国产|