人工智能(AI)-Tensorflow,机器学习基础知识,数据模型与决策

人工智能(AI)-Tensorflow,机器学习基础知识,数据模型与决策

我们把知识分成两类,一类是道理类,另一类是技能类。 情报系其实很难算作知识。

理科生的知识被高度提取,其目的是传播,让更多的人理解,是方向性的指导。 但是,他什么也做不了。 他的高级-抽象,提取的水平很高,所以用这些知识是不能落地的。

技能类是指实际完成这件事所需的具体知识,既有理论模型,也有落地的工具。

这两种知识都很重要,如果是浮在表面的话( A B C ),需要跨知识领域的融合。 如果下沉的话,a…,在专业的深度学习。 即使选择了浮在表面的学习,至少在ABC中有这样的东西,或者。

人工智能AI的目标是使机器能够应对通常需要人类智能的复杂工作。 研究机器人、语言识别、图像识别、自然语言处理、机器学习等。 每个分支都很复杂,例如机器视觉:指纹识别、人脸识别、视网膜识别、虹膜识别、掌纹识别、专家系统、自动规划、智能搜索、定理证明、游戏、自动编程、智能控制、机器人学、语言与图像理解、遗传专业例如《论人工智能未来发展趋势》 《人工智能的应用》等文章有时也作为知识。 我们把它们称为道理之类,只谈什么、用来做什么、有多重要等等,而不谈如何落地实现。

看看具体技能类的知识,谈谈如何实现吧。

用机器视觉来说,用机器模拟人的视觉。 人类视觉系统是自然的一大奇迹,从最简单的数字识别来看,人类很容易识别数字。 我们可能觉得很简单,但其实是幻觉。 我们大脑的每个半球都有一个主要的视觉皮层——V1,它连接着1亿000万个神经元和几百亿个神经元。 人类不仅有V1,还有可以执行更复杂图像处理的视觉皮质——V2、V3、V4、V5。 用计算机实现的人工神经元,思路与此有点相似。

例如,让计算机程序识别数字。 像“9头有圆,右下角有竖线”——这样,规则看起来很明确,但识别算法不是那么简单。 因为这些规则被许多异常、警告和特殊情况破坏,不像严格的If A then B elese C end if处理的抽象模型。 神经网络思想利用大量的手写数字,开发了从训练样本中学习的系统。 换句话说,神经网络自动推理使用样本识别手写数字的规则。 通过增加训练样本的规模,神经网络可以学习更多的手写规则,提高识别精度。

为了便于理解,我们先来看看人工神经元——感知器——的基本工作原理。 在现代神经网络工作中,主要的神经网络模型是sigmoid神经元。

一个传感器取得若干个二进制输入x1、x2、…x1、x2、……,生成二进制输出。 以下示例:

该传感器具有三个输入x1、x2、x3x1、x2、x3。 用一个规则计算最终的输出,即权重( weights ) w1,w2, w1,w2,这些实数表示了各输入对于输出的重要性。 该神经元输出( output ) 0或1是这些输入加权加法

大于或小于某个阈值。 像这些权重一样,阈值是这个神经元的实数参数。 代数式如下。

感知器,这是根据加权认证信息进行决策的装置。 通过修改权重和阈值,可以得到各种决策模型。 很明显,这个传感器不是人类决策的完整模型!

在下一个网络中,第一排传感器通过加权输入凭据做出三个非常简单的决策。 第二排的探测器是什么? 每个传感器通过对第一列的决策结果进行加权求和来做出自己的决策。 这样,第二层探测器可以做出比第一层探测器更复杂、更抽象的层决策。 第三层探测器可以做出更复杂的决策,这样,更多的层探测器可以做出更复杂的决策。

和上面一系列的视觉皮质相似吗? 而且,可以看出重要的问题之一是权重和阈值的设定。 我们希望这个网络为正确的决策学习调权和偏移。

学习自动调整人工神经网络权重和偏移的算法。 这发生在响应外部刺激时,没有程序员的直接干预。 这些学习算法可以让我们用新的方法使用人工神经网络。 那和传统的逻辑门方法完全不同。

神经元精细调整其权重和偏移只会精细地影响输出结果。 sigmoid神经元有x1,x2,…x1,x2,…的输入。 但是,输入值可以是0到1之间的任意值,而不仅仅是0或1。 微积分告诉我们精细的输出output几乎相等。

上面的带有偏导数运算的公式看起来很复杂,但实际上很简单。 输出变化output是权重和偏移变化wj和b的线性函数。 这种线性度使权重和偏移的细微变化更容易以所需方式稍微改变输出。

sigmoid神经元并不仅仅输出0或1。 可以输出0到1之间的任意实数。

如上图所示,网络的最左边一层称为输入层,其中的神经元称为输入神经元。 最右边和输出层包含输出神经元,在上面的例子中只有单个输出神经元。 中间层被称为隐含层。 因为内部的神经元既不是输入也不是输出。 上面的网络只包含唯一的隐含层,但有些网络可能有多层。 例如,以下四层网络具有两个隐含层:

对于图像识别的入门程序,数字识别的模型采用了三层

梯度下降学习算法

我们想要的是能够找到合适的权重和偏移的算法,以便网络输出y(x )能够满足几乎所有的训练输入x。 为了量化这个一致度的目标,定义了成本函数。

这里,w是网络中所有的权重,b是所有的偏移,n训练输入的总数,a是网络输入为x时的输出向量,总和是对所有输入x的累加。

为了使C(V )最小化,我们认为c只具有v1和v2这两个变量,想象一下有一个小球沿着山谷的斜坡向低处滚动。 生活经验表明,这个小球最终会到达谷底。 可以用同样的想法找到函数的最小值。

将梯度向量表示为c

这里是一个正的小参数,被称为“学习率”,是通过不断计算坡度c,沿与坡度相反的方向一点一点地移动,使小球继续在斜坡上向谷底滑行。

梯度下降如何应用于神经网络的学习过程呢? 具体思路是通过梯度下降寻找权重wk和偏移量bl,使成本函数最小化。

TensorFlow是用于人工智能的开源神器,器是工具,是具体实现的技术,我们要落地相应的方案。 TensorFlow是个很好的学习方向。 当然,还有很多其他开源工具,例如Torch Caffe、OpenCog、Deeplearning4j、Neuroph和OpenNN。

通过以上介绍,可以看出需要进行问题建模的基本思考。 想法相似,但算法不同。 例如,线性规划问题的处理路径通常如下:

说明目标: * * * * * * * * * * * * * * * * * * * * * * * * *

说明限制:

约束1:————约束2:————约束3:————定义决策变量: ————

构造函数并求解

基于数据样本的深度学习算法运用了微积分、线性规划、非线性优化模型、数据分布、决策分析等数据分析、模型、决策等知识。 这些知识最好是系统化的学习,但进一步也可以在应用中按需学习。

在企业信息化建设中,想要从基础上构建人工智能的基础,看起来不是合适的做法。 虽然在基础云服务中的应用比较合理,但是必须学习业务建模,才能与企业应用深入结合。

推荐两本基础知识的书:

《数据、模型与决策》戴维r .安德森等着,侯文华杨静蕾等译

《商务与经济统计》戴维r .安德森等著,张建华王建等译

真正的知识需要静下心来系统地学习,很难通过公众号来学习。 公众号只是一个引子,只要能引起思考,带来行为的变化就足够了。

我希望我的分享和思考对你有一点价值。