人工智能简述.ppt_第1页
人工智能简述.ppt_第2页
人工智能简述.ppt_第3页
人工智能简述.ppt_第4页
人工智能简述.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

人工智能简述 人工智能定义 人工智能 ArtificialIntelligence 它是研究 开发用于模拟 延伸和扩展人的智能的理论 方法 技术及应用系统的一门新的技术科学 涉及到数学 计算机科学 心理学 哲学和语言学等学科 人工智能的主要应用包括机器人 语言识别 图像识别 自然语言处理和专家系统等 人工智能分类 人工智能根据技术发展和研究领域可分为两种弱人工智能 机器只不过看起来像是智能的 但是并不真正拥有智能 也不会有自主意识 主要应用的算法 1自动流水线技术和有限状态机 2模糊状态机 3决策树和寻路技术 4博弈论 强人工智能 制造出真正能推理和解决问题的智能机器 现在研究的算法有 1群聚技术 2遗传算法 3神经网络技术 4置信网络 弱人工智能 弱人工智能是人工智能的一个比较流行的定义 也是该领域较早的定义 是由约翰 麦卡锡 JohnMcCarthy 在1956年的达特矛斯会议 DartmouthConference 上提出的 人工智能就是要让机器的行为看起来就象是人所表现出的智能行为一样弱人工智能观点认为不可能制造出能真正地推理 Reasoning 和解决问题 Problem solving 的智能机器 这些机器只不过看起来像是智能的 但是并不真正拥有智能 也不会有自主意识 现在 主流科研集中在弱人工智能上 并且一般认为这一研究领域已经取得可观的成就 自动流水线 自动流水线是生产组织的一种形式 把生产过程划分为在时间上相等或成倍比的若干工序 并将其于按工艺过程顺序排列 各自工作 以一个机器人倒垃圾的程序来说 它的步骤很简单 1 启动 2 电机后退10圈 3 左电机转3圈 转身 4 电机前进5圈 5 翻转垃圾桶 倒垃圾 6 等待2秒后 翻转还原垃圾桶 7 原路返回这项技术的缺点也很明显 由于简单 可以说应付不了任何突发情况 而且只要把它放在别人家里 或者更换起点 它就找不到垃圾桶的位置了 有限状态机 1 有限状态机 又称有限状态自动机 简称状态机 是表示有限个状态以及在这些状态之间的转移和动作等行为的数字模型从编程的角度来说 就是用许多的IFELSE来实现 简单的理解就是IFELSE的多层嵌套以倒垃圾机器人举例 就可以有三个状态 1 待命状态 2 移动状态 3 倒垃圾状态 有限状态机 2 状态机第一个重要功能 就是可以自定义状态切换的顺序例如这三个状态的切换是这样的1 待命 2 移动 3 倒垃圾 4 移动 5 待命状态机第二个重要功能 就是可以赋予每个状态 不同的响应例如 我们可以设置只在待命状态下 如果红外线传感器值 XXX 感知到前方有人手在放垃圾 那么跳转到移动状态 这样 响应只会在待命状态下生效 而移动过程中 则不受干绕 有限状态机 3 状态机第三个重要功能 就是历史记录功能 例如在移动状态中 设置如果声音传感器收到了 停 这个声音 那么跳转回待命状态 并记录当前已经走过的步骤 比如已经后退了10圈 并转身2 5圈 那么在待命状态下 我们又给机器人放上额外的垃圾 触发机器人的移动状态 这时机器人不会从移动状态的开始进行 而是从我们刚刚停止的那个位置进行 机器人会知道他已经后退了10圈 并转了一半的身 这时他们继续转完剩下的一半 然后前进5圈 跳转到倒垃圾状态 有限状态机UML图 模糊状态机 1 模糊状态机是有限状态机 FSM 的进阶版本 它在有限状态机的基础上加入了模糊逻辑技术 FuzzyLogic 如果说有限状态机判断的是是与非 0或1 那么模糊逻辑判断的就是0 0到1 0 或者是一个判断集合 还是以倒垃圾机器人举例 有限状态机同一时间只能停留在一个状态上面 例如我们的乐高倒垃圾机器人 待命状态就不能移动 移动状态就不能倒垃圾 模糊状态机 2 而模糊状态机则不然 它可以在同一时间运行多个状态 并且给每个状态分配不同的权重 例如 20 的移动状态 80 的倒垃圾状态 每个状态都可以处理这个权重植 例如20 的移动状态就是把移动速度降为原有的20 等等 这样做的好处是什么呢 我们想象一下人类最自然的行为是怎么样的 我们倒垃圾和走路 不会说是像军训一样死板 先要立定 然后倒垃圾 一定等到垃圾桶完全还原 然后向后转 齐步走 这样太机械化 模糊状态机 3 而我们人类则是非常连贯自然的行业 可能在垃圾桶倒完垃圾还没来得及翻转回来时 就开始了转身移动的行为 在转身移动的过程中 我们才慢慢的把垃圾桶翻转回来 这就是我们人类的模糊行为 如果我们的机器人加入了模糊状态机 那么他倒垃圾的动作 将会变的更加自然 连贯 和一点点随意 比如倒完垃圾后 就开始向后移动 开始是20 的权重 移动速度比较慢 慢慢的变成100 移动状态 而倒垃圾的80 状态则慢慢变低 最后结束倒垃圾状态 模糊状态机 4 另外 有限状态机在条件一定的情况下 状态是必定切换的 百试不爽 例如倒垃圾机器人 在识别到红外线传感器返回的值在30以下的时候 立刻切换到移动状态 如果我们使用的是模糊状态机 那么传感器在30以下 有可能不会切换状态 但是有时候确又可以切换 其中的具体概率由你控制模糊状态机在状态的切换条件上面有一定的概率性和集合 你可以在一个判断集合中加入两条以上的条件 来决定是否切到某状态 而且还可以给不同的状态以不同的权重值 模糊状态机 5 例如机器人感知的红外线并不明显 比如小于40的情况 这时机器人不确定你是否真的伸手放上了垃圾 有可能是误操作 这时他有可能根据不同的值 分配不同的权重 比如小于40时 80 的待命状态 20 的移动状态 小于30的时候 30 待命状态 70 的移动状态 这时如果人喊 停 的话 那么还是可以补救的 因为没有移动多远 如果人类没有进行干预 那么机器人会慢慢的把移动状态加到100 而待命状态慢慢的降为0 并结束 也就是我们的机器人有了一定的误识别补救措施 模糊状态机UML图 决策树 决策树是在已知各种情况发生概率的基础上 通过构成决策树来求取净现值的期望值大于等于零的概率 由于这种决策分支画成图形很像一棵树的枝干 故称决策树 在机器学习中 决策树是一个预测模型 他代表的是对象属性与对象值之间的一种映射 决策树可以看成是模糊状态机的一种升级 可以把决策树上的每个子结点 想象成模糊状态机中的子状态 跟据不同的情况 切换不同的策略 决策树可以静态化 数据化 和可编辑化 决策树例子 在魔兽争霸3的游戏中 电脑AI就使用的决策树技术 并在它的地图编程器中提供了编辑方法 如图所示是魔兽争霸3地图编辑器中的决策树编辑器 可以看到 电脑在英雄的选择上面 有六套分支概率都是17 电脑有17 的概率从六个主要分支中选一个其中一个分支 例如第一个 首发圣骑士 次发大魔法师 三发山丘之山 召唤出这些英雄后 接下来就是考虑英雄如何升级技能 下面同样有三个分支 如果英雄是第一个被召出来的 那么就有1号加点方案 如果是第二个被召出来的 那么就用2号加点方案 这就是决策树的特点 分支嵌套分支 电脑AI的决策剧本 其实早已被人类编辑好 在游戏中只是照剧本演戏而已 决策树例子 决策树还有一个重要的应用领域就是专家系统 由专家凭自己多年的经验给你编辑的一棵决策树 例如一个火灾救援预案启动后 专家系统就会告诉你现在这个阶段该干什么 比如问你火灾是几级 你输出1 那么专家系统会告诉你 首先要派出救援人员 然后向上级报告 做好之后 你发现伤员正在增加 对于不同的人数 专家系统会告诉你在一级火灾的情况下 多少伤员 需派出多少医疗车 二级火灾的情况下 多少伤员 需派多少车 这些都是一个树状结构 专家系统 寻路技术也叫搜索算法 就是教机器人如何找东西的技术 找的东西是多样化的 可以找创意 找策略 找路径 找物品 找一切一切 它们是通用的 也就是搜索算法相同 但是找的东西不一样 这个是应用非常广泛的算法 以倒垃圾机器人为例 机器人其实是不清楚垃圾桶在那里的 他的移动完全是固定死的 如果这个垃圾桶换了位置 那么他还将移动到原先的地方 这里可以用到我们的寻路技术 教机器人如何到达指定地点 而且是走最短捷径 首先寻路技术的前提是要给机器人一张地图 告诉他那里有障碍物 那里是边界 寻路技术 寻路技术常用的算法有 1深度优先算法2广度优先算法3A星算法4迪杰斯特拉算法5D星算法 寻路技术 博弈论又被称为对策论 主要研究公式化的激励结构间的相互作用 它是研究具有斗争或竞争性质现象的数学理论和方法 总的来说 博弈论就是研究互动决策的理论 所谓互动决策 即各行动方 即局中人 的决策是相互影响的 每个人在决策的时候必须将他人的决策纳入自己的决策考虑之中 当然也需要把别人对于自己的考虑也要纳入考虑之中 在如此迭代考虑情形进行决策 选择最有利于自己的战略 博弈论的核心原理只有三个步骤 规则 穷举 收益 博弈论 规则 是博弈论的第一个前提 就是它需要一个规则 它的计算结果只是在这个规则的范围内是终级策略 例如 象棋 围棋 法律 游戏规则等 穷举 博弈论的第二个前提 就是他所能掌握到的信息量 例如象棋围棋 机器人是可以知道双方所有信息的 这种博弈论可以发挥最大效果 而对于信息半透明的博弈中 机器人也可以在已知信息中计算出面对未知信息获胜概率最高的那个策略 例如麻将 军棋 商业经济竞争 博弈论 这就是博弈论唯一的缺点 他不能面对已知信息极少的情况 信息掌握不全的时候 博弈论的效果将大打折扣 穷举的原理就是 在规则已定的前提下 穷举出该规则下我能做出的所有选择以及后面N步的选择 也就是说 和博弈论的电脑下棋 电脑已经在心中模拟了你能做出的所有对策 以及电脑可以应对的所有对策 收益 这是博弈论唯一关注的东西 其它的AI毫不关心 博弈论电脑只关心一件事情 那就是收益最大化 收益终级化 博弈论 博弈论有一个经典的案例 就是囚徒困境 它是一个非零和博弈 两个囚徒甲和已 拿枪偷盗 事还没成被警察抓了 跟据当地法律 如果两个人都承认 那么都判10年 如果一人不承认 另一人承认并指认同伙 那么这个人将无罪释放 而被指认的那个人将被判20年 如果两个人都不承认 将只是非法带枪罪判1年 问题出来了 你如果是两个囚徒中的一个 你会怎么选 囚徒困境 1 博弈论有两种计算方式 一种是树状结构的扩展式博弈 类似决策树 另一种是矩阵结构的标准式博弈 两种各有各的优点 计算结果相同 我们以标准式为例 对方认罪的话我有两个选择 选认罪10年 选不认罪20年20 10结果是我认罪是最优战略 对方不认罪的话我也有两个选择 选认罪0年选不认罪1年1 0结果也是我认罪是最优战略 也就是说不管对方怎么选择 我认罪都是最优战略 最终博弈结果为双方在不知对方选择情况的时候 选认罪是最优战略 囚徒困境 2 强人工智能 强人工智能一词最初是约翰 罗杰斯 希尔勒针对计算机和其它信息处理机器创造的 强人工智能观点认为计算机不仅是用来研究人的思维的一种工具 相反 只要运行适当的程序 计算机本身就是有思维 传统上 利用计算机解决问题时 必须知道明确的程序 可是 人即使在不清楚程序时 根据发现而设法巧妙地解决了问题 如识别书写的文字 图形 声音等 所谓认识模型就是一例 再有 能力因学习而得到的提高和归纳推理 依据类推而进行的推理等 也是其例等 群聚技术 而群聚技术 是面对两个以上 或者成千上万个机器人共同运动时做出的智能反应 群聚行为中每个单独的个体都要考虑到周围其它个体的状况而做出决策 例如邻近单位的位置 他们的方向 以及他们和自身有多接近等信息例如我们的倒垃圾机器人 如果有三个四个这样的机器人同时工作 让他们在不同的位置同时去相同的地方倒垃圾 这时就会有产生 碰撞 拥挤等问题 群聚技术正是用来解决这些问题的AI算法 群聚技术 1 而群聚技术 是面对两个以上 或者成千上万个机器人共同运动时做出的智能反应 群聚行为中每个单独的个体都要考虑到周围其它个体的状况而做出决策 例如邻近单位的位置 他们的方向 以及他们和自身有多接近等信息例如我们的倒垃圾机器人 如果有三个四个这样的机器人同时工作 让他们在不同的位置同时去相同的地方倒垃圾 这时就会有产生 碰撞 拥挤等问题 群聚技术正是用来解决这些问题的AI算法 群聚技术 2 群聚技术核心原理 世界任何复杂的现象 都是有若干个简单的基本规律组成的 群聚技术也不例外 无论多么复杂的群聚技术 最终都可以化解为三种基本行为 就和红绿蓝三原色一样 这就是凝聚 对齐 分隔 凝聚行为 每个单位都往其邻近单位的平均位置行动对齐行为 每个单位行动时 都要把自已对齐在其邻近单位的平均方向上 分隔行为 每个单位行动时 要避免撞上其邻近单位 群聚技术例子 群聚技术有个很好用的开源技术库 opensteer群聚技术应用 领队跟随行为在群体中加入领头者 就能让群体的移动更有目的性 或者看起来比较有智能 比如 战争模拟游戏中 计算机控制一群飞机追击玩家 可以让其中的一架作为领头者 其他飞机采用基本群聚规则跟着领头者跑 在和玩家发生混战时 可以适时关闭群聚规则 让飞机分散进攻 这个实际上应用到了凝聚行为 分隔行为 遗传算法 遗传算法 GeneticAlgorithm 是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型 是一种通过模拟自然进化过程搜索最优解的方法 遗传算法是从代表问题可能潜在的解集的一个种群 population 开始的 而一个种群则由经过基因 gene 编码的一定数目的个体遗传算法是计算机科学人工智能领域中用于解决最优化的一种搜索启发式算法 是进化算法的一种 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的 这些现象包括遗传 突变 自然选择以及杂交等 遗传算法原理 1 生物经过许多世代的进化 才能使生存和繁殖的任务获得最大的成功 遗传算法也遵循同样的方式 需要经过长时间的成长和演化 最后才能收敛到针对某类问题的一个或多个解 所以遗传算法和生命机体演化知识有关 从本质上说 任何生物机体都是细胞的组合 而每个细胞都包含染色体的相同集合 也就是DNA链 当两个生物进行配对和复制时 它们的染色体相互混合 产生一个由双方基因组成的全新染色体组 这一过程就叫重组或杂交 遗传算法原理 2 在生物的重组过程中 后代可能继承上一代优良的基因 也可能继承它们的不良基因 继承优良的基因 后代可能更成功 更适应环境 将有更多的机会进行下一代重组 而不良基因 则可能导致不能再继续重组了 这样 每一代总是比父母一代更加完美 更加适应环境另外 在基因传递给子孙后代的时候 会有很小的概率出现了差错 使得基因得到微小的改变 这就使得生物体产生新的特征 这就是基因的变异 如果是成功的变异 将一代一代的传递下去 而不成功的变异 则最终将灭亡 这就是生物进化的完成 遗传算法原理 3 遗传算法的工作过程实质上就是模拟生物进化 首先 确定一个编码方法 使得你的问题任一一个潜在可行解都能表示一个数字染色体 然后 创建一个由随机的染色体组成的初始群体 每个染色体代表一个不同的候选群 接着 在一定的时期内 以培育适应性最强个体的方法 让他们进化 其中 需要在某些染色体中间加入少量变异 经过许多代以后 运气好的话 会收敛到一个解 遗传算法不确保一定能找到解 也不确保这个解是最优解 但遗传算法的最大优点是 你不需要知道怎么解决这个问题 仅需要知道怎么用可行的方式对可行解进行编码 让它能被遗传算法机制使用 遗传算法进化步骤 随机创建一定数目染色体 也就是一系列二进制字符串 110101010 检查每个染色体 看它解决问题的性能如何 并相应分配一个分数从当前群体选出两个成员 选出的概率正比于染色体的分数 分数越高 被选中的概率越大 常用方法有赌轮选择法等 按照预先设置的杂交率 从每个选中染色体的一个随机点上进行杂交按照预先设置的变异率 通过对选中染色体位的循环 把相应的位进行翻转重复选择步骤 直到和原来数目一样的染色体新群体被创建出来 遗传算法常用概念 1 赌轮选择法是从染色体群体中选择一些成员的方法 被选中的几率和它们的适应性分数成比例 适应性分数越高的染色体 被选中的概率越大 但不能保证一定会被选中 其工作过程如下 将所有的适应性分数由一张饼图来表示 这就和赌博的转轮形式一样 饼图中块的大小和适应性分数成正比 就好像赌轮一样 旋转这个轮盘 将一个小球跳入其中 等这个轮盘停下来的时候 看小球停在那一块 就选中和它对应的染色体 遗传算法常用概念 2 杂交率是用来确定两个染色体进行局互换以产生两个新的子代的概率 实验室表明一般取数值0 7比较理想 具体工作过程如下 每一次从群体中选择两个染色体 然后从0到1之间生成一个随机数 根据这个随机数来确定需不需要杂交 如果低于数值 0 7 就进行杂交 然后从染色体中随机选择一个位置 然后把位置后的位全部置换例如字符串1000100100101001和0001001001110101 随机选择一个位置 比如说第10位 互换第10位以后的所有位 然后字符串就变成1000100100110101和0001001001101001 遗传算法常用概念 3 变异率是在一个染色体将位实现翻转 即0变1 1变0 的概率 这个值一般都是设置得比较低 例如0 001 因此 无论在群体中怎么选择染色体 首先应该检查是否需要杂交 然后在从头到尾检查子代染色体的位 并按规定的几率对其中的某些位进行突变 也就是翻转 遗传算法例子 以一个寻找路径的问题 来看看遗传算法是怎样工作的首先用程序建立一个迷宫 左边有一个入口 右边有一个出口 并有一些障碍物在其中 如下图 1表示障碍 5表示入口 8表示出口 遗传算法例子 然后对染色体进行编码 每个染色体将迷宫的每一步记录下来 迷宫的行走有四个方向 对着四个方向进行编码 这样 就可以根据一个随机的二进制字符串 来决定迷宫的行走例如11 11 01 00 11 10 11 00 11 01 然后 生成一定数量的随机字符串 根据这些方向一步步进行迷宫行走 如果碰到障碍物就执行下一条指令 直到用完所有的指令或者找到迷宫出口 遗传算法以这些初始群体来测试它们每一个离迷宫出口有多远 然后让那些表现好的来孵化后代 不停重复 直到找到迷宫出口 在这个遗传算法例子中 有四个参数最重要 杂交率 一般设成0 7 变异率 一般设成0 001初始群体数量 染色体长度 也就是字符串长度 遗传算法例子 另外 在这个例子中 还有一个重要的函数 就是计算适应性分数 这里用两个距离来决定的intDIFFX abs posx m iEndx intDIFFY abs posy m iEndy 其中DIFFX DIFFY是最终到达坐标相对于迷宫出口的水平和垂直距离 而适应性分数就是把这两个距离加起来求倒数1 double DIFFX DIFFY 1 遗传算法例子 然后 生成一定数量的随机字符串 根据这些方向一步步进行迷宫行走 如果碰到障碍物就执行下一条指令 直到用完所有的指令或者找到迷宫出口 遗传算法以这些初始群体来测试它们每一个离迷宫出口有多远 然后让那些表现好的来孵化后代 不停重复 直到找到迷宫出口 在这个遗传算法例子中 有四个参数最重要 杂交率 一般设成0 7 变异率 一般设成0 001初始群体数量 染色体长度 也就是字符串长度 遗传算法例子 学习遗传算法只有通过自己编程 实验各种参数 才能学得更快 从而培养出一种感觉 知道什么可以什么不可以 在现在的发展中 遗传算法还没有什么通用的规则 这使得它具有一定的艺术性 只有时间和实践能够使编程者明白 对于特定的问题 采用多大的种子群才合适 需要设置多大的变异率才合理 遗传算法说明 神经网络技术 人工神经网络 ArtificialNeuralNetworks 简写为ANNs 也简称为神经网络 NNs 或称作连接模型 ConnectionModel 它是一种模仿动物神经网络行为特征 进行分布式并行信息处理的算法数学模型 这种网络依靠系统的复杂程度 通过调整内部大量节点之间相互连接的关系 从而达到处理信息的目的 神经网络是通过对人脑的基本单元 神经元的建模和联接 探索模拟人脑神经系统功能的模型 并研制一种具有学习 联想 记忆和模式识别等智能信息处理功能的人工系统 神经网络原理 因为人工神经网络是仿造生物大脑来进行工作的 所以 我们首先要连接大脑是如何工作的 大脑有两层 灰色的外层和白色的内层 其中灰色层只有几毫米厚 但它压缩了几十亿个微小的神经细胞 而白色层在灰色层下面 是由无数神经细胞组成 神经细胞的结构入下图所示 神经细胞由一个细胞体 一些树突和一根很长的轴突组成 神经网络原理 神经细胞体是一个星形的球状物 里面有一个细胞核 树突从细胞体向各个方向长出 本身有分支 它们是用来接收信号的 轴突也有很多分支 通过分支的末梢和其他神经细胞的树突相接触 形成所谓的突触 神经细胞通过轴突和突触将产生的信号发送到其他神经细胞每个神经细胞通过树突和大概1万个其他神经细胞相连 这使得人的大脑中所有神经细胞之间的连接可能有10000000亿个 神经细胞通过电化学过程来交换信号 输入信号来自其他的神经细胞 信号在大脑的传递是一个相当复杂的过程 神经网络原理 神经细胞的信号可以看成和计算机一样 用一系列的0和1进行操作 大脑的细胞也只有两种状态 兴奋和不兴奋 神经细胞用一种我们还不知道的方法 将所有树突进来的信号进行相加 如果信号超过阀值 将使得细胞进行兴奋状态 否则将处于抑制状态 由于细胞数量巨大 使得大脑具有很强的能力 例如人类大脑就具有以下的能力能实现无监督的学习 大脑能够实现自我学习 而不需要导师的教导 如果神经细胞在一段时间内收到高强度的刺激 则它和输入信号的神经细胞之间的连接强度将会改变 使得该神经细胞收到下一次刺激更容易兴奋 神经网络原理 对损伤有冗余性 大脑即使有一部分受到伤害 也能执行复杂的工作 例如科学家曾切除老鼠的一部分脑细胞 老鼠还是能找到迷宫 处理信息的效率极高 由于神经细胞采用并行工作方式 所以虽然神经细胞的工作频率很低 只有100HZ 但大脑能够同时处理大量的数据 例如大脑处理通过视网膜的一幅图像时 只需要100MS就能完成善于归纳总结 大脑最擅长的一件事 就是模式识别 能够根据已经熟悉的信息进行归纳推广 大脑是有意识的 人工神经网络例子 神经网络有一款比较好的游戏 虫脑 BugBrain 他是神经网络入门的最好游戏之一 可以说 玩通这款游戏 你的神经网络就已经基本入门了 BugBrain将让你从零开始构造一个大脑 你开始完成的可能只是一个简单的电路 之后从生物思考最原始的原理出发完成的是一个瓢虫的大脑 他有躲天敌 越障碍等生物智能 之后你将给这个大脑加上学习和记忆的能力 最终你将编辑人的大脑 最终关将开放神经元编辑器 人工神经网络例子 第一关相当简单 没有神经元 红色是输入 蓝色是输出 红色输入设备为一个电源按钮 按下就通电 蓝色输出设备为一个灯炮 只要将输入和输出用一跟黄色的神经联起来 这关就过了 在右边的调试器上 我们可以看到红色设备的信号强度 和蓝色设备的信号强度 人工神经网络例子 下一关左边的红色输出电流信号会从弱变强 再由强变弱 反复运行 信号强度从0 100这一关的科学家要得到的结果是信号强度 80时 灯炮才亮 而 80时 灯炮熄灭 这时我们就要用到神经元 拖一个大绿球 这个就是神经元 神经元的两端分别用神经连接输入设备和输出设备 这时我们再次开启测试 发现结果没有变化 依然什么样的输入 就有什么样的输出 灯光忽暗忽灭 达不到最终要求 我们右键点击这个大绿球神经元 可以看到原来神经元有个重要功能就是阀值 人工神经网络例子 我们把这个神经元的阀值设置成80 这一关就顺利通过了 阀值为80的意义在于 只有输入进来的信号大于80 才进行输出 这样在红色输入设备的信号强度没有到80前 这个神经元都不会输出任何东西 只有超过了80 灯炮才被点亮 之后慢慢的输入设备的信号又降到了80以下 灯炮就会再次得不到输出而熄灭 人工神经网络例子 我们再来关注一下和神经元左边的蓝色突起小球 这个东西叫突触 突触的主要功能 你可以将它想象成电阻 他可以限制或加强输入的信号强度 例如 我们把突触的权重值设为50 就代表输入设备的信号0 100 被压缩成为0 50 输入信号为10的时候 经过突触后传给神经元的其实是5 输入信号为20的时候 经过突触后传给神经元的其实是10 人工神经网络例子 其实再复杂的智能和思考 说到最后 都是生物电通过无数个突触和神经元完成的 给我一个电阻和一个阀值 就能通过无数的神经元联接来创造无比复杂的智能与思考 假如我们小的时候被蛇咬过 那么我们关联到存储蛇信息的神经元的阀值就会特别高 导致信号无法输出 如果没有特别高的信号刺激你 你是不会去摸蛇的 当你面临生命危险 必须抓住一条蛇来充饥时 这时大脑给你的信号强度就会超过这个神经元的阀值 于是你发现你突然就敢抓蛇了 一切一切的思考过程 都可以用神经元与突触创造 人工神经网络 要创建一个人工神经网络 就需要和大脑一样 将许多的神经细胞相互连接在一起 为此有许多的连接方式 其中最常见的 就是如下图所示 将神经细胞一层层连接在一起 这也叫前馈神经网络 网络中的每一层的细胞输出都向前馈送到它们的下一层 直到获得网络的输出 人工神经网络 一个人工神经网络 肯定有一个输出层 一个输入层 中间还有0 n个隐藏层 在处理大多数问题的时候 一个隐藏层就足够了 每一层都有任意个神经细胞 这取决于问题的复杂度 神经细胞愈多 网络的工作速度越慢 所以 一般来说 要求网络的规模尽可能的保持小 另外 在图中 尽管没标记 必须注意到每一个箭头指向的连线上 都要有一个权重 缩放 值 输入层的每个节点 都要与的隐藏层每个节点做点对点的计算 计算的方法是加权求和 激活 人工神经网络 利用隐藏层计算出的每个值 再用相同的方法 和输出层进行计算 隐藏层一般都是用Sigmoid作激活函数 而输出层用的是Purelin 这是因为Purelin可以保持之前任意范围的数值缩放 便于和样本值作比较 而Sigmoid的数值范围只能在0 1之间起初输入层的数值通过网络计算分别传播到隐藏层 再以相同的方式传播到输出层 最终的输出值和样本值作比较 计算出误差 这个过程叫前向传播 ForwardPropagation 反向传播算法 事实上 网络的每条连接线上都有一个权重参数 如何有效的修改这些参数 使误差最小化 成为一个很棘手的问题 从人工神经网络诞生的60年代 人们就一直在不断尝试各种方法来解决这个问题 直到80年代 误差反向传播算法 BP算法 的提出 才提供了真正有效的解决方案 使神经网络的研究绝处逢生 BP算法是一种计算偏导数的有效方法 它的基本原理是 利用前向传播最后输出的结果来计算误差的偏导数 再用这个偏导数和前面的隐藏层进行加权求和 如此一层一层的向后传下去 直到输入层 不计算输入层 最后利用每个节点求出的偏导数来更新权重 人工神经网络例子 假如我们有一组数测量据如下

温馨提示

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

评论

0/150

提交评论