CS231n 2016 通关 第五、六章 Dropout 作业

Dropout的作用:

cell  1 - cell 2 依旧

cell 3 Dropout层的前向传播

  核心代码:

    train 时:

1   if mode == 'train':
2     ###########################################################################
3     # TODO: Implement the training phase forward pass for inverted dropout.   #
4     # Store the dropout mask in the mask variable.                            #
5     ###########################################################################
6     mask = (np.random.rand(*x.shape) < p) /p
7     out = x * mask

    test 时:

1     ###########################################################################
2   elif mode == 'test':
3     ###########################################################################
4     # TODO: Implement the test phase forward pass for inverted dropout.       #
5     ###########################################################################
6     out = x

  原理较为简单。

cell 4 反向传播:

  主要是计算偏导。

  核心代码:

1     dx = dout * mask    

cell 5 对全连接网络使用Dropout

  将相应的层加入到模型即可。

附:通关CS231n企鹅群:578975100 validation:DL-CS231n 

posted @ 2016-06-08 21:49  AIengineer  阅读(427)  评论(0编辑  收藏  举报