用多通道残差网络并结合Sin激活函数,在该问题的模拟中取得了相比其他方法更高的精度。
该神经网络的结构如下图所示:
方程表达为
单尺度网络的基础结构由多层残差全连接网络构成,指数通道的多尺度网络实现如下:
代码如下:
class MultiScaleFCCell(nn.Cell):
def __init__(self,
in_channel,
out_channel,
layers,
neurons,
residual=True,
act="sin",
weight_init='normal',
has_bias=True,
bias_init="default",
num_scales=4,
amp_factor=1.0,
scale_factor=2.0,
input_scale=None,
input_center=None,
latent_vector=None
):
super(MultiScaleFCCell, self).__init__()
_check_type(num_scales, "num_scales", int)
self.cell_list = nn.CellList()
self.num_scales = num_scales
self.scale_coef = [amp_factor * (scale_factor**i) for i in range(self.n