1、先给出一个只有一层的神经网络:a0 =LinearLayer[3, "Input" -> 2]作用是,接收一个二元向量,返回一个三元向量。
2、尝试一下,给这个神经网络一个二元向量,看看会有什么结果。a0[{5,6}]结果运行错误,原来,没有给a初始化,没有赋予权重值。
3、对a0初始化:a = NetInitialize[a0]和步骤一里面的运行结果比较一下,看看有什么区别。
4、当a接收一个二元向量:a[{5,6}]得到一个三元向量。
5、查看a的权重,就会发现,这个三元向量的来历:aa=NetExtract[a, "Weights"]这就是简单的向量的点积。
6、看看a0的权重:NetExtract[a0, "Weights"]没有!这也是步骤二里面,不能出结果的原因。
7、a里面的权重是随机的,下面的代码,每次运行,都可能得到不同的结果。a0 =LinearLayer[3, "Input" -> 2];a = NetInitialize[a0];a[{5,6}]