当前位置:   article > 正文

第7章 python深度学习——波斯美女

第7章 python深度学习——波斯美女

第7章 高级的深度学习最佳实践

本章包括以下内容:
Keras 函数式 API
使用 Keras 回调函数
使用 TensorBoard 可视化工具
开发最先进模型的重要最佳实践
本章将介绍几种强大的工具,可以让你朝着针对困难问题来开发最先进模型这一目标更近一步。利用 Keras 函数式 API ,你可以构建 类图(graph-like)模型 、在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型。 Keras 回调函数和 TensorBoard 基于浏览器的可视化工具,让你可以在训练过程中监控模型。
我们还会讨论其他几种最佳实践,包括批标准化、残差连接、超参数优化和模型集成。

7.1 不用 Sequential 模型的解决方案:Keras 函数式 API

到目前为止,本书介绍的所有神经网络都是用 Sequential 模型实现的。 Sequential
型假设,网络只有一个输入和一个输出,而且网络是层的线性堆叠(见图 7-1 )。

这是一个经过普遍验证的假设。这种网络配置非常常见,以至于本书前面只用 Sequential模型类就能够涵盖许多主题和实际应用。但有些情况下这种假设过于死板。有些网络需要多个独立的输入,有些网络则需要多个输出,而有些网络在层与层之间具有内部分支,这使得网络看起来像是层构成的graph),而不是层的线性堆叠。

例如,有些任务需要 多模态(multimodal)输入 。这些任务合并来自不同输入源的数据,并使用不同类型的神经层处理不同类型的数据。假设有一个深度学习模型,试图利用下列输入来预测一件二手衣服最可能的市场价格:用户提供的元数据(比如商品品牌、已使用年限等)、用户提供的文本描述与商品照片。如果你只有元数据,那么可以使用 one-hot 编码,然后用密集连接网络来预测价格。如果你只有文本描述,那么可以使用循环神经网络或一维卷积神经网络。如果你只有图像,那么可以使用二维卷积神经网络。但 怎么才能同时使用这三种数据呢? 一种朴素的方法是训练三个独立的模型,然后对三者的预测做加权平均。但这种方法可能不是最优的,因为模型提取的信息可能存在冗余。更好的方法是使用一个可以同时查看所有可用的输入模态的模型,从而 联合 学习一个更加精确的数据模型——这个模型具有三个输入分支(见图 7-2 )。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/901654
推荐阅读
相关标签
  

闽ICP备14008679号