模型训练步骤
- 指定如何根据输入及参数来计算输出
- 明确损失和成本函数
- 最小化成本函数
使用 TensorFlow 训练神经网络
- 指定模型,告诉 TensorFlow 如何进行推理
- 使用特定损失函数对模型进行编译
- 训练模型
不同的激活函数
输出层激活函数选择取决于真实标签 的目标:
- 回归问题且输出可正可负:不使用激活函数(即:使用线性激活函数)
- 回归问题且输出非负:ReLU 激活函数
- 二分类问题:Sigmoid 激活函数
- 多分类问题:Softmax 激活函数
隐藏层激活函数没有特定要求,但最常见的选择是 ReLU 激活函数
原因是:
- ReLU 简单;Sigmoid 需要指数和倒数运算,效率略低
- ReLU 函数学习更快;Sigmoid 在左右太平缓,梯度下降很慢
顺便一提,还有其他很多激活函数,比如 Tanh、Leaky ReLU、Swish 等,每隔几年研究人员就会想出一种新的有趣激活函数,而且有时效果确实会稍好一点。但大多时候对绝大多数应用而言,上面学到的激活函数就够了
为何需要激活函数
要是在神经网络的每个神经元中都使用线性激活函数,那么这个大型神经网络会变得和简单线性回归没两样