• 神经网络深度学习 学习小记


    一、sigmod function出现的必要性:

      为什么不直接用stage function?在feedback时,假如说我们现在用的是stage function,直接用楼梯式的跳跃函数,我们每次做很小的参数改动时。如果说这个之前这个参数使函数值落在0-1 改变的那一块区域,即便我们做的change很小,但是很有可能直接导致函数最后的0改为1 ,假如这只是输入层改变为1 ,但是这个1 的改变会影响后续太多的网络结构,也就是说stage function会使网络波动过大。而sigmod函数的平滑性会很好地改变这一情况。

    二、既然神经元最后可以表示为0 1 ,那么为什么神经网络的表示不能用类似于二进制的神经元直接代替?16个结果用4个神经元不就可以表示了么?

      我们可以这么想,假如我们用的是TensorFlow里那个mnist(是这么拼吧),一个数字手写图片集合。现在我们用3层神经网络来训练,那么我们可以这么想,我们第二层用四个神经元来做隐藏层,这四个隐藏层是表示什么呢?那0 来做一个例子,把一个图片从中间用两条互相垂直的线分为四个部分,我们可以用训练集找出手写0在这四个部分的分布,在其应该有的像素(对应到输入层的每个单元)上加很大的权重,这样对于0 我们就可以得到一个输入图片在0上的得分,大于0.5我们就可以将其判断为0。但是注意,如果我们用四个神经元(2**4 = 16 > 10 )来表示结果可行么?我们知道一个二进制数字,必须联合起来才能正确地表示一个数字,但是这里的情况,每个output对应的得分都是相互独立的。他们没有办法使其联合起来。10个output 只能用10个神经原来表示,而不采用十进制。

  • 相关阅读:
    内网穿透
    canvas 满天星
    swift 获取文件的Md5值
    swift UITextView内容距离边框边距设置
    swift UITextField光标聚焦以及光标颜色修改
    swift3.0 移除当前页面的前一个页面
    swift3.0 屏幕截图并且保存到本地相册
    swift3.0 UITableView侧滑支持多选项
    swift3.0 点击UIScrollView中输入框之外的区域关闭键盘
    swift3.0 底部弹出菜单 UIAlertController的使用
  • 原文地址:https://www.cnblogs.com/silence-tommy/p/6943106.html
Copyright © 2020-2023  润新知