using learning rate schedules for deep learning models in python with keras
来源:互联网 发布:泛伊斯兰主义知乎 编辑:程序博客网 时间:2024/05/29 16:12
训练神经网络或深度学习模型是一个非常困难的优化任务。
训练神经网络最经典的算法是随机梯度下降法。
通过在训练中对学习率的调整,可以获得更好的性能,更快的训练速度。
下面学习使用keras的深度学习库来调整神经网络模型的学习率。
how to configure and evaluate a time-based learning rate schedule
how to configure and evaluate a drop-based learning rate schedule
在随机梯度下降的优化过程中,调整学习率能够提高性能和减少训练时间。
有时候,这个称之为学习率的磨炼。默认的方法是设置学习率为常数,然后在每次epoch训练时更新网络的权重。
最简单或许也是常用的方法是随机时间的消耗,降低学习率。这样的好处是可以在最开始的时候可以做很大的调整。
两个比较流行和简单的方法是:
decrease the learning rate gradually based on the epoch
decrease the learning rate using punctuated large drops at specific epochs
基于时间的学习率调整:随机时间的过去,学习率会降低
drop-based 学习率:在训练期间的某些特殊时刻里,系统的drop the learning rate。比如,初始学习率设为0.1,每10个epochs就减半,因此前10次epochs的学习率是0.1,从第11次epoch开始,学习率就是0.05了,依此类推。这个在keras中的实现就是使用LearningRateScheduler这个回调函数。
调整学习率的一些小技巧:
increase the initial learning rate,设置得大一点,后面才有下降的空间啊,有更多的调整。
use a large momentum,可以持续的进行更新啥的
experiment with different schedules
- using learning rate schedules for deep learning models in python with keras
- Keras Tutorial: Deep Learning in Python
- keras learning rate
- A Comprehensive guide to Fine-tuning Deep Learning Models in Keras
- [阅读笔记]Programming Models for Deep Learning
- Save and Load Your Keras Deep Learning Models
- USING DEEP LEARNING FOR ANOMALY DETECTION IN RADIOLOGICAL IMAGES
- Learning Deep Structured Semantic Models for Web Search using Clickthrough Data笔记
- [论文笔记]Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
- Deep Learning:Optimization for Training Deep Models(零)
- Deep Learning:Optimization for Training Deep Models(一)
- Deep Learning:Optimization for Training Deep Models(二)
- Multi-Class Classification Tutorial with the Keras Deep Learning Library
- 翻译 | Keras : Deep Learning library for Tensorflow and Theano
- How to Use the Keras Functional API for Deep Learning
- keras deep learning use gpu
- Optimization for Deep Learning Highlights in 2017
- Deep Learning with Torch
- Hive初探
- Device not managed by NetworkManager or unavailable解决方法
- Java socket中isClose()和isConnected()
- 实体对齐
- [转自Oracle官方技术博客]如何在asm上定位数据块
- using learning rate schedules for deep learning models in python with keras
- 雄关漫道真如铁,而今迈步从头越
- 第三周 建立“顺序表”算法库
- 自动化测试资料整理包括(python、appium、selenium、RF)
- 存储过程之七—存储过程增删改查
- Kafka在Linux环境下搭建过程
- 面向对象设计讨论:有状态类还是无状态类?这是个难题
- nginx配置
- 运维架构服务监控Open-Falcon