tensorflow 基于深度学习 LSTM 识别验证码 多标签分类

1、前期经验

        关于验证码识别,试过使用传统的machine learning方式识别,在相同样本下效果还算可以,但当迁移到别的数据集时,效果不理想。

        对于使用深度学习识别验证码,尝试过使用LeNet-5、AlexNet两种卷积网络,可能是网络结构简单的原因,结果不收敛。故尝试用了RNN中的LSTM单元网络来识别,效果较理想。

 

2、原始验证码文件

 

        验证码相对来说算简单,字符没有倾斜和重叠,但有不少干扰线。

验证码        验证码        验证码

 

3、网络结构

        此处使用了双层的LSTM作为隐含层,保留最后四个cell的输出结果,加一层full connection,并concat得到最后的输出。

network structure

4、训练过程

        使用Adam算法替代梯度下降,迭代到3000次,accuracy达0.65,loss小于0.03。继续进行迭代、优化能到达更高的准确率。 验证码

验证码

5、总结

        由此等简单项目能体验出深度学习的厉害之处,传统机器学习由于需要人工特征工程,较为局限。深度神经网络通过构建大量参数的行为,并结合优化算法,实现自学习所有局部、抽象、高层特征。此乃区别之处。

 

 

代码地址:https://github.com/wzzzd/LSTM_captcha

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值