淘优惠

淘优惠

人工智能简史阅读答案 人工智能简史新版下载

热门文章 0
尼克 人工智能简史,人工智能简介,人工智能简史作者刘韩,人工智能简史读书笔记2000字

网络查阅资料时候,看到的对人工智能发展简史,较为完整的讲述,故转载,仅供学习使用,原文链接:https://www.aminer.cn/ai-history。侵删。

人工智能到底是什么?通常来说,人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人智能的理论、方法、技术及应用系统的一门新技术科学。人工智能领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

但是事实上,给一门学科界定范围是很难的,尤其对于一门正在快速发展的学科更是难上加难。即使是数学这样成熟的学科,有时我们也很难梳理一个明确的边界。而像人工智能这样不断扩展边界的学科,更是很难做出一个相对准确的判断。对于人工智能的应用已经扩展到各个领域,机械、电子、经济甚至哲学,都有所设计。它的实用性极强,是一种极具代表性的多元跨专业学科。

基于AMiner科技情报引擎的梳理描绘,以河流图的形式展示了人工智能在60多年中的发展历史中取得的标志性成果。本文以该河流图为基础,系统的梳理了人工智能的发展过程及其标志性成果,希望能将这段60多年几经沉浮的历史,以一个更加清晰的面貌呈现出来。

人工智能的起源可以追溯到以及阿兰・图灵(Alan Turing)1936年发表的《论可计算数及其在判定问题中的应用》。后来随着克劳德・香农(Claude Shannon)在 1950 年提出计算机博弈。以及艾伦・麦席森・图灵(Alan Mathison Turing)在 1954 年提出“图灵测试”,让机器产生智能这一想法开始进入人们的视野。

1956年达特茅斯学院召开了一个研讨会,John McCarthy, Marvin Minsky, Nathaniel Rochester, 以及Claude Shannon等人正式提出“人工智能”这一概念。算法方面,1957年,Rosenblatt Frank提出感知机算法Perceptron,这不仅开启了机器学习的浪潮,也成为后来神经网络的基础(当然追溯的话,神经网络研究得追溯到1943年神经生理学家麦卡洛克(W. S. McCulloch)和皮茨(W. Pitts)的神经元模型)。

1.1 计算机象棋博弈(Programming a computer for playing chess)

克劳德・艾尔伍德・香农(Claude Elwood Shannon,1916年4月30日―2001年2月24日)是美国数学家、信息论的创始人。

香农是世界上首批提出“计算机能够和人类进行国际象棋对弈”的科学家之一。1950年,他为《科学美国人》撰写过一篇文章,阐述了“实现人机博弈的方法”;他设计的国际象棋程序,发表在同年《哲学杂志》上(计算机下棋程序 Programming a Computer for Playing Chess)。

香农把棋盘定义为二维数组,每个棋子都有一个对应的子程序计算棋子所有可能的走法,最后有个评估函数(evaluation function)。传统的棋局都把下棋过程分为三个阶段,开局、中局和残局,不同阶段需要不同的技术手段。而此论文也引用了冯・诺依曼的《博弈论》和维纳的《控制论》。

这篇论文开启了计算机下棋的理论研究,其主要思路在多年后的“深蓝”及AlphaGo中仍能看到。1956年,在洛斯阿拉莫斯的MANIAC计算机上,他又展示了国际象棋的下棋程序。

1.2 图灵测试(Turing Test)

艾伦・麦席森・图灵(英语:Alan Mathison Turing,1912年6月23日―1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

1954年,图灵测试(The Turing test)由图灵发明,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果机器让平均每个参与者做出超过30%的误判,那么这台机器就通过了测试,并被认为具有人类智能。图灵测试一词来源于计算机科学和密码学的先驱艾伦・麦席森・图灵写于1950年的一篇论文《计算机器与智能》,其中30%是图灵对2000年时的机器思考能力的一个预测,目前我们已远远落后于这个预测。

他实际提出了一种测试机器是不是具备人类智能的方法。即假设有一台电脑,其运算速度非常快、记忆容量和逻辑单元的数目也超过了人脑,而且还为这台电脑编写了许多智能化的程序,并提供了合适种类的大量数据,那么,是否就能说这台机器具有思维能力?

图灵肯定机器可以思维的,他还对智能问题从行为主义的角度给出了定义,由此提出一假想:即一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答,如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么,就可以认为这个计算机具有同人相当的智力,即这台计算机是能思维的。这就是著名的“图灵测试”(Turing Testing)。当时全世界只有几台电脑,其他几乎所有计算机根本无法通过这一测试。

要分辨一个想法是“自创”的思想还是精心设计的“模仿”是非常难的,任何自创思想的证据都可以被否决。图灵试图解决长久以来关于如何定义思考的哲学争论,他提出一个虽然主观但可操作的标准:如果一台电脑表现(act)、反应(react)和互相作用(interact)都和有意识的个体一样,那么它就应该被认为是有意识的。

为消除人类心中的偏见,图灵设计了一种“模仿游戏”即图灵测试:远处的人类测试者在一段规定的时间内,根据两个实体对他提出的各种问题的反应来判断是人类还是电脑。通过一系列这样的测试,从电脑被误判断为人的几率就可以测出电脑智能的成功程度。

图灵预言,在20世纪末,一定会有电脑通过“图灵测试”。2014年6月7日在英国皇家学会举行的“2014图灵测试”大会上,举办方英国雷丁大学发布新闻稿,宣称俄罗斯人弗拉基米尔・维西罗夫(Vladimir Veselov)创立的人工智能软件尤金・古斯特曼(Eugene Goostman)通过了图灵测试。虽然“尤金”软件还远不能“思考”,但也是人工智能乃至于计算机史上的一个标志性事件。

1.3达特茅斯学院人工智能夏季研讨会(Dartmouth Summer Research Conference on Artificial Intelligence)

1956年夏季,年轻的明斯基与数学家和计算机专家麦卡锡(John MeCarthy,1927―2011)等10人在达特茅斯学院(Dartmouth College办了一个长达2个月的人工智能夏季研讨会,认真热烈地讨论用机器模拟人类智能的问题。会上正式使用了人工智能(artificial intelligence,即 AI)这一术语。

这是人类历史上第一次人工智能研讨,标志着人工智能学科的诞生,具有十分重要的历史意义,为国际人工智能的发展做出重要的开创性贡献。会议持续了一个月,基本上以大范围的集思广益为主。这催生了后来人所共知的人工智能革命。1956年也因此成为了人工智能元年。会议的主要议题包括自动计算机、如何为计算机编程使其能够使用语言、神经网络、计算规模理论、自我改造、抽象、随机性与创造性等。

1.4感知机(Perceptrons) 1957年,弗兰克・罗森布拉特(Frank Rosenblatt)在一台IBM-704计算机上模拟实现了一种他发明的叫做“感知机”(Perceptron)的神经网络模型。罗森布拉特1962年出了本书:《神经动力学原理:感知机和大脑机制的理论》(Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms),基于MCP神经元提出了第一个感知器学习算法,同时它还提出了一个自学习算法,此算法可以通过对输入信号和输出信号的学习,自动获取到权重系数,通过输入信号与权重系数的乘积来判断神经元是否被激活(产生输出信号)。

感知机需要几个二进制输入, X1,X2,…Xn X1,X2,…Xn ,并产生一个二进制输出:

上图所示的 Perceptron Perceptron 有三个输入,但是实际的输入可能远多于三个或是少与三个。 Rosenblatt Rosenblatt 提出了一个简单的规则来计算输出,他首先引入了 weights weights(权重)概念, ω1,ω2,… ω1,ω2,…。以实数权重 ω ω表示输入到输出的重要性,神经元的输出 0 或 1 ,这取决于加权因子(即 weights weights)小于或大于某一阈值。就像权重,阈值为一个实数,是一个神经元的参数。

公式表示为:

这就是我们熟知的激活函数的最初形态, 0 0 状态代表抑制, 1 1 状态代表激活。这简单的数学公式帮助我们了解 perceptrons perceptrons 是如何工作的。姑且我们把它理解为: 它是一种通过权衡输入信息的重要性来决定你的输出。

到了 20 世纪 60 年代,人工智能出现了第一次高潮,发展出了符号逻辑,解决了若干通用问题,初步萌芽了自然语言处理和人机对话技术。其中的代表性事件是丹尼尔・博布罗(Daniel Bobrow)在1964年发表了Natural Language Input for a Computer Problem Solving System,以及约瑟夫・维森鲍姆(Joseph Weizenbaum)在1966年发表了ELIZA―A Computer Program for the Study of Natural Language Communication between Man and Machine。

早期的人工智能更多的侧重描述逻辑和通用问题求解上,到了60年代末,爱德华・费根鲍姆(Edward Feigenbaum)提出首个专家系统DENDRAL,并对知识库给出了初步的定义,这也孕育了后来的第二次人工智能浪潮。当然这个时期更重要的情况是大家对人工智能的热情逐渐褪去,人工智能的发展也进入了一轮跨度将近十年的“寒冬”。

2.1 模式识别 (Pattern Recognition)

1961年,Leonard Merrick Uhr 和 Charles M Vossler发表了题目为A Pattern Recognition Program That Generates, Evaluates and Adjusts its Own Operators 的模式识别论文,该文章描述了一种利用机器学习或自组织过程设计模式识别程序的尝试。程序启动时不仅不知道要输入的特定模式,而且没有任何处理输入的运算符。算符是由程序本身生成和提炼的,它是问题空间的函数,也是处理问题空间的成功和失败的函数。程序不仅学习有关不同模式的信息,而且至少在一定程度上,它还学习或构造适合于分析输入到它特定模式集的二级代码。这也是第一个机器学习程序。

2.2人机对话(Human computer coversation)

1966 年,麻省理工学院的计算机科学家Joseph Weizenbaum 在 ACM 上发表了题为《 ELIZA,一个研究人机自然语言交流的计算机程序》(ELIZA-a computer program for the study of natural language communication between man and machine)的文章。文章描述了这个叫作 ELIZA 的程序如何使人与计算机在一定程度上进行自然语言对话成为可能。Weizenbaum 开发了最早的聊天机器人 ELIZA,用于在临床治疗中模仿心理医生。

ELIZA 的实现技术是通过关键词匹配规则对输入进行分解,而后根据分解规则所对应的重组规则来生成回复。简而言之,就是将输入语句类型化,再翻译成合适的输出。虽然 ELIZA 很简单,但 Weizenbaum 本人对 ELIZA 的表现感到吃惊,随后撰写了《计算机的能力和人类的推理》(Computer Power and Human Reason)这本书,表达他对人工智能的特殊情感。ELIZA 如此出名,以至于 Siri 也说 ELIZA 是一位心理医生,是她的启蒙老师。

2.3专家系统DENTRAL(Expert Systems)

1968年,在美国国家航空航天局要求下,爱德华・费根鲍姆(Edward Feigenbaum)提出首个专家系统DENDRAL,并对知识库给出了初步的定义,这也孕育了后来的第二次人工智能浪潮。当然这个时期更重要的情况是大家对人工智能的热情逐渐褪去,人工智能的发展也进入了一轮跨度将近十年的“寒冬”。该系统具有非常丰富的化学知识,可根据质谱数据帮助化学家推断分子结构。这个系统的完成标志着专家系统的诞生。在此之后, 麻省理工学院开始研制MACSYMA系统,经过不断扩充, 它能求解600多种数学问题。

现在,专家系统(Expert System,简称ES)是人工智能(Artificial Intelligence,简称AI)的一个重要分支,同自然语言理解,机器人学并列为AI的三大研究方向。

20

中文多模态预训练模型 预应康预适应训练仪的种类

中文多模态预训练模型,多模态预训练模型,多模态自然语言处理,多模态预测

点击上方,选择星标,每天给你送干货!

作者: 林哲乐

方向: 知识图谱、问答

知乎专栏:?

https://zhuanlan.zhihu.com/p/151741265

CSDN博客:

https://blog.csdn.net/weixin_37995835/article/details/106994820

本文的主要目的是理清时间线,关注预训练的发展过程,进行模型间的联系和对比,具体原理和细节请参考原论文和代码,不再一一赘述。

『预训练模型的时间线』

  1. ELMO ?2018.03 ? ?华盛顿大学? ?

  2. GPT ? ? 2018.06 ? ?OpenAI

  3. BERT? ?2018.10 ? ?Google?

  4. XLNet? 2019.6 ? ?CMU+google

  5. ERNIE ? ?2019.4 ? ? 百度

  6. BERT-wwm ?2019.6? ?哈工大+讯飞

  7. RoBERTa ? 2019.7.26? ?Facebook? ?

  8. ERNIE2.0 ? ?2019.7.29 ? ? 百度? ? ? ?

  9. BERT-wwm-ext ?2019.7.30? ?哈工大 +讯飞?

  10. ALBERT? ?2019.10? ?Google? ?

(文末附相关论文及模型代码)

『预训练语言模型分类?』

  • 单向特征、自回归模型(单向模型):

    ELMO/ULMFiT/SiATL/GPT1.0/GPT2.0

  • 双向特征、自编码模型(BERT系列模型):

    BERT/ERNIE/SpanBERT/RoBERTa

  • 双向特征、自回归模型“

    XLNet

『各模型之间的联系?』

  • 传统word2vec无法解决一词多义,语义信息不够丰富,诞生了ELMO

  • ELMO以lstm堆积,串行且提取特征能力不够,诞生了GPT

  • GPT 虽然用transformer堆积,但是是单向的,诞生了BERT

  • BERT虽然双向,但是mask不适用于自编码模型,诞生了XLNET

  • BERT中mask代替单个字符而非实体或短语,没有考虑词法结构/语法结构,诞生了ERNIE

  • 为了mask掉中文的词而非字,让BERT更好的应用在中文任务,诞生了BERT-wwm

  • Bert训练用更多的数据、训练步数、更大的批次,mask机制变为动态的,诞生了RoBERTa

  • ERNIE的基础上,用大量数据和先验知识,进行多任务的持续学习,诞生了ERNIE2.0

  • BERT-wwm增加了训练数据集、训练步数,诞生了BERT-wwm-ext

  • BERT的其他改进模型基本考增加参数和训练数据,考虑轻量化之后,诞生了ALBERT

“Embedding from Language Models"

NAACL18 Best Paper?

  • 特点:传统的词向量(如word2vec)是静态的/上下文无关的,而ELMO解决了一词多义;ELMO采用双层双向LSTM

  • 缺点lstm是串行,训练时间长;相比于transformer,特征提取能力不够(ELMO采用向量拼接)

  • 使用分为两阶段:预训练+应用于下游任务,本质就是根据当前上下文对Word Embedding进行动态调整的过程:

  1. 1. 用语言模型进行预训练

    左边的前向双层LSTM是正方向编码器,顺序输入待预测单词w的上文;右边则是反方向编码器,逆序输入w的下文

  1. 训练好之后,输入一个新句子s,每个单词都得到三个Embedding:①单词的Word Embedding ? ②第一层关于单词位置的Embedding ? ②第二层带有语义信息的Embedding(上述的三个Embedding ? 、LSTM网络结果均为训练结果)

    2. 做下游任务时,从预训练网络中提取对应单词的网络各层的Word Embedding作为新特征补充到下游任务中。?如QA任务:输入Q/A句子,对三个Embedding分配权重,整合生成新的Embedding

“Generative Pre-Training”

  • 优点:Transformer捕捉更长范围的信息,优于RNN;并行,快速

  • 缺点:需要对输入数据的结构调整;单向

GPT模型图

  • 特点:

  1. 依然两段式:单向语言模型预训练(无监督)+fine tuning应用到下游任务(有监督)

  2. 自回归模型

  3. transformer的decoder里面有三个子模块,GPT只用了第一个和第三个子模块,如下图:

  • 与ELMO的不同

  1. GPT只用了transformer的decoder模块提取特征,而不是Bi-LSTM;堆叠12个

  2. 单向(根据上文预测单词,利用mask屏蔽下文)

? GPT中的mask如下图所示,mask之后要进行softmax:

mask操作

softmax操作

GPT依然分为两阶段

第一阶段(预训练):

GPT的训练过程

第二阶段(应用于下游任务):

向GPT的网络结构看齐,把任务的网络结构改造成和 GPT的网络结构是一样的。做法如下:

  1. 对于分类问题,不用怎么动,加上一个起始和终结符号即可;

  2. 对于句子关系判断问题,比如 Entailment,两个句子中间再加个分隔符即可;

  3. 对文本相似性判断问题,把两个句子顺序颠倒下做出两个输入即可,这是为了告诉模型句子顺序不重要;

  4. 对于多项选择问题,则多路输入,每一路把文章和答案选项拼接作为输入即可。从上图可看出,这种改造还是很方便的,不同任务只需要在输入部分施工即可。

效果:在 12 个任务里,9 个达到了最好的效果,有些任务性能提升非常明显。

ELMO、BERT、GPT-2模型大小对比图

? OpenAI在之后又提出了GPT-2模型,论文为《Language Models are Unsupervised Multitask Learners》,结构与GPT-1相似(依然采用transformer的encoder),但是采用多任务预训练+超大数据集+超大规模模型,所以有更好的性能表现,但是参数也增加了更多。

GPT的不同参数

如上图所示,第一组的规模和GPT一样,第二组和BERT一样,最后一个是GPT-2的参数量、层数和隐层大小。

由于单向地用上文预测下一个单词,GPT比BERT更适合做文本生成的任务。

“Bidirectional Encoder Representations from Transformers"

  • 与GPT的区别:

  1. 双向

  2. 用的是transformer的encoder(GPT用的是decoder,ELMO用的是Bi-LSTM)

  3. 多任务学习方式训练:预测目标词和预测下一句

  • 优点:效果好、普适性强、效果提升大

  • 缺点:硬件资源的消耗巨大、训练时间长;预训练用了[MASK]标志,影响微调时模型表现

  • 预训练分为以下三个步骤:

  1. Embedding

    三个Embedding 求和而得,分别是:

    a.Token Embeddings:词向量,首单词是[CLS]标志,可用于分类任务

    b.Segment Embeddings:用[SEP]标志将句子分为两段,因为预训练不光做LM还要做以两个句子为输入的分类任务

    c.Position Embeddings:和之前文章中的Transformer不同,不是三角函数而是学习出来的

  2. 预测目标词Masked LM

    随机挑选一个句子中15%的词,用上下文来预测。这15%中,80%用[mask]替换,10%随机取一个词替换,10%不变。用非监督学习的方法预测这些词。

  3. 预测下一句 Next Sentence Prediction

    选择句子对A+B,其中50%的B是A的下一句,50%为语料库中随机选取

  • BERT的微调(fine tuning)参考参数:

  1. Batch Size:16 or 32

  2. Learning Rate: 5e-5, 3e-5, 2e-5

  3. Epochs:2, 3, 4

  • BERT非常强大,在 11 项 NLP 任务中夺得 SOTA 结果,这11项任务可分为四大类:

  1. 句子对分类任务

  2. 单句子分类任务

  3. 问答任务

  4. 单句子标注任务

BERT中NLP四大下游任务微调

tips』:可以尝试用BERT框架去做以上四种任务的简单实验,便于掌握BERT结构

小总结』:

BERT、GPT、ELMo模型图

  • ELMO用Bi-LSTM,GPT用transformer的decoder,BERT用transformer的encoder

  • ELMO:双向,GPT,单向,BERT:双向

  • ELMO:解决一词多义,GPT,特征更丰富,BERT:双向/多任务训练/能捕捉更长距离的依赖

  • GPT:适合文本生成等任务(NLG任务),BERT:适合预测任务(NLU任务)

  • GPT-2,以及一些诸如 TransformerXL 和 XLNet 等后续出现的

    不用邀请码了! Poe 什么事都能为你解答的 AI 聊天机器人免费 App,OpenAI、Anthropic 技术都有

    没有邀请码,没有邀请码注册不了怎么办,能不能不填邀请码,跳过邀请码注册

    随着 ChatGPT 越来越火热,相信很多人都会想玩玩看,虽然有网页版,但操作上跟 App 比起来还是没那么顺手,而这篇要推荐的 Poe 免费 App 在国外非常有名,集结 OpenAI、Anthropic 技术的 AI 聊天机器人,过去需要邀请码才能加入,近日终于取消这机制了! 正式开放给所有人,下面就快速推荐给大家。

    目前 Poe 只有 iOS 版,Android 版预计再过不久也会推出。

    https://apps.apple.com/tw/app/poe-fast-helpful-ai-chat/id1640745955

    打开 Poe 后,会要求验证手机号码,这步骤一定要做,就算是点下方 Use email 也一样,验证完 Email 还是会要求输入手机号码验证,因此建议直接用手机验证。 或其他国家的号码都可以(需要输入简讯验证码):

    接着就能开始使用,预设会是 Sage 聊天机器人,由 OpenAI 技术提供,不过我第一次询问「规划五天的东京旅行行程」,也确实回答这问题,但语言是英文:

    因此我改加中文和繁体中文就没问题了,不过目前中文回复看起来偶尔会碰到回答不完全的情况,无论简体、繁体都是,都没有第五天的信息:

    英文就没问题,有可能是因为我问的当下太多人使用,延迟才导致没有输入完整:

    回答完之后,下方还会提供你可能会想继续问的选项:

    点击就会自动输入询问,但同样有回答不完全的情形,有碰到的人可以询问多次一点。 另外中文回答部分有时候会发生繁体、简体混合的状况:

    点击左上角可以切换其他 AI 聊天机器人,Sage 与 Dragonfly 是由 OpenAI 技术提供,Claude 则是 Anthropic 技术,同一个问题询问不同机器人,很可能会获得不一样的答案:

    Claude 就比较稳定,除了我问中文,回答也是中文外,所有内容也都是繁体字。 一样后面会有其他你可能会想继续问的问题选项:

    See what other people share 可以浏览其他人问的内容,大多都还是英文为主。 至于 Android 版什么时候会推出,目前还不知道。

    Poe 现在还是完全免费使用,未来会不会加入内购机制,这就不清楚了,有兴趣的人建议趁现在多玩玩。

    另外就跟网页版一样,这些 AI 机器人还是有一些限制在,像是 Sage 和 Claude 只能抓取 2021 年之前的资料,2021 年以后事件都不知道,Dragonfly 可能会拒绝回答一些问题。