读AI3.0笔记08_自然语言

1. 人工智能研究的惯用的套路

1.1. 定义一个在细分领域中比较有用的任务

1.2. 收集一个大型数据集来测试机器在该任务上的性能

1.3. 对人类在该数据集上完成任务的能力进行一个有限的度量

1.4. 建立一场竞赛使得人工智能系统可以在该数据集上互相竞争

1.5. 直到最终达到或超过人类的表现

2. 词语

2.1. 人类用什么样的心理机制来理解世界

2.2. 理解语言,特别是理解其中隐含的部分,是人类智能的一个基本部分

2.3. 语言常常是充满歧义的,极度依赖语境,而且通常用语言沟通的各方需要具备大量共同的背景知识

2.4. 句子是由词的序列组成的,并且没有固定的长度

2.5. 分布语义

2.5.1. distributional semantics

2.5.2. 你会通过与一个单词一同出现的词来认识它。

2.5.2.1. 语言学家约翰·费斯(John Firth)在1957年

2.5.3. 一个单词的含义可以依据与其经常一同出现的其他单词来定义,这些其他单词又可以依据与它们经常一同出现的单词来定义

2.6. 一旦词汇表中的所有单词都被恰当地放置在语义空间中,一个词的含义就能通过其在语义空间中的位置,也就是其词向量的坐标来表示

3. 自然语言处理

3.1. 让计算机处理人类的语言

3.2. 深度学习一直是自然语言处理领域的大部分最新进展背后的驱动力

3.3. 语音识别、网络搜索、自动问答和机器翻译

3.4. 问答系统是当前自然语言处理研究的一个焦点

3.4.1. 人们希望使用自然语言与计算机进行交互

3.4.2. Siri、Alexa、Google Now和其他虚拟助理

3.5. 程序所需要具备的所有背景知识的总量是令人难以想象的

3.6. 理解和使用自然语言是人工智能当前面临的最大的挑战之一

3.6.1. 大量的数据集被用来训练机器学习算法

3.7. 尽管深度学习已经在语音识别、语言翻译、情感分析及自然语言处理的其他领域取得了一些非常显著的进展,但人类水平的语言处理能力仍然是一个遥远的目标

3.7.1. 其在高级别的语言处理任务中并没有产生同等的效用,真正的戏剧化的进展可能只有在真正的信号处理任务上才能实现

3.8. 完全从在线数据中学习、基本上没有理解其所处理语言的机器,完全不可能达到人类在翻译、阅读理解等方面的水平

3.9. 目前计算机其实并不能完全读懂一个特定文本中字里行间的意思,也无法做到真正的推理,比起阅读理解,计算机能做到的应该叫“答案提取”

4. 自动语音识别

4.1. automatic speech recognition

4.2. 自动语音识别是一项将口语实时转录成文本的技术

4.3. 深度学习在自然语言处理中的第一个重大成就

4.3.1. DNN的使用促成了20年来语音研究中最大的单项进步

4.3.2. 当前最先进的语音识别系统集成了许多不同的组件,包含多个DNN

4.4. 语音识别系统在不理解其转录文本的含义的情况下完成了这一切

4.4.1. 过去都认为人工智能语音识别在没有真正理解语言的情况下,永远不可能达到如此高水平的性能表现,但事实证明我们错了

4.5. 经验法则

4.5.1. 项目前90%的工作占用10%的时间,而后10%的工作占用90%的时间

4.6. 找到这种会让语音识别系统困惑的句子并不难,然而,对于安静环境下的日常会话,我猜想这些系统识别的准确率是人类准确率的90%~95%

4.6.1. 如果你增加背景噪声或其他复杂因素,其准确率会大大降低

4.6.2. 最后的10%不仅包括处理噪声、不熟悉的口音和不认识的单词,还包括影响语音集成的语言的歧义和上下文的关联性

4.7. 尽管人类能轻易地看出这些评论都是负面的,但让一个程序以一种通用的方式来做这种分类要比想象中困难得多

5. 递归神经网络

5.1. recurrent neural network, RNN

5.2. 将神经网络应用于涉及有序序列(例如句子)的任务可以追溯到20世纪80年代出现的“递归神经网络”,而该方法显然是受到大脑理解句子的原理的启发

5.3. 你的大脑产生了以神经元激活的形式存在的对于此句子认知的表达,这使你能够自信地陈述这条评论是积极的还是消极的

5.4. 递归神经网络中的隐藏单元具有额外的递归连接:一个指向自身及其他隐藏单元的连接

5.5. 由于网络只有在遇到结束符号时才会停止对句子编码,因此系统在原则上能够将任意长度的句子编码成一组固定长度的数字,即隐藏单元的激活值,因此,这种神经网络通常也被称为“编码器网络”(encoder network)

5.6. 独热编码曾经是向神经网络中输入词语的一种标准方法,但它存在一个问题:给词语任意分配数字这种方法,无法获取词语之间的相关关系

5.7. 使用词向量的坐标作为数字输入来表示单词,而不是使用简单的独热编码方案,可以大大提高神经网络在自然语言处理任务中的性能

5.8. word2vec神经网络

5.8.1. 单词到向量(word to vector, word2vec)

5.8.2. 工作原理是使用传统的神经网络来自动学习词汇表中的所有单词的词向量

5.8.3. 体现了“你会通过与一个单词一同出现的词来认识它”这一思想

5.8.4. word2vec这个算法并不理解“国家”或“欧洲国家”的概念,这些词只是在训练数据中出现的与“法国”具有类似语境的词

5.8.5. 词向量所具有的这些特性是耐人寻味的,并且表明了一些词之间的语义关系是可以被获取到的

5.8.6. 几乎所有的自然语言处理系统都使用某种类型的词向量方法作为输入单词的方式

5.8.6.1. 对于一个手里拿着锤子的人来说,所有事情看起来都像一颗钉子

5.8.6.2. 对于一个专注神经网络的人工智能研究员来说,所有事情看起来都像一个向量

5.8.7. 词向量还捕获了产生这些语言数据的语言中自带的偏见

5.8.7.1. 词向量的偏见可能会渗透在广泛使用的自然语言处理应用中,并产生让人意想不到的偏见

5.8.8. 词向量的“去偏见”(debiasing)算法

5.8.8.1. 消除词向量所隐含的偏见是一个很大的挑战,但可能并没有消除语言和社会中存在的偏见那样困难

5.9. 思维向量

5.9.1. thought vectors

6. 机器翻译

6.1. 在线翻译系统能为全世界的人们提供全天候的即时翻译服务,而且通常可以处理100多种不同的语言

6.1.1. 其水平仍然远低于优秀的人类翻译员

6.2. 2016年谷歌推出了一种新型的“神经机器翻译”(neural machine translation, NMT)系统

6.3. 自动翻译,特别是英语和俄语之间的翻译,是最早的人工智能项目之一

6.3.1. 人们会自然而然地想到翻译的问题是否可以被视为密码学中的一个问题

6.3.1.1. 数学家沃伦·韦弗在1947年

6.4. 统计机器翻译

6.4.1. statistical machine-translation

6.4.2. 在机器翻译领域占据主导地位

6.4.3. 依赖于从数据而非从人类制定的规则中学习,训练数据由大量成对的句子组成

6.4.4. 每对句子中的第一个句子来自源语言

6.4.5. 第二个句子是将第一个句子用目标语言翻译后的结果

6.4.6. 句子的来源

6.4.6.1. 双语国家的官方文件

6.4.6.1.1. 加拿大议会的每一份文件都是分别用英语和法语编写的
6.4.6.1.2. 联合国的文字记录手稿,其中的每一份都会被翻译成联合国的六种官方语言

6.5. 人类很擅长处理错综复杂的句子,但递归神经网络却很容易失去主线

6.5.1. 当网络试图将整个句子编码为一组隐藏单元激活值时,它就会变得混乱

6.6. 长短期记忆

6.6.1. long short-term memory, LSTM

6.6.2. 指的是这些单元允许更多短时记忆贯穿句子的整个处理过程

6.7. 深度学习时代的机器自动翻译是由大数据和快速计算造就的巨大成功

6.7.1. 为了创建一个编码器-解码器网络,比如,将英语翻译成法语的,这些网络需要在超过3 000万对人工翻译的句子样本上进行训练

6.7.2. 如果一家公司想要翻译大量文档或在自己的网站上为客户提供翻译,则需要使用收费的机器翻译服务,所有这些服务都由相同的编码器-解码器架构提供支持

6.8. 机器翻译水平已与人类相当以及人类和机器翻译之间的差距正在缩小,这些观点的提出都是基于两种评估翻译结果的方法

6.8.1. 对评分取平均数会产生误导性

6.8.1.1. 大多数句子的翻译被评为“好极了”,但也有许多句子被评为“糟透了”,那么其平均水平是“还不错”

6.8.1.2. 你可能更想要一个总是表现得相当好、从来不会出错的、更可靠的翻译系统

6.8.2. 翻译系统接近人类水平或与人类水平相当的说法完全是基于其对单个句子翻译水平的评估,而非篇幅更长的文章的翻译

6.8.2.1. 一般来说,机器翻译长文的质量会差一点

6.8.3. 所使用的句子都是从新闻报道和维基百科页面中提取的,这些页面通常都经过慎重的编写以避免使用有歧义的语言或习语

6.9. 人类评估人员一致认为:神经机器翻译生成的译文要比过去的机器翻译更好

6.10. 双语评估候补

6.10.1. bilingual evaluation understudy,BLEU

6.10.2. BLEU是一种有缺陷的评估翻译的方法,之所以使用它,仅仅是因为还没人能找到总体性能更优的自动评估方

6.11. 雇用精通两种语言的专家来人工评估翻译

6.12. 与语音识别系统的问题一样,机器翻译系统在执行任务时并没有真正“理解”它们正在处理的文本

6.13. 把图像翻译成句子

6.13.1. 除了在语言之间进行翻译之外,我们能否训练一个类似于编码器-解码器架构的神经网络,使其学会把图像翻译成语言

6.13.2. 图像被输入到一个卷积神经网络(ConvNet)而非编码器网络中

6.13.3. 这种技术在多大程度上可以被应用于为视力障碍人群提供自动图像标识服务

6.13.4. 其犯起错来却也可以从轻微偏离主题到完全的胡说八道

6.13.5. 即便它们给出的字幕是正确的,这些系统也无法从人类的角度来理解图像

6.13.6. 就像在机器翻译中的表现一样,这些系统仍然是不可信的

6.14. 把句子按照情感进行分类、翻译文档和描述照片,尽管自然语言处理系统在这些任务上的水平还远不及人类,但对于完成许多现实世界中的任务还是很有用的

7. 虚拟助理

7.1. 我们可以用声音来向这些机器提问,由于它们通常擅长于转录语音,所以它们能用流畅的、略带机械感的声音来回答我们

7.2. 让计算机真正理解我们所问的问题的含义

7.3. 在人工智能领域,承诺过高和交付不足是一个再常见不过的现象,IBM绝不是唯一的罪过方

7.4. 斯坦福问答数据集

7.4.1. Stanford question answer dataset,SQuAD

7.4.2. SQuAD测试比人类读者做的那种典型的阅读理解测试要简单得多,因为在创建问题的说明中,斯坦福大学的研究人员规定答案必须以句子或短语的形式在文本中出现过

7.4.3. 将接收到的问题转换为一个搜索引擎查询序列,然后从搜索结果中提取答案

7.4.4. SQuAD迅速成为最受欢迎的测试问答算法能力的标准测试集,全世界的自然语言处理研究人员都在努力优化自己的算法,争取在SQuAD测试集的排行榜上获得更靠前的排名

8. 威诺格拉德模式

8.1. Winograd schemas

8.2. 微型的语言理解测试

8.3. 以最先提出这个想法的自然语言处理领域的先驱特里·威诺格拉德(Terry Winograd)的名字命名

8.4. 威诺格拉德模式的测试可以防止机器在没有真正理解句子的内容之前就给出正确答案

8.4.1. 任何正确的回答都需要能够体现人类的思考

9. 对抗式攻击

9.1. 欺骗图像字幕生成系统

9.1.1. 研究人员展示了如何通过人类难以察觉的方式改变一张给定图像,来使得图像字幕生成系统输出一个包含其指定的一组词的错误字幕

9.2. 人们可以对任何相对较短的声音,如语音、音乐、随机噪声或其他声音,以某种人类无法感知的方式进行干扰,使得一个特定的DNN会将其转录为一段被精心设计的、与原声音完全不同的声音

9.3. 这种对抗式的改变不会影响这段文本对人类读者的意义,但会引发系统给出一个错误的答案

9.4. 向SQuAD的段落中添加某些简单的句子,即便是性能最好的系统也会输出错误的答案,从而导致系统整体性能的大幅下降

9.5. 所有这些欺骗DNN的方法都是由“白帽”从业者开发的,他们开发这种潜在的攻击方式,并将其发表到公开文献上,目的是让业界意识到这些漏洞,并推动业界研发相应的防御技术

9.6. “黑帽”攻击者是一批试图欺骗已部署的系统以达到其邪恶目的的黑客,他们不会公开他们的攻击手段,因此系统中可能会存在许多我们没有意识到的其他类型的漏洞

posted @ 2024-01-29 06:47  躺柒  阅读(42)  评论(0编辑  收藏  举报