“郭老师,文档上确实是这么写的。它甚至包装好了一个叫梯度下降优化器的东西。”
郭长征猛地拍了一下大腿,发出一声脆响。
要知道,在2009年这个时间节点,要在底层从零开始手写一个神经网络,简直是所有科研人员的噩梦。
噩梦的根源,不在于怎么把数据乘起来,而在于怎么把误差传回去。
这就是反向传播算法。
科研人员需要拿着纸和笔,运用高等数学里的链式法则,对着错综复杂的网络层,一层一层地去推导偏导数公式。
稍微多加一层网络,或者换一个非线性激活函数,几十页的数学草稿纸就白写了,必须全部推倒重来。
哪怕公式推导对了,把它转化成C语言或者C++代码时,稍有一个变量写错,模型就会原地爆炸,梯度直接消失或者数值溢出。
“这等于是把最折磨人的数学推导过程,全给省略了?”郭长征觉得嗓子有点干。
“只要告诉它怎么算出来的结果,它自己就能算出怎么调整参数?”
楚一航看着文档上的示例,只要调用一个简单的函数,所有的梯度就全部计算完毕。
The content is not finished, continue reading on the next page