新品互換用パソコン バッテリー、ACアダプタ、ご安心購入!

ノートpcバッテリーの専門店



人気の検索: ADP-18TB | TPC-BA50| FR463

容量 電圧 製品一覧

スペシャル

AIはどのように文字や画像を識別するのか? AIプロセッサーの昨今

AIの大まかな話は前回説明した通りだが、もう少し細かく「なにをやっているか」を今回説明したい。

やや古い話であるが、GTC 2015においてFacebookのRob Fergus氏が“Visual Object Recognition Using Deep Convolutional Neural Networks”というトレーニングコースを実施しており、現在もGTC オンデマンドで視聴できる。

25分ほどの短いセッションで、英語も平易なのでわかりやすいが、こちらのスライドをもとに、そもそもConvolutional Neural Networkではどんな計算処理が必要かを細かく説明していこう。

コンピューターに文字や画像を認識させる 畳み込みニューラルネットワーク

そもそも畳み込みを使うConvolutional Neural Networkを最初に提唱したのは、Facebookに在籍しているYann LeCun氏らによる“Backpropagation Applied to Handwritten Zip Code Recognition”という1989年の論文である。

これは手書きの郵便番号を認識するシステムで、0~9の数字が認識できればいいわけだが、これの認識に下の画像の下側のようなネットワークを考案した。

郵便番号を認識するシステム。右上がYann LeCun氏。これは氏がまだAT&Tのベル研究所にいた時のものである

このネットワークは学習の完了後に1%程度のエラー率で手書きの数字を認識でき、またAT&TのDSP-32Cという汎用DSP(性能はピークで25MFlops)に実装したところ、毎秒30回の認識できたとする。アメリカの場合は郵便番号が5桁なので、つまり毎秒6つの郵便番号を認識できることになる。

前回紹介したAlexNetに比べるとだいぶシンプルではあるが、10種類の文字の認識程度であればこれでも十分、という話である。

LeCun氏のネットワークの場合、まず畳み込みを2回繰り返し、その後で3層の全結合が行なわれる。意味合い的には、最初の2層の畳み込み層で、入力画像をいわば部品に分解、続く3層でその部品の結果を組み合わせて最終的な判断をする形になる。

画像を調べて特徴を抽出する 「畳み込み」

そこでまずは畳み込み層の説明をしよう。ここは畳み込み→非線形関数→サブサンプリングという3つの作業からなる。

非線形関数(Non-linearity)は、活性化関数と呼ぶことも多い。前回触れたニューロンの「発火」にあたる処理である

さてその畳み込み、確か高校までの数学には出てこなかった「気がする」(なにしろ高校卒業なんてもう40年近く前なので……)。おそらく大学の教養課程の数学で学んだか、物理数学の時間だったかもしれないと思うのだが。

数学的に言えば、2つの関数の重ね合わせのことを畳み込みと表現する。ただここで数式を並べても意味がないので実例で説明したい。

下の画像は、入力画像(左側)とフィルター(Inputの右下:Kernelとも呼ばれる)の畳み込みを行なった出力(Feature Map)を示したものだ。

このフィルターそのものは、学習フェーズで自動的に生成される。というより、このフィルターを生成するために学習というステージが発生する

ここでどんな処理をしているかというのが下図である。要するに左上から右下まで、フィルターの位置を少しずつずらしながら、入力画像とフィルターを重ね合わせ、合計値をFeature Mapとして出力する形になる。



お問い合わせ