一、人工智能概述

一、什么是人工智能?

1、 图灵测试

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

C向A和B提出问题,由C来判断对方是人还是电脑,通过一系列这样的测试,从电脑被误判断为人的概率就可以测出电脑的智能程度,电脑被误判成人,说明智能程度就越高。

2、人工智能的应用

微软小冰、人脸识别(目前旷世科技的Face++由目前世界一流的人脸追踪,识别,分析等服务应用,面向开发者的云平台以及API,SDK,已经可以直接调用)。

3、AlphaGo的原理

  一般传统计算机的下棋方法,采用贪心算法,使用Alpha-Beta剪枝法配合Min-Max算法。而阿尔法狗采用的是蒙特卡洛树搜索法(Monte Carlo Tree Search,MCTS)和深度卷积神经网络(Deep   Nerual Network,DCNN )相结合

  涉及的主要网络及作用有:

  估值网络(Value Network):也叫盘面评估函数,计算出盘面的分数

  策略网络(Policy Network):计算对于下每一个棋子的概率和胜率,评估对手和自己可能下的位置,对可能的位置进行评估和搜寻。

二、什么是深度学习?

从深度和学习两个方面来说:

1、深度

  深度学习的前身是人工神经网络(Artificial Neural Network,ANN),基本特点就是模仿人脑的神经元之间传递和处理信息的模式。

  1.1、人工神经网络:

输入层(Input Layer):输入训练数据

输出层(Output Layer):输出计算结果

隐藏层(Hidden Layer):处于中间有一个或者多个,使得输入数据向前传播到输出层。

举个例子:我们手里有一张图片,对它作出预处理,图像居中,灰度调整,梯度锐化, 去除噪声,倾斜度调整等,就可以输入到神经网络的第一层,输入层。然后第一层会自己提取这个图片的特征,把有用的特征向下传递,直到最后一层,然后输出结果。最后一层的输出给出一个结论,告诉我们到底输入的图片是哪个类别,一般会给出一个概率向量,列出图片的内容属于哪个类型的概率值。

  1.2、人工神经网络的特性

  人工神经网络的每一层由大量的节点(神经元)组成,层与层之间有大量的连接,但是每一层之间的节点是相互独立的。深度学习的目的就是利用已知的数据学习一套模型,使得系统在遇到未知的数据的时候也能够作出预测。实现这样的需要节点具备以下特点:

(1)激活函数(Activation Function):一般是非线性函数,每个节点通过这个函数将原来的来自其他节点的输入做一个非线性变化,然后输出到下一层的节点。

(2)成本函数(Cost Function):用来定量评估在特定输入值下,计算出的输出结果距离这个输入值得真实值有多远,然后不断调整每一层的权重参数,使得最后损失值最小。值越小,结果越可靠。

总之,神经网络算法的核心是:计算、连接、评估、纠错、训练

深度学习的深度是:增加中间隐藏层数和节点数量,让神经网络变得又深又宽,让系统运行大量数据,训练。

2、学习

计算接的学习和人类学习很类似,平时大量训练数据,不断经过阶段性的检验,用这些模型最终走向考场。其实机器学习算法的核心就是分类(Classfication),对于分类,输入的训练数据有特征(Feature),有标记(Label),在学习中就是找出特征和标记之间的映射关系(Mapping),通过标记来不断纠正学习中的变差,使得学习的预测率不断提高,这种训练数据都有标记的学习,叫有监督学习(Supervised Learning)。

无监督学习(Unsupervised Learning):非常困难,目的是让计算机自己去学习怎样做一些事情,所有的数据只有特征没有标记。

无监督学习:

解决方法1、训练时不为其指定明确的分类,但是数据会呈现出聚群的结构,彼此相似的类型会聚集在一起。计算机通过把这些没有标记的数据分成一个组合,也就是聚类(Clustering)。

解决方法2、在成功的时候采用某种形式的激励制度,也就是强化学习(Reinforcement Learning,RL),对于强化学习而言,虽然没有标记,但是有一个延迟江上与训练相关的,通过学习过程中的激励函数,获的某种从状态到行为的映射。强化学习一般用在游戏,下棋等连续决策的领域。

3、深度学习的方法步骤:

掌握经典机器学习理论与基本算法:

算法有:支持向量机(Support Vector Machine,SVM),逻辑回归(Logistic Regression),决策树,朴素贝叶斯分类器,随机森林,聚类算法,协同过滤,关联性分析,人工神经网络,BP算法,主成分分析(Principal Component Analysis,PCA),过拟合与正则化。

掌握语言:Python语言,掌握使用线性代数库和矩阵的操作,尤其是Numpy,Pandas第三方库,也要学习机器学习的库Sklearn,做一些SVM及逻辑回归的练习。 

原文地址:https://www.cnblogs.com/drq1/p/8609937.html