用于產(chǎn)生偽隨機數(shù)的可編程概率分布函數(shù)的方法和裝置的制造方法
【專利說明】用于產(chǎn)生偽隨機數(shù)的可編程概率分布函數(shù)的方法和裝置
[00011根據(jù)35U.S.C.§119的優(yōu)先權要求
[0002] 本申請要求于2013年10月2日提交的美國臨時專利申請S/N. 61/885,980以及于 2014年3月4日提交的美國專利申請S/N. 14/19 5,988的權益,這兩篇申請的全部內(nèi)容通過援 引納入于此。
[0003] 背景
[0004] 領域
[0005] 本公開的某些方面一般涉及人工神經(jīng)系統(tǒng),尤其涉及用于產(chǎn)生用于過濾(丟棄和 通過)神經(jīng)元尖峰的偽隨機數(shù)的可編程概率分布函數(shù)的方法和裝置。
【背景技術】
[0006] 可包括一群互連的人工神經(jīng)元(即神經(jīng)處理單元)的人工神經(jīng)網(wǎng)絡是一種計算設 備或者表示將由計算設備執(zhí)行的方法。人工神經(jīng)網(wǎng)絡可具有生物學神經(jīng)網(wǎng)絡中的對應的結 構和/或功能。然而,人工神經(jīng)網(wǎng)絡可為其中傳統(tǒng)計算技術是麻煩的、不切實際的、或不勝任 的某些應用提供創(chuàng)新且有用的計算技術。由于人工神經(jīng)網(wǎng)絡能從觀察中推斷出功能,因此 這樣的網(wǎng)絡在因任務或數(shù)據(jù)的復雜度使得通過常規(guī)技術來設計該功能較為麻煩的應用中 是特別有用的。
[0007] -種類型的人工神經(jīng)網(wǎng)絡是尖峰(spiking)神經(jīng)網(wǎng)絡,其將時間概念以及神經(jīng)元 狀態(tài)和突觸狀態(tài)納入到其工作模型中,由此提供了豐富的行為集,在神經(jīng)網(wǎng)絡中能從該行 為集涌現(xiàn)出計算功能。尖峰神經(jīng)網(wǎng)絡基于以下概念:神經(jīng)元基于該神經(jīng)元的狀態(tài)在一個或 多個特定時間激發(fā)或"發(fā)放尖峰",并且該時間對于神經(jīng)元功能而言是重要的。當神經(jīng)元激 發(fā)時,它生成一尖峰,該尖峰行進至其他神經(jīng)元,這些其他神經(jīng)元繼而可基于接收到該尖峰 的時間來調(diào)整它們的狀態(tài)。換言之,信息可被編碼在神經(jīng)網(wǎng)絡中的尖峰的相對或絕對定時 中。
[0008] 概述
[0009] 本公開的某些方面提供了一種用于人工神經(jīng)系統(tǒng)操作的方法。該方法一般包括: 生成隨機數(shù)序列;對所生成的隨機數(shù)序列執(zhí)行比特級運算以生成具有可編程概率分布函數(shù) (TOF)的第一偽隨機數(shù)序列;生成另一隨機數(shù)序列;以及在第一序列與該另一序列之間執(zhí)行 比特級運算以生成具有可編程TOF的第二偽隨機數(shù)序列。
[0010] 本公開的某些方面提供了一種用于人工神經(jīng)系統(tǒng)操作的裝置。該裝置一般包括: 第一電路,其配置成生成隨機數(shù)序列;第二電路,其配置成對所生成的隨機數(shù)序列執(zhí)行比特 級運算以生成具有可編程概率分布函數(shù)(PDF)的第一偽隨機數(shù)序列;第三電路,其配置成生 成另一隨機數(shù)序列;以及第四電路,其配置成在第一序列與該另一序列之間執(zhí)行比特級運 算以生成具有可編程roF的第二偽隨機數(shù)序列。
[0011] 本公開的某些方面提供了一種用于人工神經(jīng)系統(tǒng)操作的設備。該設備一般包括: 用于生成隨機數(shù)序列的裝置;用于對所生成的隨機數(shù)序列執(zhí)行比特級運算以生成具有可編 程概率分布函數(shù)(PDF)的第一偽隨機數(shù)序列的裝置;用于生成另一隨機數(shù)序列的裝置;以及 用于在第一序列與該另一序列之間執(zhí)行比特級運算以生成具有可編程roF的第二偽隨機數(shù) 序列的裝置。
[0012] 本公開的某些方面提供了一種用于人工神經(jīng)系統(tǒng)操作的計算機程序產(chǎn)品。該計算 機程序產(chǎn)品一般包括具有指令的非瞬態(tài)計算機可讀介質(zhì)(例如,存儲設備),該指令可執(zhí)行 以用于:生成隨機數(shù)序列;對所生成的隨機數(shù)序列執(zhí)行比特級運算以生成具有可編程概率 分布函數(shù)(PDF)的第一偽隨機數(shù)序列;生成另一隨機數(shù)序列;以及在第一序列與該另一序列 之間執(zhí)行比特級運算以生成具有可編程TOF的第二偽隨機數(shù)序列。
[0013] 附圖簡述
[0014] 為了能詳細理解本公開的以上陳述的特征所用的方式,可參照各方面來對以上簡 要概述的內(nèi)容進行更具體的描述,其中一些方面在附圖中解說。然而應該注意,附圖僅解說 了本公開的某些典型方面,故不應被認為限定其范圍,因為本描述可允許有其他等同有效 的方面。
[0015] 圖1解說了根據(jù)本公開的某些方面的示例神經(jīng)元網(wǎng)絡。
[0016] 圖2解說了根據(jù)本公開的某些方面的計算網(wǎng)絡(神經(jīng)系統(tǒng)或神經(jīng)網(wǎng)絡)的示例處理 單元(神經(jīng)元)。
[0017] 圖3解說了根據(jù)本公開的某些方面的示例尖峰定時依賴可塑性(STDP)曲線。
[0018] 圖4是根據(jù)本公開的某些方面的用于人工神經(jīng)元的狀態(tài)的示例曲線圖,其解說用 于定義神經(jīng)元的行為的正態(tài)相和負態(tài)相。
[0019] 圖5解說了根據(jù)本公開的某些方面的示例簡化可編程概率密度函數(shù)(PDF)電路框 圖。
[0020] 圖6A-6D解說了根據(jù)本公開的某些方面的隨機生成序列的柱狀圖的圖表的示例。
[0021] 圖7解說了根據(jù)本公開的某些方面的用于支持與神經(jīng)元尖峰相關聯(lián)的給定丟棄率 的每時鐘循環(huán)的比較數(shù)目的示例。
[0022] 圖8解說了根據(jù)本公開的某些方面的丟棄概率與隨機數(shù)的比較的示例框圖。
[0023] 圖9解說了根據(jù)本公開的某些方面的每時鐘生成16個字的線性反饋移位寄存器 (LFSR)的示例框圖。
[0024] 圖10A-10B解說了根據(jù)本公開的某些方面的用于神經(jīng)元尖峰的突發(fā)長度通過的邏 輯的示例。
[0025] 圖11是根據(jù)本公開的某些方面的用于操作人工神經(jīng)系統(tǒng)的示例操作的流程圖。 [0026]圖11A解說了能夠執(zhí)行圖11中所示的操作的示例裝置。
[0027]圖12解說了根據(jù)本公開的某些方面的用于使用通用處理器來操作人工神經(jīng)系統(tǒng) 的示例實現(xiàn)。
[0028] 圖13解說了根據(jù)本公開的某些方面的用于操作人工神經(jīng)系統(tǒng)的示例實現(xiàn),其中存 儲器可與個體分布式處理單元對接。
[0029] 圖14解說了根據(jù)本公開的某些方面的用于基于分布式存儲器和分布式處理單元 來操作人工神經(jīng)系統(tǒng)的示例實現(xiàn)。
[0030] 圖15解說了根據(jù)本公開的某些方面的神經(jīng)網(wǎng)絡的示例實現(xiàn)。
[0031 ] 詳細描述
[0032]以下參照附圖更全面地描述本公開的各個方面。然而,本公開可用許多不同形式 來實施并且不應解釋為被限定于本公開通篇給出的任何具體結構或功能。相反,提供這些 方面是為了使得本公開將是透徹和完整的,并且其將向本領域技術人員完全傳達本公開的 范圍。基于本文中的教導,本領域技術人員應領會,本公開的范圍旨在覆蓋本文中所披露的 本公開的任何方面,不論其是與本公開的任何其他方面相獨立地實現(xiàn)還是組合地實現(xiàn)的。 例如,可以使用本文所闡述的任何數(shù)目的方面來實現(xiàn)裝置或?qū)嵺`方法。另外,本公開的范圍 旨在覆蓋使用作為本文中所闡述的本公開的各個方面的補充或者另外的其他結構、功能 性、或者結構及功能性來實踐的此類裝置或方法。應當理解,本文中所披露的本公開的任何 方面可由權利要求的一個或多個元素來實施。
[0033] 措辭"示例性"在本文中用于表示"用作示例、實例或解說"。本文中描述為"示例 性"的任何方面不必被解釋為優(yōu)于或勝過其他方面。
[0034] 盡管本文描述了特定方面,但這些方面的眾多變體和置換落在本公開的范圍之 內(nèi)。雖然提到了優(yōu)選方面的一些益處和優(yōu)點,但本公開的范圍并非旨在被限定于特定益處、 用途或目標。相反,本公開的各方面旨在能寬泛地應用于不同的技術、系統(tǒng)配置、網(wǎng)絡和協(xié) 議,其中一些作為示例在附圖以及以下對優(yōu)選方面的描述中解說。詳細描述和附圖僅僅解 說本公開而非限定本公開,本公開的范圍由所附權利要求及其等效技術方案來定義。
[0035] 示例神經(jīng)系統(tǒng)
[0036] 圖1解說根據(jù)本公開的某些方面的具有多級神經(jīng)元的示例神經(jīng)系統(tǒng)100。神經(jīng)系統(tǒng) 100可包括一級神經(jīng)元102,該級神經(jīng)元102通過突觸連接網(wǎng)絡104(即,前饋連接)來連接到 另一級神經(jīng)元106。為簡單起見,圖1中僅解說了兩級神經(jīng)元,但在典型的神經(jīng)系統(tǒng)中可存在 更少或更多級神經(jīng)元。應注意,一些神經(jīng)元可通過側向連接來連接至同層中的其他神經(jīng)元。 此外,一些神經(jīng)元可通過反饋連接來后向連接至先前層中的神經(jīng)元。
[0037] 如圖1所解說的,級102中的每一神經(jīng)元可接收輸入信號108,輸入信號108可以是 由前一級(圖1中未示出)的多個神經(jīng)元所生成的。信號108可表示至級102的神經(jīng)元的輸入 (例如,輸入電流)。此類輸入可在神經(jīng)元膜上累積以對膜電位進行充電。當膜電位達到其閾 值時,該神經(jīng)元可激發(fā)并生成輸出尖峰,該輸出尖峰將被傳遞到下一級神經(jīng)元(例如,級 106)。此類行為可在硬件和/或軟件(包括模擬和數(shù)字實現(xiàn))中進行仿真或模擬。
[0038] 在生物學神經(jīng)元中,在神經(jīng)元激發(fā)時生成的輸出尖峰被稱為動作電位。該電信號 是相對迅速、瞬態(tài)、全有或全無的神經(jīng)脈沖,其具有約為100mV的振幅和約為lms的歷時。在 具有一系列連通的神經(jīng)元(例如,尖峰從圖1中的一級神經(jīng)元傳遞至另一級)的神經(jīng)系統(tǒng)的 特定方面,每個動作電位都具有基本上相同的振幅和歷時,因此該信號中的信息僅由尖峰 的頻率和數(shù)目(或尖峰的時間)來表示,而不由振幅來表示。動作電位所攜帶的信息由尖峰、 發(fā)放尖峰的神經(jīng)元、以及該尖峰相對于一個或多個其他尖峰的時間來決定。
[0039] 尖峰從一級神經(jīng)元向另一級神經(jīng)元的傳遞可通過突觸連接(或簡稱"突觸')網(wǎng)絡104來達 成,如圖1所解說的。突觸104可從級102的神經(jīng)元(相對于突觸104而言的突觸前神經(jīng)元)接 收輸出信號(即尖峰)。對于某些方面,這些信號可根據(jù)可調(diào)節(jié)突觸權重 (其中P是級102和106的神經(jīng)元之間的突觸連接的總數(shù))來縮放。對于其它方面,突觸104可 以不應用任何突觸權重。此外,(經(jīng)縮放的)信號可被組合以作為級106中每個神經(jīng)元(相對 于突觸104而言的突觸后神經(jīng)元)的輸入信號。級106中的每個神經(jīng)元可基于對應的組合輸 入信號來生成輸出尖峰110。隨后可使用另一突觸連接網(wǎng)絡(圖1中未示出)將這些輸出尖峰 110傳遞到另一級神經(jīng)元。
[0040] 生物學突觸可被分類為電的或化學的。電突觸主要用于發(fā)送興奮性信號,而化學 突觸可調(diào)停突觸后神經(jīng)元中的興奮性或抑制性(超極化)動作,并且還可用于放大神經(jīng)元信 號。興奮性信號通常使膜電位去極化(即,相對于靜息電位增大膜電位)。如果在某個時段內(nèi) 接收到足夠的興奮性信號以使膜電位去極化到高于閾值,則在突觸后神經(jīng)元中發(fā)生動作電 位。相反,抑制性信號一般使膜電位超極化(即,降低膜電位)。抑制性信號如果足夠強則可 抵消掉興奮性信號之和并阻止膜電位到達閾值。除了抵消掉突觸興奮以外,突觸抑制還可 對自發(fā)活躍神經(jīng)元施加強力的控制。自發(fā)活動神經(jīng)元是指在沒有進一步輸入的情況下(例 如,由于其動態(tài)或反饋而)發(fā)放尖峰的神經(jīng)元。通過壓制這些神經(jīng)元中的動作電位的自發(fā)生 成,突觸抑制可對神經(jīng)元中的激發(fā)模式進行定形,這一般被稱為雕刻。取決于期望的行為, 各種突觸104可充當興奮性或抑制性突觸的任何組合。
[0041] 神經(jīng)系統(tǒng)100可由通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場 可編程門陣列(FPGA)或其他可編程邏輯器件(PLD)、分立的門或晶體管邏輯、分立的硬件組 件、由處理器執(zhí)行的軟件模塊、或其任何組合來仿真