当前位置: 首页 > 编程日记 > 正文

从发展滞后到不断突破,NLP已成为AI又一燃爆点?

640?wx_fmt=jpeg

 

作者 | 刘家俊,一览群智CTO

责编 | Jane

出品 | AI科技大本营(ID :rgznai100)


自然语言处理:人工智能连接主义复兴浪潮中的下一个突破口

 

AI 行业应用是一片新的大陆,深度学习作为新大陆的基石,经历了一轮又一轮突破。过去十年,在计算机视觉、语音识别、棋类 AI 等计算和感知智能技术上,深度学习率先取得成功。而最近深度学习在认知智能/自然语言处理上的进展,特别是 Transformer 衍生模型加上两阶段预训练语言模型范式的成功,正在将自然语言处理变成人工智能下一个最有可能的突破口。

 

计算机视觉与语音的成功是破茧成蝶,而非横空出世

 

2010 年到 2017 年,从 LeNet 到 AlexNet、Inception、VGGNet、ResNet 及其衍生结构,深度神经网络加上集成学习技术在计算机视觉研究中大放异彩,在 ImageNet 大规模深度视觉挑战(ILSVRC)图像分类任务上的错误率从 28.2% 一路降低到了 2% 左右。尽管这仍然是“实验室环境”下的结果,但当 AI 在某一个单点任务上的表现接近或者超越人类的时候,就会给行业带来巨大的商机。在视觉分类、检索、匹配、目标检测等各项任务上,随着相关算法越来越准确,业界也开始在大量商业场景中尝试这些技术。

 

人脸识别,作为计算机视觉技术取得突破的一个代表性应用,就是在这个大背景下从技术研究期进入成熟商业期,爆发成为一个千亿甚至万亿级别的市场。

 

640?wx_fmt=png

 

但在计算机视觉技术商业化的历程中,其实也有一段不短的蛰伏期。在深度卷积神经网络兴起之前,微软亚洲研究院研究人脸识别的团队曾在内部长期遭受质疑:做了十多年,准确率总是只有 70% 到 80%,看上去挺好玩,但这个准确率能有什么实际的应用价值呢?然而 2010 年深度学习浪潮迅速扫清了质疑,长期研究这个方向的被质疑者们,成了这个新商业领域的领导者,从火种涅槃成为满天繁星。而连接主义学派的忠实信徒、蛰伏近三十年的深度学习三剑客 Geoff Hinton、Yann LeCun 和 Yoshua Bengio,也是因为在统计机器学习盛行的数十年间受尽冷眼的厚积,才有了 2010 年后因 GPU 算力和神经网络模型不断加深而产生的薄发,从而一举获得图灵奖。

 

640?wx_fmt=jpeg

 

为什么自然语言处理领域的发展要相对滞后?

 

深度学习在计算机视觉、语音识别等感知智能技术上率先取得成功并不是偶然。深度学习秉承连接主义学派的范式,相较传统统计机器学习技术的最大进化在于其利用了高于统计方法数个数量级的参数和极其复杂的函数组合,通过引入各种非线性和多层级感知能力,构成了远强于统计机器学习模型的拟合能力。ResNet-152 的参数量已经达到六千万的级别,GPT-2.0 的参数量达到了惊人的 15 亿。而其他上亿甚至数亿级别的网络更是数不胜数。如此复杂的模型对数据的拟合能力达到了前所未有的水平,但是同时也极大提高了过拟合的风险。这对数据提出了极高的要求。训练数据的数量、维度、采样均衡度、单条数据本身的稠密度(非0、不稀疏的程度),都需要达到极高的水平,才能将过拟合现象降低到可控范围。

 

视觉信息(图像、视频)恰好是这样一类自然连续信号:一张图片通常就有数百万甚至上千万像素,而且每个像素上通常都有颜色,数据量大、数据的表示稠密、冗余度也高。往往在丢失大量直接视觉信号的情况下,人还能迅速理解图片的语义信息,就是因为自然连续信号,如图像中的场景和物体往往具有视觉、结构和语义上的共性。一个 30MB 的位图图片能被压缩到 2MB 而让人眼基本无法感知区别;一个 30MB 的 wave 音频文件被压缩到 3MB 的 MP3 还能基本保持主要旋律和听感,都是因为这类自然连续信号中存在大量不易被人的感官所感知的冗余。

 

视觉信息这种的丰富和冗余度,让深度神经网络得以从监督信号中一层层提炼、一层层感知,最终学会部分判断逻辑。深度神经网络在感知智能阶段中在视觉任务和语音任务上的成功,离不开视觉、语音信号自身的这种数据特点。


640?wx_fmt=png

 

今天,属于感知智能的视觉和语音应用已经全面开花,但属于认知智能的自然语言处理却发展滞后。这种发展状态与自然语言处理技术中的数据特征也有密不可分的关系。

 

相对于图片、语音给出的直接信号,文字是一种高阶抽象离散信号。较之图片中的一个像素,文本中一个单元信息密度更大、冗余度更低,往往组成句子的每一个单词、加上单词出现的顺序,才能正确表达出完整的意思。如何利用单个文本元素(字/词)的意思,以及如何利用语句中的顺序信息,是近年来自然语言处理和文本分析技术的主要探索脉络。

 

640?wx_fmt=png

 

2013 年,词的分布式向量表示(Distributed Representation)出现之前,如何在计算机中高效表示单个字/词是难以逾越的第一个坎。在只能用One-hot向量来表示字/词的年代,两个近义词的表示之间的关系却完全独立,语义相似度无法计算;上表示一个字/词所需的上万维向量中只有一个维度为1,其他维度都为0,稀疏度极高。面对这类信号,深度神经网络这类复杂的模型所擅长的化繁为简的抽象、提炼、总结能力便束手无策,因为输入信号已经极简到了连最基础的自我表示都难以做到。

 

NLP 中的两大重要挑战:特征表示、结构/语义理解正取得关键进展

 

而分布式词向量将语言的特征表示向前推进了一大步。分布式词向量提出了一个合理的假设:两个词的相似度,可以由他们在多个句子中各自的上下文的相似度去度量,而上下文相似的两个词会在向量空间中由两个接近的向量来表示。这种做法部分赋予了词向量“语义”,因此我们不必再让机器去查百科全书告诉我们“苹果”的近义词是“梨子”,而是直接从大量的互联网语料中去学习,原来“苹果”的近义词也可以是“三星”、“华为”。因为人们常常会说“我购买了一个苹果手机”,也常说“我购买了一个三星手机”,模型会敏锐的学习到“苹果”和“三星”在大量语料中出现时其上下文高度相似,因而认为两个词相似。分布式词向量让无语义、极稀疏的 One-hot 向量寿终正寝,而为大家提供了嵌入语义信息、稠密的特征表示,这才使得深度神经网络在自然语言处理和文本分析上的应用真正变得可能。

 

捕捉语句中在独立的词集合基础之上、词序列构成的句子结构信息也是自然语言处理和文本分析中的一个主要方向。传统条件随机场(CRF)考虑了前后相邻元素和当前元素之间的依赖;长短时记忆网络模型(LSTM)以一种衰减形式考虑了当前元素之前的元素序列;seq2seq 通过注意力和编解码的机制使得解码时的当前元素不光能用上已经解码完毕的元素序列,还能用上编码前的序列的完整信息;近期各类基于 Transformer 结构,如 ELMo 、BERT、GPT-2.0、XLNet,则利用两阶段(基于自编码的预训练加基于任务的调优)模式,能够以自监督的方式更好地利用大规模的无标注语料训练不同句子结构中词语之间的关系,并且突破传统线性序列结构中存在的难以建立长距离、双向依赖关系的问题,学习到质量更高的中间语言模型,再通过调优就能在文本生成、阅读理解、文本分类、信息检索、序列标注等多个任务上取得当前最为领先的准确率。

 

以机器阅读理解任务为例,在 SQuAD1.0 数据集上,BERT 和 XLNet 都已大幅超越人类的 91.22(F1分),分别达到了 93.16 和 95.08;在更加复杂的 SQuAD2.0 数据集上,XLNet 也已经达到了 89.13。

 

又如在 2019 年 3 月举行的第十四届 NTCIR 上,短文本情感对话任务(STC3)提出的要求是:中文回答不仅需要内容合理,语句流畅,而且需要情感合宜。例如,如果用户说“我的猫昨天去世了”,如果机器人想表达悲伤的情感,那么最合适的回答可能是“这太悲伤了,很抱歉听到”,但如果想表达安慰的情感,则应该说 “坏事永远发生,我希望你会快乐”。对情感表达要求的增加,无疑增加了难度。

 

而在这个比赛中,一览群智和人民大学信息学院联合组成的团队获得了冠军,其使用的方法便是基于 Transformer 改进的网络模型,以情感识别、情感领域对话子模型、集成学习等方法相结合,击败了十几支强劲对手。类似的探索,让 AI 在特定任务下的认知能力,朝着人类水平一步步发展。

 

认知智能进入快车道

 

自然语言处理领域的发展虽然比计算机视觉和语音领域滞后几年,但是我们看到自然语言处理已经进入快车道。近两年来语言模型上的飞速进步,让我们感受到之前制约自然语言处理和文本分析发展的主要难点,正在被更好的模型结构、训练和使用方法、更大的算力逐渐克服。为自然语言任务加入“常识”,也是另一个新兴重要探索方向,这个方向则与知识图谱技术紧密结合。

 

我们正处于认知智能的黄金发展期,新技术的出现与逐步成熟,使得更多行业的应用场景变得可能。一览群智一直在探索认知智能的基础技术发展与前沿行业应用,围绕自然语言处理技术的变与不变,在这个过程中有着自己的思考和总结,并且通过智语这个核心技术产品,给出自己的答案。就像 BERT、GPT-2.0、XLNet 在两阶段范式上的殊途同归,我们也认为基础语言模型在不同任务上可以存在一些不变性,但在不同场景中一定要做特殊语料与任务下的调优与适配。出于对文本信号特性的理解和自然语言处理技术发展阶段的认识,我们构建认知智能核心产品智语平台的思路,也是围绕这种变与不变在展开。

 

640?wx_fmt=png

“智语” 自然语言处理平台的智能流程

 

但认知智能在金融、公安、媒体等场景中的变化部分给 AI 厂商带来的挑战非常明显。一个算法往往在不同场景下要利用不同的标注语料去形成不同的模型,一个媒体场景的 10 类新闻分类模型,无法给另一个媒体的 12 类分类体系使用。

 

为了解决数据标注难、封闭环境下模型训练难、部署难等问题,一览群智的智语平台提供了标注管理、智能标注加速、自然语言处理、文本模型训练、一键部署等端到端功能,提升了团队在应对不同场景时的效率与效果。例如智能标注加速功能,利用主动学习的先进技术,将训练一个分类或者序列标注模型的标注量有效降低至原有的 30%-50%,同时保证模型性能基本不变;加上平台高效能的标注管理,总体效率提升可达数倍。而傻瓜式的训练和部署,使得初级团队成员通过短期培训也能有效形成 AI 的生产力。

 

640?wx_fmt=png

“智语” 自然语言处理平台端到端流程方案

 

结语

 

回顾 AI 连接主义学派复兴的十年,就像一个螺旋梯,算法与算力应用相互促进、不断攀升。在见证 ImageNet 图像分类错误率从 30% 一路降低到 2%左右;见证 AlphaGo 击败樊辉、李世石、柯洁之后,我们开始见证基于 BERT/GPT-2.0/XLNet 在阅读理解任务超越人类。十年后再回顾,会发现今天之于自然语言处理,也许恰如 2014 年之于人脸识别。

 

作者介绍:


刘家俊,一览群智CTO。澳大利亚昆士兰大学博士,人工智能领域知名学者,曾任IBM中国研究院研究员,澳大利亚联邦科学与工业研究组织博后研究员,人工智能与数据方向顶级国际学术会议及期刊PAKDD、ACM MM、IEEE TKDE的程序委员、审稿人。

 

640?wx_fmt=png


(*本文为 AI科技大本营编译文章,转载请联系1092722531


精彩推荐



“只讲技术,拒绝空谈”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。


目前,大会盲订票限量发售中~扫码购票,领先一步!


640?wx_fmt=jpeg


推荐阅读

  • 人工智能六十年技术简史

  • BigBiGAN问世,“GAN父”都说酷的无监督表示学习模型有多优秀?

  • 微软洪小文:AI将成为人类未来最好的左脑

  • 干货 | Python后台开发的高并发场景优化解决方案

  • 学好正态分布有多重要?

  • 我在阿里的十年:从 BI 到产品经理,曾被程序员踢翻桌子骂

  • 没有授权,Android App 也能获取你的权限?!

  • Libra的Move编程语言到底是个啥? 美女程序员通读26页的白皮书后, 找出了这些精华… | 技术头条

  • 文末送书啦!| Device Mapper,那些你不知道的Docker核心技术


640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢-

相关文章:

matlab最小分类错误全局二值化算法

转自:http://download.csdn.net/detail/hupeng810/1511870 function imagBW kittlerMet(imag) % KITTLERMET binarizes a gray scale image imag into a binary image % Input: % imag: the gray scale image, with black foreground(0), and white % bac…

XShell连接Deepin

为什么80%的码农都做不了架构师?>>> 先让deepin安装openssh sudo apt-get install openssh-serverchkconfig ssh on 转载于:https://my.oschina.net/enzo/blog/110518

第三届“达观杯”文本智能信息抽取挑战赛丰厚奖金,群英集结,等你来战!...

近日,第三届“达观杯”文本智能信息抽取挑战赛正式上线启动(点击阅读原文,跳转报名页面),6月28日至8月31日,面向所有参赛选手开放竞赛结果提交。本届“达观杯”的任务是信息抽取。“达观杯”大赛由国内文本…

Spline interpolation and Savitzki-Golay smoothing

转自:http://octave.1599824.n4.nabble.com/Spline-interpolation-and-Savitzki-Golay-smoothing-td1675136.html ## natural-cubic-spline interpolation ## usage: yspline spline(x,y,xspline) ## example: ## x 0:10; y sin(x); ## xspline 0:0.1:10; y…

SpringBoot实现热部署(修改class不需要重启)

热部署: devtools可以实现页面热部署(即页面修改后会立即生效, 这个可以直接在application.properties文件中配置spring.thymeleaf.cachefalse来实现) 实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。 注意:因为采用的虚拟机机制&…

Oracle中查看表空间的使用率的脚本

如题: select f.tablespace_name tablespace_name, round((d.sumbytes / 1024 / 1024 / 1024), 2) total_g, round(f.sumbytes / 1024 / 1024 / 1024, 2) free_g, round((d.sumbytes - f.sumbytes) / 1024 / 1024 / 1024, 2) used_g, round((d.sumbytes - f.sumbyte…

vue实现多个元素或多个组件之间动画效果

2019独角兽企业重金招聘Python工程师标准>>> 多个元素的过渡 <style>.v-enter,.v-leave-to{opacity: 0;}.v-enter-acitve,.v-leave-active{opacity: opacity 1s;} </style> <div idapp><transition><div v-ifshow>hello world</di…

干货 | 20个教程,掌握时间序列的特征分析(附代码)

作者 | Selva Prabhakaran 译者 | Tianyu责编 | Jane出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导语】时间序列是指以固定时间为间隔的序列值。本篇教程将教大家用 Python 对时间序列进行特征分析。1、什么是时间序列&#xff1f;时间序列是指以固定时间为间…

利用OpenCV求取图像的重心

转自&#xff1a;http://blog.csdn.net/lxiaoxiaot/article/details/6539834 不规则区域的矩&#xff0c;表示把一个归一化的灰度级图像函数理解为一个二维随机变量的概率密度。 这个随机变量的属性可以用统计特征--矩&#xff08;Moments&#xff09;来描述。通过假设非零的像…

C++中Ansi、Unicode、UTF8字符串之间的转换和写入

转自: http://dark0729.blogbus.com/logs/51496111.html Ansi字符串我们最熟悉&#xff0c;英文占一个字节&#xff0c;汉字2个字节&#xff0c;以一个\0结尾&#xff0c;常用于txt文本文件 Unicode字符串&#xff0c;每个字符(汉字、英文字母)都占2个字节&#xff0c;以2个连…

MyBatis的扩展点(plugins)

2019独角兽企业重金招聘Python工程师标准>>> 1、mybatis扩展点plugins mybatis的扩展是通过拦截器Interceptor来实现的&#xff0c;本质上就是JDK的动态代理&#xff0c;所以它只能对接口进行拦截&#xff0c;mybatis可以对以下四个接口类型进行拦截&#xff0c;也就…

linux中使用CST时间

GMT(Greenwich Mean Time&#xff0c;格林威治标准时间): 是指位于英国伦敦郊区的格林尼治天文台的标准时间&#xff0c;因为本初子午线被定义在通过那里的经线。 UTC(Universal Time/Temps Cordonn 世界标准时间)CST(Central Standard Time 國家標準時間&#xff0c;一說中原標…

到「黄埔学院」去:打造AI首席架构师,第二期限量招募!

今年 1 月&#xff0c;百度联合“深度学习技术及应用国家工程实验室”成立黄埔学院&#xff0c;旨在为产业培养第一批“首席AI架构师”。黄埔学院一期学员历时半年的学习和交流&#xff0c;6 月 16 日&#xff0c;黄埔学院一期学员迎来了毕业典礼&#xff0c;并在 7 月百度 AI开…

linux守护进程的创建

下面的完成了这样一个功能&#xff0c;创建一个守护进程&#xff0c;每个一秒在/tmp目录下的文件peng.txt中记录当前系统时间。 一、守护进程 守护进程是linux中的后台服务进程&#xff0c;在系统启动时开始运行&#xff0c;在系统关闭时终止。Linux系统中的大多数服务进程都是…

tesseract3.01的训练和使用

相关源码、资源下载&#xff1a;http://code.google.com/p/tesseract-ocr/downloads/list 训练步骤&#xff1a; 1、 Generate Training Images&#xff1a;生成tif图像文件(简单的几个汉字)&#xff1b; 如&#xff1a;ABC.Roman.exp0.tif([lang].[fontname].exp[num].tif)…

旷视推出鼻纹识别,用AI寻找丢失宠物

来源 | 转载自旷视城市大脑&#xff08;ID&#xff1a;MEGVII_CityBrain)导读&#xff1a;随着人工智能技术&#xff08;AI&#xff09;的大热&#xff0c;基于深度学习方法的人脸识别技术已成熟落地&#xff0c;在解锁、支付、认证、摄像等生活方方面面&#xff0c;各个大厂推…

Qt浅谈之一:内存泄露(总结)

一、简介 Qt内存管理机制&#xff1a;Qt 在内部能够维护对象的层次结构。对于可视元素&#xff0c;这种层次结构就是子组件与父组件的关系&#xff1b;对于非可视元素&#xff0c;则是一个对象与另一个对象的从属关系。在 Qt 中&#xff0c;在 Qt 中&#xff0c;删除父对…

LINUX新手入门-1.装系统

LINUX新手入门-1.装系统首先我们用虚拟机模拟 装linux系统&#xff0c;然后下一步下一步&#xff0c;然后完成后&#xff0c;编辑一些设置&#xff0c;把镜像放上面就可以了选第一项&#xff0c;安装系统&#xff0c;查看镜像是否能运行&#xff0c;直接跳过&#xff0c;选择语…

Log4cplus1.04的使用

首先&#xff0c;从http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/下载最新的版本&#xff0c;解压缩&#xff0c;用vs2008打开msvc8文件夹下的log4cplus.sln&#xff0c;并按照提示转换。在Solution Configurations下拉列表框中&#xff0c;会有Debug、D…

FRVT赛程全纪录:格灵深瞳全球排名前五

作者 | 张德兵&#xff0c;格灵深瞳首席科学家&算法部负责人来源 | 转载自知乎张德兵最近两个月&#xff0c;格灵深瞳首席科学家&算法部负责人张德兵与算法团队参加了全球人脸识别算法测试(FRVT、Face Recognition Vendor Test)。虽然是第一次参加此比赛&#xff0c;格…

反转比特位(文章最后有干货)【转】

转自&#xff1a;https://blog.csdn.net/wuxianglonghaohao/article/details/21602305 http://www.newhottopic.com/2014/03/20/reverse-bits/ 把一个无符号整数的比特位反转顺序。有很多种方法来实现这个。我们这里给出一个算法&#xff1a;通过异或运算来交换&#xff0c;然后…

过关斩将打进Kaggle竞赛Top 0.3%,我是这样做的

作者 | Lavanya Shukla译者 | Monanfei责编 | 夕颜出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;导读&#xff1a;刚开始接触数据竞赛时&#xff0c;我们可能会被一些高大上的技术吓到。各界大佬云集&#xff0c;各种技术令人眼花缭乱&#xff0c;新手们…

JavaBean规范

2019独角兽企业重金招聘Python工程师标准>>> &#xff08;1&#xff09;JavaBean 类必须是一个公共类&#xff0c;并将其访问属性设置为 public &#xff08;2&#xff09;JavaBean 类必须有一个空的构造函数&#xff1a;类中必须有一个不带参数的公用构造器&#x…

vigra1.8.0的使用

VIGRA stands for "Vision with Generic Algorithms". Its a novel computer vision library that puts its main emphasis oncustomizablealgorithms and data structures. 1、首先&#xff0c;从http://hci.iwr.uni-heidelberg.de/vigra/下载最新源代码&#xff0…

17个Python小窍门

python中相对不常见却很实用的小窍门。 空谈不如来码代码吧&#xff1a; 交换变量值 给列表元素创建新的分隔符 找列表中出现次数最多的元素 核对两个字符是否为回文 反向输出字符串 反向输出列表 转置2维数组 链式比较 我刚整理了一套2018最新的0基础入门和进阶教程&#xff0…

用产品思路建设中台,这走得通吗?| 白话中台

作者 | 王健&#xff0c;ThoughtWorks首席咨询师。 十多年国内外大型企业软件设计开发&#xff0c;团队组织转型经验。一直保持着对技术的热爱&#xff0c;热衷于技术分享。目前专注在企业平台化转型、中台战略规划&#xff0c;微服务架构与实施&#xff0c;大型遗留系统服务化…

利用cvMinAreaRect2求取轮廓最小外接矩形

转自&#xff1a;http://blog.csdn.net/mine1024/article/details/6044856 对给定的 2D 点集&#xff0c;寻找最小面积的包围矩形&#xff0c;使用函数&#xff1a; CvBox2D cvMinAreaRect2( const CvArr* points, CvMemStorage* storageNULL ); points 点序列或点集数组 …

电脑开机显示Invalidsystemdisk

开机或重启无法进入系统&#xff0c;并在屏幕上显示Invalidsystemdisk&#xff0c;Replacethediskandthenpressanykey或者diskerror之类的字样&#xff0c;这是怎么回事&#xff0c;该如何解决&#xff1f;今天u大师就为大家解决下。 出现这个原因是因为现在的电脑没有可以启…

Windows7 64位下vs2008配置OpenCV2.3.1

1、下载OpenCV2.3.1&#xff1a;http://www.opencv.org.cn/index.php/Download&#xff1b; 2、下载后解压缩&#xff1a;OpenCV-2.3.1-win-superpack.exe&#xff0c;生成一个opencv文件夹&#xff1b; 3、下载CMake&#xff1a;http://www.cmake.org/cmake/resources/softw…

腾讯拥抱开源:首次公布开源路线图,技术研发向共享、复用和开源迈进

整理 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;去年&#xff0c;知乎上一篇讨论腾讯技术的帖子异常火爆&#xff0c;讨论的主题是当下&#xff08;2018 年&#xff09;腾讯的技术建设是否处于落后同体量公司的状态&#xff0c;这篇帖子得…