人工智能学习教程笔记-3:计算图

文章部分内容参考自captainbed.net

计算图

计算图是研究神经网络时经常用到的一个重要手段。

计算图概述

实际工作中的神经网络非常复杂,必须要借助图才能让其变得更加直观。

一个人工智能学习任务的核心是模型的定义以及模型的参数求解方式,二者抽象后可以确定一个唯一的计算逻辑,称为计算图

计算图表现为有向无环图,定义了数据的流转方式、数据的计算方式、以及各种计算之间的相互依赖关系

神经网络的计算过程

神经网络的计算过程由前向传播和反向传播构成:

  • 先通过前向传播计算出预测结果以及损失
  • 然后通过反向传播计算出损失函数关于每一个参数 ( w , b ) (w,b) (w,b)的偏导数,并对其进行梯度下降
  • 再用新的参数进行前向传播计算,如此循环往复

通过计算图就可以将上述过程清晰表述出来。

简单示例

以一个简单的神经网络计算过程为例:

image-20210707095743573

示例:逻辑回归函数的偏导计算与计算图

逻辑回归(Logistic Regression)是一个非常经典的算法,其中包含非常多的细节,曾看到一句话:如果面试官问你熟悉哪个机器学习模型,可以说 SVM,但千万别说 LR,因为细节真的太多了。

虽然称为回归,但其实际上是一个分类模型,并常用于二分类(例如肿瘤是良性还是恶性)。

其属于广义线性模型(generalized linear model),这一类算法模型都是 w ′ x + b w'x+b wx+b的形式,其中 w w w b b b待求参数

计算过程

根据之前所学,逻辑回归的前向传播计算公式如下(分别是逻辑回归函数、预测结果/激活函数、损失函数):

{ z = w T x + b y ^ = a = σ ( z ) = 1 1 + e − z L ( a , y ) = − ( y l o g ( a ) + ( 1 − y ) l o g ( 1 − a ) ) \begin{cases}z=w^{T}x+b&\\ \hat{y} =a=\sigma(z)=\frac{1}{1+e^{-z}} &\\ L(a,y)=-(ylog(a)+(1-y)log(1-a))&\end{cases} z=wTx+by^=a=σ(z)=1+ez1L(a,y)=(ylog(a)+(1y)log(1a))

其前向传播计算图如下:

image-20210707104617872

前向传播的目的是计算出损失函数关于各个参数的偏导数 d w 1 、 d w 2 . . . dw_{1}、dw_{2}... dw1dw2...,然后通过梯度下降算法更新各个参数,使得损失函数越来越小,即结果越来越精准。

然后再用新的参数进行前向传播、反向传播,如此循环往复。

具体数学推导过程如下:

image-20210713202030255

多训练样本

上面说的情况是单训练样本,如果是多训练样本,把所求偏导数除以m求平均数即可。

小结

通过目前所学可以总结出神经网络的一个大致流程如下:

image-20210707183608065

⚠️注意:是否达到标注并没有一个标准,而是根据自己的需要来判断。

tensorflow

tensorflow就是一个用计算图的形式来表示计算的人工智能框架,在tensorflow中所有的数据和计算都能被转化成计算图的形式。tensorflow由点和边组成,每个节点代表一个操作(tf.Operation),每条边代表在节点之间传播的张量(tf.Tensor)。

💡tensor:数据;flow:流

数据流图或计算图是tensorflow的基本计算单位,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值