神经网络刨析
训练神经网络主要围绕一下几个方面:
- 层,多个层组合成网络(模型)
- 输入数据和相应的目标
- 损失函数,用于学习的反馈信号
- 优化器,决定学习过程如何进行
层:深度学习的基础组件
将一个或多个输入张量转换为一个或多个输出张量。
层的权重是层的状态。
- 简单的向量数据-2D张量-密集连接层(densely connected lyaer)或全连接层(fully connected layer)或密集层(dense layer)
- 序列数据-3D张量-循环层(recurrent layer)
- 图像数据-4D张量-二维卷积层
模型:层构成的网络
常见的网络拓扑结构:
- 双分支网络(two-branch)
- 多头网络(multihead)
- Inception模块
网络的拓扑结构定义了一个假设空间(hypothesis space)。
损失函数与优化器:配置学习过程的关键
- 损失函数(目标函数):在训练过程中需要将其最小化。它能够衡量当前任务是否已经成功完成。
- 优化器:决定如何基于损失函数对网络进行更新。它执行的是随机梯度下降(SGD)的某个变体
梯度下降过程必须基于单个标量损失值。
建立深度学习工作站
- Jupyter笔记本
电影评论分类:二分类问题
新闻分类:多分类问题
预测房价:回归问题
下篇网络迷踪