AIポータルメディア「AIsmiley」| AI製品・サービスの比較・検索・資料請求サイト
TEL
MAIL
03-6452-4750

画像認識でよく聞く「CNN」とは?仕組みや特徴を1から解説

最終更新日:2021/12/07

AI(人工知能)の技術が発展したことで、近年はAIを活用する企業が増加しています。その中でも画像認識の技術はさまざまな分野で活用されており、業務効率化やセキュリティ強化など、さまざまな価値を生んでいるのです。

今回は、そんな画像認識の分野において欠かせない「CNN」の仕組みや特徴を1から詳しく解説していきますので、ぜひ参考にしてみてください。

■CNNとは

CNNとは、「Convolutional Neural Network」を略した言葉であり、日本語では「畳み込みニューラルネットワーク」とも呼ばれています。いくつもの深い層を持ったニューラルネットワークであり、主に画像認識の分野において価値を生んでいるネットワークです。

このCNNは、「畳み込み層」や「プーリング層」といったいくつかの個性的な機能を備えた層を積み上げることで構成されているのが特徴です。現在は、さまざまな分野で活用されていることから、その注目度も高まっています。

そんなCNNが主に価値を発揮しているのは、「一般物体認識」と呼ばれる画像認識のタスクです。この分野において、優れた性能を備えるアルゴリズムとして活用されています。

ただ、注目すべき点は圧倒的な性能を備えているという点だけではありません。たとえば、転移学習によってより効率的なネットワークの学習方法を確立することに成功したことなども、この技術が大きく注目されるようになった要因の一つと言えるでしょう。

■CNNの仕組み

参考:Stochastic Reconstruction of an Oolitic Limestone by Generative Adversarial Networks

CNNの仕組みを理解する上では、主に「畳み込み(convolution)」と「プーリング(pooling)」「全結合層(Affine)」という3つの層について把握する必要があります。それぞれの層について、詳しく見ていきましょう。

●畳み込み(convolution)

参考:Stochastic Reconstruction of an Oolitic Limestone by Generative Adversarial Networks

一般的なニューラルネットワークの場合、層状にニューロンを配置して、その前後の層に含まれたニューロン同士に関しては網羅的に結線していきます。しかし、CNNでは、ニューロン同士の結合をうまく制限するとともに、ウェイト共有という手法によって画像の畳み込みに近い処理を、ニューラルネットワークという枠組みの中で表現しているのです。

こういった役割の層を「畳み込み層」と呼んでおり、CNNにおいては特に重要な役割を担っています。

●プーリング(pooling)

参考:Application of Transfer Learning Using Convolutional Neural Network Method for Early Detection of Terry’s Nail

畳み込みと同様に重要な役割を担っているのが、プーリングと呼ばれる層です。CNNにおおける「畳み込み」の役割は、画像からのエッジ抽出等の特徴抽出でしたが、「プーリング層」に関してはその抽出された特徴が「平行移動などが起きても影響を受けることがないようにロバスト性を与える」という役割を担っています。

CNNは、主に画像をカテゴリごとに分類する作業(一般物体認識)において価値を発揮するネットワークとして知られています。ただ、写真に写った動物が犬なのか猫なのかを分類したい場合には、「犬と猫が正しく識別できる能力」を持たなければなりません。

そのため、写真の犬が左端に映っているか、右端に映っているか、といった情報は特に重要ではないわけです。つまり、画像のカテゴリを分けるタスクにおいて、あまり重要ではない「位置に関する情報」を上手に削ぎ落としているのが、この「プーリング層」なのです。

●全結合層(Affine)

全結合層は、従来のニューラルネットワークにおける基本的な要素です。入力を2次元配列として扱うのではなく、単一のリストとしてすべてを同等に扱っていきます。すべての値は、現在の画像が×なのか○なのかという点で、それぞれに票を得ますが、このプロセスにおいては完全に民主的というわけではありません。

一部の値は、仮に画像が×だったときにそれを識別する能力が他よりも優れています。そしてその一方で、○の場合の画像を識別するのが非常に得意な値もあるのです。

これらの値は、他よりもたくさんの票を得ることがでいます。そして、投票の結果はそれぞれの値、もしくはカテゴリ間において、重みや連結強度などで表現されます。

新しい画像がCNNに示された場合、その画像が下位層を通過し、最終的に全結合層に達することになります。そして、選挙によって票数の多い答えが勝利し、入力のカテゴリを宣言するという流れになるわけです。

●活性化関数

活性化関数とは、ニューロンから次のニューロンに出力を行う際、あらゆる入力値を別の数値に変換することで出力していく関数のことです。裁判長のような役割を果たす存在とも言えるでしょう。

出された証拠をすべて確認した上で、「本件は0.93対0.07で〇(マル)」というように判決するための確率計算式だとイメージすればよいでしょう。

2択の場合、あまりイメージが沸かないかもしれません。たとえば、100種類の花の名前などを当てる必要があるシーンなどでは重宝します。

■CNNの特徴

CNNには、どのような特徴があるのでしょうか。ここからは、CNNならではの特徴について、詳しく見ていきましょう。

●局所受容野

私たち人間が物体を見るときに生じる経過としては、まず物体から反射された光が目の奥の網膜に像を結びます。そして、視神経を介して脳に刺激が与えられ、物体が何であるかを認識するという流れです。

このとき、物体の像全体を一度で把握するわけではありません。限定された領域ごとに、像をスキャンするように認識していくわけです。この限定された領域のことを「局所受容野」と呼びます。

局所受容野が受ける光の刺激は、電気信号に変換されて脳に達しします。そして、そこで視覚認識に関係するニューロンが反応するわけです。ちなみに、このニューロンには2つの種類が存在することが知られています。「単純型細胞」「複雑型細胞」と名づけられているものです。

●重み共有

畳み込み層は、局所的受容野だけでなく「重み共有」という工夫も行うことによって、パラメータ数の減少を実現します。重み共有は、画像が持つ「ある位置での重要な特徴に関しては、別の位置でも重要である可能性が高い」といった特徴を利用したものです。

たとえば、画像の中に犬がいるかどうかを学習するとしましょう。この場合、画像の中のさまざまな位置に犬が映っていることが想定されます。本来であれば、各位置にいる犬を別々のフィルタで学習しなくてはいけません。そのため、学習も困難になってしまうわけです。

しかし、犬がどこにいても同じように認識できるようになれば、その難易度は一気に下がります。「1つの畳み込み層の中では、1つのフィルタ(重み)を共有する」ということを実現するのが、重み共有の考え方なのです。

■CNNの活用事例

●ホットペーパービューティーアプリ

参考:リクルートテクノロジーズ、機械学習による画像検索を実現。色やデザインをもとに直感的に検索、精度は80%超に ~機械学習ロジックをフル活用、新たなユーザー価値を創造~

CNNの代表的な活用事例として挙げられるのは、ネイルの類似検索機能でしょう。リクルートスタイルが運営している「ホットペッパービューティー」というアプリにおいて、類似したネイルの画像を検索できる機能が搭載されています。この機能は、まさにCNNによって実現されているものです。

画像をもとに、ネイルの位置を判別した上で、カラーヒストグラムやデザインを識別していくという仕組みです。そのため、従来よりも直感的な画像の表示につながっています。

●Googleの「画像の説明文章を自動生成する技術」

参考:A picture is worth a thousand (coherent) words: building a natural description of images

Googleが開発した「画像の説明文を自動生成する技術」においても、CNNは活用されています。その仕組みとしては、はじめにCNNの技術を活用して「画像の中の状況」について解析させます。そして、ここで得た情報をRNNに使わせることで、画像認識のためのアルゴリズムが作成したデータを、文章を作っていくことが可能になるわけです。

また、直接的にさまざまな画像を認識させ、説明文をつけることによって、より高精度の説明文を追加することが可能になります。

●プレゼン解析「プレトレ」

参考:AIによるプレゼンテーションの評価サービス 「プレトレ」がリニューアル ~感情認識AIのエモスタ社と業務提携により今後さらなる進化~

「自分のプレゼンが視聴者にどう受け取られそうか」を予測したり解析したりできる「プレトレ」というサービスでもCNNが活用されています。その仕組みとしては、プレゼン内容や話し方(言葉遣い)といった言語情報に加え、話すテンポや抑揚といった音声・音響情報を学習させることによって、14種類の評価尺度からプレゼンテーションが観衆にどう受け取られるか予測・解析していくというもの。

たとえば、スティーブ・ジョブズのプレゼンを解析すると、「Funny(面白い)」に加え、少しジョークがきついため「obnoxious(不快な)」といった項目が表示されます。また、「Informative(情報豊かな)」「Fascinating(ワクワクする)」「Ingenious(天才的な)」といった項目も表示されたそうです。

一方、ビル・ゲイツのプレゼンを解析すると、ジョブズの解析で表示された「Fascinating」や「Funny」といった項目は表示されず、「Persuasive(説得力がある)」や「Courageous(勇敢な)」といった項目が表示されました。

■CNNとRNNの違い

RNNとは、「Recurrent Neural Network(リカレントニューラルネットワーク)」を略した言葉であり、日本では「回帰型ニューラルネットワーク」などとも呼ばれています。文章などの連続的な情報を利用できる点が特徴です。最近では、Googleの「画像の説明文を自動生成する技術」のように、CNNにRNNを組み合わせるケースも多くなってきており、ますます活用の幅が広がっている状況です。今後、どのような形でCNNが価値を発揮していくのか、ますます目が離せません。

今回は、CNNの仕組みや特徴を1からご紹介しました。既にさまざまな分野でCNNが活用されていることがお分かりいただけたのではないでしょうか。

なお、以下の記事ではRNNについて詳しくご紹介していますので、こちらもあわせてご覧ください。

自然言語処理で一躍脚光を浴びたRNNとは?初心者に優しく解説!

AI活用のご相談したい企業様はこちら

03-6452-4750

AI製品・ソリューションの掲載を
希望される企業様はこちら