Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ねこでもわかる深層学習入門

ktnyt
February 04, 2017

 ねこでもわかる深層学習入門

オタク機械学習勉強会 #1 午前セッション資料

ktnyt

February 04, 2017
Tweet

More Decks by ktnyt

Other Decks in Technology

Transcript

  1. ϕΫτϧ v = x 1 x 2 ! x N

    ( ) u = y 1 y 2 ! y N ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ཁૉ਺NͷߦϕΫτϧ ཁૉ਺NͷྻϕΫτϧ εΧϥΛฒ΂ͨ΋ͷʢ֊਺1ͷςϯιϧʣ ߦϕΫτϧͱྻϕΫτϧ͕͋Δ
  2. ߦྻ MߦNྻ (MxN) ͷߦྻ ϕΫτϧͷ֓೦Λ֦ுͨ͠΋ͷʢ֊਺2ͷςϯιϧʣ ओʹҰ࣍ม׵ʢઢܗม׵ʣʹ࢖ΘΕΔ A = x 11

    x 12 ! x 1N x 21 x 21 ! x 2N " " # " x M1 x M2 ! x MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟
  3. సஔߦྻ MߦNྻ (MxN) ͷߦྻͷసஔߦྻ ߦྻͷߦͱྻΛೖΕସ͑ͨ΋ͷ MߦNྻͷߦྻ͸NߦMྻʹͳΔ AT = x 11

    x 12 ! x 1N x 21 x 21 ! x 2N " " # " x M1 x M2 ! x MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟
  4. ϕΫτϧͷՃݮࢉ x 1 x 2 ! x N ⎛ ⎝

    ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ + y 1 y 2 ! y N ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ = x 1 + y 1 x 2 + y 2 ! x N + y N ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ཁૉ਺NͷྻϕΫτϧͷՃࢉ x 1 x 2 ! x N ( )+ y 1 y 2 ! y N ( ) = x 1 + y 1 x 2 + y 2 ! x N + y N ( ) ཁૉ਺NͷߦϕΫτϧͷՃࢉ
  5. ߦྻͷՃݮࢉ x 11 x 12 ! x 1N x 21

    x 21 ! x 2N " " # " x M1 x M2 ! x MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ + y 11 y 12 ! y 1N y 21 y 21 ! y 2N " " # " y M1 y M2 ! y MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ MߦNྻ (MxN) ͷߦྻͷՃࢉ = x 11 + y 11 x 12 + y 12 ! x 1N + y 1N x 21 + y 21 x 21 + y 21 ! x 2N + y 2N " " # " x M1 + y M1 x M2 + y M2 ! x MN + y MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟
  6. ΞμϚʔϧੵ x 11 x 12 ! x 1N x 21

    x 21 ! x 2N " " # " x M1 x M2 ! x MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⊙ y 11 y 12 ! y 1N y 21 y 21 ! y 2N " " # " y M1 y M2 ! y MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ MߦNྻ (MxN) ͷߦྻͷՃࢉ = x 11 y 11 x 12 y 12 ! x 1N y 1N x 21 y 21 x 21 y 21 ! x 2N y 2N " " # " x M1 y M1 x M2 y M2 ! x MN y MN ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟
  7. ϕΫτϧͷυοτੵ ཁૉ਺NͷߦϕΫτϧͱྻϕΫτϧͷ৐ࢉʢυοτੵʣ ߦϕΫτϧͷཁૉ਺͸ྻ਺ ྻϕΫτϧͷཁૉ਺͸ߦ਺ x 1 x 2 ! x

    N ( ) y 1 y 2 " y N ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ = x k y k k ∑ = x 1 y 1 + x 2 y 2 +…+ x N y N
  8. ߦྻੵ 4ߦ3ྻͷߦྻͱ3ߦ2ྻͷߦྻͷߦྻੵ x 11 x 21 x 31 x 41

    x 12 x 22 x 32 x 42 x 13 x 23 x 33 x 43 ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⎟ y 11 y 21 y 31 y 12 y 22 y 32 ⎛ ⎝ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ = x 11 y 11 + x 12 y 21 + x 13 y 31 x 21 y 11 + x 22 y 21 + x 23 y 31 x 31 y 11 + x 32 y 21 + x 33 y 31 x 41 y 11 + x 42 y 21 + x 43 y 31 x 11 y 12 + x 12 y 22 + x 13 y 32 x 21 y 12 + x 22 y 22 + x 23 y 32 x 31 y 12 + x 32 y 22 + x 33 y 32 x 41 y 12 + x 42 y 22 + x 43 y 32 ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⎟ x 11 x 21 x 31 x 41 x 12 x 22 x 32 x 42 x 13 x 23 x 33 x 43 ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⎟ y 11 y 21 y 31 y 12 y 22 y 32 ⎛ ⎝ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟
  9. ߦྻੵ 4ߦ3ྻͷߦྻͱ3ߦ2ྻͷߦྻͷߦྻੵ = x 11 y 11 + x 12

    y 21 + x 13 y 31 x 21 y 11 + x 22 y 21 + x 23 y 31 x 31 y 11 + x 32 y 21 + x 33 y 31 x 41 y 11 + x 42 y 21 + x 43 y 31 x 11 y 12 + x 12 y 22 + x 13 y 32 x 21 y 12 + x 22 y 22 + x 23 y 32 x 31 y 12 + x 32 y 22 + x 33 y 32 x 41 y 12 + x 42 y 22 + x 43 y 32 ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⎟ x 11 x 21 x 31 x 41 x 12 x 22 x 32 x 42 x 13 x 23 x 33 x 43 ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⎟ y 11 y 21 y 31 y 12 y 22 y 32 ⎛ ⎝ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟
  10. ୯७ύʔηϓτϩϯ w1 w2 w3 w4 x1 x2 x3 x4 a

    g(a) y ←ೖྗ ←݁߹ՙॏ ൃՐ཰ූ߸ˣ ↑׆ੑԽؔ਺
  11. ଟ૚΁ͷҰൠԽ W1 W2 W3 x h1 h2 y x, y

    → ϕΫτϧ W, U → ߦྻ WT, xT → సஔ g(...) → ؔ਺ Wx → ߦྻੵ x ⊙ y → ΞμϚʔϧੵ
  12. ଟ૚΁ͷҰൠԽ W1 W2 W3 x h1 h2 y h1 =

    g(W1 x) h2 = g(W2 h1) y = W3 h2
  13. ଟ૚ύʔηϓτϩϯ class MLP(chainer.Chain): def __init__(self): super(MLP, self).__init__( l1=L.Linear(None, 1000), l2=L.Linear(None,

    1000), l3=L.Linear(None, 10), ) def __call__(self, x): h1 = F.sigmoid(self.l1(x)) h2 = F.sigmoid(self.l2(h1)) return self.l3(h2)
  14. ৞ΈࠐΈωοτϫʔΫ class CNN(chainer.Chain): def __init__(self): super(CNN, self).__init__( conv1=L.Convolution2D(1, 16, 3),

    conv2=L.Convolution2D(16, 32, 3), conv3=L.Convolution2D(32, 64, 3), l1=L.Linear(None, 512), l2=L.Linear(None, 10), ) def __call__(self, x): x.data = x.data.reshape((len(x.data), 1, 28, 28)) h = F.relu(self.conv1(x)) h = F.max_pooling_2d(h, 2) h = F.relu(self.conv2(h)) h = F.max_pooling_2d(h, 2) h = F.relu(self.conv3(h)) h = F.max_pooling_2d(h, 2) h = F.dropout(F.relu(self.l1(h))) return self.l2(h)