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

ネットワークエンジニアがニューラルネットワークをやってみた

nori
April 22, 2017

 ネットワークエンジニアがニューラルネットワークをやってみた

ネットワークプログラマビリティ勉強会#12の資料です
https://network-programmability.connpass.com/event/54303/

nori

April 22, 2017
Tweet

More Decks by nori

Other Decks in Technology

Transcript

  1. ✦ 神経細胞を計算モデル化したもの ͬ͘͟ΓχϡʔϥϧωοτϫʔΫ ೖྗ ग़ྗ Y Z [ z =

    w1 ɾ x + w2 ɾ y X X ͜ΕΛ૊Έ߹Θͤͯෳࡶͳ΋ͷʹͨ͠ͷ͕ ΠϚυΩͷχϡʔϥϧωοτϫʔΫ
  2. 代数的に考えてみる アドレスの入れ替え 単純な線形変換 νϣτ຾͘ͳΔ࿩ [ 0 1 1 0] [

    x y] = [ y x] A = [ 0 E E 0] A ⋅ [ Ether Dst Ether Src ] = [ Ether Src Ether Dst ] ※ &୯Ґߦྻ
  3. IPもまとめて送受信アドレスを入れ替え νϣτ຾͘ͳΔ࿩ 0 E 0 0 E 0 0 0

    0 0 0 E 0 0 E 0 Ether Dst Ether Src IP Dst IP Src = Ether Src Ether Dst IP Src IP Dst
  4. チェックサム計算は非線形なのでここは関数化 ������������������IPヘッダ ヘッダを16bit×10の配列としてみると ��sum = IP[0]�+ IP[1] +�… IP[9] ��sum

    = (sum & 0xffff) + (sum >> 16)������桁上がり分を下位に加算 ��sum = (sum & 0xffff) + (sum >> 16)������加算後再度繰り上がった場合 ��fchk (IP) = ~sum�����������������������������������������ビット反転 νϣτ຾͘ͳΔ࿩ 7FS)-FO UPT MFO JE qBHͱ͔ 55- 1SPUP DIFDLTVN 4SD *1 %TU *1
  5. まとめるとこんな感じ νϣτ຾͘ͳΔ࿩ Pkt = Ether Dst Ether Src IP Dst

    IP Src IP TTL IP Chk ICMP Code ICMP Chk ΞυϨεೖସ θϩΫϦΞ ύϥϝʔλઃఆ Pkt tmp = 0 E E 0 E E 0 0 0 0 0 ⋅ Pkt + 0 0 0 0 IP newTTL 0 ICMP newCode 0
  6. まとめるとこんな感じ やればやるほどNNより関数型言語が向いてる気が νϣτ຾͘ͳΔ࿩ IP newchk = f chk (Pkt tmp

    ) ICMP newchk = f chk (Pkt tmp ) Pkt reply = Pkt tmp + 0 0 0 0 0 IP newchk 0 ICMP newchk νΣοΫαϜܭࢉ ઃఆͯ͠ Ͱ͖͕͋Γ
  7. これを期待してアドレス入れ替え行列が学習されると。。。 νϣτ຾͘ͳΔ࿩ 0 E 6 0 0 E 6 0

    0 0 0 0 0 E 4 0 0 E 4 0 ظ଴ͯ͠ΔϞϊ ͤΊͯର֯੒෼͕θϩʹͳͬͯ͘ΕΕ͹ͳʔ ͜Ε͕ݱ࣮ −0.02153469 0.09266856 −0.02674774 ⋯ 0.08597313 −0.03119319 0.1256434 ⋯ 0.04272136 −0.07684021 0.03384783 ⋮ ⋮ ⋮ ⋱ ܭࢉ͞ΕͨϞϊ