《Deep Learnning Tutorial》笔记(二)
上一节简要学习了什么是神经网络,大体上知道了深度学习的一个框架。这一节继续学习深度学习第二步goodness of function。
Training Data
这个Data不仅仅需要判断的数据,还需要与之对应着的标签(target)。比如给一些图片,并且还给这些图片对应的是什么,有小狗狗还有小猫咪。
Learning Target
训练的目的就是要将输入数据经过某函数得到的输出数据(output)与对应着的标签(target)相比较,差别越小越好,这里的差别也叫损耗,即loss。也就是说找到这个函数使之差别最小。
A good function should make the loss of all examples as small as possible
每一个数据的损耗记为
How to pick the best function
找函数其实就是找参数,还记得每个神经元都有自己的参数吗??那整个神经网络的参数就是
Gradient Descent
梯度下降法:
就是一个不断递归求解最优的方法。计算过程就是沿梯度下降的方向求解极小值(也可以沿梯度上升方向求解极大值),而神经网络就是求解极小值。
我们用TensorFlow来训练一下。
我们发现此时的
那需要计算什么才能求得
其实就是不断循环计算
每一个参数都是如此,那么最后就会列出一个列向量:
这个列向量就是梯度向量。
那么梯度下降可以用如下图描述:
但是,能确保都能有最小值吗?? 因为我们取的初始点可以是不同的,所以也会导致最后的求的最小值不同,也就是说结果不同,我们只能尽量地避免局部最小值,但是不能保证最后求出的一定是最小值。