利用随机前馈神经网络生成图像观察网络复杂度

零、声明

这是一篇失败的工作,我低估了batch normalization里scale/shift的作用。细节在第四节,请大家引以为戒。

一、前言

  关于神经网络的作用有一个解释:它是一个万能函数逼近器。通过BP算法调整权重,在理论上神经网络可以近似出任意的函数。
  当然,要近似出来的函数的复杂度肯定不能超过神经网络的表达能力,不然就会产生欠拟合的现象。而一个网络能承载的函数复杂度通常与隐层节点个数和深度有关。
  本篇文章通过一种可视化的方法,来直观地表示出一个神经网络得表达能力。

二、算法

  值得注意的是,神经网络所拟合的函数,是关于输入的连续函数。如果输入是图像的2维坐标,输出是3维的RGB颜色的话,那颜色就是坐标的连续函数,这一点是图像是否美观的一个很重要的标准。如果我们随机生成神经网络的权重,通过生成的图像的复杂程度,就能够大致看出一个网络能够表达出多么复杂的函数。

以下是生成图像的代码(基于DeepLearnToolBox,地址:https://github.com/happynear/DeepLearnToolbox):

layers = randi(10,1,10)+10;
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值