最近的文章
caffe 源码阅读笔记
·30 字·1 分钟
caffe做部署是YYDS!
blob
layer
net
激活函数
卷积
reshape
slice
loss function
reduce
eltwise
argmax
从 RNN 到 LSTM,再到 GRU:循环网络真正改变的是什么?
·3236 字·7 分钟
最近重新复习经典序列模型时,我发现不少资料把重点放在“门(gate)”的数量和复杂公式的罗列上,反而容易忽略这些设计背后的 trade-off。复习的时候,我更想把它们放回 architecture design 的角度看一遍。
把 RNN 沿时间展开之后:理解 BPTT 与梯度传播
最近在重新跟 MIT 6.S191 和 CS336,发现自己处在一个有点尴尬的状态:RNN 的 forward 随时能默写,hidden state 一步一步往前推,没什么好想的。但如果有人接着问"那它到底怎么 backward",我能说出来的只剩几个词——BPTT、沿时间反向传播、梯度消失——再往下就模糊了。
从局部线性化到 RNN:理解 Jacobian 连乘
·3037 字·7 分钟
最近在重拾一些深度学习基础,发现了一个很有意思的视角。
以前在看 RNN(Recurrent Neural Network)的长距离梯度传播公式时,总能看到一堆 Jacobian 矩阵的连乘,比如 \(\frac{\partial h_T}{\partial h_0} = J_T J_{T-1} \dots J_1\)。
从一次训练集群卡顿,理解 Linux Overcommit
·7429 字·15 分钟
起因 # 最近偶然看到一篇文章,里面提到一个 Linux 和 Windows 的差异:在 Linux 下,即使机器实际上没有足够的物理内存,一个很大的 malloc 仍然可能成功返回。而 Windows 对 committed memory 的管理要严格得多,类似的 allocation 更容易被直接拒绝。