THE ZERO/ONEが文春新書に!『闇ウェブ(ダークウェブ)』発売中
発刊:2016年7月21日(文藝春秋)
麻薬、児童ポルノ、偽造パスポート、偽札、個人情報、サイバー攻撃、殺人請負、武器……「秘匿通信技術」と「ビットコイン」が生みだしたサイバー空間の深海にうごめく「無法地帯」の驚愕の実態! 自分の家族や会社を守るための必読書。
March 30, 2017 08:00
by 牧野武文
パーセプトロンの第1の進化は多層化だ。ミンスキーが指摘したように、パーセプトロンはXORの論理演算結果を学習することができない。前回示したように、XORの演算結果は線形分離不可能、つまり直線で真と偽のグループにわけることができないからだ。
しかし、実はちょっとした数学的な工夫をすることで、XORの演算結果を線形分離させることができる。つまり、パーセプトロンに学習させることができる。
それは上記の表のように、AとBの数値以外にA and Bの演算結果をつけたすことだ。これでA xor Bの真偽を線形分離できるようになる。このようにA and Bをつけ加えているので、座標にとると3つ、つまりxyzの空間に真または偽の点が置かれることになる。空間なので、直線ではなく、平面で真と偽をわけることができれば、直接XORの論理演算を学習することができなくても、パーセプトロンは間接的に学習することができる。もちろん、後でつけ加えたANDの結果を取り除くことが必要になる。
下の図を見ていただければわかるように、このような操作をした真と偽であれば、平面できれいに分離することができる。
では、実際のパーセプトロンでこのような効果をもたらすにはどうしたらいいだろうか。パーセプトロンは「入力層・連合層・出力層」という3層構造になっていた。しかし、入力層と連合層の間はランダムに配線されていてそのままいじらない。連合層と出力層の間の配線を、結果によって、重みづけを変えていくことで、学習をしていった。つまり、学習をするのは連合層と出力層の間の配線だけなのだ。このようなパーセプトロンの次元をあげるには、「入力層・隠れ層・連合層・出力層」と層をひとつ増やしてやればいい。
その代わり、隠れ層と連合層の間の配線、連合層と出力層の間の配線の2つを、出力結果によって変えていくことで学習をさせていかなければならないので、学習方法はかなり複雑になってしまう。
とは言え、パーセプトロンに層をひとつ追加することで、XOR演算を含む事象についても学習できるようになる。現在の多層パーセプトロンは、20層、30層というものも珍しくなく、多次元での学習がおこなえるようになっている。いずれにしろ、ミンスキーの指摘したパーセプトロンの限界は、乗り越えることができたのだ。
さらに多層パーセプトロンを効率的に学習させるアルゴリズムも開発された。バックプロバゲーションと呼ばれる方法だ。ローゼンブラットのパーセプトロンは単純で、入力層・連合層、出力層の3層しかなく、学習をするのは連合層と出力層の間の配線だ。この各配線の重みづけを変えることで学習をしていく。
しかし、入力層・隠れ層・連合層・出力層という多層パーセプトロンでは、隠れ層・連合層、連合層・出力層の間という2カ所で学習をする。隠れ層は何層でも設定することができるが、そのたびに学習をする配線の箇所が増えていく。このように複数の層で学習をするにはどうしたらいいだろうか。これを解決したのがバックプロパゲーションだ。
バックプロパゲーションを利用して多層パーセプトロンに学習させるには、あらかじめ正解がわかっている材料で学習をさせる。たとえば、猫の写真を大量に見せて学習をさせ、それから未知の猫の写真や犬の写真を見せて、それが猫であるかどうか判定させるというようなものだ。
猫の写真を見せて、出力層の結果を見れば、学習が完全だった場合の出力結果と実際の結果の誤差が各素子ごとに計算できる。この出力素子は、複数の連合素子と結ばれていて、その配線は太い=重みづけが大きいもの、細い=重みづけが小さものがある。出力素子に生じた誤差は、結ばれている連合素子のうち、重みづけが大きいものにより多くの原因があるはずだ。したがって、重みづけに応じて出力素子の誤差を連合素子に割り振っていく。すると、連合層の各素子の誤差が計算できる。これも同じように、隠れ層の複数の素子に結ばれているので、やはり重みづけに応じ誤差を割り振っていく。こうして、出力層から遡っていくことで、隠れ層が何層あろうとも、隠れ層の各素子の誤差を決定することができる。こうして、各誤差がもっとも小さくなるように重みづけを調整していく。このようにすれば、多層パーセプトロンは学習をしていくことができるのだ。
現在の深層学習をする多層パーセプトロンは、隠れ層が20も30も組みこまれている。写真を見せたとき、第1隠れ層では、小さな点や丸、直線といった微細な図形を認識し、抽出する。第2隠れ層では、このような微細図形が組み合わされた集合パターンを認識する。第3隠れ層では、微細図形の集合同士の関連を認識するというように、出力層の方向に向かって、微細なパターンから統合されたパターンへと、次第に高次元の認識をしながら、学習を進めていく。
深層学習の最大のメリットは、人間が手取り足取り教える必要がないということだ。猫の写真を認識させるには、以前であれば、「猫は耳が尖っている」「顔が丸い」などの猫の特徴を人間が教えて、画像分析により、その量を計算させ、それに従って学習を進めていく必要があった。しかし、多層パーセプトロンは、ただ写真を見せるだけで、「猫の特徴」をパーセプトロン自身が分析して学習していくのだ。
つまり、余計なことを考えず、ただ学習材料を大量に学ばせるだけで、自分でその特徴を見わけて認識できるようになる。チェスのプログラムをつくるには、チェスに深い見識をもつ人間が、チェスの勝ち方を教えてやる必要があった。しかし、深層学習では、ただ棋譜を大量に読みこませれば、多層パーセプトロンが自分で勝ち方を編みだしてくれる。このため、さまざまな分野で深層学習は利用されるようになった。これが現在の人工知能ブームを支えている。専門家でなくても、公開されている深層学習エンジンを使って、さまざまな学習をさせることができるからだ。
ミンスキーは、パーセプトロンを完全否定したわけではない。あまりに能力が限定であるために、当時としてはパーセプトロンの研究をしても、知能というものにたどりつくことはむずかしいだろうと感じたのだ。一方で、パーセプトロンが知能を支える基本的な機構であることも認めていた。ミンスキーの見通しどおり、パーセプトロンは長い時間かかって、多くの人の知恵で進化をしてきて深層学習ができるまでになった。
しかし、ミンスキーはもうこの世にいないが、深層学習をする多層パーセプトロンを見て、なんと発言しただろうか。おそらく、再び「多層パーセプトロンが学習できることは限定的」と批判をしたのではないだろうか。実際、深層学習でできることはパターン判別だけなのだ。「ある動物の写真が猫であるかどうかを見わける」という程度のことしかできない。
それでも応用分野はとてつもなく広い。街頭の監視カメラ映像を見て、写っている個人を特定する。株式相場のグラフを見て、上昇相場であるかどうかを見わける。工作機械などの振動パターンを見て、故障率が一定以上に高まっているかどうかを見わける。さまざまな分野に応用ができる。
(その11に続く)
1
映画『スノーデン』を3倍楽しむための7つのポイント
January 30, 2017
2
ハッカーの系譜(10)マービン・ミンスキー (8) 世界初 機械学習可能なネットワーク「パーセプトロン」誕生
March 10, 2017
3
トランプ政権のへっぽこセキュリティ事件簿 (3) Twitterハッキング危機一髪
February 10, 2017
4
違法スパイ装置と見なされたIoT人形「ケイラ」とは?(前編)
February 27, 2017
5
セキュリティ企業の「2017年のサイバー脅威レポート」ガイド
January 4, 2017
6
トランプ政権のへっぽこセキュリティ事件簿 (2) Galaxy S3を使い続けるリスク
February 9, 2017
7
ハッカーの系譜(10)マービン・ミンスキー (1) 知られていない「人工知能の父」
February 3, 2017
8
違法スパイ装置と見なされたIoT人形「ケイラ」とは?(後編)
March 1, 2017
9
FBIのWebサイトがハッキングされ漏洩データがPastebinに公開される
January 16, 2017
10
違法スパイ装置と見なされたIoT人形「ケイラ」とは?(中編)
February 28, 2017