【深度学习】嘿马深度学习笔记第4篇:TensorFlow介绍,总结【附代码文档】

举报
程序员一诺python 发表于 2025/07/28 07:49:09 2025/07/28
【摘要】 2.2.4 指数加权平均 2.2.5 动量梯度下降法 2.2.6 RMSProp 算法 2.2.7 Adam算法 2.2.8 TensorFlow Adam算法API 2.2.9 学习率衰减 2.2.10 其它非算法优化的方式-标准化输入 2.2.11 神经网络调优 2.2.12 批标准化(Batch Normalization) 卷积神经网络 2.4 经典分类网络结构 学习目

教程总体简介:卷积神经网络、2.4 BN与神经网络调优、2.4 经典分类网络结构、2.5 CNN网络实战技巧、3.1 迁移学习案例、假定最后一层CNN的层输出为(None, 8, 8, 2048)、取每一个特征图的平均值作为输出、用以替代全连接层、100为类别、在__init__中添加、总结、每日作业、1.1 项目演示、1.2 开发环境搭建、3.2 目标检测任务描述、商品物体检测项目介绍、3.3 R-CNN、3.4 Fast R-CNN、3.5 Faster R-CNN、YOLO与SSD、3.6 YOLO(You only look once)、3.7 SSD(Single Shot MultiBox Detector)、商品检测数据集训练、5.2 标注数据读取与存储、5.3 训练、5.4 本地预测测试、5.6 Web与模型服务对接逻辑、5.5 模型导出、Docker部署环境使用介绍、5.7 TF Serving 与 Web开启服务、TensorFlow Client对接模型服务、Web Server开启、项目总结、模型导出与部署、深度学习课程、1.1 深度学习与机器学习的区别、深度学习的应用场景、1.2 深度学习框架介绍、深度学习介绍、2.1 TF数据流图、TensorFlow介绍、2.2 图与TensorBoard、2.4 张量、2.5 变量OP、1.2 神经网络基础、1.3 神经网络基础、1.4 神经网络原理、神经网络与tf.keras、1.3 Tensorflow实现神经网络

项目完整code和文档,小伙伴们---->git仓库

项目完整code和文档,小伙伴们---->git仓库

项目完整code和文档,小伙伴们---->git仓库


全套教程部分目录:

TensorFlow介绍

说明TensorFlow的数据流图结构
应用TensorFlow操作图
说明会话在TensorFlow程序中的作用
应用TensorFlow实现张量的创建形状类型修改操作
应用Variable实现变量op的创建
应用Tensorboard实现图结构以及张量值的显示
应用tf.train.saver实现TensorFlow的模型保存以及加载
应用tf.app.flags实现命令行参数添加和使用
应用TensorFlow实现线性回归

总结

每日作业

TensorFlow介绍

说明TensorFlow的数据流图结构
应用TensorFlow操作图
说明会话在TensorFlow程序中的作用
应用TensorFlow实现张量的创建形状类型修改操作
应用Variable实现变量op的创建
应用Tensorboard实现图结构以及张量值的显示
应用tf.train.saver实现TensorFlow的模型保存以及加载
应用tf.app.flags实现命令行参数添加和使用
应用TensorFlow实现线性回归

1.3 神经网络基础

学习目标

  • 目标

  • 了解感知机结构、作用以及优缺点

  • 了解tensorflow playground的使用
  • 说明感知机与神经网络的联系
  • 说明神经网络的组成

  • 应用

1.3.1 神经网络

人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN)。是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的 计算模型。经典的神经网络结构包含三个层次的神经网络。分别输入层,输出层以及隐藏层。

其中每层的圆圈代表一个神经元,隐藏层和输出层的神经元有输入的数据计算后输出,输入层的神经元只是输入。

  • 神经网络的特点

  • 每个连接都有个权值

  • 同一层神经元之间没有连接
  • 最后的输出结果对应的层也称之为全连接层

神经网络是深度学习的重要算法,用途在图像(如图像的分类、检测)和自然语言处理(如文本分类、聊天等)

那么为什么设计这样的结构呢?首先从一个最基础的结构说起,神经元。以前也称之为感知机。神经元就是要模拟人的神经元结构。

一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。这个连接的位置在生物学上叫做“突触”。

要理解神经网络,其实要从感知机开始。

1.3.1.1 感知机(PLA: Perceptron Learning Algorithm))

感知机就是模拟这样的大脑神经网络处理数据的过程。感知机模型如下图:

感知机是一种最基础的分类模型,前半部分类似于回归模型。感知机最基础是这样的函数,而逻辑回归用的sigmoid。这个感知机具有连接的权重和偏置

我们通过一个平台去演示,就是tensorflow playground

1.3.2 playground使用

网址:[

那么在这整个分类过程当中,是怎么做到这样的效果那要受益于神经网络的一些特点

要区分一个数据点是橙色的还是蓝色的,你该如何编写代码?也许你会像下面一样任意画一条对角线来分隔两组数据点,定义一个阈值以确定每个数据点属于哪一个组。

其中 b 是确定线的位置的阈值。通过分别为 x1 和 x2 赋予权重 w1 和 w2,你可以使你的代码的复用性更强。

此外,如果你调整 w1 和 w2 的值,你可以按你喜欢的方式调整线的角度。你也可以调整 b 的值来移动线的位置。所以你可以重复使用这个条件来分类任何可以被一条直线分类的数据集。但问题的关键是程序员必须为 w1、w2 和 b 找到合适的值——即所谓的参数值,然后指示计算机如何分类这些数据点。

1.3.2.1 playground简单两类分类结果

但是这种结构的线性的二分类器,但不能对非线性的数据并不能进行有效的分类。

感知机结构,能够很好去解决与、或等问题,但是并不能很好的解决异或等问题。我们通过一张图来看,有四个样本数据

与问题:每个样本的两个特征同时为1,结果为1

或问题:每个样本的两个特征一个为1,结果为1

异或:每个样本的两个特征相同为0, 不同为1

根据上述的规则来进行划分,我们很容易建立一个线性模型

相当于给出这样的数据

1.3.2.2 单神经元复杂的两类-playground演示

那么怎么解决这种问题呢?其实我们多增加几个感知机即可解决?也就是下图这样的结构,组成一层的结构?

1.3.2.3 多个神经元效果演示

1.4 神经网络原理

学习目标

  • 目标

  • 说明神经网络的分类原理

  • 说明softmax回归
  • 说明交叉熵损失

  • 应用

神经网络的主要用途在于分类,那么整个神经网络分类的原理是怎么样的?我们还是围绕着损失、优化这两块去说。神经网络输出结果如何分类?

神经网络解决多分类问题最常用的方法是设置n个输出节点,其中n为类别的个数。

任意事件发生的概率都在0和1之间,且总有某一个事件发生(概率的和为1)。如果将分类问题中“一个样例属于某一个类别”看成一个概率事件,那么训练数据的正确答案就符合一个概率分布。如何将神经网络前向传播得到的结果也变成概率分布呢?Softmax回归就是一个常用的方法。

1.4.1 softmax回归

Softmax回归将神经网络输出转换成概率结果

![](https://fileserver.developer.huaweicloud.com/FileServer/getFile/communitytemp/20250727/community/383/461/571/000169694438346157

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。