对于前面用过的Dense层的堆叠,每层**只能**访问**上一层**输出的信息。
如果某一层**丢失**了与分类问题相关的一些信息,那么这些信息无法被后面的层找回,也就是说,**每一层都可能成为信息瓶颈**。
上一个例子使用了16维的中间层,但对这个例子来说16维空间可能太小了,无法学会区分46个不同的类别。
这种维度较小的层可能成为信息瓶颈,永久地丢失相关信息。
出于这个原因,**下面将使用维度更大的层**,包含64个单元。
*****
~~~
model.add(layers.Dense(64, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(46, activation='softmax'))
~~~
*****
* 网络的最后一层是大小为 46 的`Dense`层。这意味着,对于每个输入样本,网络**都会输出**一个 46 维向量。这个向量的每个元素(即每个维度)代表不同的输出类别。
* **最后一层使用了`softmax`激活**。你在 MNIST 例子中见过这种用法。网络将输出在 46 个不同输出类别上的**概率分布**——对于每一个输入样本,网络都会输出一个 46 维向量,其中`output[i]`是样本属于第`i`个类别的**概率**。
* **46 个概率的总和为 1**。
*
*****
`categorical_crossentropy`(分类交叉熵):衡量两个**概率分布**之间的**距离**,这里两个概率分布分别是**网络输出**的概率分布和标签的**真实**分布。~~将这两个分布的距离最小化~~
- 基础
- 张量tensor
- 整数序列(列表)=>张量
- 张量运算
- 张量运算的几何解释
- 层:深度学习的基础组件
- 模型:层构成的网络
- 训练循环 (training loop)
- 数据类型与层类型、keras
- Keras
- Keras 开发
- Keras使用本地数据
- fit、predict、evaluate
- K 折 交叉验证
- 二分类问题-基于梯度的优化-训练
- relu运算
- Dens
- 损失函数与优化器:配置学习过程的关键
- 损失-二分类问题
- 优化器
- 过拟合 (overfit)
- 改进
- 小结
- 多分类问题
- 回归问题
- 章节小结
- 机械学习
- 训练集、验证集和测试集
- 三种经典的评估方法
- 模型评估
- 如何准备输入数据和目标?
- 过拟合与欠拟合
- 减小网络大小
- 添加权重正则化
- 添加 dropout 正则化
- 通用工作流程
- 计算机视觉
- 卷积神经网络
- 卷积运算
- 卷积的工作原理
- 训练一个卷积神经网络
- 使用预训练的卷积神经网络
- VGG16
- VGG16详细结构
- 为什么不微调整个卷积基?
- 卷积神经网络的可视化
- 中间输出(中间激活)
- 过滤器
- 热力图
- 文本和序列
- 处理文本数据
- n-gram
- one-hot 编码 (one-hot encoding)
- 标记嵌入 (token embedding)
- 利用 Embedding 层学习词嵌入
- 使用预训练的词嵌入
- 循环神经网络
- 循环神经网络的高级用法
- 温度预测问题
- code
- 用卷积神经网络处理序列
- GRU 层
- LSTM层
- 多输入模型
- 回调函数
- ModelCheckpoint 与 EarlyStopping
- ReduceLROnPlateau
- 自定义回调函数
- TensorBoard_TensorFlow 的可视化框架
- 高级架构模式
- 残差连接
- 批标准化
- 批再标准化
- 深度可分离卷积
- 超参数优化
- 模型集成
- LSTM
- DeepDream
- 神经风格迁移
- 变分自编码器
- 生成式对抗网络
- 术语表