―― とまあ、そういう戯言(ざれごと)はさておき、ここからは、CNNの各層とフィルターのバックプロバゲーションについて、もう少し詳細に説明します。ポイントは、ニューラルネットを「ぶった切る」ことにあります。
「ぶった切り」については、前回にも、「深層学習(ディープラーニング)は、各層をぶった切って、バラバラにして学習する」という説明をしましたが、CNNは、それに加えて、ニューラルネットワークそのものを、細分化して、いわば「無数のマイクロニューラルネットワーク」とするように「ぶった切って」いることにあります。
バックプロパゲーションとは、自分の前の層に対する、後ろの層からの反撃です。従来の(第二次AIブーム)のニューラルネットでは、この反撃を一斉かつ同時に行い、結果として、効率的な反撃に失敗して、局地的最適(ローカルミニマム)に陥ってきました。
ところが、CNNでは、全面攻勢を否定し、局地戦に戦術を変えたのです。これらの局地戦は、極めて小規模でありながら、しかし大量に、一斉に、同時に、全面攻勢をしかけることで、中途半端な勝利(ローカルミニマム)に陥ることなく、学習を進めていくことを実現しています。
つまり、CNNの学習プロセスとは、一軍による「驀進」ではなく、無数の精鋭分隊による「個別撃破」なのです。
今回の検討で、その個別撃破に必要となる、コンピュータの計算時間を頭の中でイメージして、愕然(がくぜん)としました ―― こんな「精鋭部隊」をそろえて、何万回ものバックプロパゲーション(戦闘)を続けていたら、学習が完了する前に、私の寿命が尽きる、と確信できたからです。
よくもまあ、先行研究員たちは、こんな(CNNやAEの)アルゴリズムに挑戦しようと思えたものだなと、感心するより前に、あきれてしまいました。
しかし、この精鋭分隊による「個別撃破」は、1台のコンピュータでなくても、バラバラに計算(並列計算)できる部分が多いことも理解できました。
だからこそ、深層学習は、並列計算ができるように構成された複数のPC群(クラスタ)や、あるいは、PCのCPU能力を占領せずに並行に計算の実施できるGPU(Graphics Processing Unit)*)とともに発展してきたのだ ―― ということが、私の腹にストンと落ちてきました。
*)リアルタイム画像処理に特化した演算装置やプロセッサ
本件を総括すると、こういうことになります。
(1)「『深層学習 ―― ディープラーニング』に対するウソの記載を糾弾する私のコラムの内容自身に、ウソの記載があった」という事実
(2)今回、私のウソの記載に対してキチンと指摘してくれた人が、1人だけいたという事実
(3)私の方からアプローチしなければ、私のウソ記事は看過されて、ウソのウソが(ええい、表現が面倒くさいな)公開され続けることになっていたハズという事実
の3つです。正直、私はかなりのショックを受けています。
私は、AI技術の理解を促進するために、あえて不正確な記述を行うこともしてきましたが、それは、私が、「その方がメリットがある」と確信した上で行っていることですので、それについて指弾されることは恐しくありません。
今回のCNNに対する私のウソの記載は、世間のほとんどの人にとっては「どーでもいい」ことだとしても、これから深層学習を学ぶ初学者に対しては、とんでもない悪影響を与えたに違いない、ということは、この私でも理解できます。
私は「技術は人間を幸せにする」という個人的な信念をもち、エンジニアとして「技術で社会に貢献する」を社是としている会社に勤務している身の上です。
そういう観点から見れば、私のウソは、その辺に転がっているウソとは、インパクトが違うのです(と私は思っています)。この件については、もっとたくさんの人から、批判や指摘を頂きたかったです。
今回の事実は、3つの現実を私に突き付けました。
(1)「AI技術がどう動作しようが知ったことか」と考えている人が、たくさんいること
(2)江端のウソを指摘できるだけの(技術的)知見を持っている人が、少ないこと
(3)江端の記事に興味がないか、当初から信用していない人が、かなりたくさんいること
どれを取っても、私を落ち込ませるには、十分でした。
Copyright © ITmedia, Inc. All Rights Reserved.