Navigation

    Gpushare.com

    • Register
    • Login
    • Search
    • Popular
    • Categories
    • Recent
    • Tags

    Early Stop && Dropout && Stochastic Gradient Descent

    语音识别与语义处理领域
    1
    1
    77
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 155****7220
      155****7220 last edited by

      本篇文章介绍深度学习中的其他一些小技巧(tricks)

      Early Stop

      上图表明,随着训练epoch的增加,Training Set Accuracy也在持续上升,但到达某一点后,Test Set Accuracy开始下降,此时发生了OverFitting现象。我们一般用Validation Set来对该临界点进行检测,当取到最大值时便停止训练,将此时取得的参数保存起来用于最终的模型参数

      Early Stop的引入会提前终止训练,即在Test Accuracy上升到临界值不发生改变后,就停止训练

      由此我们总结how to early stop:

      • Validation set to select paramters
      • Monitor validation performance
      • Stop at the highest val preformace

      Dropout


      Dropout是用来防止OverFitting十分有效的手段,它的假设是:

      1. 不学习全部参数,只学习有效的参数
      2. 每层神经元都有一定的概率失活,每层链接都有一定的概率丢失

      它具体的工作过程是,在前向传播的过程中,不同层神经元之间连接的权重www,有一定概率会被暂时认为是0(注意它并不是给www赋值为0)。通过Dropout,每次学习的过程中,都或多或少有一些参数是不被考虑的,有效的减少了运算量,而且使得模型的泛化能力更强

      在pytorch中添加Dropout也非常简单

      net_dropped = torch.nn.Sequential(
      	torch.nn.Linear(784, 200),
      	torch.nn.Dropout(0.5),# drop 50% of the neuron
      	torch.nn.ReLU(),
      	torch.nn.Linear(200, 200),
      	torch.nn.Dropout(0.5),
      	torch.nn.ReLU(),
      	torch.nn.Linear(200, 10),
      )
      

      要注意,在Validation的时候不要设置Dropout,Dropout仅在Training的时候用到

      Stochastic Gradient Descent

      在每一次迭代中,梯度下降使用整个训练数据集来计算梯度,因此有时它也被称为批量梯度下降(Batch Gradient Descent)。而随机梯度下降(Stochastic Gradient Descent)在每次迭代中只随机采样一个样本来计算梯度

      比方说,原本计算loss时假设有60k的数据,那么梯度更新的公式为
      $$
      \frac{\nabla L}{\nabla W} = \sum_{i=0}^{i=60k}\frac{\nabla L}{\nabla W}
      $$
      这样计算的复杂度很大,但是若在这60K数据中取一个Batch大小的数据,假设Batch只有1K,这样就能极大的减小计算量
      $$
      \frac{\nabla J}{\nabla W} = \sum_{i=0}^{i=Batch}\frac{\nabla J}{\nabla W}
      $$

      1 Reply Last reply Reply Quote 2
      • First post
        Last post