Codes and data regarding the article: "Neuromorphic Photonic Circuits with Nonlinear Dynamics and Memory for Time Sequence Classification".
收藏资源简介:
This upload complements the paper "Neuromorphic Photonic Circuits with Nonlinear Dynamics and Memory for Time Sequence Classification". Regarding Section 3.2 " Classification using Single Pixel Representations with Optical Memory": "ML_singlePix2.py" employs the output traces (measured at the output ports of the MRR network) to train and test a linear machine learning (ML) model (logistic regression) employing as features a single time sample for each output trace. "ML_singlePix2_expBaseline.py" and "ML_singlePix2_teoBaseline.py" are similar to "ML_singlePix2.py" and provide respectively the experimental baseline results (based on acquistion of optical data from the chip, without the processing from the MRR network, i.e. out of resonance) and the theoretical baseline results (where the linear classifier is directly applied to the original datasets, without any optical/analog convertion). "ML_singlePix2_increasingNumberOfRpepr" is also similar to "ML_singlePix2.py", with the difference that, given a time sample, it trains and evaluates the linear ML model considering an increasing number of output representations (i.e., an increasing number of features). "ResultsAnalysis_singlePix2.py" analyzes the results from the previous codes, and produces the plots presented on the paper. Regarding Section "5.2.1. Data Acquisition": "main_parsing.py" and "parsing.py" parse the measured raw data and save them into a series of flattened images. Regarding Section "5.4.1. Linear Classifier (LC)": "MNIST_logistic_regression.py" performs the logistic regression on the original (non photonics processed) dataset. "MRR_singleport.py" applies the logistic regression to a single photonic representation. "MRR_Nports.py" applies it to N representations coming from different ports. Regarding Section "5.4.2. Multilayer ANN in Software": "MNIST_multi_layers.py" trains and test a ANN with 1 hidden layer on the original (non photonics processed) dataset The raw experimental data (i.e. the output traces of the MRR network) can be obtained from the authors by reasonable request.
本上传内容补充了题为《用于时序分类的具备非线性动力学与记忆功能的神经形态光子电路》的论文。 关于第3.2节“基于单像素表征与光学记忆的分类”: "ML_singlePix2.py" 采用微环谐振器(Micro Ring Resonator, MRR)网络输出端口的测量轨迹,训练并测试线性机器学习(Machine Learning, ML)模型——逻辑回归模型,该模型以每条输出轨迹的单个时间采样作为特征。 "ML_singlePix2_expBaseline.py"与"ML_singlePix2_teoBaseline.py"的功能与"ML_singlePix2.py"类似,二者分别提供实验基线结果(基于芯片光学数据采集,未经过MRR网络处理,即失谐状态下)与理论基线结果(线性分类器直接应用于原始数据集,未经过任何光学/模拟转换)。 "ML_singlePix2_increasingNumberOfRpepr"与"ML_singlePix2.py"类似,区别在于其针对单个时间采样,会逐步增加输出表征的数量(即特征数量)来训练与评估线性机器学习模型。 "ResultsAnalysis_singlePix2.py"用于分析前述代码的运行结果,并生成论文中展示的相关图表。 关于第5.2.1节“数据采集”: "main_parsing.py"与"parsing.py"用于解析测量得到的原始数据,并将其保存为一系列扁平化图像。 关于第5.4.1节“线性分类器(Linear Classifier, LC)”: "MNIST_logistic_regression.py"针对原始(未经过光子处理的)数据集执行逻辑回归运算。 "MRR_singleport.py"将逻辑回归应用于单光子表征。 "MRR_Nports.py"将其应用于来自不同端口的N个光子表征。 关于第5.4.2节“软件多层人工神经网络(Artificial Neural Network, ANN)”: "MNIST_multi_layers.py"针对原始(未经过光子处理的)数据集,训练并测试带有1个隐藏层的人工神经网络。 本上传所附带的原始实验数据(即MRR网络的输出轨迹)可通过合理申请向作者获取。



