1. 什么是人工智能
    人工智能(Artificial Intelligence):它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。1956年由约翰.麦卡锡首次提出,当时的定义为“制造智能机器的科学与工程”。人工智能目的就是让机器能够像人一样思考,让机器拥有智能。时至今日,人工智能的内涵已经大大扩展,是一门交叉学科

  2. 人工智能的层次结构

基础设施层:回顾人工智能发展史,每次基础设施的发展都显著地推动了算法层和技术层的演进。从20世纪70年代的计算机的兴起,80年代计算机的普及,90年代计算机运算速度和存储量的增加,互联网兴起带来的电子化,均产生了较大的推动作用。到21世纪,大规模集群的出现,大数据的积累,GPU与异构/低功耗芯片兴起带来的运算力的提升,促成了深度学习的诞生,点燃了人工智能的爆发浪潮,其中海量的训练数据是人工智能发展的重要燃料。
算法层:机器学习是指利用算法使计算机能够像人一样从数据中挖掘出信息,而深度学习作为机器学习的一个子集,相比于其他学习方法,使用了更多的参数、模型也更复杂,从而使得模型对数据的理解更加深入也更加智能。
计算机视觉:计算机视觉的历史可以追溯到1966年,人工智能学家Minsky在给学生布置的作业中,要求学生通过编写一个程序让计算机告诉我们它通过摄像头看到了什么,这也被认为是计算机视觉最早的任务描述。计算机视觉借鉴了人类看东西的方法,即“三维重构”与“先验知识库”。计算机视觉除了在比较成熟的安防领域外,也应用于金融领域的人脸识别身份验证、电商领域的商品拍照搜索、医疗领域的智能影像诊断、机器人/无人车上作为视觉输入系统等。
语音处理:让机器学会“听”和“说”,实现与人类的无障碍交流一直是人工智能、人机交互领域的一大梦想。1920年生产的“Radio Rex”玩具狗可能是世界上最早的语音识别器,第一个真正基于语音识别系统出现在1952年,AT&T贝尔实验室开发的Audrey的语音识别系统,能够识别10个英文数字,正确率高达98%。比如Apple Siri,Echo等。
自然语言处理:人类的日常社会活动中,语言交流是不同个体间信息交换和沟通的重要途径。对机器而言,能否自然的与人类进行交流、理解人类表达的意思并作出合适的回应,被认为是衡量其智能程度的一个重要参照。
规划决策系统:人工智能规划决策系统的发展,一度是以棋类游戏为载体的。比如,AlphaGo战胜李世石,Master对顶级选手取得60连胜,机器人,无人车。
3.人工智能应用场景
3.1. 语音处理
• 语音处理主要是自动且准确的转录人类的语音。一个完整的语音处理系统,包括前端的信号处理、中间的语音语义识别和对话管理以及后期的语音合成。
– 前端处理:说话人声检测,回声消除,唤醒词识别,麦克风阵列处理,语音增强等。
– 语音识别:特征提取,模型自适应,声学模型,语言模型,动态解码等。
– 语义识别和对话管理:更多属于自然语言处理的范畴。
– 语音合成:文本分析、语言学分析、音长估算、发音参数估计等。
• 应用:包括医疗听写、语音书写、电脑系统声控、电话客服等。
• 未来:真正做到像正常人类一样,与他人流畅沟通,自由交流,还有待时日。
3.2. 计算机视觉
• 计算机视觉指计算机从图像中识别出物体、场景和活动的能力,包含图像处理、识别检测、分析理解等技术。
– 图像处理:去噪声、去模糊、超分辨率处理、滤镜处理等。
– 图像识别:过程包括图像预处理、图像分割、特征提取、判断匹配,可以用来处理分类、定位、检测、分割问题等。
– 图像理解:本质是图像与文本间的交互,可用来执行基于文本的图像搜索、图像描述生成、图像问答等。
• 应用:
– 医疗成像分析被用来提高疾病的预测、诊断和治疗。
– 在安防及监控领域被用来指认嫌疑人。
– 在购物方面,消费者现在可以用智能手机拍摄下产品以获得更多信息。
• 未来:计算机视觉有望进入自主理解、分析决策的高级阶段,真正赋予机器“看”的能力,在无人车、智能家居等场景发挥更大的价值。
3.3. 自然语言处理
• 自然语言处理的几个核心环节:知识的获取与表达、自然语言理解、自然语言生成等,也相应出现了知识图谱、对话管理、机器翻译等研究方向。
– 知识图谱:基于语义层面对知识进行组织后得到的结构化结果。
– 对话管理:包含闲聊、问答、任务驱动型对话。
– 机器翻译:由传统的PBMT方法到Google的GNMT,流畅度与正确率大幅提升。
• 应用:搜索引擎、对话机器人、机器翻译、甚至高考机器人、办公智能秘书。
4.AI、机器学习、深度学习的关系

4.1. 人工智能四要素
1) 数据
如今这个时代,无时无刻不在产生大数据。移动设备、廉价的照相机、无处不在的传感器等等积累的数据。这些数据形式多样化,大部分都是非结构化数据。如果需要为人工智能算法所用,就需要进行大量的预处理过程。
2) 算法
主流的算法主要分为传统的机器学习算法和神经网络算法。神经网络算法快速发展,近年来因为深度学习的发展到了高潮。
3) 算力
人工智能的发展对算力提出了更高的要求。以下是各种芯片的计算能力对比。其中GPU领先其他芯片在人工智能领域中用的最广泛。GPU和CPU都擅长浮点计算,一般来说,GPU做浮点计算的能力是CPU的10倍左右。
另外深度学习加速框架通过在GPU之上进行优化,再次提升了GPU的计算性能,有利于加速神经网络的计算。如:cuDNN具有可定制的数据布局,支持四维张量的灵活维度排序,跨步和子区域,用作所有例程的输入和输出。在卷积神经网络的卷积运算中实现了矩阵运算,同时减少了内存,大大提升了神经网络的性能。
4) 场景
人工智能经典的应用场景包括:
 用户画像分析
 基于信用评分的风险控制
 欺诈检测
 智能投顾
 智能审核
 智能客服机器人
 机器翻译
 人脸识别
4.2. 三者关系简述
人工智能:是研究、开发用于模拟、延伸和扩展人的智能的理论、方法及应用系统的一门新的技术科学。
机器学习:专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。是人工智能的核心研究领域之一,任何一个没有学习能力的系统都很难被认为是一个真正的智能系统。
深度学习:源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
5.机器学习

监督学习:利用已知类别的样本,训练学习得到一个最优模型,使其达到所要求性能,再利用这个训练所得模型,将所有的输入映射为相应的输出,对输出进行简单的判断,从而实现分类的目的,即可以对未知数据进行分类。
无监督学习:对于没有标记的样本,学习算法直接对输入数据集进行建模,例如聚类,即“物以类聚,人以群分” 。我们只需要把相似度高的东西放在一起,对于新来的样本,计算相似度后,按照相似程度进行归类就好。
半监督学习:试图让学习器自动地对大量未标记数据进行利用以辅助少量有标记数据进行学习。
强化学习:学习系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统如何去产生正确的动作。
机器学习是人工智能的一个子集。它是人工智能的核心。什么是机器学习?我们习惯上这样理解,传统机器学习就是:用一大堆数据,同时通过各种算法(比如SVM、决策树、逻辑回归等),去训练出来一个模型,然后用这个训练好的模型去完成任务(比如预测任务等)。
常用的机器学习算法有:线性回归、逻辑回归、决策树、随机森林、支持向量机、贝叶斯、K近邻、Kmeans、
xgboost等。
6.深度学习

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习的概念由Hinton等人于2006年提出。基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。
深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分.不同的学习框架下建立的学习模型很是不同.例如,卷积神经网络(Convolutional neural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。
7.机器学习与深度学习的区别
7.1. 对数据量要求不同
深度学习和机器学习对数据量的依赖程度是不一样的,当数据量很少的时候,深度学习的性能并不好,因为深度学习算法需要大量数据才能很好理解其中蕴含的模式。而数据量比较小的时候,用传统机器学习方法也许更合适。
7.2. 对计算机硬件的要求不同
通常情况下,用机器学习处理任务时,一方面由于数据量不太大,另一方面由于所用算法已经确定,所以对计算机硬件的要求不是太高。
而深度学习由于要处理大量数据,且涉及许多矩阵运算,因此对计算机硬件要求非常高,很多时候普通cpu已经无法顺利完成任务,而必须借助于诸如GPU等硬件。
7.3. 特征处理方式不同
机器学习和深度学习的主要区别在于特征。如下图所示。

在传统的机器学习算法中,我们首先需要用一些算法(比如PCA、LDA等)来进行特征的提取,然后再用机器学习算法(如svm等)进行模型训练。特征提取的过程很麻烦,对工作者要求也很高。
相比之下,在深度学习中,特征由算法本身自动完成提取,通常不需要我们另外写一个算法来进行特征提取。比如CNN网络中,卷积层的作用就实现了特征的提取。
7.4. 解决问题方式不同
在解决问题的时候,传统机器学习通常会将问题分解为多个子问题,逐个子问题解决后,最后获得最终结果。而深度学习更提倡“直接的端到端”的解决问题。
比如在做OCR(文字识别)任务时,传统机器学习算法,一般要对原始图片进行灰度化、二值化、降噪、文字切分、文字识别等一步步操作。而如果用某些深度学习算法(如CRNN-CTC),则可以实现端到端的解决问题,直接传入一张图片,经过模型学习之后直接识别出文字。
7.5. 可解释性不同
机器学习的可解释性很强,许多传统的机器学习算法有明确的数学规则,解释起来相对容易。比如说线性回归,逻辑回归、决策树等这些算法解释起来就很容易。但是深度学习的可解释性就没有那么强了。深度神经网络更像是一种“黑箱子”,网络里面具体每一层是怎么操作的,神经元做了什么,很多时候是不明确的。深度学习的可解释性是一个热门研究话题。
7.6. 使用的开源库和框架不同
我们做机器学习和深度学习时,如果使用相关的开源库和框架,会使我们的工作事半功倍。虽然许多开源库和框架既可以解决传统机器学习问题,也可以解决深度学习问题,但是如果有针对性的去选择使用,效果会更好。比如,scikit-learn库用来做机器学习问题,是很不错的。百度的开源框架 百度的开源框架PaddlePaddle、以及谷歌的tensorflow用来处理深度学习问题会更好。