【AIの基礎を学ぶ(13)】GAN(敵対的生成ネットワーク)
皆さん、こんにちは、JapanStep(ジャパンステップ)です。
いつもJapanStep公式note、MetaStep(メタステップ)をお読み頂き、ありがとうございます。
JapanStep公式noteの連載「AIの基礎を学ぶ」も早いもので第13回を迎えました。今回のテーマは「GAN(Generative Adversarial Network:敵対的生成ネットワーク)」です。
近年、生成AIが注目されていますが、そのベースとなるアルゴリズムの一つがGANです。GANは、Goodfellowらによって2014年に発表されたアルゴリズムです。確率の考え方を用いた機械学習のモデルは、大きくは「識別モデル」と「生成モデル」の2つに分類されますが、GANは「生成モデル」に当てはまります。
大きな特徴が2つのニューラルネットワーク(NN)を互いに競い合わせ、精度を高めていくことです。1つは「生成器(Generator)」、もう1つは「識別機(Discriminator)」と呼ばれます。
生成モデルは、入力画像も確率変数として扱います。ある確率分布から生成された入力画像がどのくらいの確率でクラスAに当てはまるか、を考えます。入力画像が従う確率分布をうまく求めることができれば、確率分布を用いて擬似的に入力画像に相当する画像を生成することができるわけです。
GANでは、まず初期値(ノイズ)を入力することで、生成器が本物に似せた生成データを創り出します。生成器は、精巧な生成データをつくり出す役割で、識別機をだますことができるくらいの内容が求められます。逆に識別機は、生成器が作り出した生成データが本物でないと見破ることが求められます。
互いに学習を繰り返し、生成と識別の精度を高めることで、本物に近い生成データが作り出されるわけです。GANの活用例としては、例えば文章から画像を生成したり、高精度の画像をつくり出したりすることに用いられています。正常な画像で学習することで、正常でない異常な画像を検知することも可能です。
本日もお読み頂き、ありがとうございました!
スキやフォローを頂けると、「AIの基礎を学ぶ」の執筆担当者も更新を頑張れると思いますので是非応援よろしくお願いいたします。
JapanStepの運営会社クロスアーキテクツへのお問い合わせやお仕事のご相談は、公式HPのお問い合わせフォームよりお気軽にどうぞ。
では、また次の記事でお会いしましょう。