前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Facebook的新AI「Rosetta」会识别表情包,还会删帖丨论文

Facebook的新AI「Rosetta」会识别表情包,还会删帖丨论文

作者头像
量子位
发布2018-09-29 10:50:58
1K0
发布2018-09-29 10:50:58
举报
文章被收录于专栏:量子位量子位
郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI

这些表情包,都见过吧?

平时斗图、发朋友圈、发微博、知乎抖机灵最离不开它们了。

不过,表情包上的那些网络金句都是.jpg或者.gif的图片格式,无法被搜索、无法被计算机监测,字太小不清晰的时候还会让视力不好的同学看不清楚。

总之,图片版的文字有种种不方便的地方。

所以Facebook干脆出了一个能识别表情包的AI,名叫Rosetta,看看你们发的消息里配的表情包都是些啥。

Facebook官方博客给到的例子是一个西班牙语的企鹅表情包。

虽然图上的西班牙文看不太懂,不过可以脑补一下,表情包上本来只有白色加粗大字,Rosetta用蓝色框选出表情包上的文字,然后识别出来,文字上面那一行是它的识别结果。

当然,不止表情包,还有各类其他图片。如果发小黄图或者其他什么不友善的图片被Rosetta发现,它就会启动删帖大法。

Rosetta模型

Rosetta如何识别图片上的文字呢?

不是普通的OCR,而是用Faster R-CNN识别出有字的区域后,再进行文字识别。

具体步骤如下:

  1. 训练一个可以将图像表示为卷积特征映射的CNN;
  2. 训练一个区域提议网络(region proposal network,RPN),将图片分为宽5高7共35个小特征图作为输入,RPN找到一些看起来有文字的目标区输出;
  3. 从每个区域特征图中提取信息,用分类器识别,之后按提案置信度排序,选择最靠谱的提案。

上面这张图则表明了两步模型结构:

第一步是用Faster R-CNN检测字符;

第二步是用有CTC(Connectionist Temporal Classification)损失的ResNet-18完全卷积模型来进行文字识别。

上面两个模型独立训练。

而在训练中,Facebook用上了Caffe2支持的、最近开源的Detectron framework。

另外他们还用上了LSTM来提高模型准确性。

最终的文本识别模型结构

有特殊的训练技巧

考虑到低学习率会让模型欠拟合,而高学习率会导致模型发散,Facebook调整了训练程序:

一是先只用比较短的单词来训练,最多只有五六个字母,之后从少到多,用更长的单词来训练,逐步增强单词的长度;

二是从低学习率开始,保证模型不会发散,之后再逐步提高学习率,保证模型稳定。确保稳定之后再降低学习率。

学习率
图像宽度
单词长度

“我们不要手动搞数据集!”

由于Rosetta并不是一个纯英文识别AI,它需要学的语言种类太多,单单训练英文识别都要大量数据,何况Facebook的全球用户来自各国,会使用各种不同的语言了。

于是,Facebook除了用人类手工标注的数据之外,还找了一些机器生成的数据集,也就是,找一个AI数据民工,强行给一些无辜的图片加字。

这个AI数据民工来自牛津大学VGG实验室2016年发表在CVPR上的论文《 Synthetic Data for Text Localisation in Natural Images》,可以给正常的自然景物照片上,添加一些蛇精病一样的文字。

这样,批量生产的带字图片就自带了标注,一个AI生产数据,喂给另一个AI来训练,自给自足。如果以后的模型都用AI生产的数据来喂养的话,估计几十年后不少模型的卖点就变成了:

“人类标注,手动调参,纯天然原生态,古早味模型。”

不仅能认表情包

除了识别表情包和删帖,Rosetta还可以用来实现照片搜索、识别菜谱、辅助视力障碍者认知图片等功能,而且这些功能并不仅仅适用于英文,连阿拉伯语都可以识别。

只不过,阿拉伯语是从右往左写的,所以Facebook在处理阿拉伯语的时候多加了一道从左往右翻过来的步骤。

传送门

Rosetta发在了今年KDD上,论文: http://www.kdd.org/kdd2018/accepted-papers/view/rosetta-large-scale-system-for-text-detection-and-recognition-in-images

Facebook博客: https://code.fb.com/ai-research/rosetta-understanding-text-in-images-and-videos-with-machine-learning/

VGG图片加字: https://github.com/ankush-me/SynthText

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rosetta模型
  • 有特殊的训练技巧
  • “我们不要手动搞数据集!”
  • 不仅能认表情包
  • 传送门
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档