TensorFlow练习20: 使用深度学习破解字符验证码

验证码是根据随机字符生成一幅图片,然后在图片中加入干扰象素,用户必须手动填入,防止有人利用机器人自动批量注册、灌水、发垃圾广告等等 。

验证码的作用是验证用户是真人还是机器人;设计理念是对人友好,对机器难。

TensorFlow练习20: 使用深度学习破解验证码

上图是常见的字符验证码,还有一些验证码使用提问的方式。

我们先来看看破解验证码的几种方式:

  1. 人力打码(基本上,打码任务都是大型网站的验证码,用于自动化注册等等)
  2. 找到能过验证码的漏洞
  3. 最后一种是字符识别,这是本帖的关注点

我上网查了查,用Tesseract OCR、OpenCV等等其它方法都需把验证码分割为单个字符,然后识别单个字符。分割验证码可是人的强项,如果字符之间相互重叠,那机器就不容易分割了。

本帖实现的方法不需要分割验证码,而是把验证码做为一个整体进行识别。

相关论文

使用深度学习+训练数据+大量计算力,我们可以在几天内训练一个可以破解验证码的模型,当然前提是获得大量训练数据。

继续阅读TensorFlow练习20: 使用深度学习破解字符验证码

TensorFlow练习19: 预测天朝铁路客运量

以前做的练习还没有涉及过时间序列数据(洋文Time Series Data),一个最明显的例子是股票价格。

时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。

一年一度的春节又要来了,火车票已经开售。本帖就简单预测一下未来几个月天朝铁路客运量。 继续阅读TensorFlow练习19: 预测天朝铁路客运量

TensorFlow练习18: 根据姓名判断性别

本帖训练一个可以根据姓名判断性别的CNN模型;我使用自己爬取的35万中文姓名进行训练。

使用同样的数据集还可以训练起名字模型,参看:

继续阅读TensorFlow练习18: 根据姓名判断性别

TensorFlow练习17: “声音大挪移”

看见本帖标题,你可能会问:“声音大挪移”是什么鬼玩意,和张无忌有什么关系。

如果你没看过鬼畜,先温习两个:【元首】粉红的回忆【圣地亚哥金曲】客官不可以。(本帖内容和鬼畜关系不大)

前文《实现谷歌Deep Dream》可生成带有艺术感的图片。其实,还有另一种合成图片的方式,洋文叫Style Transfer,这种方法需要用到两张图片,如下图:

皮特  + picasso_selfport1907 = pitt_picasso_content_5_style_10
皮特 + Style = 皮特 Style

Style Transfer的原始论文:https://arxiv.org/abs/1508.06576;基于Torch的代码实现:neural-style 继续阅读TensorFlow练习17: “声音大挪移”

TensorFlow练习16: 根据大脸判断性别和年龄

本帖使用TensorFlow做一个根据脸部推断照片人物年龄和性别的练习,网上有很多类似app。

训练数据 – Adience数据集

Adience数据集来源为Flickr相册,由用户使用iPhone或者其它智能手机设备拍摄,该数据集主要用于进行年龄和性别的未经过滤的面孔估计。同时,里面还进行了相应的landmark的标注,其中包含2284个类别和26580张图片。 继续阅读TensorFlow练习16: 根据大脸判断性别和年龄

TensorFlow练习15: 中文语音识别

语音识别的应用领域非常广泛,洋文名Speech Recognition。它所要解决的问题是让计算机能够“听懂”人类的语音,将语音中包含的文字信息“提取”出来。

语音识别是前文《聊天机器人》必不可少的一个组件,本帖就使用TensorFlow做一个中文语音识别。 继续阅读TensorFlow练习15: 中文语音识别

TensorFlow练习14: 使用深度学习给黑白图像上色

网上有很多使用PS给黑白老照片上色的教程,下图是P上颜色的爱因斯坦:

TensorFlow练习14: 使用深度学习给黑白图像上色 TensorFlow练习14: 使用深度学习给黑白图像上色

于是,有大牛使用深度学习制作了一个自动给黑白图像上色的模型,非常非常的牛叉。

本帖就使用前文的妹子图训练这个模型,看看效果。

由于原作者使用的TensorFlow版本太旧,不能直接运行,我做了一点修改。 继续阅读TensorFlow练习14: 使用深度学习给黑白图像上色

TensorFlow练习13: 制作一个简单的聊天机器人

现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri、Google Now、Amazon Alexa、微软小冰等等。前不久有一个视频比较了Google Now和Siri哪个更智能,貌似Google Now更智能。

本帖使用TensorFlow制作一个简单的聊天机器人。这个聊天机器人使用中文对话数据集进行训练(使用什么数据集训练决定了对话类型)。使用的模型为RNN(seq2seq),和前文的《RNN生成古诗词》《RNN生成音乐》类似。 继续阅读TensorFlow练习13: 制作一个简单的聊天机器人

Windows安装TensorFlow(TF更新至0.12版,添加了Windows支持)

TensorFlow 0.11及以前版本是不支持Windows的,只能通过虚拟机或Docker使用。TensorFlow的这次更新不光添加了Windows本地支持,还提供了GPU支持。

Windows安装TensorFlow

Google已把TensorFlow提交到了PyPi,我们可直接使用pip命令安装。

CPU版本:

GPU版本:

Windows安装TensorFlow(TF更新至0.12版,添加了Windows支持)