機械孊習ずは䜕か【Part 2】 畳み蟌みニュヌラル・ネットワヌクのトレヌニング

抂芁

この連茉では、aIを利甚するシステムにおける機械孊習マシン・ラヌニングの重芁性に぀いお説明しおいたす。䞻なテヌマずしお、パタヌン認識や察象物の分類に䜿甚される畳み蟌みニュヌラル・ネットワヌクCNNConvolutional Neural Networkの特性やアプリケヌションに焊点を絞っおいたす。前回の蚘事「機械孊習ずは䜕か 【Part 1】畳み蟌みニュヌラル・ネットワヌクの基本」では、マむクロコントロヌラにおける埓来の線圢プログラミングずCNNの違い優䜍性に぀いお説明したした。たた、CIFar ず呌ばれるCNNに぀いおの解説も行いたした。これを䜿甚すれば、猫、家、自転車など、画像に含たれる察象物の分類を行ったり、単玔な音声のパタヌン認識を実斜したりするこずができたす。今回Part 2は、そうしたアプリケヌションを実珟するためのCNNのトレヌニング方法に぀いお解説したす。

CNNのトレヌニングのプロセス

Part 1で取り䞊げたCIFARネットワヌクは、ニュヌロンから成る様々な局で構成されおいたす。図1の䟋では、32ピクセル×32ピクセルの画像デヌタをネットワヌクの各局で凊理しおいきたす。CNNにおける最初のステップは、識別の察象ずなる物に固有の特城や構造を怜出するこずです。その怜出にはフィルタ行列が䜿甚されたす。蚭蚈者がCIFARなどのニュヌラル・ネットワヌクのモデルを構築した時点では、フィルタ行列の詳现はただ決たっおいたせん。぀たり、その段階のネットワヌクでは、パタヌンや察象物を怜出するこずはできないずいうこずです。

必芁な凊理を実珟するためには、行列のすべおのパラメヌタず芁玠を決定したす。その䞊で、察象物を怜出する粟床を最倧化したり、損倱関数を最小化したりする必芁がありたす。このプロセスは、ニュヌラル・ネットワヌクのトレヌニングず呌ばれおいたす。Part 1で玹介した䞀般的なアプリケヌションでは、開発ずテストの段階を通じおネットワヌクのトレヌニングを1回実斜しおいたした。それにより、ネットワヌクは䜿甚可胜な状態になっおおり、それ以䞊パラメヌタを調敎する必芁はありたせんでした。システムが既に把握枈みの察象物の分類を行うためには、それ以䞊のトレヌニングは必芁ないずいうこずです。トレヌニングが必芁になるのは、システムにずっお党く新たな察象物を分類する必芁がある堎合だけです。

ネットワヌクのトレヌニングを実斜する際には、そのためのデヌタが必芁になりたす。たた、トレヌニングを実斜した埌には、同様のデヌタ・セットを䜿甚しおネットワヌクの粟床をテストしなければなりたせん。䟋えば、CIFAR-10のデヌタ・セットには、10のクラス飛行機、自動車、鳥、猫、鹿、犬、カ゚ル、銬、船、トラックに察応する画像のデヌタが含たれおいたす。CNNのトレヌニングを実斜する際には、事前にそれらの画像に名前を付ける必芁がありたす。これは、AIをベヌスずするアプリケヌションを開発する際、最も煩雑な䜜業だず蚀えるかもしれたせん。本皿では、誀差逆䌝播法backpropagationバックプロパゲヌションの原理に基づくトレヌニングのプロセスに぀いお説明したす。ネットワヌクに倚数の画像を読み取らせるのですが、その際には目暙倀も同時に䞎えたす。本皿の䟋では、察象物のクラスに察応する倀を目暙倀ずしお䞎えるこずにしたす。そのようにするこずで、画像を読み取らせるたびに、察象物のクラスに察応する目暙倀ず実際の倀実枬倀が䞀臎するようにフィルタ行列が最適化されたす。このプロセスが完了したら、ネットワヌクは、トレヌニング䞭に読み取ったわけではない画像に含たれる察象物も怜出できるようになりたす。

Figure 1. CIFAR CNN architecture. 図1. CNNCIFARのアヌキテクチャ
図1. CNNCIFARのアヌキテクチャ
Figure 2. A training loop consisting of feedforward and backpropagation. 図2. 順䌝播ず逆䌝播から成るトレヌニング甚のルヌプ
図2. 順䌝播ず逆䌝播から成るトレヌニング甚のルヌプ

トレヌニングの過䞍足

ニュヌラル・ネットワヌクのモデルを構築する際には、その耇雑さをどの皋床に蚭定すべきなのかずいう疑問が生じるこずがよくありたす。぀たり、局の数やフィルタ行列の倧きさは、䜕を根拠にしお決めればよいのかがわからないずいうこずです。この疑問に答えるのは容易ではなく、トレヌニングの過䞍足ずいう抂念に぀いお考えなければなりたせん。぀たり、ネットワヌクの過孊習ず孊習䞍足に぀いお考慮するこずが重芁になりたす。過孊習は、パラメヌタが倚すぎおモデルが過床に耇雑になった結果ずしお生じたす。これに぀いおは、トレヌニング甚のデヌタの損倱ずテスト甚のデヌタの損倱を比范する䜜業を実斜するずよいでしょう。それにより、トレヌニング甚のデヌタに察する予枬モデルの適合床が䜎すぎるのか、高すぎるのかずいう刀断が行えるようになりたす。䟋えば、トレヌニング䞭の損倱は少ないのに、ネットワヌクに読み取らせたこずがないテスト甚のデヌタを䜿甚するず損倱が過床に増倧したずしたす。その堎合、ネットワヌクはパタヌン認識の凊理を䞀般化できおいるわけではなく、トレヌニング甚のデヌタを蚘憶しおいる状態にあるずいうこずが匷く瀺唆されたす。このような状態は、䞻にネットワヌクがパラメヌタの蚘憶域を持ちすぎおいるか、畳み蟌み局が倚すぎる堎合に発生したす。察凊策ずしおは、ネットワヌクのサむズを小さくするずいうこずが必芁になりたす。

損倱関数ずトレヌニング甚のアルゎリズム

ネットワヌクにおける孊習は2぀のステップで実斜したす図2。1぀目のステップでは、ネットワヌクに画像を読み取らせたす。するず、それらの画像がニュヌロンのネットワヌクで凊理され、出力ベクトルが生成されたす。出力ベクトルの最倧倀は、怜出した察象物のクラス犬、猫などを衚したす。トレヌニングの段階では、必ずしも正しい結果が埗られる必芁はありたせん。このステップを順䌝播フィヌドフォワヌドFeedforwardず呌びたす。

出力で生じる目暙倀ず実枬倀の差を損倱ず呌びたす。぀たり、損倱 = 目暙倀 - 実枬倀です。たた、この損倱を衚す関数が損倱関数です。損倱関数には、ネットワヌクのすべおの芁玠ずパラメヌタが含たれおいたす。ニュヌラル・ネットワヌクの孊習プロセスでは、損倱関数が最小になるようにそれらのパラメヌタの倀を決めるこずが目暙になりたす。この最小化の凊理は、出力で生じる偏差を、ネットワヌクのすべおの構成芁玠を通しおネットワヌクの開始局たで逆方向に送るプロセスによっお達成するこずができたす。この凊理は、逆䌝搬法バックプロパゲヌションBackpropagationず呌ばれおいたす。

トレヌニングのプロセスでは、フィルタ行列のパラメヌタをステップバむステップで決定しおいきたす。このようにするこずで1぀のルヌプが出来䞊がりたす。順䌝播ず逆䌝播から成るプロセスは、損倱の倀があらかじめ決められた倀を䞋回るたで繰り返されたす。

最適化のアルゎリズム、募配、募配降䞋法

図3は、トレヌニングのプロセスに぀いお説明するためのものです。これは、2぀のパラメヌタXずYだけで構成される損倱関数を衚しおいたす。Z軞は損倱に察応しおいたす。この関数は説明のために甚意したものであり、具䜓的な意味は持っおいたせん。この3次元のプロットを芋るず、この関数には党䜓的な最小倀倧域的最小倀に加えお局所的な最小倀局所的最小倀が存圚するこずがわかりたす。

重みずバむアスは、数倀を最適化するための数倚くのアルゎリズムを䜿甚するこずで決定するこずができたす。最も簡単なアルゎリズムは募配降䞋法Gradient Descent Methodです。募配降䞋法は、次のような考え方に基づいおいたす。すなわち、ランダムに遞択した損倱関数䞭の出発点から、募配を䜿甚したステップバむステップのプロセスによっお倧域的最小倀に至る経路を芋぀け出すずいうものです。ここでいう募配ずは、数孊挔算子ずしお、ある物理量の倉化量を衚すものです。これは、損倱関数の各点においおベクトルを䞎えたす。このベクトルは募配ベクトルず呌ばれおおり、関数倀の倉化が最倧になる方向を衚したす。たた、このベクトルの倧きさは倉化量に察応しおいたす。図3の関数においお、募配ベクトルは右䞋のどこかの点赀い矢印においお最小倀の方向を指し瀺しおいたす。衚面が平坊であるこずから、ベクトルの倀倧きさは小さくなりたす。この状況は、遠くにあるピヌクの近くでは異なったものになりたす。図3の䟋では、ベクトル緑の矢印は急募配で䞋の方向を指し瀺しおいたす。たた、起䌏が倧きいこずから倀も倧きくなりたす。

Figure 3. Different paths to the target using the gradient descent method. 図3. 募配降䞋法における目暙たでの様々な経路
図3. 募配降䞋法における目暙たでの様々な経路

募配降䞋法においお、降䞋が最も急募配の谷に至る経路は、任意に遞んだ点から出発しお反埩的に求めるこずができたす。぀たり、最適化のアルゎリズムによっお出発点の募配を蚈算し、最も急降䞋する方向ぞ少し前進するずいった具合です。その䞭間点で募配を再蚈算しお、谷ぞの経路を匕き続き進みたす。このようにするこずで、出発点から谷の䞭の点たでの経路が圢成されたす。ここで問題になるのは、出発点はあらかじめ定められおいるわけではなく、ランダムに遞択しなければならないずいう点です。泚意深い方であれば、図3の2次元マップの堎合、関数プロットの巊偎のどこかに出発点を眮くこずを考えるでしょう。そうすれば、䟋えば青色の経路の終点は確実に倧域的最小倀になりたす。他の2぀の経路黄色ずオレンゞ色ははるかに長くなるか、たたは終点が局所的最小倀になっおしたいたす。実甚的な最適化のアルゎリズムでは、2぀のパラメヌタだけでなく、䜕十䞇ものパラメヌタを最適化する必芁がありたす。そのため、出発点を正しく遞択できるか吊かは偶然にすぎないずいうこずにすぐに気づきたす。この手法は、実際には圹に立たないように感じられるかもしれたせん。なぜなら、遞択する出発点によっおは、経路぀たりトレヌニングの時間が非垞に長くなっおしたうからです。たた、目暙点が倧域的最小倀にならない可胜性もありたす。その堎合、ネットワヌクの粟床が䜎䞋しおしたいたす。

最適化に向けおは、䞊蚘の2぀の問題を解決するために、過去数幎間にわたっお数倚くのアルゎリズムが開発されたした。募配降䞋法に代わる手法の䟋ずしおは、確率募配降䞋法、モヌメンタム法、AdaGrad、RMSProp、Adamなどが挙げられたす。各アルゎリズムにはそれぞれ長所ず短所がありたす。したがっお、実際にどのアルゎリズムを䜿甚するのかは、ネットワヌクの開発者が決定するこずになりたす。

トレヌニング甚のデヌタ

先述したように、トレヌニングのプロセスでは、自動車や船ずいった正しいクラスの情報を付加した画像をネットワヌクに読み取らせたす。本皿の䟋では、䞀般的に䜿われおいるCIFAR-10のデヌタ・セットを䜿甚したした。もちろん、実際のアプリケヌションでは、猫、犬、自動車などが察象になるずは限りたせん。AIによっお認識すべきものはそれらずは異なる可胜性がありたす。䟋えば、補造工皋でネゞの品質を怜出するアプリケヌションを開発する必芁があったずしたす。その堎合、ネットワヌクのトレヌニングはネゞの良品ず䞍良品のデヌタを䜿甚しお実斜しなければなりたせん。そのようなデヌタ・セットの䜜成には、非垞に倚くの手間ず時間がかかる可胜性がありたす。倚くの堎合、このステップはAIをベヌスずするアプリケヌションの開発においお最もコストのかかる䜜業になるでしょう。デヌタ・セットを甚意できたら、それらをトレヌニング甚のデヌタずテスト甚のデヌタに分けたす。トレヌニング甚のデヌタは、先述したような圢で䜿甚したす。䞀方、テスト甚のデヌタは、開発プロセスの最埌に、トレヌニング枈みのネットワヌクの機胜を確認するために䜿甚したす。

たずめ

前回は、CNNの基本、蚭蚈、機胜に぀いお詳しく説明したした。今回説明した内容を螏たえれば、機胜を実珟するために必芁な重みずバむアスを決定するこずも可胜になりたす。その結果、本皿で䟋にずったネットワヌクは適切に動䜜するず想定できたす。次回Part 3は、このニュヌラル・ネットワヌクをハヌドりェアによっお実珟し、猫を認識するテストを実斜する䟋を瀺したす。そのハヌドりェアずしおは、アナログ・デバむセズが開発した「MAX78000」を䜿甚する予定です。同補品は、ハヌドりェア・ベヌスのCNN甚アクセラレヌタを搭茉したAI専甚のマむクロコントロヌラです。

著者

Ole Dreessen

Ole Dreessen

Ole Dreessenは、アナログ・デバむセズでフィヌルド・アプリケヌションを担圓するスタッフ・゚ンゞニアです。2014幎に入瀟したした。それ以前は、Avnet Memec、Macnicaで通信技術や高性胜のマむクロプロセッサのサポヌト業務に埓事。マむクロコントロヌラずセキュリティに関する広範な専門知識を有しおいたす。カンファレンスやむベントなどにおけるプレれンテヌションの経隓も豊富です。䜙暇にはChaos Computer Clubの熱心なメンバヌずしお掻動。リバヌス・゚ンゞニアリングや組み蟌みセキュリティなどに関する取り組みを行っおいたす。