muchrooms

试着识别了一波知乎那个奇怪的汉字验证码, 正确率高的惊人...

  •  2
     
  •   muchrooms · Apr 24, 2017 · 12093 views
    This topic created in 3490 days ago, the information mentioned may be changed or developed.
    作为一个垃圾大学平时吃饱了撑得闲的没什么研究的研究生, 自学了一点概率论和机器学习

    偶然上知乎时发现这个验证码很骚气
    https://raw.githubusercontent.com/muchrooms/zheye/master/zhihu.png
    https://www.zhihu.com/captcha.gif?type=login&lang=cn

    就手贱识别了一下
    发现那个效果还不错..
    https://github.com/muchrooms/zheye 附在线测试地址

    快毕业要找工作了, 来讨个星星 _(:3 」∠)_
    学弱求轻拍, 小水管求不黑

    顺便听取一下各位前辈在学习方面有什么批评建议, 给小弟指条明路
    Supplement 1  ·  Apr 25, 2017
    好多人都点了收藏呀 ╮( ̄▽ ̄)╭
    21 replies  •  2018-03-01 11:36:42 +08:00
    trys1
    trys1
    Apr 24, 2017 via Android❤️1
    1
    已加星,请付款
    zhihaofans
    zhihaofans
    Apr 24, 2017 via iPhone
    2
    已 star ,明天试试
    davidzhanwork
    davidzhanwork
    Apr 24, 2017 via Android
    3
    很不错~ 都是对的

    已 star
    muchrooms
    muchrooms
    OP
    Apr 24, 2017
    4
    @trys1 好的王老板, 还是按一个一块五是吧
    Sunnyyoung
    Sunnyyoung
    Apr 24, 2017 via iPhone
    5
    Cool
    muchrooms
    muchrooms
    OP
    Apr 24, 2017
    6
    ypw
    ypw
    Apr 25, 2017 via iPhone
    7
    你的模型还有很多可以改进的地方,比如卷积层可以加多一些,卷积核大小用 3x3 而不是 5x5 ,用多个卷积卷积池化结构逐步降维,去掉全连接层,只保留分类器, Dropout 只放在最后一个分类器前面等。你的模型由于降维不够,导致了很严重的过拟合,所以验证集只有 90%的准确率。

    我也写过一篇验证码识别的文章,可以识别数字和字母: https://zhuanlan.zhihu.com/p/26078299
    muchrooms
    muchrooms
    OP
    Apr 25, 2017
    8
    @ypw 没有用 dropout 后来换了 batch norm, 以求加速. 卷积核大小的确导致了过拟合, 但我自己生成的图像和原图还不是完全一样, 其实最开始用 LeNet 实验的时候验证集都能到 99%, 但是用在真实的验证码上效果却有些糟糕.. 所以当初只是想更泛化一点.. 卷积层就无奈了, 笔记本性能渣, 真的不能太多层了, 我这个破 diaosiNet 这都训练了一晚上 2333

    谢谢你的建议, 我后续再改良一下 )
    getcodex
    getcodex
    Apr 25, 2017
    9
    6666 已 star
    muchrooms
    muchrooms
    OP
    Apr 25, 2017
    10
    @yuanchao 哈哈哈 谢谢
    Jackeriss
    Jackeriss
    Apr 25, 2017
    11
    说句题外话, Github 建议上传个头像。
    ccw55
    ccw55
    Apr 25, 2017
    12
    我也想入门一下机器学习,楼主能指导指导小弟吗
    muchrooms
    muchrooms
    OP
    Apr 25, 2017
    13
    @Jackeriss ok 因为看着像小号吗...
    @ccw55 我也算个小学生, 水平有限能力一般, 一起努力学呗~
    J0022ZjV7055oN64
    J0022ZjV7055oN64
    Apr 26, 2017❤️1
    14
    之前知乎的汉字 以及 字母文字验证码都有 bug
    https://www.youtube.com/embed/4V5f9n78l9Q
    muchrooms
    muchrooms
    OP
    Apr 26, 2017❤️1
    15
    @yansyuei 666 啊
    xiaoxiaowm
    xiaoxiaowm
    Jul 10, 2017
    16
    @muchrooms 你的两分类问题,程序刚开始学习的时候是不是基本是从识别率 50%,然后通过一个版本一个版本的学习慢慢成绩才上去的?我弄了一个识别验证码的,有 50 多个分类,学习的时候,正确率总是在百分之二左右,是不是要经过 N 多版本的学习才行?
    muchrooms
    muchrooms
    OP
    Jul 10, 2017
    17
    @xiaoxiaowm 你好,开始准确率(accuracy)就是 50%。因为一开始参数会随机初始化,导致模型按照平均分布瞎猜,所以 n 分类的初始准确率是 1/n。每一次 epoch 会提高训练集的成绩,但不一定提高测试集准确率。

    50 多个分类不太容易吧,模型会复杂很多。多画个几图看看,有技巧
    xiaoxiaowm
    xiaoxiaowm
    Jul 10, 2017
    18
    @muchrooms 我看到你的模型里有 zheyeV3.keras,zheyeV5.keras,这几个版本,是不是训练一次把模型保存下来,下次再 load 进来,再做训练,就是另一个版本了
    muchrooms
    muchrooms
    OP
    Jul 10, 2017
    19
    @xiaoxiaowm 也可以, 但我没这么搞
    xiaoxiaowm
    xiaoxiaowm
    Mar 1, 2018
    20
    @muchrooms 你好,原来向你请教过问题,后来自己弄那个验证码也没有研究出来,你方便加你 QQ 或者是微信交流一下吗?算是找你当老师了,付点费也行,我的 qq 是 642070630,微信是 15010226280
    xiaoxiaowm
    xiaoxiaowm
    Mar 1, 2018
    21
    @xiaoxiaowm 不是多少钱,只是表示自己学习的诚心
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2056 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 05:49 · PVG 13:49 · LAX 21:49 · JFK 00:49
    ♥ Do have faith in what you're doing.