一 模型里的内容和意义
一个标准的模型结构分为输入、中间节点、输出三大部分,而如何让这三部分连通起来学习规则并可进行计算,则是框架TensorFlow所做的事情。
TensorFlow将中间节点及节点间的运算关系(OPS)定义在自己内部的一个“图”上,全通过一个“会话(session)”进行图中OPS的具体运算。
可以这样理解:
  • “图”是静态的,无论做任何加、减、乘、除,它们只是将关系搭建在一起,不会有任何计算。
  • “会话”是动态的,只有启动会话后才会将数据流向图中,并按照图中的关系运算。并将最终的结果从图中流出。
TensorFlow用这种方式分离了计算的定义和执行,“图”类似施工图(blueprint),而会话更像施工地点。
构建一个完整的图一般需要定义3种变量。
  • 输入节点:即网络的入口。
  • 用于训练的模型参数(也叫学习参数):是连接各个节点的路径。
  • 模型中的节点(OP):最复杂的就是OP。OP可以用来代表模型中的中间节点,也可以代表最终的输出节点,是网络中的真正结构。
下图为这3种变量放在图中所组成的网络静态模型。在实际训练中,通过动态会话将图中各个节点按照静态规则运算起来,每一次迭代都会对图中的学习参数进行更新调整,通过一定次数的迭代运算之后最终形成的图便是所要的“模型”。而在会话中,任何一个节点都会通过会话的run函数进行计算,得到该节点的真实数值。
二 模型内部数据流向
1 正向
正向:数据从输入开始,依次进行各节点定义的运算,一直运算到输出,是模型最基本的数据流向。它直观地表现了网络模型的结构,在模型的训练、测试、使用场景中都会用到。这部分是必须要掌握的。
2 反向
反向:只有在训练场景下会用到。这里使用了一个叫做反向链式求导的方法,即先从正向的最后一个节点开始,计算此时结果值与真实值的误差,这样会形成一个用学习参数表示误差的方程,然后对方程中的每个参数求导,得到其梯度修正值,同时反推出上一层的误差,这样就将该层节点的误差按照正向的相反方向传到上一层,并接着计算上一层的修正值,如此反复下去一步一步地进行转播,直到传到正向的第一个节点。
这部分原理TensorFlow已经实现好了,简单理解即可,应该把重点放在使用什么方法来计算误差,使用哪些梯度下降的优化方法,如何调节梯度下降中的参数(如学习率)问题上。

模型是如何训练出来的相关推荐

  1. 【直播】陈安东,但扬:CNN模型搭建、训练以及LSTM模型思路详解

    CNN模型搭建.训练以及LSTM模型思路详解 目前 Datawhale第24期组队学习 正在如火如荼的进行中.为了大家更好的学习"零基础入门语音识别(食物声音识别)"的课程设计者 ...

  2. R语言构建xgboost模型:控制训练信息输出级别verbose参数

    R语言构建xgboost模型:控制训练信息输出级别verbose参数 目录 R语言构建xgboost模型:控制训练信息输出级别verbose参数

  3. python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr

    python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析.使用标准差信息添加误差区间条yerr 目录

  4. 《预训练周刊》第16期:中科院推出全球首个图文音三模态预训练模型、顶会论文探索100层序列推荐模型的加速训练...

    No.16 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第16期&l ...

  5. cnn stride and padding_Tensorflow学习笔记- 模型建立与训练篇(CNN)

    这次就用Keras实现下CNN 一. 预备知识--CNN[1] 1. 二维互相关(cross-correlation)运算:计算 , 属于输入数组, 属于卷积窗口,n和m取决于窗口的大小. 核数组(卷 ...

  6. 保存模型后无法训练_模型构建到部署实践

    导读 在工业界一般会采用了tensorflow-serving进行模型的部署,而在模型构建时会因人而异会使用不同的深度学习框架,这就需要在使用指定深度学习框架训练出模型后,统一将模型转为pb格式,便于 ...

  7. Pytorch基础训练库Pytorch-Base-Trainer(支持模型剪枝 分布式训练)

    Pytorch基础训练库Pytorch-Base-Trainer(支持模型剪枝 分布式训练) 目录 Pytorch基础训练库Pytorch-Base-Trainer(PBT)(支持分布式训练) 1.I ...

  8. 如何对SAP Leonardo上的机器学习模型进行重新训练

    Jerry之前的两篇文章介绍了如何通过Restful API的方式,消费SAP Leonardo上预先训练好的机器学习模型: 如何在Web应用里消费SAP Leonardo的机器学习API 部署在SA ...

  9. 保存模型后无法训练_如何解决推荐系统工程难题——深度学习推荐模型线上serving?...

    这里是「王喆的机器学习笔记」的第二十三篇文章,这篇文章希望讨论的问题是深度推荐模型的线上serving问题. 对于推荐模型的离线训练,很多同学已经非常熟悉,无论是TensorFlow,PyTorch, ...

  10. 结构化数据建模——titanic数据集的模型建立和训练(Pytorch版)

    本文参考<20天吃透Pytorch>来实现titanic数据集的模型建立和训练 在书中理论的同时加入自己的理解. 一,准备数据 数据加载 titanic数据集的目标是根据乘客信息预测他们在 ...

最新文章

  1. python filter过滤器的使用_如何在Python 3中使用过滤器、映射和精简
  2. Linux中的输入输出管理
  3. github 创建密匙失败
  4. 颜色传感器TCS230的使用
  5. Item03. 设计模式 Item04. STL
  6. 浅析weak指针的实现
  7. 【机器学习算法专题(蓄力计划)】十四、机器学习中逻辑回归
  8. python 输出一个 5*5的 三角形_GitHub标星3W+,80个Python案例,带你轻松玩转Python学习!...
  9. 设计模式之结构类模式PK
  10. 常用加密算法概述、比较及使用场景说明
  11. vs2008的简单使用
  12. 【QT】入门基础教程Qt5
  13. 天刀显示服务器失败,天涯明月刀手游提示安装失败怎么办 10月16日开服常见问题FAQ...
  14. 计算机报名照片没有重命名,电脑照片重命名怎么弄
  15. android studio 模拟器文件管理器
  16. js判断图片加载完成后再执行代码
  17. 根据图片快速设置IDEA启动的Banner效果
  18. android 全景拍照 sdk,Android全景SDK | 百度地图API SDK
  19. 腾讯优图提出LAP无监督多视角人脸3D重建算法,高清还原面部细节
  20. 将一元人民币兑换成1分、2分、5分,有几种兑换办法?

热门文章

  1. Dubbo远程传输协议详解
  2. 欧拉回路python
  3. java-php-python-ssm企业人事管理系统计算机毕业设计
  4. 阿里云服务器续费流程方法(图文详解)
  5. 纪念一位大师中的大师
  6. NAND、NOR、FLASH、Memory
  7. 【CISSP备考笔记】第7章:安全运营
  8. 大厂程序员推荐的linux内核学习路线
  9. Socket和ServerSocket的介绍
  10. 焊接过程中数据采集管理软件设计与应用综述