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

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

  •  2
     
  •   muchrooms Apr 24, 2017 11761 views
    This topic created in 3326 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
        1
    trys1  
       Apr 24, 2017 via Android   1
    已加星,请付款
    zhihaofans
        2
    zhihaofans  
       Apr 24, 2017 via iPhone
    已 star ,明天试试
    davidzhanwork
        3
    davidzhanwork  
       Apr 24, 2017 via Android
    很不错~ 都是对的

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

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

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

    50 多个分类不太容易吧,模型会复杂很多。多画个几图看看,有技巧
    xiaoxiaowm
        18
    xiaoxiaowm  
       Jul 10, 2017
    @muchrooms 我看到你的模型里有 zheyeV3.keras,zheyeV5.keras,这几个版本,是不是训练一次把模型保存下来,下次再 load 进来,再做训练,就是另一个版本了
    muchrooms
        19
    muchrooms  
    OP
       Jul 10, 2017
    @xiaoxiaowm 也可以, 但我没这么搞
    xiaoxiaowm
        20
    xiaoxiaowm  
       Mar 1, 2018
    @muchrooms 你好,原来向你请教过问题,后来自己弄那个验证码也没有研究出来,你方便加你 QQ 或者是微信交流一下吗?算是找你当老师了,付点费也行,我的 qq 是 642070630,微信是 15010226280
    xiaoxiaowm
        21
    xiaoxiaowm  
       Mar 1, 218
    @xiaoxiaowm 不是多少钱,只是表示自己学习的诚心
    About     Help     Advertise     Blog     API     FAQ     Solana     988 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 48ms UTC 19:48 PVG 03:48 LAX 12:48 JFK 15:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86