大家好,今天我们学习【马上学tensorflow 2.0】之 神经网络剖析:层、模型、损失函数与优化器。
我们 马上学三点 :
- 层:深度学习的基础组件,基本数据结构
- 模型:层构成的网络
- 损失函数与优化器:配置学习过程的关键
大家可以点击下面的“ 了解更多 ”, 或全网搜索“ 马上学123 ”, 查看讲义PPT和参考文献。
![d0986aa5d058c0a6c15250b2fc28fba7.png](https://img-blog.csdnimg.cn/img_convert/d0986aa5d058c0a6c15250b2fc28fba7.png)
tensorflow
层、网络模型、损失函数和优化器之间的关系
![c190781ef32e8b78e4866339c67026ee.png](https://img-blog.csdnimg.cn/img_convert/c190781ef32e8b78e4866339c67026ee.png)
层、网络模型、损失函数和优化器之间的关系
- 多个层链接在一起组成了网络模型,
- 将输入数据映射为预测值。
- 然后损失函数将这些预测值与目标进行比较,
- 得到损失值,用于衡量网络预测值与预期结果的匹配程度。
- 优化器使用这个损失值来更新网络的权重。
层:深度学习的基础组件
神经网络的基本数据结构是层。 层是一个数据处理模块, 将一个或多个输入张量转换为一个或多个输出张量。
大多数的层是有状态的,即层的权重。 权重是利用随机梯度下降学到的一个或多个张量, 其中包含网络的知识。
在 tensorflow2.0的Keras 中, 构建深度学习模型就是将多个层拼接在一起, 以建立有用的数据变换流程。
模型:层构成的网络
深度学习模型是层构成的有向无环图。
最常见的例子就是层的线性堆叠, 将单一输入映射为单一输出。
机器学习的定义: “在预先定义好的可能性空间中, 利用反馈信号的指引来寻找输入数据的有用表示。”
网络的拓扑结构定义了一个假设空间, 选定了网络拓扑结构, 意味着将可能性空间(假设空间)限定为一系列特定的张量运算, 将输入数据映射为输出数据。 然后, 你需要为这些张量运算的权重找到一组合适的值。
选择正确的网络架构更像是一门艺术而不是科学, 虽然有一些最佳实践和原则, 但只有动手实践才能让你成为合格的神经网络架构师。
损失函数与优化器:配置学习过程的关键
一旦确定了网络架构, 你还需要选择以下两个参数:
- 损失函数(目标函数):在训练过程中需要将其最小化。
- 优化器:决定如何基于损失函数对网络进行更新。
网络的目的是使损失尽可能最小化, 一定要明智地选择目标函数,否则你将会遇到意想不到的副作用。
![00a5a37f07146c1abae620b11d6430e2.png](https://img-blog.csdnimg.cn/img_convert/00a5a37f07146c1abae620b11d6430e2.png)
常见损失函数
对于分类、回归、序列预测等常见问题, 你可以按照常规选择正确的损失函数。 例如:
- 对于二分类问题,你可以使用二元交叉熵损失函数;
- 对于多分类问题,可以用分类交叉熵损失函数;
- 对于回归问题,可以用均方误差损失函数;
- 对于序列学习问题,可以用联结主义时序分类损失函数,等等。
只有在面对真正全新的研究问题时, 你才需要自主开发目标函数。
总结
- 构建深度学习模型就是将多个层拼接在一起;
- 选择正确的网络架构更像是一门艺术而不是科学,要动手实践;
- 损失函数(目标函数):在训练过程中需要将其最小化;
- 优化器:决定如何基于损失函数对网络进行更新;
参考文献:
- 详细全网搜索 马上学123
- www.mashangxue123.com
马上学123,很简单!