本文,构造16个神经网络,并用这16个神经网络,绘制16幅图片。其实,主要目的,是继续入门神经网络。
工具/原料
电脑
Mathematica
方法/步骤
1、建立一个神经网络:a=NetChain[{30,讵症慧鹱Sin,3,Tanh,3,Cos},"Input"->2];这个神经网络的辑湃形傥作用是:接收一个2元向量v、自动延展为30元的向量v0、Sin作用于v0的每一个元素,得到新的向量v把v1变成3元向量vTanh作用于v2的所有元素,得到vCos作用于v输出v4。
2、用上面的神经网络a,复制出16个随机的神经网络,并初始化:as=Table[鲍伊酷雪NetInitialize[a,Method->{"R锾攒揉敫andom","Weights"->3,"Biases"->2}],16];
3、给出若干个二元向量的集合:m=Range[0,20,0.04]n=Tuples[m,2]可以看到,n是若干二元向量的集合。
4、用as里面的第一个神经网络作用于n,可以得到一个三元向量的集合:as[[1]][n]
5、对上面的数据进行以下操作,可以转化为500*360的彩色图像的数据:Partition[as[[1]][n],500]下图是放大2倍的效果。
6、运行一次,就会得到不同的图片。Partition[as[[1]][n],500]
7、如果把m改一下:m=Range[0,咯悝滩镞2,0.004];n=Tuples[m,2];那么,Partition[as[[1]][n],500]//Image也变了。
8、用as里面的前4个神经网络来处理数据n,得到的图片如下:四幅图片,而且运行一次,就会发现变化。