科學家利用光信息實現神經網絡計算

美國加州大學洛杉磯分校的科學家利用光信息實現了神經網絡計算,相較傳統電子器件,其處理速度接近光速,但準確性有所降低。

神經網絡以計算成本昂貴而著稱。但只有訓練部分才會對大多數計算機硬件造成壓力,因為它涉及對性能的定期評估和不斷往返於內存來調整其與人工神經元之間的連接。相比之下,使用訓練過的神經網絡是一個簡單得多的過程,計算上並不複雜。事實上,可以在完全不同的硬件上運行訓練和執行階段。

而且在這兩種過程中,硬件方面似乎有相當大的靈活性。例如,可以使用一種名為“memristor”的特殊內存來訓練神經網絡,或者使用定製的硅芯片來執行訓練過的神經網絡。現在,加州大學洛杉磯分校的研究人員完成了一項更激進的研究。在用傳統的計算硬件訓練了神經網絡之後,他們3D打印出一組面板來操縱光,其操縱效果等同於使用神經網絡來處理信息。最後,研究人員以光速實現了神經網絡計算,儘管計算精度與傳統硬件相比有所降低。

那麼如何使用光來實現神經網絡?要理解這一點,必須瞭解深度學習神經網絡的結構。在每一層神經網絡中,來自上一層神經網絡的信號(或來自源輸入)由“神經元”處理,然後接收結果並將正向信號轉發給下一層的神經元。它們發送給神經元以及它們傳遞的信號有多強取決於它們所接受的訓練。

為了利用光,加州大學洛杉磯分校團隊創造了一種半透明的、可折射的面板。當光射向它時,面板的精細結構決定了光穿過的距離和方向。如果在第一層面板後面放置另一層相同的面板,它將繼續把光重定向到特定的位置。這在原則上與深度學習網絡的工作方式相似,即網絡的每一層都將信號重定向到下一層的特定位置。

實際上,研究人員訓練了一個神經網絡,識別出它與下層之間的聯繫,然後將這些聯繫轉化為面板的結構特徵,並以類似的方式引導光。通過打印一系列的面板,光會逐漸集中在一個特定區域。通過在最後一層面板後面的特定位置放置探測器,他們就能知道光的最終去向。而且,如果一切都得到恰當處理,光的終點就能代表神經網絡的處理結果。

研究人員嘗試了兩種不同類型的圖像識別任務。首先,他們訓練神經網絡來識別手寫數字,然後他們翻譯並打印出適合10個光電探測器的網格來記錄輸出。這是通過一個五層神經網絡完成的,研究人員及時打印出五層光控制材料。為了給神經網絡提供輸入,他們還打印了一張表格,讓他們將被識別的對象投影到神經網絡的第一層。

當加州大學洛杉磯分校的研究人員用手寫數字做這個實驗時,他們遇到了一個問題:許多數字(如0和9)的開放區域被書寫的數字部分所包圍。為了讓3D打印出能投射數字形狀的掩模,必須將它轉換成用一個由開放空間包圍的填充區域的底片。這對於3D打印是相當困難的,因為至少須使用一些材料來保持填入的區域與屏幕的其他部分相連。他們懷疑,這降低了識別任務的準確性。不過,他們的準確率還是達到了90%以上。

他們在對衣物進行類似測試時甚至做得更好。雖然總準確率只有86%,但在運行神經網絡軟件與在光線下運行神經網絡的區別較小。研究人員推測,性能上的差異主要歸結於這樣一個事實,即完整的性能要求神經網絡的所有層之間進行極其精確的對齊,而當這些層是小的物理層時,則很難排列。這也可以解釋為什麼在基於光的神經網絡中添加更多的層對準確度稍有影響。

總的來說,這項工作非常令人印象深刻。雖然性能低於基於計算機的方法,但研究人員推測,至少有些問題是可以通過開發更好的系統來調整構成網絡不同層的工作層進行對齊,儘管這個挑戰會隨著神經網絡中層數的增加而加大。科研人員認為它可能在實踐中有用,他們強調,使用光計算的速度非常快,而且大多數光源的功率都非常低。

但確實存在一些實際障礙。這種材料只適用於單一波長的光,這意味著不能僅僅把任何東西放到系統就期望它能工作。目前,這由投影系統來保證,但是這依賴於3D打印一張紙來投影特定形狀,這並不是一個高效的過程。用一種單色投影儀系統來代替是可能的,但不清楚分辨率對系統精度的影響有多大。所以在知道這類系統是否有實際應用之前還有一些工作要做。

科学家利用光信息实现神经网络计算


分享到:


相關文章: