第二章:7.1 TensorFlow实现

欢迎来到本课程,关于高级学习算法,在之前我们学习了如何在神经网络中进行推理,本周我们将复习神经网络的训练。我认为能够利用自己的数据训练自己的神经网络很好。

我们继续运行手写数字识别示例,识别此图像是1还是0。这里我们使用的还是之前看到的神经网络架构:

其中有一个输入x,那就是输入,然后是第一个隐藏层,有25个单元,第二个隐藏层,有15个单元,然后还有一个输出。

我们将得到一组由图像x组成的训练示例,但是如何训练这个神经网络的参数?

第一步就是之前的神经网络过程(推理过程);第二步要求tensorflow编译模型;(而要求tensorflow编译模型的关键步骤是指定要使用的损失函数是什么)第三步是调用fit函数(训练模型),他告诉tensorflow拟合在步骤一中使用指定的损失函数模型/或者在第二步中指定的数据集x,y的成本函数。

epochs是专业术语,可以调节步长,以及梯度下降要跑多长时间。


现在先让我们回忆一下如何训练一个逻辑回归模型的,在上一个课程中,建立一个Logistic回归模型,(这个模型将指定如何计算输出,给定输入特征x和参数w和b)

第一步:在哪里指定什么是Logistic回归的输入输出函数(这取决于输入x和参数w和·b)

第二步是训练Logistic回归模型

这是一个衡量Logistic回归在单个训练示例上做得多好的指标

成本函数:

第三步是使用算法,特别是梯度下降最小化w,b的代价函数j

之后w,b均更新为新的w,b

以上三个步骤是我们如何在张量流中训练神经网络。

简单来说,

第一步是给定输入x和参数w,b如何计算输出:

第二步是编译模型,告知它我们想用什么损失函数,下面这个是用来指定这个损失函数的代码。即(binary cross entropy)(二元交叉熵损失函数)

即在整个训练集上取平均值,神经网络的成本函数。

第三步就是调用函数,试图最小化成本(作为神经网络参数的函数)


第一步就是指定了神经网络的整个架构

第二步要指定损失函数是什么(这也将定义我们用来训练神经网络的成本函数)下面是最常用的

损失函数

成本函数

成本函数就是神经网络中所有参数的函数

如果你想要优化成本函数,你就要试图优化它的所有参数。

第三步就要要求TensorFlow最小化成本函数,就是要使用梯度下降,

为了使用梯度下降,需要计算的关键是这些偏导数项

而张量流的作用,事实上,神经网络训练的标准是使用一种叫做反向传播的算法

而TensorFlow 可以为我们做这些事情,它在fit的函数中实现了反向传播,所以我们要做的是调用模型点拟合x,y并且告诉它这样做100次迭代。

相关推荐
TheRouter19 小时前
AI Agent 的Prompt Injection 防御实战:从EchoLeak 零点击外泄到6层防护栈(含可运行代码与对比表)
人工智能·ai·prompt
小仙女的小稀罕19 小时前
录音会议纪要整理教程
人工智能
花间相见20 小时前
【语音识别部署】— sherpa-onnx:让 ASR 模型跑得更快、跑在任何地方
人工智能·语音识别
l1t20 小时前
DeepSeek总结的PostgreSQL 在 AI 基础设施中日益增长的作用
人工智能·postgresql
逆境不可逃20 小时前
【与我学 ClaudeCode】规划与协调篇 之 Subagent:上下文隔离的极简子代理框架
人工智能
视***间20 小时前
全栈算力矩阵,全域智能赋能——视程空间六大产品系列,构建边缘智能完整生态
人工智能·机器人·智慧城市·边缘计算·ai算力·终端算力
Kiling_070420 小时前
Java Map集合详解与实战
java·开发语言·python·算法
SilentSamsara20 小时前
描述符协议:@property 与 @classmethod 的实现原理
开发语言·python·青少年编程
real_haha20 小时前
我做了一个仅有 1.3 MB 的 macOS 原生 AI 助手:AskNow
人工智能·macos
绝顶少年20 小时前
[特殊字符] curl_cffi vs requests:Python请求库的终极对决
开发语言·python