第二章: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次迭代。

相关推荐
千寻girling3 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
千寻girling3 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
AI攻城狮3 小时前
OpenClaw 里 TAVILY_API_KEY 明明写在 ~/.bashrc,为什么还是失效?一次完整排查与修复
人工智能·云原生·aigc
stark张宇4 小时前
构建第一个AI聊天机器人:Flask+DeepSeek+Postgres实战
人工智能·postgresql·flask
yiyu07165 小时前
3分钟搞懂深度学习AI:自我进化的最简五步法
人工智能·深度学习
浪浪山_大橙子7 小时前
OpenClaw 十分钟快速,安装与接入完全指南 - 推荐使用trae 官方 skills 安装
前端·人工智能
databook7 小时前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效
火山引擎开发者社区7 小时前
OpenClaw 快速上手:把云手机变成你的 7×24 小时 AI 手机助手
人工智能
Qlly7 小时前
DDD 架构为什么适合 MCP Server 开发?
人工智能·后端·架构
Lee川7 小时前
从零构建智能对话系统:AI Agent 实战指南
人工智能