Python 学习 第五册 深度学习 第3章 神经网络入门

----用教授的方式学习。

目录

3.1神经网络剖析

3.1.1 层:深度学习的基础组件

3.1.2 模型:层构成的网络

3.1.3 损失函数与优化器:配置学习过程的关键

3.2 Keras 简介

3.2.1 Keras、TensorFlow、Theano 和 CNTK

3.2.2 使用 Keras 开发:概述

3.3 建立深度学习工作站

3.3.1 Jupyter 笔记本:运行深度学习实验的首选方法

3.3.2 运行 Keras:两种选择

3.3.3 在云端运行深度学习任务:优点和缺点


3.1神经网络剖析

训练神经网络主要围绕以下四个方面。

1.层,多个层组合成网络(或模型)。

2.入数据和相应的目标。

3.损失函数,即用于学习的反馈信号。

4.优化器,决定学习过程如何进行。

可以将这四者的关系可视化:

3.1.1 层:深度学习的基础组件

神经网络的基本数据结构是层。层是一个数据处理模块,将一个或多个输入张量转换为一个或多个输出张量。有些层是无状态的,但大多数的层是有状态的,即层的权重。权重是利用随机梯度下降学到的一个或多个张量,其中包含网络的知识。

不同的张量格式与不同的数据处理类型需要用到不同的层。例如,简单的向量数据保存在形状为 (samples, features) 的 2D 张量中,通常用密集连接层[densely connected layer,也叫全连接层(fully connected layer)或密集层(dense layer),对应于 Keras 的 Dense 类]来处理。序列数据保存在形状为 (samples, timesteps, features) 的 3D 张量中,通常用循环层(recurrent layer,比如 Keras 的 LSTM 层)来处理。图像数据保存在 4D 张量中,通常用二维卷积层(Keras 的 Conv2D)来处理。

3.1.2 模型:层构成的网络

深度学习模型是层构成的有向无环图。最常见的例子就是层的线性堆叠,将单一输入映射为单一输出。

但随着深入学习,你会接触到更多类型的网络拓扑结构。一些常见的网络拓扑结构如下。

1. 双分支(two-branch)网络

2. 多头(multihead)网络

3. Inception 模块

网络的拓扑结构定义了一个假设空间(hypothesis space)。你可能还记得第 1 章里机器学习的定义:“在预先定义好的可能性空间中,利用反馈信号的指引来寻找输入数据的有用表示。”选定了网络拓扑结构,意味着将可能性空间(假设空间)限定为一系列特定的张量运算,将输入数据映射为输出数据。然后,你需要为这些张量运算的权重张量找到一组合适的值。

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_38135241

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值