メルマガ登録
アナリティクス本部 AIプラクティス部の千葉紀之です。
AIの技術領域の一つである機械学習は、深層学習(ディープラーニング)の登場により画像分野で大きなブレークスルーがありました。特に画像認識は、異常検知や外観検査、侵入検知、物体検出など、幅広い用途に活用されるようになってきました。
画像認識とは、画像の中に写っているものが何であるのかを、コンピューターなどが認識するための技術です。画像から色や形といった特徴を読み取り、その特徴から新たな画像を認識できるようにしたパターン認識技術のひとつです。
画像認識に似た言葉に、画像処理、画像理解があります。本文では、画像処理は画像に対して数学的な変換処理をかけること、画像理解は画像(2次元)から、被写体の三次元情報を復元することとし、画像認識とは明確に区別します。
画像認識の代表的な種類は、以下のようなものが挙げられます。
画像認識の歴史は、1940年代の「バーコード」から始まります。このバーコードは、バーとスペースの組み合わせで数字や文字を読み取る技術で、現在でも広く使われています。現在では、横方向のみに対応する一次元コードのバーコードとは異なり、ドットを縦横に配置してより多くの情報を表す二次元コードのQRコードも広く普及しています。
1990年代の後半から2000年代にかけてデジタル機器(デジタルカメラ等)の技術革新が進むと同時に、インターネットの世界的な発展を背景に画像認識技術も一般的な存在として応用範囲が広がりました。また計算機等のハードウェアの発展により、データを高速に処理可能になりました。
当時の代表的な技術としてテンプレートマッチング等が挙げられます。これは画像に映る物体の位置を検出しします。画像そのものをテンプレートとし、対象の画像の一部分との類似性をスライドしながら単純比較していきます。この方法によって、対象の物体が画像内のどこに映っているか、いくつ映っているかといった情報を画像から抽出することができます。しかしこの方法は照明変化や形状変化が大きい場合などに、認識率が大幅に低下するという問題もありました。また認識したい対象ごとにテンプレートが必要であり、実用性に課題がありました。
照明変化や形状変化に対して頑強な手法として、2000年以降では統計的学習手法と局所特徴量を組み合わせる手法が主流となりました。従来の識別手法であるサポートベクターマシーン(SVM)が見直されたことにより、画像認識技術の精度が飛躍的に改善されました。このような各技術やハードウエアの発展により、これまで実時間では不可能と思われてきた画像認識を応用した製品が実用化されるようになりました。
画像認識の歴史において決定的となった出来事が2012年に起きます。世界的な画像認識のコンペティションである「ILSVRC(Imagenet Large Scale VisualRecognition)2012」で、深層学習を利用した手法が圧倒的な勝利を収めました。画像からSIFT等の局所特徴を多数取り出し、これらを1枚の画像全体の特徴に変換するといった従来の手法のエラー率に対して10%以上もエラー率を改善しました。コンテストは2012年以前、毎年1~2%単位でエラー率を減少させていたことからも、この結果が驚異的なことであったことは理解できます。更にエラー率は年々低下を続け、2015年には人間のレベルを超える5%以下のエラー率となりました。これが大規模画像認識コンテストにおける深層学習の最初の成功例です。その実績は第3次AIブームの火付役となりました。
従来の画像認識では、①入力画像を取り込み、②目的に応じて必要な情報(特徴量)を抽出し、③抽出した情報を利用して認識などの出力を得る、という手順で処理フローを組み立てます。認識の目的に合った出力を得るためには、特に②の特徴量抽出が重要です。どのような特徴量を抽出したかに応じて最終的に得られる出力結果も大きく異なってくるため、画像から色や形状、輪郭など、適切な出力を得ることのできる規則性を持った特徴量を見つける(特徴量設計をする)必要があります。そして、この特徴量設計は非常に手間がかかります。猫と犬、それぞれの品種を判別したい場合、例えば、耳や顔の形などに注目するように、予め人手で特徴量を設計する必要があります。しかし、耳の形と顔の形も個体差などによって一律に決めることはできません。場合によっては、複数の特徴量を設計しなければならないこともあり、人手だけでは限界がありました。そこで深層学習では、その特徴量設計を自動化させています。つまり深層学習は従来の技術と違いは、特徴量を自動で抽出できることになります。深層学習は、人間が対応できない膨大な量のデータから学習します。そこから、人間がたどり着けない発想の特徴量を導き出せる可能性があると言えます。
深層学習の発展の要因の一つとして、エンドツーエンド(end-to-end)学習の実現も挙げられます。従来の手法では、入力データが与えられてから結果を出力するまで、比較的単純なタスク群に分割した多段の処理が必要でした。エンドツーエンド学習では、すべてのタスクを一気通貫で処理できるように学習していきます。画像認識の分野でも、従来のアプローチの多くが、深層学習ベースの手法に置換されつつあります。
物体検出は、入力画像から任意の数の特定物体のクラスと位置を認識するタスクです。物体検出のアルゴリズムはいくつか存在しますが、タスク全体を位置検出と領域の分類それぞれで解くアプローチは、直感的でかつ高性能なことが多く、広く用いられています。従来の物体検出では、各サブタスクが独立で処理されてきました。一方、深層学習では各タスクがネットワーク化され、それらがエンドツーエンドに最適化されています。画像に対して、一度のみ実行される特徴抽出処理が、その他の処理の多くで共有されている、つまりエンドツーエンド学習の導入によるサブタスク間でのパラメータ共有が、処理の効率化につながったと考えることができます。従来は後処理とみなされるサブタスクもエンドツーエンドの中に取り込むことで、従来の物体検出では人手で設定されてきたパラメータの排除できるのです。
ここまでは、深層学習のメリットの一部を紹介しました。一方で、深層学習にもデメリットはあります。以下に、一例を挙げます。
上述した通りデメリットも考えられますが、深層学習によって画像認識などでルールが明確に定義されている領域では、既に人間以上の精度を達成しています。本章では、データと認識モデル、それぞれの観点で、最近のトレンドについて述べます。
深層学習が画像認識においてブームとなった要因の一つは、大規模なデータを用いた学習された学習済みモデルと小規模なデータを用いた転移学習の成功が挙げられます。転移学習とは、効果的な仮説を効率的に見つけ出すために、別のタスクで学習された知識を転移する機械学習の手法です。転移学習に学習済み(事前学習)モデルを転用することで、大量のデータと学習にかかる時間を削減することができ、かつ精度の高いモデルを構築することができます。具体的には、ImageNetやMSCOCOなど、大規模なデータセットで事前にモデルを学習し、その結果をもとに別の小規模なデータセットで学習を行うという2段階の学習が主流となっています。この方式によって、独自の小規模なデータセットでも、適切な学習済みモデルを用意することができれば、極めて高性能なモデルを構築することが可能です。
一般的に深層学習の精度は学習用データセットの質と量に依存しますが、高品位なデータセットの用意は手間やコスト面で高いハードルになります。このようにImageNetやMSCOCOなどの大規模なデータセットやそれらで学習された学習済みモデルを利用することも多くなります。これらの大規模データセットには、いくつかの問題点も存在します。
一例として、ImageNetのテスト・データセットを調査したところ、画像の6%にラベルの間違いが見つかったとの報告もあります。モデルの学習とテストに使われるデータに基本的な間違いが潜んでいる場合、これによってモデルの正確な性能がわからなくなります。
大規模な学習用データセットの課題に対して、自己教師あり学習は、データ自身から独自のラベルを機械的に作り、学ばせるようなタスクです。事前に大量の学習データを準備する必要がありませんので、人間のアノテーション作業の負担を大きく削減可能という高い実用性を持ちます。自然言語処理の世界では、2013年に発表されたWord2Vec3や2018年のBERT4など、画像に先行して発展していましたが、画像においては最近まであまりいい表現が得られないなど課題が多い表現学習手法でした。しかし、近年、対照学習と呼ばれる方法論や、対照学習の課題を解決した発展手法の登場などにより、自己教師あり学習で学習した重み(ニューラルネットのパラメータのこと)を用いてわずかな教師ラベルのみ学習した後流のモデルが、大規模なデータセットで教師あり学習で学習したモデルに匹敵する性能を出すようになってきています。
これまでは学習用データの観点で技術を紹介してきました。ここからは、深層学習ベースのモデルそのものの技術的動向について述べます。
コンピュータビジョン領域では,長らくConvolution Neural Network(CNN:畳み込みニューラルネットワーク)ベースのモデルが広く使われてきました。最近ではVision Transformer (ViT)などのようなAttentionベースのネットワークや、Attentionを使わず、最も基本的な深層学習手法であるMulti-Layer Perceptron (MLP)ベースのネットワークが注目を集めています。
Transformerは、もともと自然言語処理分野での研究が進んでいました。2017年に初めて登場した深層学習モデルで、自然言語処理分野にブレークスルーを起こしました。それまで主流だったCNN、RNNを用いたエンコーダーデコーダーモデルとは違い、エンコーダーとデコーダーをAttentionというモデルのみで結んだネットワークアーキテクチャです。2019年頃から画像認識の分野にも応用が広がってきました。画像認識の領域でも、画像分類や領域分割、物体検出、深度推定などの様々なタスクで利用されています。
ViTは、一般的CNNを利用せずにTransformerのみを画像に適用し、かつ高い精度を達成することに成功しました。最先端のCNNベースのモデルと同等以上の結果結果を得え、学習に必要な計算コストを大幅に減らしました。ただし、データセットの規模が小さいとTransformerは汎化性能が低下してしまうという問題が明らかになっています。
CNNをベースとしたモデルやAttentionをベースとしたモデルがよく使われようになった一方で、近年注目を集めているのがCNNもAttentionも使わない、MLPをベースとしたモデルです。CNNもAttentionも使わないために単純なアーキテクチャなっており、学習時間が短いという大きなメリットがあります。精度もCNNやAttentionをベースとしたモデルと変わらないという特徴があります。
この記事の続きはこちら
あなたにオススメの記事
2023.12.01
生成AI(ジェネレーティブAI)とは?ChatGPTとの違いや仕組み・種類・活用事例
2023.09.21
DX(デジタルトランスフォーメーション)とは?今さら聞けない意味・定義を分かりやすく解説【2024年最新】
2023.11.24
【現役社員が解説】データサイエンティストとは?仕事内容やAI・DX時代に必要なスキル
2023.09.08
DX事例26選:6つの業界別に紹介~有名企業はどんなDXをやっている?~【2024年最新版】
2023.08.23
LLM(大規模言語モデル)とは?生成AIとの違いや活用事例・課題
2024.03.22
生成AIの評価指標・ベンチマークとそれらに関連する問題点や限界を解説