掌桥专利:专业的专利平台
掌桥专利
首页

用于光通信的方法、设备、装置和介质

文献发布时间:2023-06-19 16:06:26



技术领域

本公开的实施例涉及光通信领域,更具体地涉及在用于光通信的方法、设备、装置和计算机可读介质。

背景技术

对于新一代高速无源光网络(PON),例如具有50Gbps甚至更高速率的PON,其中传输的信号可能会由于较差的信道响应和高链路损耗预算要求而经受高失真和噪声干扰。作为信号接收端的光通信设备需要通过信号处理来进行信号均衡,以消除或减少信号失真和噪声干扰。

近年来,基于神经网络(NN)的信号处理逐渐被认为是一种有前景的信号处理方法。相比于传统的线型均衡器,基于NN的信号处理能够自动学习信道特征,能够更有效地从具有线性和非线性失真的接收信号中恢复出原始信号。这样高性能的信号处理尤其适用于PON。

发明内容

总体上,本公开的实施例涉及在光通信中对用于信号处理的神经网络(NN)的改进的训练方案。

在本公开的第一方面,提供了一种用于光通信的方法。该方法包括在第一光通信设备处,从至少一个第二光通信设备接收针对神经网络的训练的反馈信息,神经网络被配置为处理从第一光通信设备接收到的信号,反馈信息至少包括在至少一个第二光通信设备处各自对神经网络进行训练的训练性能指示;基于反馈信息来更新在第一光通信设备处维护的针对神经网络的第一初始参数值集合,以获得针对神经网络的第二初始参数值集合;以及向至少一个另外的第二光通信设备传输第二初始参数值集合,以用于在至少一个另外的第二光通信设备处基于第二初始参数值集合对神经网络进行训练。

在本公开的第二方面,提供一种用于光通信的方法。该方法包括在第二光通信设备处训练神经网络,神经网络被配置为处理从第一光通信设备接收到的信号;以及向第一光通信设备传输针对神经网络的训练的反馈信息,反馈信息至少包括在第二光通信设备处对神经网络进行训练的训练性能指示。

在本公开的第三方面,提供一种第一光通信设备。该第一光通信设备包括至少一个处理器;以及与所述至少一个处理器耦合的存储器,所述存储器包含有存储于其中的指令,所述指令在被所述至少一个处理单元执行时,使得该第一光通信设备执行第一方面的方法。

在本公开的第四方面,提供一种第二光通信设备。该第二光通信设备包括至少一个处理器;以及与所述至少一个处理器耦合的存储器,所述存储器包含有存储于其中的指令,指令在被至少一个处理单元执行时,使得该第二光通信设备执行第二方面的方法。

在本公开的第五方面,提供一种第一光通信装置。该第一光通信装置包括用于从至少一个第二光通信装置接收针对神经网络的训练的反馈信息,神经网络被配置为处理从第一光通信装置接收到的信号,反馈信息至少包括在至少一个第二光通信装置处各自对神经网络进行训练的训练性能指示;用于基于反馈信息来更新在第一光通信装置处维护的针对神经网络的第一初始参数值集合的部件,以获得针对神经网络的第二初始参数值集合;以及用于向至少一个另外的第二光通信装置传输第二初始参数值集合的部件,以用于在至少一个另外的第二光通信装置处基于第二初始参数值集合对神经网络进行训练。

在本公开的第六方面,提供一种第二光通信装置。该第二光通信装置包括用于训练神经网络的部件,神经网络被配置为处理从第一光通信装置接收到的信号;以及用于向第一光通信装置传输针对神经网络的训练的反馈信息的部件,反馈信息至少包括在第二光通信装置处对神经网络进行训练的训练性能指示。

在本公开的第七方面,提供一种计算机可读介质。该计算机可读介质上存储有指令,当指令在被至少一个处理单元执行时,使得至少一个处理单元被配置为执行第一方面的方法。

在本公开的第八方面,提供一种计算机可读介质。该计算机可读介质上存储有指令,当指令在被至少一个处理单元执行时,使得至少一个处理单元被配置为执行第二方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

以示例的方式呈现了本公开的实施例,并且在下文中参照附图更详细地解释了它们的优点,其中

图1示出了本公开描述的实施例可以在其中被实现的光通信网络的示意图;

图2是对用于信号处理的神经网络的联合训练方案和自训练方案的平均测试误差的对比图;

图3示出了根据本公开的一些实施例的光通信网络的示意图;

图4示出了根据本公开的一些实施例的神经网络的结构的示意图;

图5示出了根据本公开的一些示例实施例的用于光通信设备之间的光通信过程的信令图;

图6示出了根据本公开的一些示例实施例的用于携带导频序列的帧结构的示例;

图7A示出了根据本公开的一些示例实施例的用于传输初始参数值集合的过程的信令图;

图7B示出了根据本公开的另一些示例实施例的用于传输初始参数值集合的过程的信令图;

图8示出了根据本公开的一些示例实施例的用于更新神经网络的初始参数值集合的过程的流程图;

图9示出了根据本公开的示例训练与传统训练的平均测试误差的对比图;

图10示出了根据本公开的一些示例实施例的根据本公开的两种示例训练的平均测试误差的对比图;

图11示出了根据本公开的另外的示例训练与传统训练的平均测试误差的对比图;

图12示出了根据本公开的一些示例实施例的在第一光通信设备处实现的方法的流程图;

图13示出了根据本公开的一些示例实施例的在第二光通信设备处实现的方法的流程图;

图14示出了适合实现本公开实施例的电子设备的简化方框图;以及

图15示出了适合实现本公开的实施例的计算机可读介质的示意图。

在所有附图中,相同或相似的附图标记表示相同或相似的元件。

具体实施方式

下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。

如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。

本文使用的术语“电路”是指以下的一项或多项:(a)仅硬件电路实现方式(诸如仅模拟和/或数字电路的实现方式);以及(b)硬件电路和软件的组合,诸如(如果适用):(i)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)硬件处理器的任意部分与软件(包括一起工作以使得诸如光通信装置或其他计算设备等装置执行各种功能的数字信号处理器、软件和存储器);以及(c)硬件电路和/或处理器,诸如微处理器或者微处理器的一部分,其要求软件(例如固件)用于操作,但是在不需要软件用于操作时可以没有软件。

电路的定义适用于此术语在本申请中(包括任意权利要求中)的所有使用场景。作为另一示例,在此使用的术语“电路”也覆盖仅硬件电路或处理器(或多个处理器)、或者硬件电路或处理器的一部分、或者其随附软件或固件的实现方式。例如,如果适用于特定权利要求符号,术语“电路”还覆盖基带集成电路或处理器集成电路或者OLT或其他计算设备中的类似的集成电路。

本文使用的术语“光通信设备”或“光通信装置”指的是在基于光纤的通信网络中用于通信的装置或设备。作为示例,光通信设备或光通信装置的示例可以包括光线路终端(OLT)、光网络单元(ONU)、或适于在无源光网络(PON)或任何其它光传送网络(OTN)等光网络中使用的任何其它光网络元件中。

本文使用的术语“无源光网络”或“PON”是指其所包括的光分布网络(ODN)由诸如光分路器和光纤等无源器件组成,而不需要有源器件。

本文使用的术语“神经网络(NN)”可以被理解为机器学习模型。该模型能够从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后基于训练得到的参数值集合对给定的输入进行处理以生成对应的输出。“神经网络”有时也可以被称为“神经网络模型”、“学习网络”、“学习模型”、“网络”或“模型”等。这些术语在本文中可互换地使用。

机器学习可以划分为三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的学习模型可以使用大量的训练数据进行训练,不断迭代和更新模型的参数集的取值,直到模型能够达到期望目标。经过训练后,机器学习模型的参数集的取值被确定。在测试阶段,可以利用测试样本对已训练的学习模型进行测试,以确定学习模型的性能。在应用阶段,可以向训练完成的学习模型应用实际的输入数据。学习模型可以基于训练得到的参数集来对实际的输入数据进行处理,以提供对应的输出。

图1是本公开描述的实施例可以在其中被实现的光通信网络100的示意图。光通信网络100是基于光纤的通信网络,例如可以是PON。光通信网络100包括多个光通信设备,例如OLT 110以及多个(N个)ONU 120-1、120-2、120-3、……、120-N(为方便讨论,以下统称为ONU 120),其中N为大于1的整数。

OLT 110与ONU 120之间可以彼此通信。例如,OLT 110可以向ONU 120发送信号,这个方向的信号传输称为下行链路或下游链路。ONU 120也可以向OLT 110发送信号,这个方向的信号传输成为上行链路或上游链路。在图1的示例中,在下行链路方向,OLT 110与多个ONU 120之间形成点到多点的通信。

应当理解,图1所示的OLT和ONU的数目是为了说明的目的而给出的。光通信网络100可以包括任何合适数目的OLT和ONU。

如图1所示,多个ONU 120-1、120-2、120-3、……、120-N分别包括用于信号处理的神经网络(NN)130-1、130-2、130-3、……、130-N(为方便讨论,以下统称为神经网络130)。神经网络130被配置为从在ONU 120处从OLT 110接收到的信号进行处理,以减小或消除接收到的信号中的失真和/或噪声,从而恢复出由OLT 110发送的原始信号。神经网络130的信号处理操作可以包括均衡处理,因此神经网络130可以被实现为或者被包括到ONU 120的均衡器中。

如上文所述,基于神经网络的信号处理,例如均衡处理,可以更有效地实现信号恢复。对于具有较差的信道响应和高链路损耗预算要求的通信信道,例如具有50Gbps甚至更高速率的高速通信信道,基于神经网络的信号处理能够更好地提高接收端性能。

如图1所示,OLT 110可以包括信号处理设备112,其可以包括用于将光信号转换为电信号的光电转换器。信号处理设备112还可以包括均衡器,该均衡器可以从在OLT 110处接收到的失真信号恢复从ONU 120发送的原始信号。

虽然图1中仅示出了在ONU处部署的用于信号处理的神经网络,在一些实施例中,在OLT处也可以部署神经网络,用于处理从ONU接收到的信号。

通常,为了应用神经网络,需要训练神经网络。在训练神经网络时,由发送端的光通信设备向接收端的光通信设备传输已知的导频信号。在经由通信信道接收带有失真的导频信号后,光通信设备将接收到的导频信号与已知的导频信号作为训练数据来训练神经网络,以使神经网络能够从接收到的导频信号正确恢复已知的导频信号。这样,该神经网络学习到了如何降低或消除在导频信号所经过的通信信道中被引入的失真和噪声干扰。如以上提及的,神经网络的训练过程会迭代更新神经网络的参数集的取值,直到神经网络利用训练得到的参数集,能够将输入的接收到的导频信号恢复成已知的导频信号。

在基于光通信的网络中,针对作为接收端的一个光通信设备,所训练的神经网络紧密关联于和该设备相连的发送端光通信设备之间的信道状况,因而不能适用于其他接收端的光通信设备。这在诸如PON等点到多点的通信网络中尤其会引发问题,因为作为接收端的多个光通信设备(例如ONU)与同一发送端(例如OLT)之间的信道状况可能不同,例如可能具有不同的光纤长度、不同的带宽等等。

为了确保神经网络的应用性能,一种方案是在作为接收端的光通信设备处执行自训练,以针对该光通信设备与对应发送端之间的通信信道来单独训练要使用的神经网络。

要使使训练得到的神经网络的应用性能能够达到令人满意(例如,误差达到预期水平),需要采集大量的训练数据,即从发送端接收更多的导频信号,并且神经网络的训练迭代次数也要更多。这会使得单次训练所消耗的时间和计算资源都增加。发明人发现在自训练方案中,从随机初始化的参数集出发,可能需要超过20万的迭代步骤以及大量的训练数据,才能训练出误差令人满意的神经网络。因此,如果在光通信网络中针对作为接收端的每个光通信设备均通过自训练方案来单独训练神经网络,整个网络中用于训练的时间和计算资源消耗是非常大的。

对于某个光通信设备,如果使用其他光通信设备先前已训练的神经网络来对自身的神经网络进行初始化,进而训练本地使用的神经网络,这个方案也行不通。因为针对每个光通信设备训练的神经网络仅适合于特定于自身的通信信道的数据集,而不能够快速适应到新的上下文。

还提出一种联合训练的方案。该方案将与同一发送端相连的多个光通信设备处接收到的导频信号混合,用于联合训练一个神经网络来部署到多个光通信设备。然而,联合训练虽然能够降低整个网络的训练时间,但这个通用的神经网络的应用性能,例如在信号处理的准确率方面的性能,差于在单个光通信设备处通过自训练方案获得的神经网络。因此,通过联合训练所获得的神经网络在很多应用场景中可能无法满足系统要求。此外,通用的神经网络可能需要设计得更复杂。因此,在用于实际的信号处理时,与单独训练的神经网络相比,通用的神经网络的能量效率更低。

图2示出了对用于信号处理的神经网络的联合训练方案和自训练方案的平均测试误差的对比图,其中横轴表示在训练阶段利用随机梯度下降(SGD)算法所执行的训练步数,纵轴表示平均测试误差率,例如误码率(BER)。图2的曲线210示出了联合训练的平均测试误差率随训练步数的变化,曲线220示出了自训练的平均测试误差率随训练步数的变化。假设联合训练和自训练均基于随机初始化的参数集来执行。通过对比曲线210和220可以看出,联合训练的方案在很多次训练步数后仍然难以获得令人满意的低误差率。

综上,当前针对光通信中要部署用于信号处理的神经网络,期望能够以快速高效的方式完成训练,同时确保训练出的神经网络具有好的性能。

根据本公开的实施例,提供在光通信中对用于信号处理的神经网络的改进的训练方案。在该方案中,对于被配置为处理从第一光通信设备接收到的信号的神经网络,第一光通信设备维护该神经网络的参数集的初始值(称为“初始参数值集合”)。作为接收端的一个或多个第二光通信设备各自对该神经网络进行训练,并且向第一光通信设备传输至少包括训练性能指示的反馈信息。第一光通信设备基于接收到的反馈信息来更新所维护的初始参数值集合。更新后的初始参数值集合被提供给一个或多个另外的第二光通信设备,以使另外的第二光通信设备能够基于更新后的初始参数值集合对神经网络进行训练。

已经证明,神经网络的参数集的初始化对实现快速收敛和获得可靠模型方面是重要的。根据本公开的方案,通过对神经网络的参数集的初始值不断更新,使光通信设备能够基于更好的初始值来对神经网络进行训练,从而提高在光通信设备处的训练速度和神经网络的准确率和可靠性。由于在各个光通信设备处分别执行训练,因此所训练的神经网络能够更快、更可靠地适应到该光通信设备与发送信号的通信设备之间的信道条件。

以下将参考附图来详细描述本公开的原理和示例实施方式。

首先参考图3,其示出了根据本公开的一些实施例的光通信网络100的示意图。在图3的示例中,在光通信网络100的OLT 110和ONU 120中实现神经网络的训练。在下文的示例实施例中,将OLT 110作为发送端的光通信设备(有时也称为“第一光通信设备”)的示例,将ONU 120作为接收端的光通信设备(有时也称为“第二光通信设备”)的示例。应当理解,在其他实施例中,OLT 110也可以操作为接收端的光通信设备,从而其中可以部署有用于对接收到的信号进行处理的神经网络;并且相应地,ONU 120可以操作为发送端的光通信设备。

ONU 120被配置为训练神经网络130,以用于处理经由与OLT 110的通信信道接收到的信号,例如用于对从OLT 110接收到的信号执行均衡处理。在一些示例中,神经网络130可以被实现为或者被包括在ONU 120的均衡器中。根据本公开的实施例,OLT 110也维护神经网络130的参数集的初始值(在本文中成为“参数值集合”)。

神经网络130可以被配置为任何类型的神经网络,例如前向反馈神经网络(FF-NN)、循环神经网络(RNN)、卷积神经网络(CNN)等等。在训练或更新神经网络130时,OLT 110和ONU 120可以维护关于神经网络130的结构的配置,包括神经网络所包括的网络层的数目、每个网络层中处理单元(也称为神经元)的数目,各个网络层之间的连接关系等。神经网络130的结构与神经网络的类型以及实际需要有关,本公开在此方面不受限制。

在一些实施例中,神经网络130的参数集可以包括权重。可选地,神经网络130的参数集还可以偏移量。训练和更新神经网络130会更新权重和偏移量的具体取值。神经网络130的参数集与其结构的配置有关。

为便于理解,将结合图4说明神经网络所使用的参数集中所包括的权重和偏移量。图4示出了根据本公开的一些实施例的神经网络130的结构的示意图。如图4所示,神经网络可以包括输入层410,多个隐藏层420、430等,以及输出层440。可以理解,神经网络也可以包括其他数目的隐藏层数以及相应的神经元的数目。本公开的保护范围在此方面也不受限制。

在图4所示的实施例中,神经网络130中的隐藏层420、隐藏层430分别包括多个神经元。这些神经元中的每个神经元都可以包括一个激活函数,该激活函数例如可以是非线性或者线性的函数。该函数例如可以为正弦函数,也可以为其他函数。此外,可以为每个神经元规定相同的激活函数或者不同的激活函数。本公开的保护范围在此方面不受限制。

神经网络130的输入被提供到输入层410,然后被输入到与输入层410相连的隐藏层420。隐藏层420的神经元通过处理后,其输出被提供到下一个隐藏层430,以进一步处理。在一个示例中,输入层410中的输入与隐藏层420中的神经元之间为全连接,即每个输入被提供到隐藏层420的全部神经元。由此,针对隐藏层420中的权重的数目如公式(1)所示:

隐藏层420中的权重的数目=输入的数目*该隐藏层中神经元的数目(1)

例如,当输入到隐藏层420中的输入的数目为40,而隐藏层420中神经元的数目为40时,则隐藏层420中的权重的数目为40*40=1600个。

另外,每个隐藏层中的一个或多个神经元还将可以具有相应的偏移量。也就是说,偏移量的数目可以与隐藏层中的神经元的总数目相同或者少于神经元的总数目。例如,具有40个神经元的隐藏层420可以具有40个偏移量。这样,隐藏层420中的每个神经元所进行的运算是输入层410中的每个输入(例如,包括40个输入)各自乘以40个权重,然后再加上相应的偏移量(即,输入1*权重1+输入2*权重2+输入3*权重3……输入40*权重40+偏移量),然后通过每个神经元的非线性激活函数可以输出一个值。由此,隐藏层420的40个神经元各自得到一个输出,而每个输出又会被输入到下一隐藏层430,然后进行与隐藏层420中所进行的类似的运算,从而得到相应的输出。这样的操作可以逐层向后进行。神经网络130的最后一个隐藏层与输出层440相连,提供网络输出。

可以理解,以上全连接的神经网络仅作为示例示出,而神经网络中的各个层中的神经元之间也可以采用非全连接的方式。本公开的保护范围在此方面不受限制。在神经网络130的结构确定的情况下,神经网络130的参数集可以被确定。神经网络130的训练会迭代更新参数值集合。

OLT 110还包括参数更新模块320,被配置为基于从一个或多个OU 120接收到的针对神经网络130的训练的反馈信息来更新神经网络130的参数值集合。OLT 110可以维护用于神经网络130的训练的训练数据332,其可以被存储在存储系统330中。OLT 110处使用的训练数据332的具体示例将在下文中详细讨论。

ONU 120-1、120-2、120-3、……、120-N还分别包括模型训练模块340-1、240-2、240-3、……、240-N,用于对自己所使用的神经网络130进行训练。这样,每个ONU 120上部署的神经网络130可以针对该ONU 120与OLT 110之间的通信信道进行训练,从而使在各个设备上训练得到的神经网络130均能够可靠地、准确地执行对从各自的通信信道上接收到的信号的处理。

光通信网络110中的一个或多个ONU 120可以从OLT 110接收到针对神经网络130的初始参数值集合,从而能够在较好的初始化基础上的开始对神经网络130的训练,以提高训练效率和模型的准确度。

下文将参考图5以及后续的图6至图9来详细讨论ONU 120和OLT 110之间的交互,以实现神经网络130的训练。

图5示出了根据本公开的一些示例实施例的用于光通信设备之间的光通信过程500的信令图。为了便于讨论,将结合图3来讨论过程500。该过程500可以涉及图3中示出的OLT 110和ONU 120。ONU 120可以是光通信网络110中的任意ONU 120。

在过程500中,ONU 120训练510神经网络130。

例如,ONU 120中的模型训练模块340可以被配置为训练神经网络130。在一些实施例中,ONU 120在启动和加入光通信网络100时,或者要激活OLT 110的特定通信信道(例如,具有高速波长的通信信道,例如50Gbps或更高的通信信道时),ONU 120可能需要训练神经网络130。神经网络130被训练为能够处理后续从OLT 110接收到的信号,以从接收到的信号中减少或消除在传输过程中引入的失真、噪声干扰等,从而恢复出原始的信号。

在ONU 120处对神经网络130的训练可以基于神经网络130的初始参数值集合。ONU120可以利用初始参数值集合对神经网络130的参数集进行初始化。ONU 120可以通过多种不同的方式来获得用于训练的初始参数值集合。

在一些实施例中,OLT 110向ONU 120传输506初始参数值集合,并且ONU 120从OLT110接收508初始参数值集合。OLT 110可以维护并且更新针对神经网络130的初始参数值集合。在一些实施例中,被提供给某个或某些ONU 120的初始参数值集合可以是OLT 110基于仿真的训练数据确定的神经网络130。在一些实施例中,OLT 110基于来自其他ONU 120的针对神经网络130的训练的反馈信息来更新神经网络130的初始参数值集合,并且将更新后的初始参数值结合提供给要执行训练的一个或多个ONU 120。在OLT 110处对神经网络130的初始参数值集合的确定将在下文中更详细讨论。

在一些实施例中,光通信网络100中的一个或多个ONU 120在执行神经网络130的训练时,可以不从OLT 110接收初始参数值集合,而是可以基于默认的初始参数值集合来执行训练。例如,默认的初始参数值集合可以是出厂默认的,例如可以被存储在ONU 120的存储装置中或者是ONU 120可访问的其他存储系统中。

ONU 120对神经网络130的训练还基于训练数据。在一些实施例中,OLT 110向ONU120传输502多个导频序列。多个导频序列可以是相同或者是不同的。这些导频序列可以具有预定的比特模式,并且这样的比特模式可以是OLT 110和ONU 120已知的。在一些实施例中,OLT 110可以周期性地在下游业务中发送或广播多个导频序列。ONU 120可以接收504多个导频序列,以用作神经网络130的训练数据。

由OLT 110发送的多个导频信号可能会经由不同的通信信道到达不同的ONU 120,这些通信信道的条件可能会不同(例如,具有不同的光纤长度、具有不同的波长等)。因此,在ONU 120处接收到的导频序列可能与OLT 110发送的原始的导频序列不同,并且不同ONU120处接收到的导频序列可能也不相同。由于ONU 120对OLT 110所发送的原始的导频序列是已知的,ONU 120可以利用接收到的导频序列作为训练数据来训练神经网络130,以使神经网络130能够从接收到的导频序列尽可能正确地恢复出原始的导频序列。在训练过程中,神经网络130的参数集从初始参数值集合开始迭代地更新,直到到达训练的收敛目标。

在一些实施例中,OLT 110发送的导频序列可以被携带在具有预定帧结构的消息中。这样的消息可以包括物理(PHY)层消息。在一些示例中,用于携带导频序列的消息可以包括OLT 110周期性发送以用于发现新的ONU的序列号请求(serial number request)消息。

在一些实施例中,OLT 110发送的导频序列可以被携带在具有预定帧结构的消息的有效载荷部分的预定区段中。图6示出了根据本公开的一些示例实施例的用于携带导频序列的帧结构600的示例。帧结构600包括头部610和有效载荷部分620。有效载荷部分620的预定区段被用于携带导频序列622。

通过在有效载荷部分的预定区段中携带导频序列,可以不需干扰下游链路中的正常帧结构。OLT 110可以广播携带导频序列的消息。不需要采集导频序列的ONU 120(例如已经处于与OLT 110的正常通信状态的ONU 120)可以直接忽略有效载荷部分中的导频序列。需要采集导频序列来训练神经网络130的ONU 120可以从有效载荷中快速定位导频序列,例如通过使用相关窗口来定位导频序列。

应当理解,图6给出了传输导频序列的示例。导频序列还可以由其他消息或信令传输给ONU 120。通常,为了完成神经网络130的训练,ONU 120可能需要从OLT 110采集一定量的导频序列以作为训练数据。在一些实施例中,

在获得神经网络130的初始参数值集合和训练数据(例如,从OLT 110接收到的导频序列)后,ONU 120可以执行神经网络130的训练。ONU 120可以利用任何适当的训练算法来实现训练,本公开的实施例在此方面不受限制。在一些实施例中,神经网络130的训练目标是神经网络130能够达到预定收敛目标,例如神经网络130对信号处理的准确率能够达到预定目标,例如误差率(例如,BER)低于特定阈值。训练的其他收敛目标也是可以的。本公开的实施例在此方面不受限限制。

在ONU 120处完成神经网络130的训练后,ONU 120向OLT 110传输515针对神经网络130的训练的反馈信息。该反馈信息至少包括在ONU 120处对神经网络130进行训练的训练性能指示。该反馈信息可以向OLT 110指示ONU 120利用当前的初始参数值集合执行训练时的训练性能。如以上提及的,ONU 120所使用的初始参数值集合可以是由OLT 110当前维护的初始参数值集合,或者可以是默认的初始参数值集合。

在一些实施例中,反馈信息中的训练性能指示可以指示ONU 120处的训练的训练效率和/或训练出的神经网络的准确率。具体地,训练性能指示可以包括第一指示信息,指示在ONU 120处完成神经网络130的训练的时间消耗。备选地或附加地,训练性能指示还可以包括第二指示信息,指示在ONU 120处完成神经网络130的训练后神经网络130的误差率。误差率越低,意味着准确率越高。

神经网络130的训练的时间消耗可以由训练过程中的多个指标来指示。在一些实施例中,第一指示信息可以包括该ONU 120完成神经网络130的训练所使用的时期(epoch)的数目。在神经网络的训练中,一个时期指的是使用全部训练数据对神经网络进行一次完整的训练,即使用全部数据进行一次正向传播和一次反向传播。通常,为了达到符合预期(即,符合训练目标)的参数值集合,可以需要使用多个时期。时期的数目越大,意味着ONU120训练花费的时间越长。在一些实施例中,第一指示信息可以包括该ONU 120完成神经网络130的训练所使用的迭代的步数。在神经网络的训练中,全部训练数据可以被划分为若干个批次(batch),一次迭代指的是使用每个批次的训练数据对神经网络执行的训练。一个时期的训练可以包括多次迭代。应当理解,还可以第一指示信息还可以附加地或备选地包括其他可以衡量ONU 120对神经网络130的训练时间消耗的指标。

在一些实施例中,为了指示训练后神经网络130的误差率,第二指示信息可以包括由在神经网络130的测试阶段的测试误差率(例如BER),或者在已被投入使用阶段的使用误码率(例如BER)。在一些实施例中,如果ONU 120对神经网络130的训练是通过最小化所构建的损失函数来执行,那么第二指示信息还可以包括在训练完成后的损失函数的损失值。该损失值越低,意味着训练得到的神经网络130的误差率越低,从而准确率越高。

在OLT 110处,OLT 110接收520来自ONU 120反馈信息,并且基于反馈信息来更新525所维护的针对神经网络130的初始参数值集合。例如,OLT 110中的参数更新模块320被配置为执行对对神经网络130的初始参数值集合的更新。OLT 110当前维护的初始参数值集合在本文中有时被称为“第一初始参数值集合”,更新后的初始参数值集合在本文中有时被称为“第二初始参数值集合”。

根据本公开的实施例,OLT 110能够基于在一个或多个ONU 120处对神经网络130的训练性能来不断优化神经网络130的初始参数值集合。在一些实施例中,来自ONU 120的反馈信息,例如其中的训练性能指示,有助于OLT 110判断是否应当继续升级神经网络130的初始参数值集合。

具体地,OLT 110可以基于训练性能指示来确定在ONU 120处的训练性能是否满足阈值性能。例如,如果训练性能指示包括指示训练的时间消耗的第一指示信息,OLT 110可以确定训练的时间消耗(例如,时期的数目)是否超过某个预定时间阈值。备选地或附加地,如果训练性能指示包括指示训练的误差率的第二指示信息,OLT 110可以确定误差率是否超过预定误差阈值。如果OLT 110确定ONU 120处的训练性能不满足阈值性能,OLT 110确定要继续更新初始参数值集合。

在初始阶段,OLT 110处的初始参数值集合可以是与初始加入的ONU 120处使用的初始参数值集合相同,例如可以是默认初始参数值集合,或者经由仿真训练数据确定的初始参数值集合。如果OLT 110确定ONU 120处的训练性能不满足阈值性能,可能当前的初始参数值集合可能无法帮助ONU 120更快和/或更可靠地训练神经网络130,因而需要进一步更新。

在一些实施例中,OLT 110可以在从多个ONU 120接收到它们各自对神经网络130的训练的反馈信息后,基于在多个ONU 120处的训练性能是否满足阈值性能来确定是否要继续更新初始参数值集合。例如,如果OLT 110确定较多ONU 120处(例如,超过阈值数目的ONU 120处)的训练性能均不令人满意,例如时间消耗和/或误差率超过对应的阈值,那么OLT 110可以确定要更新初始参数值集合。

对神经网络130的初始参数值集合的更新将在下文中更详细讨论。

更好的初始参数值集合有助于将神经网络130更快速和更可靠地训练到满足预期的目标。因此,在完成初始参数值集合的更新后,OLT 110向一个或多个另外的ONU 120传输更新后的初始参数值集合(即“第二初始参数值集合”)。另外的ONU 120例如可以是要与OLT110建立通信信道的新的ONU 120。这些ONU 120可以使用更新后的初始参数值集合对自身部署的神经网络130进行训练,以将训练得到的神经网络130用于处理从OLT 110接收到的信号。

根据本公开的实施例,随着OLT 110不断更新和优化神经网络130的初始参数值集合,后续的ONU 120对神经网络130的训练速度可以不断提升。ONU 120可以利用较少量的训练数据,在初始参数值集合的基础上进行微调,使神经网络130能够更快达到训练目标。这样,训练数据采集和实际训练过程都可以缩减。可以理解,过程500可以针对多个ONU 120持续执行。

在一些实施例中,在完成神经网络130的训练后,ONU 120可以执行与OLT 110的信道激活阶段,以激活用于特定波长的通信信道。ONU 120可以将训练得到的神经网络130用于对通过所激活的通信信道从OLT 110接收到的信号进行处理,例如进行均衡处理。

在一些实施例中,ONU 120可以在激活通信信道后,通过所激活的通信信道向OLT110传输针对神经网络130的训练的反馈信息。

在过程500中,OLT 110可以向ONU 120传输本地所维护的针对神经网络130的初始参数值集合。例如,OLT 110在506向ONU 120传输初始参数值集合。此外,在更新初始参数值集合后,OLT 110在530向另外的ONU 120传输更新后的初始参数值集合。在向ONU 120传输初始参数值集合时,在ONU 120与OLT 110之间要应用神经网络130执行信号处理的通信信道可能还未被激活,在这种情况下,OLT 110可以通过其他通信方式向ONU 120传输初始参数值集合。

图7A和图7B示出了根据本公开的一些示例实施例的用于传输初始参数值集合的示例过程700和702。注意,在过程700和702中,ONU 120可以是从OLT 110接收到更新前或更新后的初始参数值集合的任何ONU。

在图7A的示例过程700中,假设ONU 120具有用于与OLT 110通信的多个波长的通信信道。在过程700中,ONU 120与OLT 110执行705特定波长的通信信道的信道激活过程。神经网络130可能要被训练针对在第一波长的通信信道上从OLT 110接收到的信号的处理。而在705,ONU 120可以激活与OLT 110的第二波长的通信信道,用于接收初始参数值集合。第二波长不同于第一波长。在一些实施例中,第二波长的通信信道可以具有更低的通信速率,从而以使初始参数值集合可以被可靠接收。

在一些实施例中,ONU 120可以已经具有能够与OLT 110通信的已激活的通信信道,因而过程700中的信道激活过程可以省略。

在具有已激活的通信信道的情况下,ONU 120通过已激活的通信信道向OLT 110传输710针对神经网络130的初始参数值集合的请求。OLT 110接收715请求后,向ONU 120传输720初始参数值集合。在接收725初始参数值集合后,如以上所述,ONU 120可以基于初始参数值集合来开始对神经网络130的训练。

在一些实施例中,OLT 110可以直接在周期性的下行控制消息(如ONU的序列号请求,serial number request等)中携带初始参数值集合,因而过程700中的参数请求过程710,715可以省略。在一些实施例中,初始参数值集合可以被包括在操作、管理和维护(PLOAM)消息中。在一些实施例中,初始参数值集合可以被包括在ONU管理和控制通道(OMCC)消息中。当然,其他消息也可以被用于向ONU 120传输初始参数值集合。

在图7B的示例过程702中,假设ONU 120通信耦合到辅助通信装置730。该辅助通信装置730还可以与OLT 110通信。该辅助通信装置730被配置为向ONU 120转发从OLT 110接收到的初始参数值集合。

具体地,辅助通信装置730向OLT 110传输735针对神经网络130的初始参数值集合的请求。OLT 110接收740请求后,向辅助通信装置730传输745初始参数值集合。在接收750初始参数值集合后,辅助通信装置730继续将初始参数值接收转发755给ONU 120。在接收760初始参数值集合后,如以上所述,ONU 120可以基于初始参数值集合来开始对神经网络130的训练。

在一些示例中,辅助通信装置730可以是被嵌入ONU 120中的通信模块,例如物联网(IoT)模块。该通信模块可以以硬件和/或软件来实现,并且通过其他通信技术与OLT 110通信,例如通过移动互联网来与OLT 110通信。

在一些示例中,辅助通信装置730可以包括独立的通信装置,其可以被可拆卸地连接到ONU 120上用于与之通信。例如,辅助通信装置730可以经由通用串行总线(USB)或其他通信接口(例如,诸如RS232之类的串行通信接口)耦合到ONU 120。在实际应用中,这样的辅助通信装置730例如可以被手动安装到的ONU 120,以用于为ONU 120获取初始参数值集合。

应当理解,辅助通信装置730还可以包括任何其他通信装置。本公开的实施例在此方面不受限制。

如上文提及的,OLT 110会基于来自ONU 120的反馈信息对神经网络130的初始参数值集合进行更新。在OTL 110处对神经网络130的参数集的更新也类似对神经网络的训练过程,或者也称为预训练过程,因为ONU 120还会对训练得到的初始参数值集合进一步调整(fine tune)。对神经网络130的训练的起点是OLT 110处当前维护的初始参数值集合。

在一些实施例中,为了对神经网络130进行训练,OLT 110所需要的训练数据,例如在存储系统330的训练数据332包括向ONU 120发送的导频序列。此外,OLT 110还可以通过仿真确定各个ONU 120处可能接收到的导频序列,以作为训练数据332。例如,OLT 110可以仿真与不同ONU 120之间的通信信道,从而确定经由仿真的通信信道在各个ONU 120处可能接收到的导频序列。OLT 110可以基于仿真出的在ONU 120处接收到的导频序列来执行对初始参数值集合的更新。

在一些实施例中,一个或多个ONU 120在执行神经网络130的训练后向OLT 110反馈的反馈信息还可以包括用于对神经网络130进行训练的训练数据的部分或全部。这里的训练数据包括由ONU 120经由各自的通信信道从OLT 110接收到的导频序列。这样,OLT 110可以从ONU 120获得真正的训练数据来更有效地执行对神经网络130的初始参数值集合的更新。

在一些实施例中,从ONU 120反馈的训练数据可以与训练性能指示一起被提供给OLT 110,例如在过程500中在515处被传输给OLT 110。在一些实施例中,ONU 120可以分别将训练性能指示与训练数据传输给OLT 110。在一个实施例中,OLT 110可以在确定要更新神经网络130的初始参数值集合后向已经完成神经网络130的训练的ONU 120发送请求,以请求ONU 120传输先前对神经网络130的初始参数值的更新。

OLT 110可以收集由多个ONU 120各自所使用的真实的训练数据,以用于神经网络130的初始参数值集合的更新。在一些实施例中,相比于仅使用来自一个ONU 120的训练数据,或者通过混合来自不同ONU 120的训练数据,OLT 110可以通过利用模型无关元学习(Model Agnostic Meta Learning,MAML)过程来训练神经网络130。MAML可以将在不同环境(也称为任务)中学习到的多个模型的学习损失合并起来,并通过新数据计算损失更新模型,从而提升模型的鲁棒性。

由于OLT 110与不同ONU 120相连的通信信道不同,这些不同的通信信道相当于不同环境。在不同ONU 120处训练的神经网络130实际上要分别学习不同通信信道的特征。在OLT 110处,通过MAML,可以获得不同ONU 120处的神经网络130所学习到的共有特征,从而使更新后的初始参数值集合能够更好地帮助神经网络130快速适应到新环境,即在新的ONU120处被更快训练到符合预期目标。此外,MAML的应用,使OLT 110可以从单个ONU 120处收集少量的真实训练数据就能够完成参数值的更新。

为了更好理解,先简单介绍MAML的算法。在应用MAML对一个神经网络进行训练时,在训练的每次迭代中,可以从与不同任务对应的训练数据中随机选择多个任务的训练数据D和D’。针对每个任务Ti的D,计算学习损失,以用于更新梯度,例如随机梯度(GD),如下:

其中

在确定随机选择出来的多个任务(假设为N个)中的每个任务的梯度

其中

整个神经网络的总梯度θ会在多个训练步骤中迭代更新。在这样的迭代更新达到预期目标后,例如迭代次数达到阈值,或者神经网络的损失值小于预定阈值时,神经网络的初始参数值集合的更新完成。

在一些实施例中,OLT 110在对神经网络130的初始参数值集合的更新可以包括利用仿真的训练数据的更新和利用从ONU 120获得的真实训练数据的更新。例如,OLT 110也可以使用MAML过程,利用仿真的训练数据和真实的训练数据来训练神经网络130。

图8示出了根据本公开的一些示例实施例的用于更新神经网络的初始参数值集合的过程800的流程图。过程800可以由OLT 110实现,例如由图2的OLT 110中的参数更新模块320来实现。

在框810,在初始阶段,OLT 110随机初始初始化神经网络130的参数值集合,得到随机初始参数值集合。在随机初始参数值集合的基础上,OLT 110基于对不同通信信道的仿真获得的仿真训练数据来执行第一训练阶段802。

具体地,在框815,OLT 110从M个仿真任务中随机选择N个任务的仿真训练数据用于训练神经网络130。M和N是正整数,并且M大于N。在这里,仿真任务指的是仿真ONU 120针对不同通信信道执行对神经网络130的训练,其中的仿真训练数据是OLT 110发送的导频序列经过仿真的通信信道后在ONU 120处可能接收到的导频序列。

在820,OLT 110计算N个任务中每个任务的梯度

如果迭代次数是否大于预定次数阈值L,或者损失函数的损失值是否小于预定损失阈值ε,OLT 110执行基于从ONU 120获得的真实训练数据的第二训练阶段804。具体地,在框835,OLT 110从M’个真实任务中随机选择N’个任务的真实训练数据用于训练神经网络130。M和N是正整数,并且M’大于N’。在这里,真实任务指的是在某个ONU 120处对神经网络130的训练。真实训练数据包括从该ONU 120获得的训练数据,例如由该ONU 120接收到的导频序列。由于OLT 110可能会不断从更多的ONU 120接收到训练数据,因此M’的值会不断增大。

在框840,OLT 110计算N’个任务中每个任务的梯度

如果迭代次数是否大于预定次数阈值L’,或者损失函数的损失值是否小于预定损失阈值ε′,在框855,OLT 110获得神经网络130的更新后的初始参数值集合。

在一些实施例中,用于更新神经网络130的初始参数值集合的过程800可以被周期性执行,或者响应于特定事件而执行。例如,如以上提及的,在确定从一个或多个ONU 120接收到的训练性能指示不满足性能阈值时,OLT 110可以确定要执行过程800,以更新当前维护的初始参数值集合。

应当理解,图8仅是对初始参数值集合的更新的示例过程。在一些实施例中,OLT110可以直接基于来自ONU 120的真实训练数据来执行对神经网络130的训练,以更新初始参数值集合。在一些实施例中,OLT 110可以利用除MAML之外的其他元学习(metalearning)或者其他训练算法来执行对神经网络130的训练。本公开的实施例在此方面不受限制。

图9示出了根据本公开的示例训练与传统训练的平均测试误差的对比图,其中横轴表示在训练阶段利用SGD算法所执行的训练步数,纵轴表示平均测试误差率,例如BER。图9的曲线910示出了根据本公开的示例训练出的神经网络130的平均测试误差率随训练步数的变化,曲线920示出了通过传统联合训练得到的神经网络130的平均测试误差率随训练步数的变化,曲线930示出了通过传统自训练得到的神经网络130的平均测试误差率随训练步数的变化。假设传统联合训练和自训练均基于随机初始化的参数集来执行。

通过对比曲线910与曲线920和930可以看出,根据本公开的训练的示例实现,神经网络130能够以更快的速度(例如,更少的训练步数)达到较低的误差率。此外,根据本公开的训练的示例实现可以在5万个序列步数后达到最大准确率0.9922,大于传统联合训练和传统自训练的准确率。

图10示出了根据本公开的一些示例实施例的根据本公开的两种示例训练的平均测试误差的对比图。曲线1010表示在本公开的一些实施例中基于仿真训练数据和真实训练数据进行训练(例如过程800所示的训练)得到的神经网络130的平均测试误差率随训练步数的变化,曲线1020表示在本公开的一些实施例中仅基于仿真训练数据进行训练得到的神经网络130的平均测试误差率随训练步数的变化。通过对比可以看出,基于仿真训练数据和真实训练数据进行训练,神经网络130可以以更快的速度(例如,更少的训练步数)达到较低的误差率。例如,如图10的箭头所示,在基于仿真训练数据和真实训练数据进行训练的示例中,神经网络130可以在551训练步数后获得小于等于0.01的误差率,而基于仿真训练数据进行训练的示例中,神经网络130可以在35928训练步数后获得小于等于0.01的误差率。

图11示出了根据本公开的另外的示例训练与传统训练的平均测试误差的对比图。曲线1110表示在本公开的一些实施例中基于仿真训练数据和真实训练数据进行训练(例如过程800所示的训练)得到的神经网络130的平均测试误差率随训练步数的变化,曲线1120示出了通过传统自训练得到的神经网络130的平均测试误差率随训练步数的变化。可以看出,根据本公开的训练的示例实现,神经网络130能够以更快的速度(例如,更少的训练步数)达到较低的误差率,并且在551训练步数后获得小于等于0.01的误差率。而传统自训练可能需要超过20万训练步数后才能够达到0.01的误差率。根据本公开的训练的示例实现可以能达到的最大准确率0.9974,大于传统自训练的准确率0.9898。

图12示出了根据本公开的一些示例实施例的在第一光通信设备处实现的方法1200的流程图。第一光通信设备例如可以是图3的OLT 110。

如图12所示,在框1210,第一光通信设备从至少一个第二光通信设备(例如,ONU120)接收针对神经网络的训练的反馈信息。神经网络被配置为处理从第一光通信设备接收到的信号。反馈信息至少包括在至少一个第二光通信设备处各自对神经网络进行训练的训练性能指示。

在框1220,第一光通信设备基于反馈信息来更新在第一光通信设备处维护的针对神经网络的第一初始参数值集合,以获得针对神经网络的第二初始参数值集合。在框1230,第一光通信设备向至少一个另外的第二光通信设备传输第二初始参数值集合,以用于在至少一个另外的第二光通信设备处基于第二初始参数值集合对神经网络进行训练。

在一些实施例中,方法1200还包括:从第一光通信设备向至少一个第二光通信设备传输针对神经网络的第一初始参数值集合。在一些实施例中,反馈信息指示在至少一个第二光通信设备处各自基于第一初始参数值集合对神经网络进行训练的训练性能。

在一些实施例中,第一初始参数值集合或第二初始参数值集合经由以下至少一项被分别传输给至少一个第二光通信设备或至少一个另外的第二光通信设备:已激活的通信信道,以及由辅助通信装置的转发,辅助通信装置通信耦合到至少一个第二光通信设备或至少一个另外的第二光通信设备。

在一些实施例中,训练性能指示包括以下至少一项:第一指示信息,指示至少一个第二光通信设备处各自完成神经网络的训练的时间消耗,以及第二指示信息,指示在至少一个第二光通信设备处各自完成训练后神经网络的误差率。

在一些实施例中,基于反馈信息来更新第一初始参数值集合包括:基于训练性能指示来确定至少一个第二光通信设备处的训练性能是否满足阈值性能;以及基于训练性能不满足阈值性能,更新第一初始参数值集合。

在一些实施例中,反馈信息还包括由至少一个第二光通信设备用于对神经网络进行训练的训练数据的至少一部分。在一些实施例中,基于训练性能不满足阈值性能来更新第一初始参数值集合包括:如果确定训练性能不满足阈值性能,基于训练数据的至少一部分和第一初始参数值集合来训练神经网络,以将第一初始参数值集合更新为第二初始参数值集合。

在一些实施例中,反馈信息还包括由多个第二光通信设备分别用于对神经网络进行训练的训练数据的至少一部分。在一些实施例中,训练神经网络包括:基于由多个第二光通信设备分别用于对神经网络进行训练的训练数据的至少一部分,利用模型无关元学习MAML过程来训练神经网络。

在一些实施例中,方法1200还包括:向至少一个第二光通信设备传输多个导频序列,以用作在至少一个第二光通信设备处对神经网络的训练数据。

在一些实施例中,传输多个导频序列包括:将多个导频序列分别被携带在具有预定帧结构的多个消息各自的有效载荷部分的预定区段中;以及向至少一个第二光通信设备传输多个消息。

在一些实施例中,神经网络被配置为对从第一光通信设备接收到的信号执行均衡处理。

在一些实施例中,第一光通信设备包括光线路终端,并且至少一个第二光通信设备和至少一个另外的第二光通信设备中的至少一个包括光网络单元。

图13示出了根据本公开的一些示例实施例的在第二光通信设备处实现的方法1300的流程图。第二光通信设备例如可以是图3的ONU 120。

如图13所示,在框1310,第二光通信设备训练神经网络,神经网络被配置为处理从第一光通信设备(例如,OLT 110)接收到的信号。在框1320,第二光通信设备向第一光通信设备传输针对神经网络的训练的反馈信息,反馈信息至少包括在第二光通信设备处对神经网络进行训练的训练性能指示。

在一些实施例中,方法1300还包括:从第一光通信设备接收针对神经网络的第一初始参数值集合。在一些实施例中,训练神经网络包括:基于第一初始参数值集合来训练神经网络。

在一些实施例中,方法1300还包括:从第一光通信设备接收针对神经网络的第二初始参数值集合,第二初始参数值集合由第一光通信设备基于从至少一个其他光通信设备接收到的反馈信息来更新针对神经网络的第一初始参数值集合后确定。在一些实施例中,训练神经网络包括:基于第二初始参数值集合来训练神经网络。

在一些实施例中,第一初始参数值集合或第二初始参数值集合经由以下至少一项被接收到:已激活的通信信道,以及由与第二光通信设备通信耦合的辅助通信装置的转发。

在一些实施例中,训练性能指示包括以下至少一项:第一指示信息,指示在第二光通信设备处各自完成神经网络的训练的时间消耗,以及第二指示信息,指示在第二光通信设备处各自完成训练后神经网络的误差率。

在一些实施例中,反馈信息还包括由第二光通信设备用于对神经网络进行训练的训练数据的至少一部分。

在一些实施例中,训练神经网络包括:从第一光通信设备接收多个导频序列;以及通过将接收到的多个导频序列作为训练数据来训练神经网络。

在一些实施例中,接收多个导频序列包括:从第一光通信设备接收具有预定帧结构的多个消息;在多个消息各自的有效载荷部分的预定区段中提取多个导频序列。

在一些实施例中,神经网络被配置为对从第一光通信设备接收到的信号执行均衡处理。

在一些实施例中,第一光通信设备包括光线路终端,并且第二光通信设备包括光网络单元。

图14是适合于实现本公开的实施例的设备1400的简化框图。可以提供设备1400以实现通信设备,例如如图1和图3所示OLT 110以及ONU 120。如图所示,设备1400包括一个或多个处理器1410,一个或多个存储器1440被耦合到处理器1410,并且一个或多个发射器和/或接收器(TX/RX)1440被耦合到处理器1410。

TX/RX 1440用于双向通信。TX/RX 1440具有至少一个天线以便于通信。通信接口可以表示与其他网络元件通信所必需的任何接口。

处理器1410可以是适合于本地技术网络的任何类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(DSP)、以及基于控制器的多核控制器架构中的一个或多个。设备1400可以具有多个处理器,例如专用集成电路芯片,其在时间上从属于与主处理器同步的时钟。

存储器1420可以包括一个或多个非易失性存储器和一个或多个易失性存储器。非易失性存储器的示例包括但不限于只读存储器(ROM)1424,可擦除可编程只读存储器(EPROM),闪存,硬盘,光盘(CD),数字视频盘(DVD)和其他磁存储和/或光存储。易失性存储器的示例包括但不限于随机存取存储器(RAM)1422和不会在断电持续时间中持续的其他易失性存储器。

计算机程序1430包括由关联处理器1410执行的计算机可执行指令。程序1430可以存储在ROM 1420中。处理器1410可以通过将程序1430加载到RAM 1420中来执行任何合适的动作和处理。

可以借助于程序1430来实现本公开的实施例,使得设备1400可以执行如参考图3至13所讨论的本公开的任何过程。本公开的实施例还可以通过硬件或通过软件和硬件的组合来实现。

在一些示例实施例中,程序1430可以有形地包含在计算机可读介质中,该计算机可读介质可以包括在设备1400中(诸如在存储器1420中)或者可以由设备1400访问的其他存储设备。可以将程序1430从计算机可读介质加载到RAM 1422以供执行。计算机可读介质可以包括任何类型的有形非易失性存储器,例如ROM,EPROM,闪存,硬盘,CD,DVD等。图15示出了CD或DVD形式的计算机可读介质700的示例。计算机可读介质上存储有程序1430。

通常,本公开的各种实施例可以以硬件或专用电路,软件,逻辑或其任何组合来实现。一些方面可以用硬件实现,而其他方面可以用固件或软件实现,其可以由控制器,微处理器或其他计算设备执行。虽然本公开的实施例的各个方面被示出并描述为框图,流程图或使用一些其他图示表示,但是应当理解,本文描述的框,装置,系统,技术或方法可以实现为,如非限制性示例,硬件,软件,固件,专用电路或逻辑,通用硬件或控制器或其他计算设备,或其某种组合。

本公开还提供有形地存储在非暂时性计算机可读存储介质上的至少一个计算机程序产品。该计算机程序产品包括计算机可执行指令,例如包括在程序模块中的指令,其在目标的真实或虚拟处理器上的设备中执行,以执行如上参考图3和图4所述的方法300和400。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程,程序,库,对象,类,组件,数据结构等。在各种实施例中,可以根据需要在程序模块之间组合或分割程序模块的功能。用于程序模块的机器可执行指令可以在本地或分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质中。

用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。

在本公开的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质、等等。信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。

计算机可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。计算机可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。

此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。

虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

技术分类

06120114707931