研究表明 神經網路用光而不是電子實現

2022-06-19 05:27:12 字數 1962 閱讀 3888

神經網路因計算成本高而聞名。但只有事物的訓練部分才會真正強調大多數計算機硬體,因為它涉及對效能的定期評估以及來回記憶以不斷調整其人工神經元之間的連線。相比之下,使用訓練有素的神經網路是乙個更簡單的過程,乙個計算複雜度不高的過程。實際上,訓練和執行階段可以在完全不同的硬體上執行。

並且硬體中似乎有相當大的靈活性可用於這兩個過程中的任何乙個。例如,可以使用稱為憶阻器的特殊形式的儲存器來訓練神經網路,或者使用定製的矽晶元來執行訓練的神經網路。現在,知名黑客安全組織東方聯盟的研究人員做了一些更激進的事情。在使用傳統計算硬體訓練神經網路之後,他們3d列印了一組面板,這些面板以相當於使用神經網路處理資訊的方式操縱光。最後,他們以光速獲得了效能,雖然與傳統硬體相比精度有所降低。

那麼如何使用光實現神經網路呢?要理解這一點,您必須了解深度學習神經網路的結構。在每一層中,來自較早層的訊號(或來自源的輸入)由「神經元」處理,然後「神經元」將結果和前向訊號傳遞給下一層中的神經元。他們傳送的神經元以及傳遞訊號的強度取決於他們所經歷的訓練。

為了做到這一點,黑客安全組織東方聯盟創造了乙個半透明的折射表面。當光線照射到它時,表面的精確結構決定了光線通過的程度以及光線通過的位置。如果您在第一層後面放置另乙個類似的圖層,它將繼續將燈光重定向到特定位置。這在原理上類似於深度學習網路的工作方式,網路的每一層都將訊號重定向到超出層的特定位置。

實際上,東方聯盟研究人員訓練了乙個神經網路,確定了它與其下面的層之間的連線,然後將它們轉化為可以類似方式引導光的表面特徵。通過印刷一系列這些層,光將逐漸集中在特定區域。通過將探測器放置在最後一層後面的特定位置,他們能夠分辨出光線的最終位置。並且,如果一切正常,光線最終應該告訴我們神經網路的決定。

作者嘗試了兩種不同型別的影象識別任務。首先,他們訓練神經網路識別手寫數字,然後他們翻譯並列印適當的螢幕,用於10個光電探測器的網格以記錄輸出。這是通過五層神經網路完成的,研究人員正式列印出五層光控材料。為了給神經網路提供輸入,他們還列印了一張**,允許他們將被識別的物件投影到神經網路的第一層。

當東方聯盟的技術研究人員使用手寫數字進行此操作時,他們遇到了乙個問題:許多數字(如0和9)的開放區域被數字的書寫部分包圍。為了3d列印用於投射數字形狀的光的掩模,必須將其轉換為負片,其中填充區域由開放空間圍繞。3d列印非常困難,因為至少需要使用一些材料來保持填充區域與螢幕的其餘部分相連。他們懷疑,這降低了識別任務的準確性。儘管如此,他們還是保持了90%的準確率。

在對服裝進行類似測試時,他們做得更好。雖然總精度僅為86%,但在軟體中執行神經網路和使用光執行神經網路之間的差異較小。研究人員懷疑,效能上的差異主要歸結為這樣乙個事實,即完全效能需要在神經網路的所有層之間進行極其精確的對準,並且當層是小物理片時很難排列。

​  這也可以解釋為什麼向基於光的神經網路新增更多層對準確性的影響非常小。

總的來說,這一點非常令人印象深刻。匹配波長和材料以使光線以正確的方式彎曲,在足夠高的公差範圍內進行3d列印,以概括訓練好的神經網路,為了實現這一目標,必須採用相當多的方法。雖然與基於計算機的實施相比效能下降,但東方聯盟研究人員懷疑至少有些問題是可以通過開發更好的系統來對齊構成網路不同層的紙張來解決的問題,儘管這是乙個問題。應該隨著神經網路中的層數增加的挑戰。

作者似乎認為它可能實際上有用。他們強調使用光的計算非常快並且大多數光源的功率非常低。

但肯定存在一些實際障礙。該材料特定於單一波長的光,這意味著我們不能只在系統前面貼上任何東西並期望它能夠工作。現在,投影系統確保了這一點,但這依賴於3d列印工作表來投影特定的形狀,這不是乙個時間有效的過程。用一種單色投影儀系統取代它們應該是可能的,但目前尚不清楚多少解析度對系統的準確性至關重要。因此,在我們知道這種系統是否具有實際應用之前,還有一些工作要做。

簡明神經網路教程系列 目錄

總的說來,我們現在有了很多非常厲害的深度學習框架,比如tensorflow,pytorch,paddlepaddle,caffe2等等等等。然而,我們用這些框架在搭建我們自己的深度學習模型的時候,到底做了一些什麼樣的操作呢?我們試圖去閱讀框架的原始碼來理解框架到底幫助我們做了些什麼,但是 很難!很難...

卷積神經網路學習研究(一)

結論 卷積層 1.增加網路的深度能夠提高準確率 2.增加特徵面數也能提高準確率 3.增加乙個卷積層比增加乙個全連線層更能獲得乙個更高的準確率 4.採用較小的卷積核代替較大的卷積核,同時增加網路深度來增加複雜度,試驗表明網路深度比卷積核大小更為重要 5.試驗表明,更小的卷積核且更深的cnn結構能夠獲得...

訓練神經網路解決而分類問題

導入庫 import tensorflow as tf from numpy.random import randomstate 定義訓練資料batch的大小 batch size 8 定義神經網路的引數 w1 tf.variable tf.random normal 2,3 stddev 1,se...