《智能计算系统》第一章
第一章 概述
1.1 人工智能
1.1.1 什么是人工智能
人制造出来的机器表现出来的智能,就是人工智能。
人工智能大致分为两类:弱人工智能和强人工智能。
弱人工智能是能够完成某种特定任务的人工智能,而强人工智能是具备与人类同等智慧,或超越人类的人工智能,能表现出正常人所具有的所有智能行为。
人制造出来的机器表现出来的智能,就是人工智能。
人工智能大致分为两类:弱人工智能和强人工智能。
弱人工智能是能够完成某种特定任务的人工智能,而强人工智能是具备与人类同等智慧,或超越人类的人工智能,能表现出正常人所具有的所有智能行为。
引:神经网络是一种机器学习算法
人工智能、机器学习、神经网络、深度学习之间的关系:
机器学习:计算机通过不断地从经验或数据中学习来逐步提升智能处理能力。
在做图像处理时,如果采用全连接前馈神经网络来识别,会出现权重参数过多的现象,随着隐层神经元数量的增多,参数的规模也会急剧增加,从而导致整个神经网络训练效率非常低,也很容易出现过拟合。
而采用卷积神经网络可以很好地解决上述问题,卷积神经网络是一种具有局部连接、权重共享等特性的深层前馈神经网络。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性,从而使得卷积神经网络的参数更少。
在程序开发中,根据解决问题的不同思路,通常采用两种不同的编程方式,常见的编程方式有两种:命令式编程和声明式编程。
命令式编程:关注程序执行的具体步骤,计算机按照代码中的顺序一步一步地执行具体的运算,整体优化困难。比如交互式UI程序和操作系统。
声明式编程:告诉计算机想要表达的目标,不指定具体的实现步骤,而是通过函数、推理规则等来描述数据之间的关系,优化比较容易。比如人工智能和深度学习。
TensorFlow的设计原则主要集中在三方面:高性能、易开发、可移植。
首先,TensorFlow中集成的算子在设计过程中已经针对底层硬件架构进行了充分的优化;同时,针对生成的计算图,TensorFlow提供了一系列的优化操作,提升了计算图的运行效率;并且TensorFlow调度器可以根据网络结构的特点,并行运行没有数据依赖的节点,异步发射满足依赖关系的多个节点而不同步等待每个节点的中间结果。
随着神经网络算法的发展,神经网络从只有输入和输出层的感知机,发展到有一个隐层的多层感知机,再到深度神经网络。在这个过程中,伴随着神经网络的层数、神经元数量、突触数量的不断增长,传统芯片CPU、GPU已经难以满足神经网络不断增长的速度和能效需求。由此诞生了深度学习处理器。
为了满足智能终端的实际应用需求,DLP-S在DLP的基础上对控制部件、运算部件和存储部件进行了优化,在降低功耗的同时提升了性能。
DLP-S在DLP的基础上进行了优化,主要体现在如下四个方面:
(1)在控制模块中设计了多发射队列,使得没有依赖关系的指令可以并行发射,从而支持指令级并行。
(2)在向量运算单元中添加更多的运算操作组合,提高性能和灵活性。
(3)在矩阵运算单元中采用低位宽的运算器,并且支持稀疏数据,减少运算能耗。
(4)在存储模块中采用TLB和LLC减少了访存的延迟。
传统编程语言和智能计算系统存在三方面的鸿沟:一是语义鸿沟,传统编程语言无法高效地描述高层智能计算语义,导致开发智能应用程序效率低下;二是硬件鸿沟,传统编程语言难以高效地抽象智能计算硬件特性,导致最终生成的代码的执行效率较低;三是平台鸿沟,智能计算硬件平台种类繁多并且在不断增长,传统编程语言难以实现跨平台可移植,针对特定平台优化的程序难以实现在不同平台上的高效执行。
Update your browser to view this website correctly.&npsb;Update my browser now