V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
moonshile
V2EX  ›  分享创造

[干货分享] 最细致的卷积神经网络算法解析

  •  
  •   moonshile · 2015-09-17 11:14:12 +08:00 · 8426 次点击
    这是一个创建于 3141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近一两周认真学习了一下卷积神经网络算法,无奈很难查到详细的资料,大多数要么泛泛谈一下概念,要么直接给个不知对错的公式。因此我还是自行脑补了很多推导过程,不想废弃,就总结成了一篇博客,分享给大家。欢迎大家拍砖!

    http://www.moonshile.com/post/juan-ji-shen-jing-wang-luo-quan-mian-jie-xi

    另外,我还计划再写一个 demo ,如果真的写了,也会分享出来的~

    第 1 条附言  ·  2015-09-19 14:57:27 +08:00

    梯度发散的疑问已经解决~

    然后又有新的疑问的:在卷积层回传残差的时候,是用更新之前还是更新之后的权值?

    22 条回复    2023-04-24 16:23:55 +08:00
    wavefly
        1
    wavefly  
       2015-09-17 11:53:54 +08:00
    高大上的既视感
    shadowind
        2
    shadowind  
       2015-09-17 12:25:42 +08:00   ❤️ 1
    哇,写的好详细~~赞一个~~

    不过有以下几点想补充以下:
    - 输入图像一般需要归一化,但这个归一化应该是直接除以 255 ,即最大像素值,不是使用 sigmoid 或者 tanh 函数吧。
    - 梯度发散:这个就像你说的那样,因为本身已经把输入归一化,而且更新梯度时一般都有个学习率的值, 0 到 1 之间的多个值相乘,就会变得很小,以至于无法更新参数的值,这就是梯度发散了。当然,训练数据的不合理也会导致梯度发散。其实,最终收敛的结果就是学习到的模型。
    - 高斯池化:池化参数符合高斯分布,这个你了解下图像模糊的公式,就知道这其实也是卷积啦~~

    去年研究过一段深度学习,上面几点理解可能会有偏差,与君互勉~~ :-P
    ilotuo
        3
    ilotuo  
       2015-09-17 12:53:02 +08:00
    加油~已加 pocket 晚上再看
    moonshile
        4
    moonshile  
    OP
       2015-09-17 14:00:48 +08:00
    @shadowind 看得好仔细,谢谢!我是刚刚开始学习,需要补充的地方太多啦
    moonshile
        5
    moonshile  
    OP
       2015-09-17 14:07:38 +08:00
    @ilotuo 好啊,欢迎到时候使劲拍砖!
    est
        6
    est  
       2015-09-17 14:29:02 +08:00
    技术贴留名。。。
    egrcc
        7
    egrcc  
       2015-09-17 14:44:06 +08:00
    赞!不过数学公式不太好看,建议楼主考虑支持下 mathjax 。
    rock_cloud
        8
    rock_cloud  
       2015-09-17 14:45:39 +08:00
    moonshile
        9
    moonshile  
    OP
       2015-09-17 20:06:40 +08:00
    @shadowind 我又想了一下,如此说来,那 CNN 其实对梯度发散也是没招了?
    moonshile
        10
    moonshile  
    OP
       2015-09-17 20:07:44 +08:00
    @egrcc 嗯,这些公式是用 LaTeX 写的,然后用了一个服务变成图片。。你看一下图片的链接就知道了。。。
    moonshile
        11
    moonshile  
    OP
       2015-09-17 20:08:16 +08:00
    @rock_cloud 嗯,这个教程确实不错,我之前也看过的~
    mahone3297
        12
    mahone3297  
       2015-09-17 21:50:43 +08:00
    太高大上了,函数看不懂。。。 damn 。。。
    egrcc
        13
    egrcc  
       2015-09-18 08:33:51 +08:00   ❤️ 1
    @moonshile 你可以直接嵌入 mathjax 的 js 文件,然后就会直接渲染成公式,不会变成图片,这样更美观一些
    moonshile
        14
    moonshile  
    OP
       2015-09-18 08:57:00 +08:00
    @egrcc 好的,我试试,谢谢!
    shadowind
        15
    shadowind  
       2015-09-18 10:11:13 +08:00
    @moonshile 招数就是调参啊,感觉用 CNN ,一个重点在于数据准备,另一个重点就在于调参了,嘿嘿~~改改学习率什么的,又是一轮漫长的训练。
    moonshile
        16
    moonshile  
    OP
       2015-09-18 10:36:53 +08:00
    @shadowind 貌似任何机器学习算法的招数都是这样。。不过我这里着重的推导过程,不然看着代码或者公式结果似懂非懂。。调参上我还是菜鸟,需要练习。。
    zerh925
        17
    zerh925  
       2015-09-20 01:29:02 +08:00
    BP 神经网络没有使用最小二乘排除 local minimal 吗
    moonshile
        18
    moonshile  
    OP
       2015-09-20 08:45:39 +08:00
    @zerh925 它是通过损失函数最小化求解的,我自己的理解吧,这个相当于就是最小二乘吧。。
    l6751902
        19
    l6751902  
       2015-09-21 18:11:01 +08:00
    @moonshile 为啥网页刷新后能显示公式,当切换 tab 或滚动后就变[Math Processing Error]了
    moonshile
        20
    moonshile  
    OP
       2015-09-22 09:09:03 +08:00
    @l6751902 这个我还真没遇见过。。你用的什么浏览器?换个浏览器试试,或者看看这里的公式能不恩那个显示 https://www.mathjax.org/
    l6751902
        21
    l6751902  
       2015-09-22 20:08:15 +08:00
    firefox40.0.3 , mathjax.org 上的没问题, 还有我开网银兼容模式也没问题。。
    alafun
        22
    alafun  
       364 天前
    打不开了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5325 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:07 · PVG 15:07 · LAX 00:07 · JFK 03:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.