深度学习中的TensorFlow与神经网络训练
1. 模型训练技巧与MC Dropout
在构建对风险敏感的应用程序,或者推理延迟在应用中不是非常重要时,可以使用MC Dropout来提升性能,获得更可靠的概率估计以及不确定性估计。有了这些指导原则,就可以开始训练深度神经网络了。不过,有时可能需要更多的控制权,比如编写自定义损失函数或调整训练算法,这时就需要使用TensorFlow的低级API。
以下是一些相关的练习题,有助于巩固知识:
1. 只要使用He初始化随机选择一个值,将所有权重初始化为相同的值是否可行?
2. 将偏置项初始化为0是否可行?
3. SELU激活函数相对于ReLU有哪三个优点?
4. 在哪些情况下会分别使用以下激活函数:SELU、Leaky ReLU(及其变体)、ReLU、tanh、Logistic和Softmax?
5. 使用SGD优化器时,如果将动量超参数设置得太接近1(例如0.99999)会发生什么?
6. 列举三种可以生成稀疏模型的方法。
7. Dropout会减慢训练速度吗?它会减慢推理速度(即对新实例进行预测)吗?MC Dropout呢?
8. 在CIFAR10图像数据集上实践训练深度神经网络:
- a. 构建一个具有20个隐藏层,每个隐藏层有100个神经元的深度神经网络(虽然太多,但这是本练习的目的)。使用He初始化和ELU激活函数。
- b. 使用Nadam优化和早停法,在CIFAR10数据集上训练网络。可以使用 keras.datasets.cifar10.load_data() 加载数据集。该数据集由60,000张32×32像素的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



