このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第561回

AIの基礎知識 AIプロセッサーの昨今

2020年05月04日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

優れたAIを作り出すには
膨大な学習が必要

 AI、あるいはCNN/DNN(Deep Neural Network:層数の深いNeural Network)といった話題が一般にも出てき始めたのが、まさにこの2015年前後である。NVIDIAがGTCの基調講演で最初に機械学習に触れたのは2014年だったと思うが、この時点でAIに舵を切ったことを大々的に発表したのはNVIDIAが最初だったはずだ。

 そのAIへの傾倒ぶりは、当時としては少し異様にすら映ったが、結果として現在Trainingの市場をほぼ独占していることを考えると、間違いではなかったと思う。

 CNNのもう少し細かい動作や内部構造の話は次回解説するが、その前にTraining(学習)とInference(推論)について触れておく。人間であってもそうだが、そもそも「これは何」ということを知らなければ、分類することはできない。

 ILSVRCの場合、スタンフォード大が立ち上げたImageNetと呼ばれる、巨大な画像ライブラリーを利用して学習させることになっている。

 現時点ではここに1419万7112枚の画像が格納されているが、ILSVRC 2012の時点では128万1157枚の画像が学習用に提供されていた。このうち54万4546枚には注釈が付いている。この注釈というのは、要するにその画像がどんなものか、という説明である。

 もともとImageNetでは、ボランティアで手作業で細かく画像の分類がなされている。これを利用して、あらかじめ学習という作業をするわけだが、これをどうやるか。一番ポピュラーな方法が、Back Propagation(誤差逆伝播法)という方法である。

mammal(哺乳類)→Placental(胎生)→Carnivore(肉食動物)→Canine(イヌ科)→dog(犬)→working dog(作業犬)→Husky(ハスキー)という具合に、細かく分類されている

こちらは説明の必要もないだろう

学習方法

 上図はAlexNetを例にとったが、推論という処理は上段で、入力画像をまず入れてやると、ネットワークを通って最終的にその画像がなにか? というタグが出力される。学習は下段で、同じようにまず画像を入れるのだが、こちらはあらかじめ正解(例えば“犬”など)がわかっている画像である。

 これをネットワークに通した結果、結果が“猫”だったら、これを“犬”と見なすように、各段のパラメータを細かく修正していくことになる。ただこれを1枚でやってたら全然収束しないので、大量(ILSVRC 2012なら128万枚)の画像を流し、トータルとして一番誤差が少なくなるように調整するわけだ。またその際に、まず畳み込み#5、次いで畳み込み#4、#3...というように逆順でパラメーターの調整をする形になる。

 パラメーターの調整そのものは、人手でやれるような規模ではないので自動で行なわれるが、一般論として「大量に学習させるほど賢いネットワークになる」ため、とにかく大量の計算処理がここで発生することになる。

 AlexNetの場合はNVIDIAのGPUカード2枚で2週間ほどかかったとしているが、5層ですらこれなので、ResNetなど猛烈な計算を必要としたというのは想像に難しくない。

 今回はAIの概略の解説にとどめたので、次回はもう少し細かな説明をする予定だ。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン