台湾大学李宏毅深度学习1

  1. 深度学习的三个步骤

    • Neural Network(神经网络):我们经常设计神经网络,并且让机器从数据中寻找参数。
    • Cost function(成本函数):用来判断一组参数是好还是不好
    • Optimization(最优化):找到最好的函数
  2. Fully connected layer(全连接层):

    • 第i-1和第i层之间两两相连。第l-1层的第1个神经与第l层的第2个神经相连,得到的是w21lw^l_ {21}w21l。上边l表示连接的是第l-1层和第l层。下标21表示连接的是第l层的第2个神经,到第l-1层的第1个神经。注意这里下标是反的
    • 最后每两个相连的层之间形成一个w数组。这个数组的行数是第l层的神经个数,列数是第l-1层的神经个数。
    • 每一层的神经元的表示aila^l_iail表示在第l层的第i个字符。如果是ala^lal则表示第l层的所有神经元,形成一个vector。
    • zilz^l_izil:第l层的第i个神经的活动输入。 zlz^lzl表示第l层的所有输入。
      zilz^l_izil = wi1lw^l_{i1}wi1l a1l−1a^{l-1}_1a1l1 + wi2lw^l_{i2}wi2l a2l−1a^{l-1}_2a2l1+……bilb^l_ibil
      其中bilb^l_ibil代表的是第l层的第i个神经元的常数。
    • 那么考虑ala^lalal−1a^{l-1}al1之间的关系。
      z1lz^l_1z1l=w11lw^l_{11}w11la1l−1a^{l-1}_1a1l1 + w12lw^l_{12}w12la2l−1a^{l-1}_2a2l1+……+b1lb^l_1b1l
      z2lz^l_2z2l=w21lw^l_{21}w21la1l−1a^{l-1}_1a1l1 + w22lw^l_{22}w22la2l−1a^{l-1}_2a2l1+……+b2lb^l_2b2l
      zilz^l_izil=wi1lw^l_{i1}wi1la1l−1a^{l-1}_1a1l1 + wi2lw^l_{i2}wi2la2l−1a^{l-1}_2a2l1+……+bilb^l_ibil
      那么上面的式子可以用矩阵表示
      [z1lz2l⋮zil⋮] \left[ \begin{matrix} z^l_1 \\ z^l_2 \\ \vdots \\ z^l_i \\ \vdots \end{matrix} \right] z1lz2lzil
      也就是ZlZ^lZl = WlW^lWlal−1a^{l-1}al1+blb^lbl
    • 当知道了al−1a^{l-1}al1zlz^lzl之间的关系,如果也知道zlz^lzlala^lal之间的关系,我们就可以得到al−1a^{l-1}al1ala^lal之间的关系。
      那么z与a的关系,假设l层的函数是σ\sigmaσ()。那么aila^l_iail = σ\sigmaσ(zilz^l_izil) 。还可以ala^lal = σ\sigmaσ(zlz^lzl)
    • 那么根据第5条和第6条两条式子,我们可以知道al−1a^{l-1}al1ala^lal之间的关系: ala^lal = σ\sigmaσ(Wlal−1W^la^{l-1}Wlal1+blb^lbl)
  3. Recurrent structure(周期性结构):用同一个函数不断去简化网络。

    • 有一个 h‘h^`h,y=f(h,x)f(h,x)f(h,x) 这个函数有两个参数,同时又两个返回值。
    • 则如果h0h_0h0x1x_1x1是第一个参数,得到的输出是 h1h_1h1y1y_1y1=f(h0,x1)f(h_0,x_1)f(h0,x1) 。继续重复这个过程,h2h_2h2y2y_2y2=f(h1,x2)f(h_1,x_2)f(h1,x2)。就是用f()f()f()这个函数不断去简化网络。但是这里有一个重点**hih^ihihi−1h^{i-1}hi1**
    • Deep RNN:
      h‘h^`h,y=f1(h,x)f_1(h,x)f1(h,x)
      b‘b^`b,c=f2(b,y)f_2(b,y)f2(b,y)
      这里注意上下两条的y是同一个y。
      在这里插入图片描述
    • Bidirectional RNN:
      h‘,a=f1(h,x)h^`,a=f_1(h,x)h,a=f1(h,x)
      b‘,c=f2(b,x)b^`,c=f_2(b,x)b,c=f2(b,x)
      y=f3(a,c)y=f_3(a,c)y=f3(a,c)
      在这里插入图片描述
    • Pyramidal RNN(循环神经网络):每一层把下一层的好几个block的输出作为自己的输入,那么就可以减少sequence的长度。
      在这里插入图片描述
    • Naive RNN:h‘,y=f(h,x)h^`,y=f(h,x)hy=f(h,x)
      h‘=σ(whh+wix)h^`=\sigma(w^h h+w^ix)h=σ(whh+wix)
      y=σ(w0h‘)y=\sigma(w^0h^`)y=σ(w0h)
  4. LSTM(长短时记忆网络):
    在这里插入图片描述

    • ctc^tctct−1c^{t-1}ct1之间是相加的关系,也就是ctc^tct是变化很慢的。
    • hth^ththt−1h^{t-1}ht1之间差别很大,也就是ctc^tct是变化很快的。
    • 运算过程:
      在这里插入图片描述
      这里把xtx^txtht−1h^{t-1}ht1看成是并在一起,再乘上w(一个矩阵)
      ctc^tctyty^tythth^tht的得到过程是:
      在这里插入图片描述
  5. GRU(Gated Recurrent Unit):
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值