非線形関数で得たデータのサイズを縮める
「サブサンプリング」
最後がサブサンプリングである。Feature Mapで特徴を抽出し、非線形関数でそれを強調した後、そのままのサイズで次の処理に移るとデータ量が大きすぎる、という問題がある。そこで、特徴を生かしたままサイズを縮めて扱いやすくするのがこのサブサンプリングである。
これも先の畳み込み同様、小さいサイズ単位(上の画像なら3×3)で行なうのだが、3×3の中で一番大きな値をそのまま出力するMax Poolingや、3×3の全体の値を平均化するAvg Poolingなどがある。
計算の手間で言えばMax Poolingの方が若干楽ではあるのだが、最近はMax PoolingとAvg Poolingのどちらも一発で計算できるアクセラレーターが増えてきているあたり、用途に応じてここは調整しているようだ。
以上で、畳み込みの説明が完了である。前回のAlexNetの場合、層の数が増えるにつれ、ImageあるいはFeature Mapのサイズは小さくなっているが、なにしろ5層構造だし、そもそもの画像サイズが大きいから計算には時間がかかるのが理解できるだろう。
畳み込みを繰り返して精度を上げる
余談ではあるが、第1層~第5層それぞれの入力画像とフィルター画像を並べたのが下の画像である。
第1層~第3層までは、全体の一部が切り取られている格好なので、なんの画像なのかさっぱりわからないが、サブサンプリングによってだんだん画像の全体像が見えてくるようになっている。
言ってみれば、目的とする識別に必要な画像の特徴を抽出かつ小型化することで、続く全結合層で判断をしやすくするのがこの5層にわたる畳み込み層の目的、ということがおわかりいただけるだろう。
画像を識別させる
「全結合」
さて、続く全結合層だが、これは最終的に画像の識別を行なわせるための準備である。冒頭で触れたLeCun氏のネットワークの場合、最終的には0~9という数字を認識するのが目的である。
そこで0~9という10個の出力ユニットを用意し、例えば“3”であれば“3”の出力ユニットのみ1、他は0になるような仕組みにすればいい。実際はそこまでうまくいかず、3の確率が75%、8の確率が15%、3と9の確率がそれぞれ5%といった形での出力になるのだが、そうした確率が出てくるだけマシである。
AlexNetの場合は1000種類の識別が要求されているので、出力ユニットもやはり1000個になる。ただ、いきなり1000個にはできないので、4096個の層を2回挟んでの出力になる。
ちなみに全結合だが、これは名前の通りすべての値を、係数をかけて足し合わせるものだ。下図は簡単化するために、入力を4×4の16、出力を8にしたが、この場合各々の出力に対して16回の乗算と足し算を行う形である。
ここで係数は出力ごとに異なっている。つまり16×16の入力画像を8つに全結合するだけで、128回の乗算と加算が必要になるわけだ。
AlexNetの場合、最終的には13×13(ピクセル)×256(フィルター数)の出力を4096個のアウトプットに出力するのに1億7720万9344回の乗算と加算、次いで4096個を4096個に再び全結合するのに1677万7216回の乗算と加算、最後これを1000個の出力ボックスにまとめるのに409万6000回の乗算と加算が必要になる。
やってることは乗算と加算だけなのだが、なにしろその回数がシャレにならないほど多いのがおわかりいただけるだろうか?
ラフに言っても1枚の処理に10億回以上の乗算と加算が必要で、仮にメモリーアクセスのレイテンシーなどが一切ないとしても、1.4GHzのCPUをフル駆動させて1枚あたり1秒で処理できるかどうか、というあたりである。
ちなみにこれは「たった1枚の画像」を処理する際の時間である。推論、つまり入力画像からその内容を判断するのはこの時間で済むが、学習のフェーズではこの百万倍の時間が必要になる。実際にはパラメーターを調整しながら何度も繰り返して投入することになるので、数百万倍の可能性もある。このあたりの数字の大きさの感覚をご理解いただければ、説明としては十分である。
この連載の記事
-
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ