Python快乐编程:人工智能深度学习基础
上QQ阅读APP看书,第一时间看更新

2.6.3 Theano中重要的函数

1.求偏导数

求偏导数的函数theano.grad(),比如前面提到的S函数,当x=3的时候,对S函数求偏导数的代码如下所示:

结果为0.04517666。

2.共享变量

共享变量是指各线程公共拥有的变量,它是为了多线程高效计算、访问而使用的变量。因为在深度学习中,整个计算过程基本上是多线程计算的,于是就需要用到共享变量。在程序中,一般把神经网络的参数w(权重)、b(偏置项)等定义为共享变量,因为网络的参数,基本上是每个线程都需要访问的。共享变量的定义格式如下所示:

通过get_value()可以查看共享变量的数值,通过set_value()可以设置共享变量的数值。

3.共享变量参数更新

参数updates在theano.function函数中具有非常重要的作用,它是一个包含两个元素的列表或元组,一般表示形式为updates=[old_w,new_w]。当函数被调用的时候,会将old_w替换成new_w,具体示例如下所示:

输出结果如下所示:

    1
    4

共享变量参数更新主要用于梯度下降算法中。