画像認識や生成技術の基礎「CNN」「GAN」とは? 押さえたい特徴と違い:深層学習モデルの仕組み【前編】
主要な深層学習モデルとして「畳み込みニューラルネットワーク」(CNN)と「敵対的生成ネットワーク」(GAN)がある。両者には似通う点があるが、仕組みや使い方は異なる。その成り立ちから解説する。
深層学習(ディープラーニング)は、人間の脳の神経回路を模倣した「ニューラルネットワーク」を用いる機械学習の手法だ。代表的なモデルとして以下の2つがある。
- CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)
- GAN(Generative Adversarial Network:敵対的生成ネットワーク)
簡単に説明すると、CNNは写真に猫が映っていることを認識するモデルで、GANは猫が映っている写真を生成するモデルだ。CNNはGANの一部として、画像や音声コンテンツを生成、識別するために使われることもある。
コンサルティング企業SSA & Companyでプリンシパルデータサイエンティストを務めるジョン・ブランケンベイカー氏によると、CNNとGANの本質は類似するものの、仕組みや出力内容は異なるという。その成り立ちから見ていこう。
CNN(畳み込みニューラルネットワーク)
併せて読みたいお薦め記事
AI関連の動向記事
歴史
CNNは、1980年代に登場した深層学習モデルの古株で、主に画像認識用途で使用される。フランス人のコンピュータ科学者ヤン・ルカン氏がCNNを発明した。ルカン氏は2003年からニューヨーク大学の教授に就任した他、2013年以降はMeta Platforms(旧Facebook)でチーフAIサイエンティストを務めている。
元々ルカン氏は、ニューラルネットワークを活用した手書き数字の認識ツールを開発していた。OCR(光学式文字認識)に関するヤン氏の研究は画期的なものだったが、学習データと計算能力の限界に行き詰まり、CNNの技術を応用したという。
2010年、ラベル付けされた画像の大規模データベース「ImageNet」が登場した他、画像認識アルゴリズムのコンテスト「ImageNet Large Scale Visual Recognition Challenge」(ILSVRC)が開催され、画像認識技術への世間の関心は爆発的に高まった。
コンテストで大きな成功を収めたのが、GPU(グラフィックス処理装置)に最適化されたCNNベースの深層学習モデル「AlexNet」だった。CNNを効率的にスケールアップさせれば、大規模データベースでも高精度の画像認識が可能なことを実証する機会となった。
仕組み
コンサルティング企業Lotis Blue Consultingのパートナーで、データサイエンス部門を率いるドンチャ・キャロル氏は、「CNNは画像や動画など、空間構造を持つデータを扱えるような設計を採用している」と説明する。
CNNのCは畳み込み(convolutional)の頭文字を意味する。畳み込み処理では、近接関係で重要であるもの――例えば特定のピクセル(画素)の周囲のピクセルや、ある瞬間の前後の信号値など――に反応するフィルタを画像上で移動し、掛け合わせる。畳み込みにより、近くのエッジ(輪郭)やテクスチャー(質感)のパターンを認識し、特徴を抽出する。例えば動物を認識するように設計されたCNNは、動物の足や体、頭のいずれかを認識するとアクティブ状態になる。
基本的にCNNは「教師あり学習」(事前に人間が用意した正解データを基にする学習)で学習する。
GAN(敵対的生成ネットワーク)
歴史
GANは2014年に登場した比較的新しい深層学習モデルで、主に文字や顔などの画像を生成するために使われる。医用画像の合成や音声合成に応用できることから爆発的に普及した。発明者は、GoogleのGoogle Brain部門に勤務していた米国のコンピュータ科学者イアン・グッドフェロー氏だ。グッドフェロー氏は2024年2月時点で、人工知能(AI)エンジン開発で知られるDeepMind Technologiesのリサーチサイエンティストを務めている。
仕組み
「敵対的」という言葉は、「生成ネットワーク」と「識別ネットワーク」の競合する2つのネットワークがコンテンツを生成し、画像を識別することに由来する。例えば、顔の画像を生成するケースでは、生成ネットワークは顔の画像を生成する。対して識別ネットワークは、本物の顔の画像と生成された顔の画像を判別しようとする。識別ネットワークから得たデータは、生成ネットワークのトレーニングに活用できるため、モデル全体の性能向上が期待できる。
コンサルティング企業Lotis Blue Consultingのパートナーで、データサイエンス部門を率いるドンチャ・キャロル氏は、CNNとGANの重要な違いとして「GANの生成ネットワークが畳み込み処理を逆転させる点」を挙げる。畳み込みは画像から特徴を抽出するのに対し、逆畳み込みは特徴から画像を生成する。
GANは基本的に「教師なし学習」で学習する。つまり、人間がデータにラベルを付ける必要がなく、自律的に学習できる。
後編は、CNNとGANのユースケースと関係性について解説する。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.