Tensorflow学习-神经网络

学校里人工智能的课程,都会以神经网络作为入门,因此,也以神经网络(NNs)作为回顾和新的学习开始

首先来回忆几个概念

神经元

神经元是神经网络中的一个基本单元,作用是:求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果

这个非线性传递函数也称之为:激励函数(ReLu)

因此对于一个基本单位神经元,他的目的就是汇合其所有的输入(外界刺激),与该神经元上的所有权值相乘(神经敏感度),通过激励(激励函数)产生相应的反应(标量结果)

神经网络

神经网络由多个神经元组成,通过层的概念划分,可以分为输入层,隐含层和输出层。

神经元之间的信息传递强度,是通过权向量来定义的,结合一定的训练学习算法,权向量会不断的进行调整,即学习算法(learning algorithm)会不断的调整神经元的敏感度,让神经元在训练过程中产生不同的刺激反应

同时,神经网络结合学习算法,依赖于大量的数据来训练,每一次的训练都需要有一个评估方法,称之为成本函数(cost function),用来定量评估根据特定输入值, 计算出来的输出结果,离正确值有多远,结果有多靠谱,换句话说就是神经网络的反应与预期是否一致

为此,一个神经网络的基本可变关键因素就是:网络拓扑设计(输入层,隐含层和输出层的关系),学习算法(以何种方式来调整神经元敏感度),激励函数(神经元对外界刺激做出如何的反应),成本函数(衡量评估神经网络距离预期的差距),当然,随着深入的研究,神经网络还有许多高级可变因素,比如,dropout等

成果
  • 最常用的两个激活函数:Sigmoid系(Logistic-Sigmoid、Tanh-Sigmoid)
实战

来源:维基百科-人工神经网络 斯坦福大学UFLDL-神经网络

如需转载,请注明出处