Moku 3.3版更新在 Moku:Pro 平臺新增了全新的儀器功能【神經網絡】,使用戶能夠在Moku設備上部署實時機器學習算法很钓,進行快速香府、靈活的信號分析、去噪码倦、傳感器調節(jié)校準企孩、閉環(huán)反饋等應用。如果您不熟悉神經網絡的基礎知識袁稽,或者想了解神經網絡如何優(yōu)化加速實驗研究勿璃,請繼續(xù)閱讀,探索基于深度學習的現(xiàn)代智能化實驗的廣闊應用前景推汽。
Moku人工神經網絡101
Moku 3.3版更新在 Moku:Pro 平臺新增了全新的儀器功能【神經網絡】补疑,使用戶能夠在Moku設備上部署實時機器學習算法,進行快速歹撒、靈活的信號分析莲组、去噪、傳感器調節(jié)校準暖夭、閉環(huán)反饋等應用锹杈。如果您不熟悉神經網絡的基礎知識撵孤,或者想了解神經網絡如何優(yōu)化加速實驗研究,請繼續(xù)閱讀嬉橙,探索基于深度學習的現(xiàn)代智能化實驗的廣闊應用前景早直。
什么是神經網絡?
“人工神經網絡”(ANN)又稱“神經網絡”市框,是一種模仿生物神經網絡的計算模型霞扬。在這篇介紹中,我們將側重介紹全連接神經網絡枫振,不涉及卷積喻圃、遞歸和變壓器架構等復雜設置。
神經網絡由各層節(jié)點組成粪滤。一個節(jié)點的值取決于上一層一個或多個節(jié)點的值斧拍。第1層(輸入)的節(jié)點直接從外部輸入獲取其值,而zui后一層(輸出)的節(jié)點則給出網絡的結果杖小。輸入層和輸出層之間的層被稱為隱藏層肆汹。
用數(shù)學術語來說,可以把輸入層想象成一個 N ? 1 矩陣予权,其中 N 是輸入層的節(jié)點數(shù)昂勉,矩陣中的每個元素都對應激活值,如圖 1 所示扫腺。
圖 1:典型神經網絡架構岗照,包含輸入層、隱藏層和輸出層笆环。
接下來是隱藏層攒至。隱藏層的數(shù)量及其節(jié)點數(shù)取決于模型的復雜性和可用的計算能力。隱藏層的每個節(jié)點會對輸入層的激活值應用不同的權重和偏置躁劣,然后通過非線性激活函數(shù)處理迫吐。通過這種方式,神經網絡不僅能執(zhí)行簡單的線性運算账忘,還能解決復雜的非線性問題志膀。
圖 2:隱層的激活值是通過上一層激活值的組合計算得出的。
如果輸入層是一個 N ? 1 矩陣(n1闪萄、n2......)梧却,那么下一個激活值就是將其與一個 M ? N 矩陣相乘得到的奇颠,其中 M 是隱藏層的節(jié)點數(shù)败去。矩陣中的每個元素都是一個權重,用 wmn 表示烈拒,這意味著每一層都需要 MN 個參數(shù)圆裕。結果是一個 M ? 1 矩陣广鳍,然后用偏置值(b1、b2......)抵消吓妆。計算出新的激活值后赊时,將其傳遞給 “激活函數(shù)”。激活函數(shù)可以提供非線性行為行拢,如剪切和歸一化祖秒,能使網絡比簡單的矩陣乘法更強大。
數(shù)據(jù)經過幾個隱藏層處理后舟奠,zui終到達輸出層竭缝。輸出節(jié)點的激活值對應用于分類或預測相關參數(shù)。例如沼瘫,從示波器收集的時間序列數(shù)據(jù)被輸入到輸入層抬纸,達到將信號分類為正弦波、方波耿戚、鋸齒波或直流信號的神經網絡目的湿故。在輸出層中,每個節(jié)點將對應其中一個選項膜蛔,激活值z高的節(jié)點代表網絡對信號形式的z佳猜測坛猪。如果一個激活值接近 1,而其他激活值接近 0飞几,則表示網絡猜測的可信度很高砚哆。如果激活值相近,則表示對預測結果的信心不足屑墨。
神經網絡是如何工作的躁锁?
如果不調整隱藏層的權重和偏置,神經網絡zui終只能是一個復雜的隨機數(shù)生成器卵史。為了提高模型的準確性战转,用戶必須提供訓練數(shù)據(jù),即使用已知答案的訓練數(shù)據(jù)集優(yōu)化模型以躯。然后槐秧,模型可以根據(jù)訓練集計算出自己的答案,并與真實值進行比較忧设。計算出的差值被稱為成本函數(shù)刁标,是對模型性能的量化評估。
計算出給定數(shù)據(jù)集的成本函數(shù)后址晕,就可以通過各種微積分運算來調整隱藏層的權重和偏置膀懈,從而達到z小化成本函數(shù)的目標。這與向量微積分中的梯度下降概念類似谨垃,可在文獻[1]中進一步探討启搂。這一過程被稱為反向傳播(backpropagation)硼控,它允許通過成本函數(shù)獲得的信息在各層中向后傳遞,從而使模型在無需人工輸入的情況下進行學習或自我調整胳赌。
訓練數(shù)據(jù)通常會在神經網絡中運行多次牢撼。提供給模型的每個數(shù)據(jù)實例被稱為一個歷元。通常情況下疑苫,部分訓練數(shù)據(jù)會被保留用于驗證熏版。在驗證過程中,訓練有素的網絡將從保留的數(shù)據(jù)集中推斷輸出捍掺,并將其預測結果與已知的正確輸出進行比較纳决。這比單純的成本函數(shù)值更能準確反映模型的性能,因為它表明了模型對新輸入和新輸入的泛化能力乡小。
神經網絡有哪些不同類型阔加?
神經網絡的運行原理雖然相似,但根據(jù)應用的不同可以有多種形式满钟。常見的神經網絡包括
前饋神經網絡(FNN): 這是標準格式胜榔,如上述示例中討論的格式。在前饋神經網絡中湃番,數(shù)據(jù)通過網絡向前傳遞夭织,不需要任何反饋,也不需要記憶之前的輸入吠撮。典型的應用例子比如圖像識別尊惰,每個像素都是神經網絡的輸入,而輸出則是對該圖像的分類泥兰。
卷積神經網絡(CNN): 這是 FNN 的一種子類型弄屡,通常通過使用濾波器來檢測圖像中的特征。由于圖像的尺寸通常很大鞋诗,這些濾波器的作用是將輸入圖像的尺寸縮小到更小的權重數(shù)膀捷。這樣,隱層中的每個神經元就可以在整個輸入中掃描相同的特征削彬,因此CNN 在處理圖像識別任務具有很高魯棒性全庸。
遞歸神經網絡(RNN): 與前饋網絡不同,RNN 在隱藏層中使用反饋融痛。反饋機制為系統(tǒng)提供了記憶壶笼,因此給定層的輸出可以取決于先前的輸入。這使得 RNN 成為時間序列雁刷、語音和音頻數(shù)據(jù)等連續(xù)數(shù)據(jù)集的絕佳選擇覆劈。
自動編碼器: 自動編碼器是一種特殊的神經網絡,它能將給定數(shù)據(jù)編碼到一個縮小的維度空間,然后從編碼數(shù)據(jù)中重建或解碼墩崩。從概念上講,這與統(tǒng)計和生物信息學中常用的主成分分析 (PCA) 非常相似侯勉。
神經網絡在信號處理中的應用
神經網絡不僅在大型語言模型鹦筹、圖像解密和翻譯等方面具有廣泛應用,還能顯著提升信號處理中的測量性能址貌。利用機器學習改進測量設置的應用包括:
控制系統(tǒng): 在某些復雜系統(tǒng)中铐拐,很難事先知道實現(xiàn)特定控制狀態(tài)所需的輸入,或者系統(tǒng)模型難以反向推導练对。在這種情況下遍蟋,可使用波形發(fā)生器或函數(shù)發(fā)生器對系統(tǒng)進行探測,同時使用示波器監(jiān)控系統(tǒng)的響應狀態(tài)螟凭。然后虚青,神經網絡根據(jù)當前狀態(tài)與目標控制之間的差異學習反向映射。與 PID 控制器結合使用螺男,可實現(xiàn) PID 參數(shù)的自適應調整 [2]棒厘。
傳感器校準: 神經網絡可以獲取傳感器數(shù)據(jù)并補償系統(tǒng)誤差,如電纜的相位失真或延遲下隧,或光電探測器的光束偏差奢人。這種方法可在數(shù)據(jù)進入下一階段實驗前進行實時修正,提高測量精度淆院。
信號去噪: 這種技術利用神經網絡作為自動編碼器何乎,提取信號的關鍵特征,然后根據(jù)這些特征重建信號土辩。由于隨機噪聲不屬于關鍵特征支救,重建后的信號本質上就是經過去噪的信號,即神經網絡充當了高效的噪聲濾波器拷淘。
信號分類: 神經網絡可將時間序列等輸入信號與已知模板或一系列模板進行比較搂妻。這樣,用戶就能快速對信號類別進行分類辕棚,識別數(shù)據(jù)集中的異常值或錯誤欲主,檢測隨機事件,或根據(jù) IQ 正交振幅量子態(tài)進行分類 [3]逝嚎。
圖 3:經過神經網絡處理后的去噪重建信號扁瓢。
基于 FPGA 的神經網絡有哪些優(yōu)勢?
神經網絡通常是在 CPU 和/或 GPU 的組合上構建和運行的补君。這在處理大型模型時非常有效引几,但同時也對資源和能耗要求較高。對于前面提到的信號處理應用類型來說往往也是過度的。
FPGA具有高速處理及并行能力伟桅,使得神經網絡在處理實時數(shù)據(jù)時具備低延遲和高效的資源利用率敞掘。與傳統(tǒng)的GPU/CPU相比,基于 FPGA 的神經網絡非常適合實驗情況楣铁,因為它們處理實時數(shù)據(jù)的速度快玖雁,無需與主機 PC 通信就能實現(xiàn)快速控制和決策。FPGA 還可以根據(jù)用戶需求變化重新調整配置盖腕,靈活性強赫冬。zui后,由于 FPGA 體積小巧溃列,在FPGA 上實現(xiàn)的神經網絡有助于減少資源和能源消耗 [4][5]劲厌。
Moku 神經網絡是什么
Moku基于FPGA開發(fā)了一些列靈活、可快速重新配置的測試和測量儀器套件外听隐, Moku:Pro 現(xiàn)在還新增 Moku 神經網絡 功能补鼻。得益于 FPGA 的可重構性性和快速處理速度,神經網絡可與其他 Moku 儀器(如 波形發(fā)生器雅任、 PID 控制器和 示波器)一起使用辽幌,優(yōu)化信號分析、去噪椿访、傳感器調節(jié)和閉環(huán)反饋等應用場景解決方案乌企。
用戶可以使用 Python 開發(fā)和訓練自己的神經網絡,并在多儀器并行模式下將訓練好的神經網絡上傳到 Moku:Pro 成玫。這樣就可以實現(xiàn)多達四個輸入通道或一個通道的時間序列數(shù)據(jù)分析加酵,以及多達四個輸出用于實時實驗數(shù)據(jù)處理,所有這些都可以在一臺 Moku:Pro 上完成哭当。Moku 神經網絡具有多達五個全連接層猪腕,每個層包含多達 100 個神經元,并根據(jù)您的應用提供五種不同的激活函數(shù)選項钦勘,以適應不同應用需求陋葡。
如果您想了解基于FPGA 的 Moku 神經網絡如何加速您的研究進展,聯(lián)系昊量光電查看完整分步教程彻采。這篇指南將介紹所有基礎知識腐缤,包括 Python 安裝映凳、Moku 神經網絡構建和訓練以及部署省艳。如果您已經熟悉神經網絡的基本概念,您可以在這兒找到更多高ji現(xiàn)成的示例派昧。
更多詳情請聯(lián)系昊量光電/歡迎直接聯(lián)系昊量光電
關于昊量光電:
上海昊量光電設備有限公司是光電產品專業(yè)代理商特笋,產品包括各類激光器剃浇、光電調制器、光學測量設備、光學元件等虎囚,涉及應用涵蓋了材料加工角塑、光通訊、生物醫(yī)療淘讥、科學研究圃伶、國防、量子光學适揉、生物顯微、物聯(lián)傳感煤惩、激光制造等嫉嘀;可為客戶提供完整的設備安裝,培訓魄揉,硬件開發(fā)剪侮,軟件開發(fā),系統(tǒng)集成等服務洛退。
您可以通過我們昊量光電的官方網站www.wjjzl.com了解更多的產品信息瓣俯,或直接來電咨詢4006-888-532。
參考??
[1] K. Clark, Class Lecture, Topic: “Computing Neural Network Gradients,” CS224n, Stanford University, USA, 2019. https://web.stanford.edu/class/cs224n/readings/gradient-notes.pdf
[2] J. Wang, M. Li, W. Jiang, Y. Huang, and R. Lin, “A Design of FPGA-Based Neural Network PID Controller for Motion Control System.” Sensors, vol. 22, no. 3, p. 889, Jan. 2022. https://doi.org/10.3390/s22030889
[3] N. R. Vora et al., “ML-Powered FPGA-based Real-Time Quantum State Discrimination Enabling Mid-circuit Measurements,” arXiv:2406.18807 [quant-ph], Jun. 2024. https://arxiv.org/abs/2406.18807
[4] A. El Bouazzaoui, A. Hadjoudja, O. Mouhib, “Real-Time Adaptive Neural Network on FPGA: Enhancing Adaptability through Dynamic Classifier Selection,” arXiv:2311.09516v2 [cs.AR], Nov. 2023. https://arxiv.org/html/2311.09516v2
[5] C. Wang and Z. Luo, “A Review of the Optimal Design of Neural Networks Based on FPGA,” Appl. Sci., vol. 12, no. 3, p. 10771, OCT. 2022.https://doi.org/10.3390/app122110771