人工智能导论 课件 第1-3章 绪论- 搜索方法_第1页
人工智能导论 课件 第1-3章 绪论- 搜索方法_第2页
人工智能导论 课件 第1-3章 绪论- 搜索方法_第3页
人工智能导论 课件 第1-3章 绪论- 搜索方法_第4页
人工智能导论 课件 第1-3章 绪论- 搜索方法_第5页
已阅读5页,还剩269页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论问题:虽然大语言模型可以根据我的提问进行回答,被认为是人工智能,那么空调也能根据室内温度进行自动调控温度,不也是人工智能吗?人工智能是不是一定会按照人类思考的方式来进行思考?人工智能虽然听起来很前沿,但是你知道这个概念有多大岁数了呢?人工智能究竟有哪些技术?1.1.人工智能的概念ArtificialIntelligence1.1.1.智能狭义的智能可以理解为人类所具有的智能,是指具备学习、理解、推理、适应和解决问题等认知能力的能力,它涉及对信息的处理、对环境的适应和对目标的实现从表现来看,智能往往体现在人类的认知能力上,包括知识的获取和应用、推理和解决问题、学习和记忆、语言和沟通、创造力和创新等广义的智能是包括人类在内的很多系统通过获取和加工信息而获得的一种能力,据此可以实现从简单到复杂的演化智能不仅体现在从环境中接受感知,而且还要表现为执行行动并适应环境冰箱是不是人工智能?现阶段人工智能研究应用所处的位置如何看待智能中的感性成分?人类智能并非始终理性人工智能的理性目标也具有有限性在理性智能所不能到达的区域,感性成分发挥不可替代的作用感性本身往往并不具有理性推导和规则计算的特点,感性更多要结合文化、情感等更多的成分智能是否意味着有意识?1.1.2.人工智能从定义来看,1956年计算机科学家约翰·麦卡锡首次提出了“人工智能”的概念当时主要是指在处理任务时具有人类智力特点的机器,它们具有组织和理解语言、识别物体和声音、学习和解决问题等能力约翰·麦卡锡被尊称为“人工智能之父”在1956年达特茅斯会议上提出了“人工智能”这个概念著名人工智能编程语言LISP的发明人在人工智能领域的贡献而在1971年获得图灵奖名称具有多种指代性表示一门学科知识,即制造智能机器的科学与工程,今天的人工智能学科主要是计算机科学的一个分支表示一种技术,即实现人工智能的相关技术、算法和方法等表示一种智能体,即一个可以观察周遭环境并作出行动以达致目标的系统,是可以模仿人类思维相关认知功能的机器或计算机简单理解由人类创造的类人智能关键特点人工,即强调该方法或系统是由人类设计、为人类所创造智能,即模拟、实现和超越人类智能的水平准确定义在理论层面,研究开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统在应用层面,关注如何让计算机去完成以往需要人的智力才能胜任的工作硅基芯片人工智能的研究离不开计算载体,现阶段主要的方式依然采取依赖于硅基芯片的计算方式生物芯片在一块玻璃片、硅片、尼龙膜等材料上放上生物样品,通过生物芯片上布列的一个个生物探针分子实现数据的存储、计算和采集,并由计算机给出分析数据结果人工智能未必意味着该技术一定要和人类一样来进行思考汽车的行驶原理和效果已远远脱离了传统动物奔跑等的基本移动模式对比人类智能与人工智能——产生起源人类智能是一种生物进化的产物,基于大脑神经元之间的复杂连接和交互人工智能它依赖计算机程序、算法和大量数据来模拟智能行为对比人类智能与人工智能——工作方式人类智能依托于人类的大脑,其具有大约1000亿个神经元人工智能的结构和功能则是通过计算机硬件和软件来实现硬件以二进制数据的方式编码存储在硬盘或硅基芯片上软件通过诸如神经网络技术来模拟人类大脑神经元的连接方式对比人类智能与人工智能——外在表现人类智能具有更强的适应性和创造性,并能产生新的想法和解决方法,还具有情感、道德和伦理等方面的智能表现现阶段的人工智能则更多的表现出一种在特定任务上具有类人智能的能力,如语音识别、图像识别、自然语言处理等,缺乏一般性和灵活性对比人类智能与人工智能——效果与效率目前人工智能的技术应用在某些特定领域,如棋艺、图像识别、多语言翻译等,确实已经超越了人类智能水平现阶段的人工智能还不能达到可以完全取代人类智能的水平从效率来看,人类大脑在能量消耗方面更为高效对比人类智能与人工智能——自我意识人类具有自我意识和自我认知的能力,可以意识到自己的存在和感受,理解自己的行为和思维过程,并对自己的行为和思维进行反思和调整现阶段人工智能还无法像人类一样具有意识和自我认知的能力如何测度人工智能?——图灵测试1950年图灵提出了基于“模仿游戏”的图灵测试(Turing

Test)方法只要用于测试的机器表现出与人类相同的思维和行动效果,人们无法区分这些是人类所为还是机器所为,那么就可以据此断定机器具有智能通过图灵测试,就能够区分机器思考能力是否与人类相同在测试中,由测试者写下自己的问题,随后将问题以纯文本的形式(如计算机屏幕和键盘)发送给另一个房间中的一个人与一台机器。测试者根据他们的回答来判断哪一个是真人,哪一个是机器。所有参与测试的人或机器都会被分开通常测试时长通常为5分钟,如果机器能回答由人类测试者提出的一系列问题,且其超过30%的回答让测试者误认为是人类所答,则机器通过测试完全图灵测试需要与真实世界中存在的对象和人进行交互具身图灵测试强调机器系统与世界环境的具身交互研究测试内容具体包括控制身体和操纵物体与世界互动、应对未知情况的行为灵活性、具有经济可行的能源效率等具身图灵测试如果机器的行为与活着的同类无法区分,则通过测试比如人工海狸在大坝建设中的物种特异性行为测试1.1.3人工智能主要技术理论方法基于规则学习的方法(结构)问题求解的搜索方法基于知识的推理和规划方法(即逻辑和知识表示)知识和推理中的不确定性(即概率推理、概率编程和多智能体决策)基于机器学习的方法(功能)概率方法深度学习强化学习应用领域自然语言处理计算机视觉机器人相关哲学、伦理、安全和管理等社会科学问题结合基础设施和行业应用1.2人工智能的发展1.2.1基本情况人工智能第一次出现在人类语言中可以追溯到1889年肌肉机器机器智能大脑智能智能机器肉体智能(EmbodiedIntelligence)无肉体智能​(DisembodiedIntelligence)二十世纪五十年代才开始得到广泛的关注达特茅斯研讨会的申请书会议原址:达特茅斯楼会议内容会议主题认为理论上人类学习的每个方面或智能的任何特征都可以被精确的描述提出了七个拟攻克的领域,即自动(可编程)计算机、编程语言、神经网络、计算复杂性、自我学习和提高(机器学习)、抽象、随机性和创造性预言与人类具有同等智能水平的机器将在不超过一代人的时间中出现确定了人工智能这门学科和人工智能概念早期所提出的人工智能实现方法多以规则和推理等类人的思维方式来构建,由于缺乏对求解问题复杂性的深刻认识,这些方法通常也只适合处理具有特定规模的任务,这些方法无一例外都在二十世纪七十年代遇到了严重的发展阻力直至二十世纪九十年代以后,随着机器学习方法的广泛应用,尤其是2010年以后大数据的产生,以大数据驱动的机器学习方法开始在人工智能研究和应用领域发挥出越来越明显的作用和价值NP完全性NP完全性(NP-Completeness)描述了问题的固有复杂度比如一座山峰可能没有明确的路线,或者路线可能非常复杂和难以找到,需要在各种可能的路线中尝试,甚至可能需要尝试所有的路线,才能确定哪一条可以通往山顶(非确定时间内可解),即使找到正确的路线,也可能需要花费巨大的时间和努力才能到达山顶(计算复杂度很高)NP完全性并不意味着一个问题无法解决,而是指目前还没有找到一种高效的解决方法1.2.2发展三阶段第一代人工智能——规则学习方式第二代人工智能——传统机器学习方式第三代人工智能——神经网络学习方式第一代人工智能——规则学习方式符合直觉的人工智能实现方式通过认知建模方法实现类人思考只要有足够精确的心智理论,就有可能把这个理论表达为计算机程序,进而实现人工智能早期的尝试亚里士多德提出的三段论就是一种法则化的思维方法十九世纪形成逻辑学,通过建立精确符号系统来描述世间万物及之间的关系,并提供了推导和演算的严密规则十四世纪的拉蒙·鲁尔设计了一种推理系统GreatArt,它是一个可以旋转成不同排列组合的纸盘机械系统十七世纪《利维坦》认为心脏就是发条,神经就是游丝,关节就是齿轮,而推理就是一种数值计算相关逻辑学研究也构成了人工智能研究领域的逻辑主义近代的尝试1955年,艾伦·纽厄尔等人开发了“逻辑理论家”程序能够证明《数学原理》中前52个定理中的38个赫伯特·盖伦特设计的几何定理证明程序能够证明许多数学专业学生都认为较难的定理利用LISP语言编写的MYCIN系统可以诊断血液感染,大约有450条规则,尽管如此,开处方的正确率达到了69%,其表现已经优于一些初级医生,虽然低于80%这个专业从事细菌感染的医师正确率例子——质谱仪信息推断分子结构如果M是整个分子的质量,且在x1和x2处有两个峰,并且(a)x1+x2=M+28(b)x1−28是一个高峰(c)x2−28是一个高峰(d)x1和x2中至少有一处是高峰则该分子含有酮基取得的成果——搜索式推理为了实现一个目标,可以一步步地前进,就像在迷宫中寻找出路。如果遇到死胡同则进行回溯,并继续寻找新的出路但是这种迷宫存在的线路总数会随着迷宫的规模变大而产生指数爆炸般的增长,因此也可以使用一些启发式算法去除一些不必要的寻找以提高性能STRIPS由斯坦福大学于1970年开发名称是斯坦福研究所问题解决者(StanfordResearchProblemSolver)的首字母缩写定义了目标导向型行动计划(GOAP),可以让AI自己去找到解决问题的方法STRIPS四个主要成分Agent代理:主体,AI就是控制Agent来执行各种行为Action:动作,比如拿东西、丢东西、吃饭、伐木等,每个动作需要有执行的先决条件、执行后的效果和执行需要的代价如吃饭行为执行的先决条件是饿了和有食物,执行后的效果是解决饥饿IGoap:提供给Agent目标和反馈是否成功失败等Planer:决策出最优的路线供Agent使用,从目标开始往前查找Action,如果Action的效果能够完成至少一个目标,则保存Action的效果,然后将Action的前置条件写入到目标,继续往前查找取得的成果——自然语言处理采取规范化的表达方式来进行类似于计算机编程语言采取诸如语义网络、明确人类语言语法规则等方法来构建自然语言处理应用系统二十世纪六十年代世界上第一个聊天机器人Eliza主要问题——数理逻辑具有局限性虽然机械设备能够模拟数学推理过程,但是并非所有的数学推理都可以形式化1931年,哥德尔的不完全性定理证明存在着演绎的限制,即使在一些强形式化理论中,也必然存在一些没有证明的真实陈述没有一个数理逻辑体系能够证明自身的一致性,因此数学公理的真理性必须在这些体系之外得到证明主要问题——世界认知逻辑具有不确定性规则学习方法还需要假定关于世界的认知逻辑具有确定性,而实际上这很难实现对于政治、经济等复杂事件,却始终无法存在一种唯一并且普适的规则,甚至哪种规则更为合理都会存在争议主要问题——计算能力有限很多人工智能应用非常重要的常识与推理都需要大量对世界的认识信息和计算能力,而这样一个巨大的知识数据库当时无法实现二十世纪七十年代,人们发现当时的人工智能技术只能解决它们尝试解决的问题中最为简单的一部分应用实践也证明,哪怕一个仅容纳一个普通人所有常识的知识数据库也无法制造出来人工智能发展遭受比较大的挫折莫拉维克悖论(Moravec'sParadox)要实现人类高阶智慧能力只需要非常少的计算能力,但是要想实现一些诸如无意识技能和简单的直觉行为却需要极大的运算能力现实的选择依据一组从专门知识中推演出的逻辑规则并在某一特定领域回答或解决问题的专家系统一度取得了不错的效果苹果公司在2011年开发的Siri语音助手就需要人工干预来扩展其知识库和功能积木世界(BlocksWorld)MITAILab(麻省理工人工智能实验室)在二十世纪六十年代研发的一个视觉处理项目,通过将真实世界进行视觉简化,将所有物体的形状都分解为由若干类似于积木的矩形单元来组成对于诸如“找到一个大的黄色积木并将其放在红色积木上面”这样简单的动作要求,却需要大量复杂的规则才能描述清楚也正是该项目使得人们最终意识到单纯依靠规则学习方法来实现对复杂现实世界的推理学习并不可行第二代人工智能——传统机器学习方式强调借助大量数据样本,让程序自己学习并获得智能思维能力这种学习过程与包括概率论在内的数学紧密相关数学方法与人工智能的关系算法(Algorithm)”这个词语最早就来自于九世纪的数学家穆罕默德·本·穆萨·阿尔·花剌子模(MuhammadibnMusaal-Khwarizmi)概率数学方法提供了一种有效的解决方案,允许在掌握不确定信息情况下进行严格的推理,甚至可以构建全面的理性思维模型基于概率论的贝叶斯法则已称为现代人工智能方法的基础算法概率怎么用在人工智能技术上?woshizhonggguoren我是中国人(0.0001)

仁(0.0000001)

……(0.000000001)更多数学方法决策论结合了概率论和效用理论,为在不确定性下做出个体决策提供了计算方法每个主体都无须关注其他独立主体的行为,但是每一个主体行为都可以给其他参与者效用带来积极或者消极的作用博弈论强调理性智能体的个体理性会产生集体非理性,个体有时采用随机策略反而最优运筹学主要关注当行为的收益不是立即产生而是在几个连续的行为后产生时,此时应该如何做出理性决策特点使得人工智能可以与其他学科展开更高层次的合作使得相关研究结果更易于评估和证明主要问题受限于有限的计算能力和训练数据资源,当时的大部分机器学习方法都建立在小型规模数据的训练基础之上往往只能局限于与那些被处理数据接近的应用领域,缺乏对大规模数据应用场景的普适性和高效计算能力有效性与可解释性在二十世纪八十年代使用隐马尔可夫模型进行语音识别取得了非常不错的效果,但是这肯定不是人类使用和理解语言的方式机器学习三种主要方法无监督学习监督学习强化学习无监督学习直接原始数据中进行学习典型方法就是聚类给定一组水果,通过将每个水果颜色、味道、形状等特征使用一个向量来表示,再根据这些特征向量之间的相似度进行聚类监督学习从已经带有标注信息的数据中进行学习,因此方法可以学习到数据特征与这些已标注信息之间的对应关系比如分类给定一组动物,标注好每种动物所属的类别(如鱼、狗、鸟等)通过学习,机器找到图片特征与已知类别的关系具体学习过程绝非人类的语义理解过程强化学习通过智能体的设计来自主探索环境状态,采取行为作用于环境并从环境中获得回报,据此不断调整智能体的执行逻辑和优化执行效果强调学习是一个动态过程,没有明确的学习目标,对结果也没有精确的衡量标准强化学习在棋类游戏中的成功应用在1956年,亚瑟·萨缪尔就使用了该方法研究西洋跳棋对弈程序,特点在于可以自我学习,甚至比其创造者玩得更好2017年10月,DeepMind推出了基于强化学习技术的AlphaGoZero程序,它能够在无师自通的情况下实现自我博弈,最终以100:0的成绩战胜了前任AlphaGo第三代人工智能——神经网络学习方式从二十世纪八十年代神经网络方法再次得到关注开始发展至今到二十一世纪后,以大数据驱动的深度学习方法最终产生了人工智能研究的突破性发展神经网络利用类似于人类大脑神经元的计算模式来构建人工智能早在1943年,神经学家麦卡洛克等首次提出神经元性质的数学表达形式,以试图了解大脑计算的运行方式后期产生的神经科学也主要针对大脑等神经系统进行研究超级计算机个人计算机人类大脑计算单元106GPU+CPU1015个晶体管8个CPU内核1010个晶体管1011个神经元存储单元1016字节(10PB)RAM1017字节(100PB)磁盘1010字节(10GB)RAM1012字节(1TB)磁盘1011个神经元1014个突触周期时间10-9秒10-9秒10-3秒运算/秒1018101010172019年典型计算机配置和人类大脑性能对比大脑的神经网络结构大脑中不同神经元之间通过轴突相互连接信号就通过复杂的电化学反应从一个神经元通过轴突传递到其他神经元通过这些信号,大脑可以实现短期的活动控制,也可以通过改变神经元的连通性实现长期记忆效应神经网络方法人工模拟大脑神经元计算的方法通过人工神经元和彼此之间的连接设计来实现数值计算学者证明任何可计算的函数可以通过一些神经元互相连接的网络来计算所有的逻辑运算(AND、OR、NOT等)也都可以通过网络结构来实现适当定义的网络还可以进行自我学习通过修改神经元之间连接强度来表达规则更新较早的形式感知器只有一个输入层、一个神经元和一个输出美国军方利用感知器技术完成了对坦克图片的识别复杂神经网络BP神经网络玻尔兹曼机误差反向传播深度神经网络(深度学习)大数据支撑2011年IBM的Watson系统在《危险边缘》战胜人类冠军小样本学习也称为低样本学习强调从有限数量的数据集进行快速训练的能力,从而实现时间成本和计算成本更小的学习能力人类的学习行为更类似于小样本学习相关研究尚未取得突破性的进展深度学习方法一种神经网络方法,即深度神经网络具有多层处理单元的深层神经网络方法深度学习与传统机器学习的区别深度学习的发展2006年深度学习的基本理论框架得到验证2010年在语音识别和自然语言处理等领域取得突破2012年ImageNet图像分类竞赛中获得冠军识别率超过第二名10个百分点深度学习的数据要求在20世纪八九十年代,典型的人工智能程序神经元个数一般只有几十个,相应的模型参数也就几百个诸如GPT4这样的现代大模型,都是以万亿为模型参数单位互联网产生的大数据提供了相当规模的数据资源,根据IDC的预测,2024年全球数据量有160ZB,而到2028年会增加到310ZB深度学习的算力要求从提高时钟频率开始演变为增加计算核数,有益于并行计算,可以加速与大脑并行特性类似的深度学习计算过程CPU(中央处理器)、GPU(图形处理器)、TPU(张量处理器)、WSE(晶圆级引擎)、ASIC(专用集成电路)、FPGA(现场可编程门阵列)等计算芯片也提供了强大的算力支持芯片制程从28nm到14nm,再到7nm,再到5nm乃至更小2012年英伟达推出了CUDA编程模型2014年需要一天时间的机器学习训练在2018年只需两分钟即可完成人工智能、机器学习和深度学习的关系深度学习的局限性传统机器学习发展历史久,很多算法相当成熟对计算条件要求不高,完全适用于很多应用场合支持向量机决策树随机森林深度学习的局限性所需的训练成本、调参复杂度等问题仍然存在目前深度学习属于人工智能主流方法不论在计算效果还是计算性能方面,都取得了非常惊人的发展最先进的深度学习方法已经能够达到甚至超过人类平均水平强化学习也是现代人工智能重要方法1.3人工智能应用领域自然语言处理计算机视觉机器人1.3.1自然语言处理让计算机能够阅读、理解和提取包括各种人类语言在内的自然语言文本或语音,实现人与计算机之间更为自然的交流效果让人去适应计算机计算机编程语言让计算机去适应人自然语言处理涉及的技术文本分析文本挖掘语义分析语音识别人机问答......人类语言的复杂性人类语言数量多,约六千种,各种语言的语法规则也大相径庭德语可以不使用空格来连接多个词语法语动词变位会受到语式、时态和人称不同而产生超过二十多种的变化阿拉伯文字从右向左阅读,但是遇到阿拉伯数字时还需从左向右进行人类语言中存在语义模糊现象Timeflieslikeanarrow,fruitflieslikeabanana我知道你不知道我知道你不知道我知道你不知道上下文(Context)当前语句所处的语言环境准确的语义理解需要对其上下文进行全面的分析例子:小明帮助了小亮,因此我表扬了他第二句话中的“他”应该指“小明”规则方法的失败1954年美国乔治敦大学和IBM公司合作实现将超过60句的俄语自动翻译成英语,该系统仅包含6个语法规则和250个词随着词语数量的增加,这些方法很快就产生了规则数量爆炸性增长的问题,因此无一例外都宣告失败深度学习方法的胜利使用深度学习方法的人工智能技术实现了类似于人类自然对话的人机交互效果比如ChatGPT等大语言模型完全可以胜任一些常见的客服对话仍然存在的问题任何系统都不可能无限并且始终及时地获取人类语言新词数据并进行统计学习由于大模型的训练数据通常只包含文本和对应的标签,而不包含显式的知识或逻辑规则,因此它们可能难以进行复杂的知识推理和逻辑推理人类语言中存在的某些复杂语言现象,如隐喻、双关语、诗歌等,模型可能难以准确理解和生成在情感分析方面,如何深入理解文本中的情感细微差别和生成具有特定情感的文本方面,仍然还有距离主要应用机器翻译情感分析问答系统文本摘要命名实体识别语音识别这种自动翻译的错误是如何产生的?很多机器翻译系统将这句英文翻译到俄语好后再翻译回英语时,却变成Thespiritiswillingbutthefleshisweak意思是指“心有余而力不足”TheVoltkaisstrongbutthemeatisrotten意思是指“伏特加酒很浓但肉却腐烂了”1.3.2.计算机视觉研究如何通过计算机及相关设备来模拟生物视觉功能视觉很重要人类的眼睛获取了约占70%的外界输入信息大脑中20%-30%的皮层区域用于处理视觉信息常见的计算机视觉功能分类功能含义举例分割在图像视频中分离出各类特定物体并描述相关特征自动驾驶中分离道路交通特征分类根据定义的类别用于确定图像视频中内容并进行分类是猫还是狗?检测检测目标物是否存在以及空间位置等,通常会在相关区域周围设置矩形边界框包围住目标对象物体跟踪(车辆轨迹)、光学字符识别(车牌识别)AlphaGo是否是计算机视觉?并非所有处理原始对象为图像的研究技术都是计算机视觉该技术的输入只是棋子的位置信息,甚至在对弈期间也是人类扮演了AlphaGo棋手来进行真实的对弈如果AlphaGo可以直接完成和人类选手的真实对弈,直接看棋局,那样的技术可以认为具有了计算机视觉处理能力存在的困难数据存在着较大噪声、模糊损坏、遮挡等问题视角和尺度变化也会导致物体在图像中的形态和大小发生变化。图像和视频的数据量非常庞大,实时响应和处理难度大也要结合上下文才能准确理解其含义在商场中的模糊人影可能为顾客在原始森林中则更可能是动物的身影如何识别出瞳孔和周围的纹理?图像特征的抽象能力——都是河马?主要应用自动驾驶工业制造医疗诊断安防监控游戏和娱乐1.3.3机器人能够半自主或全自主工作的智能机器,可以通过编程和自动控制来执行各项任务等功能更为综合性的技术领域机械手和步行机构机器视觉触觉听觉机器人语言和智能控制软件不同系统之间交互和组合控制机器人发展与劳动解放有着密切的渊源Robot最早出现在1920年的捷克剧作家卡雷尔·恰佩克(KarelČapek)的科幻剧《罗西姆的万能机器人》中,意思是“强制劳动者”1954年,由美国发明家乔治·德沃尔(GeorgeDevol)设计的第一台机器人也是一个可编程机械臂,被称为“遥控操作器”,他们都与生产劳动紧密相关发展特点未必有人形的外观现阶段机器人相关技术和应用发展仍然处于发展早期目前主要机器人应用集中于农业工业等生产制造领域与我们生活紧密相关的领域,机器人的身影还不多见生成式人工智能可以让机器人和人类交流更为方便人形机器人机器人会不会让更多的人失业?有人担心智能机器人的出现会导致更多的人失业也有人认为最终人类工作还是能发生转移,更多的人开始从事更有创造性和价值的工作主要应用——生物机器人(Plasmobot)利用单细胞打造而成,能够完成普通仿真机器人所不能完成的任务,生物机器人被设计成通过光和电磁刺激来激发化学反应,其最终目标是使其具备组装微机器组件的能力2020年就有学者从非洲爪蛙胚胎中提取出的干细胞,制造了首批名为Xenobots的“活体机器人”,可用于带走海洋中的微塑料或攻击癌细胞2023年研发的“微型人体细胞机器人”则由人体细胞构成,直径约在30到500微米,未来能够帮助治愈人体受损的组织利用人工智能方法自动设计候选生命主要应用——人型机器人(HumanoidRobot)模仿人类外观和行为的机器人2001年美国麻省理工学院研发了号称世界上第一个有类似人类感情的机器人“Nexi”2013年由美国波士顿动力公司开发的Atlas双足人形机器人第2章数据与算法算法+数据结构=程序问题:什么是数据?数据就是整数吗?

大数据的特点是什么?为什么叫大数据?

数据的价值究竟在什么地方?以前也有很多数据,为什么不谈大数据?程序是什么?人工智能是程序吗?计算思维对于指导我们的学习和工作有什么重要的作用?2.1数据与数据素养2.1.1基本概念数据信息、知识和智慧大数据(1)数据狭义来看,整数、浮点数、文本等都是数据广义来看,数据是指事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材以具有一定含义的、可识别的、抽象的符号来表示1,2,3...汽车,Cat...数据依赖于存储介质有哪些存储介质?二进制存储主要原因在于这些计算机存储设备上的存储单元通常有两种不同类型的存储状态,而二进制则只使用0和1表示各种数值磁盘表面覆盖一层磁性材料方向可以是“向下”或“向上”,利用这两个方向在逻辑上可以表示0和1光盘表面被激光烧刻成一系列等距的微小凹坑和未被烧刻而呈现原先的平坦轨道状态分别表示0和1闪存闪存中每个存储单元累积了一定的电荷时表示为1,反之则表示为0数据的划分数据取值的存储计算类型整型、浮点型、布尔型和字符型数据取值的特点连续型数据和离散型数据是否具有和考虑次序定序数据和不定序数据数据之间间隔的计量单位分为定距数据和不定距数据整型正整数、零、负整数的集合不仅计算相对简单,而且也适合计算机处理可以通过转换为整数以方便和加快计算速度浮点型也称为小数在实际计算中,浮点类型往往不可避免的存在着精度丢失可能性

布尔型真假逻辑型取值分别为“真(True)”和“假”(False)乔治·布尔字符型也称为文本类型通常可以表示诸如中文、英文等常见自然语言内容01和1一样吗?字符型的表示真实存储的字符型数值只是每个字符对应的整数编码比如“OK”,存储到计算机存储设备上可能是这样一个二进制序列“0100111101001011”常见的字母编码方案有ASCII、UTF-8等,其中后者还支持汉字字符的表达计算机对字符的读取按照整数来读取,就直接读取对应的整数按照字符串来读取,就进一步转换数据的划分数据取值的存储计算类型整型、浮点型、布尔型和字符型数据取值的特点连续型数据和离散型数据是否具有和考虑次序定序数据和不定序数据数据之间间隔的计量单位分为定距数据和不定距数据连续型数据数据取值可以在一个区间内取任何值也称为区间数据、浮点型数据等整数就是一种离散型数据,也被称为计数型数据离散型数据分类型数据只能从特定的数值集合中来取每个数值通常代表一个类别也被称为枚举数据、列举数据、因子数据、标称数据、多分支数据等二元数据数据数值只能从两个数值中任取其一也被称为二分数据、逻辑型数据、指示器数据、布尔型数据等离散型即使采用数值来表达,不同的数值并不能体现一种大小的差异,而只能体现类别彼此的不同数据的划分数据取值的存储计算类型整型、浮点型、布尔型和字符型数据取值的特点连续型数据和离散型数据是否具有和考虑次序定序数据和不定序数据数据之间间隔的计量单位分为定距数据和不定距数据定序数据通常用于分类中位数、四分位数、等级相关系数不定序数据主要应用于集合等数值计算只强调数值元素本身,彼此之间的位序没有意义数据的划分数据取值的存储计算类型整型、浮点型、布尔型和字符型数据取值的特点连续型数据和离散型数据是否具有和考虑次序定序数据和不定序数据数据之间间隔的计量单位分为定距数据和不定距数据定距数据不仅能体现定序数据的特点,而且还能准确计算不同数据之间的差距比如学生的分数都按照1分为单位划分为101个等级(0分到100分)不定距数据数据间隔并不一致比如将小于60分记为不及格、60分以上记为及格数据的功能特点数据类型所有的数据都要有一个数据类型需要转换为一致的类型才能计算数据运算不同类型的数据运算方法并不完全一致甚至需要专门进行定义整数的运算加减乘除等算术运算二进制也遵守不同的进制十进制十六进制889910A11B12C13D14E15F16101711十进制二进制0011210311410051016110711181000这些数值等于几?十六进制FFA1二进制1111000布尔型数据的逻辑运算“并且(AND)”、“或者(OR)”和“非(NOT)”等这个判断结果是真是假?

1大于0并且1大于2字符型数据的运算人为的设计计算意义两个字符串相加表示连接两个字符串形成一个新的字符串字符串和一个整数相乘表示将这个字符串重复整数指定的次数拼接成新的字符串(2)信息、知识和智慧信息人类社会传播的一切内容,通过获得、识别各种信息来区别不同事物,得以认识和改造世界信息是位于数据概念之上的概念更多体现功效性

知识人类对物质世界以及精神世界探索的结果总和知识的获得往往需要从信息中进行提取、发现和总结知识也具有影响行动的特点知识往往还体现出较高的文化结合、验证正确等特点DIKW层次结构模型DIKW层次结构模型的扩展DIKIWDIKUW...情报特殊的信息通常面向安全和竞争领域强调信息的对抗性、竞争性、及时性和对决策工作的支持能力常见基本概念及其关系如何理解它们之间的关系?信息化数据化数字化数智(3)大数据一种数据的特殊形态数据量非常庞大的数据人们无法利用主流信息技术在合理时间内

实现有效的处理、分析和应用“5V”特点Volume(大量)Velocity(高速)Variety(多样)Value(低价值密度)Veracity(真实性)思考:如何知道目前全球数据的总量?全球每天产生的数据量已经达到2.5个亿TB全球数据量约为几百ZB数据量的表达表达信息系统中数据量的最小基本单位是位(bit)除了1字节是由8位组成外,其他的单位都是按照进率1024(2的十次方)来计算1KB=1024字节1MB=1024KB大数据的出现数据库管理系统(OLTP)数据仓库(OLAP)互联网半结构化数据和非结构化数据XML、NoSQL大数据特点维克托·迈尔·舍恩伯格在《大数据时代:生活、工作与思维的大变革》中将大数据特点归结为三点这些大数据处理特性对传统信息分析方法提出了新的要求更关注相关性而不是因果性更关注数据的纷繁复杂,而不是数据的精准全部数据,而不是抽样数据关注相关性而不是因果性包括机器学习在内的很多计算机方法都缺乏有效的可解释性如果利用好相关性,也足以满足各类常见大数据分析任务的要求因果性和相关性吸烟人群肺癌比例较高这说明两者存在相关性是否就能认为存在因果性?假如有这样一种基因,它同时导致两件事情,一是使人喜欢吸烟,二是使这个人更容易得肺癌。这种假设能解释上述统计结果,而在这种假设中,这个基因和肺癌就是因果关系,而吸烟和肺癌则仅仅是相关关系相关性分析的意义美国芝加哥大学的信息科学荣誉教授Swanson在二十世纪八十年代进行过一项利用医学文献进行医学知识发现的有效方法在这个假说提出大约两年后,临床实验证实Swanson用他的方法提出了周期性偏头痛与镁缺乏之间的联系,后来这种关系也被临床证实大数据方法更关注数据的纷繁复杂而不是数据的精准通过损失一定的准确性来换取整体结果的及时性,效率优先并且大概率保证完成目标思考:为什么推荐系统推荐的商品好像我并不喜欢?大数据方法更关于全部数据而不是抽样数据传统数据分析方法采用抽样数据来估算整体情况大数据方法则强调对全体数据的利用现代人工智能就是建立在大数据基础之上数据密集型科学范式并非意味着大数据万能大数据处理需要独特的方法设计必须要研究新的方法和技术大数据存储GFS(GoogleFileSystem)TFS(TaobaoFileSystem)TFS(TencentFileSystem)这些文件系统功能比较近似,主要适合的应用场景文件比较小并发量高访问随机性强读操作远大于写操作较低的存储成本...思考:为什么叫“大数据”?2.1.2.数据素养统计素养和信息素养的延伸和扩展要求个体形成数据意识和数据敏感性能够有效且恰当地获取、分析、处理、利用和展现数据对数据具有批判性思维的能力(1)数据意识需要两种重要的辅助技能支撑数据获取能力数据评估能力评估下自己如何评价高校和企业的科研能力?如何获取长江十年禁渔的相关政府新闻报道?如何对比了解康奈尔大学和曼彻斯特大学的受关注程度?如何知道我国各地区的钢铁行业发展情况?(2)数据能力处理数据、分析数据和对数据进行可视化的能力评估下自己从网页上抓取的数据如何变成Excel文档方便处理?如何评价两组数据是否存在相关性?如何了解某位学者的研究兴趣趋势变化?(3)数据伦理收集、处理、存储、共享和销毁数据时应遵循的道德原则和标准关注如何平衡个人隐私、社会利益和数据利用之间的关系评估下自己电商平台获取的用户访问数据所有权属于平台还是用户?如果有一个需要保存机密文件的U盘,请问该使用什么方法只能让自己访问?因为招聘网站推荐算法使用的数据往往都是年轻人数据,因此对于中年人推荐往往失灵,你怎么看待这种算法歧视?(4)其他方面对数据具有批判性思维的能力数据综合应用能力2.2.算法与计算思维2.2.1.基本概念算法程序设计语言(1)算法解题方案的准确而完整的描述通常需要能够对一定规范的输入数据进行处理,并在有限时间内获得所要求的数据输出或者操作算法在执行过程中,会受到一些外在因素的影响而产生灵活的变化性算法名称的来历“算法”在中国古代文献中称为“术”,中文表述最早出自《周髀算经》英文名称“Algorithm”则来自于九世纪波斯数学家穆罕默德·本·穆萨·阿尔·花剌子模(MuhammadibnMusaal-Khwarizmi)欧几里得算法(辗转相除法,可以求最大公约数)被人们认为是历史上的第一个算法第一个编写的程序是英国著名诗人乔治·戈登·拜伦的女儿奥古斯塔·爱达·拜伦于1842年为巴贝奇分析机编写求解伯努利方程的程序,因此她被大多数人认为是世界上第一位程序员算法基本要素对数据进行运算和操作算术运算:适用于数值型数据的加减乘除等运算;逻辑运算:适用于布尔型数据的并且、或者、非等运算;关系运算:可以产生布尔型结果的大于、小于、等于、不等于等运算;数据传输:输入、输出、赋值等运算。算法的控制结构顺序语句分支语句循环语句三种基本的控制结构对应的流程图算法的特点有穷性明确性输入输出可行性算法的评价算法的正确性时间复杂度和空间复杂度可读性和鲁棒性算法的种类按照求解问题的不同排序、搜索、匹配、调度、覆盖、图相关按照算法设计策略贪心算法、分治法、动态规划法、启发式搜索、智能仿生等在实际应用中,很多算法都兼具多种不同标准的复合型类别特点排序可用分治法图相关算法可用贪心算法、分治法、动态规划法递推法使用若干步可重复的运算来分解复杂问题广泛应用于序列计算通过计算前面的一些项来得出序列中指定项的值,并以此为基础,使用相同的运算规律并重复运算,直至得到运算结果并结束斐波那契数列迭代法也称为辗转法不断用变量的旧值递推新值的过程分为精确迭代和近似迭代和递推法不同在于迭代法的迭代次数通常未知分治法把一个复杂的问题分成若干个相同或相似的子问题,再把子问题分成更小的子问题,直到最后子问题可以简单的直接求解动态规划法通过把原问题分解为相对简单的子问题的方式来求解,常常适用于有重叠子问题和最优子结构性质的问题这些子问题非常相似,为此动态规

划法试图仅仅解决每个子问题一次,从而减少计算量一旦某个给定子问题的解已经算出,

则将其记忆化存储,以便下次需要同一个子问题解之时直接查表贪心算法也称为贪婪算法在每一步选择中都采取在当前状态下最优(即最有利)的选择,从而希望导致最终结果最优的算法局部最优并非全局最优!穷举法也称为暴力破解法对于要解决的问题,列举出所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解是否所有的算法都可以通过计算机来实现?图灵机只要能够进行足够时间的运行,该机器就能模拟人类所能进行的任何计算过程给定任何算法,都可以构建一个能够模拟该算法逻辑的图灵机实现末位为1的二进制数加一乌尔班·米勒在1993年就按照图灵机的思想创造了一门极简的计算机编程语言Brainfuck语言只有八种指令符号编译器也只有区区200多个字节实现两个一位数的加法,>++++++[<-------->-],[<+>-]<.,.(2)程序设计语言也称为计算机编程语言用于书写计算机程序的标准化形式语言可以让程序员准确的用来向计算机发出操作指令利用计算机实现算法的基础工具和表达方式tiobe编程语言排行榜为什么叫计算机语言?很多计算机语言C底层设计、控制硬件Java信息系统开发、APP制作Python主要面向数据分析计算程序设计语言的种类数据运算控制传输程序设计语言发展人工智能编程生成式人工智能编程工具通过交互式问答和功能提示文本等方式让机器生成相关的代码程序设计语言种类结构化程序设计语言面向对象程序设计语言结构化程序设计语言以模块功能和处理过程设计为主功能模块是组成程序的基本单元代表语言:C、FORTRAN、PASCAL、BASIC整体结构非常零散,复杂场景下无法有效扩展应对面向对象程序设计语言核心就是类的设计将具有共同特征的对象归纳成类,组织类之间的等级关系按照类构造一个或者多个对象,对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系,并通过调用对象的功能实现交互完成所需的应用逻辑代表语言:C++、C#、Java和Python如何区别?一个学校学生管理系统中,主要有学生和教师两个客体学生有学号、姓名、所在班级等属性,以及上课、考试、做实验等行为教师有工号、姓名、所在系等属性,以及教课、指导学生等行为设计方法对比示意图2.2.2

计算思维美国卡内基·梅隆大学计算机科学系周以真教授在2006年提出运用计算机科学的基础概念进行问题求解、系统设计以及理解人类行为强调解决问题的形式能有效地被信息处理各个步骤的执行来完成意识+能力特点以计算为核心将问题的理解使用数学方式得以描述形成可以计算的操作逻辑特点人机分工第3章搜索方法问题:AlphaGo是怎么思考下棋的?地图导航是如何进行的?投资组合如何确保最大收益?3.1.基本概念形成通往目标状态动作序列的计算过程得到实现目标的明确动作序列(路径、解)一个围棋棋手需要在已知的棋盘状态下该如何落子一家制造型企业需要知道该通过哪些步骤及其如何组织这些步骤来完成产值过千万的年度生产目标注意的问题考虑最优解所有解中路径代价最小的解在无解时,次优解也可以一旦寻找到最优解并执行可以解决问题也会因为环境的变化和其他因素的临时影响为什么叫搜索?可能的动作序列数量极为庞大,能在这么多可能的动作序列中快速找到这些有限的有效序列,搜索是一种非常形象的命名19目围棋棋盘共有19×19=361个落子交叉点,每个交叉点都有三种可能的状态,因此整个棋盘状态组合数就是1.7×10172曾经有观点认为,围棋具有高度的复杂性和深厚的文化秉性,在这一领域的人工智能不可能战胜人类应用很广二十世纪五六十年代就开始应用于军事领域GPS更为广泛的棋类游戏复原魔方深蓝程序AlphaGo生活应用自动驾驶导航机器人行动规划3.2.简单状态下的搜索只需从单一角度来观察问题,问题往往具有环境状态的完全可观测性(环境信息充分)、确定性(环境不会因为我们的行动而发生改变)等特点路线导航规划不去考虑诸如天气变化和交通拥堵等未知因素的影响等井字棋(Tic-Tac-Toe)为例后续井字棋的几种对弈状态树状结构准确名称应该是倒置的树状结构表达由多个动作组成的序列组合状态常见名称:最上层的节点称之为根节点下层的节点称为子节点最下层不再有任何下层节点的节点称之为叶节点从根节点往下的路径可能有很多种,但是从叶节点回溯到根节点却只有一条路径假设这个井字棋变成一个10×10网格,每个棋子能够移动到8个相邻方格中的任何一个如果没有障碍,棋子可以在9步或更少的移动内到达100个方格中的任何一个长度为9的路径的数量是89,超过了1亿条平均有超过100万条长度为9的冗余路径会到达同一个单元格如果合理的引导算法运行,比如消除冗余路径,搜索完成速度至少可以提升约100万倍3.2.1

无信息搜索除了能够判断是否达到目标状态外,没有任何其他辅助信息比如井字棋游戏没有测度是否已经存在2个连续的棋子方法广度优先搜索深度优先搜索广度优先搜索基本方法:先扩展根节点扩展根节点的所有子节点扩展子节点的子节点同一层的节点会比下一层的节点更先全部遍历完毕深度优先搜索先直接到达搜索树的最深层如果这里的节点不存在子节点,搜索将回退到下一个仍存在子节点并且尚未遍历的上层最深节点比较深度优先方法无需记忆同一层中尚未向下遍历的其他节点,因此计算存储开销较少对于结合其他策略的启发式方法,广度优先方法可以更快确定更有可能成功的范围加快执行效率的策略不同动作序列可能会产生相同的状态再次进入这个节点状态时,就无需再次计算下层节点不同的动作序列可能具有不同的代价采用最小代价的优先搜索是一种更为合理的选择双向搜索基本思想:bd/2+bd/2>bd3.2.2有信息搜索也称为启发式搜索信息是指关于目标位置的特定线索不断的判断当前状态和最终目标状态的差距有信息要比无信息更好吗?对于对于随机产生的1到100的整数在每轮猜数过程中增加大小提示,平均猜测只有4次贪心最佳优先搜索以距离目的地直线距离作为辅助信息全局意义上也常常不能找到最优的结果以当前点到下一个点的距离作为信息同样也存在全局未必最优的可能A*算法综合考虑从初始状态到当前状态的路径代价相关的计算量仍然很大需要在准确性和快速之间取得一种平衡搜索方法的发展广度优先搜索方法于二十世纪五十年代末期被提出最早用于解决迷宫等问题深度优先搜索方法于二十世纪七十年代被提出最早用于解决图遍历问题有信息的启发式搜索于二十世纪五十年代末期被提出最早应用于解决九宫格游戏问题九十年代基于经典的A*算法提出了D*算法解决火星探测器的寻路问题DARPA自动驾驶挑战赛3.3.局部搜索无需关注步骤的动作序列,无需记录历史全部有效动作路径只需关注当前状态到相邻状态局部信息即可进行下一步动作判断比如:企业需要知道是否存在一种生产条件的状态组合可以实现预期的收益是否能摆出使八个皇后都不能互相攻击的状态假设无法整体看到山,如何找到最高峰?四皇后问题把四个皇后放在互相不攻击的四行四列棋局中可以利用互相攻击的皇后对数量作为评价距离目标的数值由于同列皇后一定会互相攻击,因此假设每次都只在一列中上下移动该列的皇后爬山法也被称为贪心局部搜索选择最优的邻居状态,而不事先考虑再下一步如何走在求解问题时取得快速进展通过观察移动后互相攻击的皇后对数量来决定如何移动棋子爬山法如果存在局部最大值则无法获得最优解模拟退火算法将爬山法和随机移动结合起来这里的随机移动不是最佳移动,也很可能是朝着里目标状态越远的方向适当移动模拟退火名称的来历退火是一种通过将金属或玻璃加热到高温再逐渐冷却的方法,可以使材料成分结构重组达到低能量结晶态从而更加坚固加热会导致材料变得更加脆软,因此可以理解为背离目标状态这种背离却是为了更好的达到目标状态遗传算法将当前的状态看成是已有的基因通过类似于生物进化过程中的基因变异和重组等方式形成下一步动作的步骤执行策略结合四皇后问题的遗传算法实例在遗传算法中,早期的状态种群往往呈现多样化随着多轮选择后,种群多样性减少,相应的变化也随之变小如果存在更易于达到目标状态的区域组合,这种进化中的重组操作将会不断将其筛选出来诸如“2”和“4”、“1”和“3”等有效邻接组合关于进化进化论最早是由十九世纪的查尔斯·达尔文提出,认为生物可以进行变异,并没有解释生物体特征如何遗传和改变格雷戈尔·孟德尔使用豌豆进行实验发现了现代遗传学基本规律中的分离规律及自由组合规律詹姆斯·沃森发现DNA分子结构及AGTC(腺嘌呤、鸟嘌呤、胸腺嘧啶、胞嘧啶)序列,并解释了这些生物基因遗传和变异的规律遗传算法模拟了生物进化的现象但是实际生物进化的机制远比遗传算法要复杂基因突变包括DNA的逆转、复制和大段移动有些生物会从一个生物体中借用DNA再将其自身插入另一个生物体一些基因会在基因组中把自己复制成千上万次3.3.2其他策略一个随机生成的八皇后问题,会有86%的概率会被卡住,只能解决14%的问题爬山法求解速度很快,成功找到解时平均步数为4,被卡住时平均步数为3如果被卡住,如何继续寻找全局最大值?横向移动允许在当前状态左右进行移动反复逐个再次观察假设是即使这里没有最高峰但最高峰更有可能在附近的地方需要限制连续横向移动的次数以确保不至于陷入死循环在随机八皇后问题中,成功求解的概率可以从14%提高到94%,但是每个成功方法却需要运行增加到约21步如果被卡住,如何继续寻找全局最大值?随机重启爬山法从随机生成的初始状态开始,执行一系列爬山搜索,一旦搜索达到一个局部最大值,或者执行了设定好的搜索次数后,就再次从随机生成的初始状态重新开始,直到找到全局最大值的目标为止即使有300万个皇后,这种方法也能在很短的时间内找到答案如果被卡住,如何继续寻找全局最大值?局部束搜索并行随机重启爬山法,即同时运行多个随机重启爬山法这些方法彼此通信,互相告知对方的状态良好程度,并优先继续最有可能到达目标状态的搜索过程启发式函数为了测度距离目标的远近,就需要选择和设计一种测度的标准良好的启发式函数更有助于搜索目标的实现不同的启发式函数选择存在着计算性能和效果的差异一般使用返回较高数值的启发式函数效果都会更好九宫格游戏九宫格游戏的启发式函数错位方块的数量所有方块移动到其目标位置距离的总和移动距离只能是曼哈顿距离不考虑移动过程中其他已有方块的影响启发式函数计算的困难地图导航任意两个地点之间的最优距离作为启发式函数但是相关预计算和结果存储都非常庞大解决方法:可以选择数量有限(10个或20个)地标点只预计算任意地点与这些地标点的最优距

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论