/NN_and_WNN

通过反向传播算法实现神经网络和小波神经网络。Implement neural network and wavelet neural network through back-propagation algorithm. Реализация нейронных сетей и вейвлет-нейронных сетей с помощью метода обратного распространения ошибки.

Primary LanguageJupyter NotebookMIT LicenseMIT

NN_and_WNN

业精于勤,荒于嬉;行成于思,毁于随[1]


一个通过反向传播算法来实现神经网络小波神经网络repo,由于未使用到 GPU 加速, 当网络层数较多时会导致训练比较慢,训练集也只是截取了 mnist 手写数据集中的 5000 张图片,测试集则选择了 1000 张。

需要安装的库包括:

TensorFlow 1.12.0 (如果已下载 mnist 手写数据集则不需要)  
numpy 1.15.4  
matplotlib 2.0.2  

神经网络 (Neural Network, NN) 程序实现包含 2 个隐藏层的神经网络,激活函数为 sigmoid 函数,运行结果的笔记保存至 jupyter notebook 文件。

小波神经网络 (Wavelet Neural Network, WNN) 程序实现包含 1 个小波隐藏层的小波神经网络,激活函数为小波函数 morlet 函数(左下图),右下图所示的则为 morlet 小波的导函数。

morlet_wavelet.png

包含单个隐层的小波神经网络的能力与双隐层的普通神经网络相当。更多关于小波激活函数的小波神经网络在这个 repo,运行结果的笔记保存至 jupyter notebook 文件。

当隐层的小波函数为 POLYWOG3 小波函数[2]时(左下图),右下图所示的则为 POLYWOG3 小波的导函数。

POLYWOG_wavelet.png

网络收敛速度明显快于普通的神经网络,精度在经过 40 次迭代之后达到了含双隐层的普通神经网络需要 200 次迭代才能达到的结果[3]。代码、运行结果的笔记保存至 pyjupyter notebook 文件。


脚注 (Footnote)

[1]: 进学解 -- 韩愈
[2]: Gaviphat L. Adaptive Self-Tuning Neuro Wavelet Network Controllers // PhD thesis. Blacksburg, Virginia. 1997. 122p.
[3]: Ван Л. Петросян О.Г. Распознавание лиц на основе классификации вейвлет признаков путём вейвлет-нейронных сетей // Информатизация образования и науки. 2018. №4. С. 129-139.

↑Back to Content↑