LogoMark.png

GenerativeAI の変更点


#author("2024-09-11T13:47:36+09:00;2024-03-21T13:53:39+09:00","default:inoue.ko","inoue.ko")
#author("2024-10-08T10:17:45+09:00;2024-03-21T13:53:39+09:00","default:inoue.ko","inoue.ko")
*生成系AI
Generative AI
~

生成系AIとは、__[[機械学習>MachineLearning]]__を前提に、文章、絵画、音楽、プログラムのコード等を生成出力する AIシステムを言います。

生成系AIという言葉が一般的になったことで、従来型AI、つまりパターン認識マシンを「認識系AI」と呼んで、これらを区別するようになりました。

-Discriminative AI:認識系AI / 識別系AI(文字・音声・画像認識等)
-Generative AI:生成系 AI(文章生成・楽曲生成・画像生成等)
~

***GAN(敵対的生成ネットワーク)について
GAN(Generative Adversarial Networks)とは、画像生成等に用いられる生成モデルの一種です。2つのニューラルネットワークを競わせてデータを学習させることから、敵対的生成ネットワークとも呼ばれています。

GANを利用すると、実在しないデータの生成(つまりお絵描き)や、学習したデータの特徴に沿った変換、元データの特徴を含む新しいデータの生成、さらに、低解像度の画像から高解像度の画像を復元するといったことができます。

GANには、''Generator'' と ''Discriminator''と呼ばれる2つの[[ニューラルネットワーク>NeuralNetwork]] が利用されています。

GANの学習では、2つのモデルに以下のように学習させます。
-Generator:Discriminator を騙せるような偽物を作れるように
-Discriminator:本物と Generatorが作り出した偽物を区別できるように

Generator と Discriminatorはそれぞれの目的に従って交互に最適化されます。最終的に Generatorが生成する偽物が、本物と区別できないようなデータになったところで GANの学習は終了します。
~

***画像生成AI について
画像生成 AIには、Generator(生成器)と CLIP(Contrastive Language–Image Pre-training(言語-画像事前学習モデル)と呼ばれる2つのニューラルネットワーク が利用されています。

概ね、以下のような手順で画像を生成していきます。
-1) Generator が、与えられた潜在変数を画像に変換
-2) CLIP が、与えられたキーフレーズ(呪文)と生成画像を読み込んで、これらのデータ間の「違和感」を「距離」として潜在変数にフィードバック
-3) 潜在変数を変化させながら Generator と CLIP を循環させて「距離」を縮めていく

生成される画像の方向性を決定するのは、絵描き職人としての Generator ではなく、絵と呪文の違和感を測って Generator に演出の指示を出す CLIP です。呪文を与えるのは「人間」なので、人間を含む3者の脳の協働作業によって画像が生成される・・と言えるでしょう。

生成される画像の方向性を決定するのは、絵描き職人としての Generator ではなく、絵と呪文の違和感を測って Generator に演出の指示を出す CLIP です。呪文を与えるのは「人間」なので、人間を含む3者の脳の協働作業によって画像が生成される・・と言えるでしょう。

関連ページ:__[[StableDiffusion]]__,  __[[Midjourney]]__
-関連記事:
--__[[StableDiffusion]]__,  __[[Midjourney]]__(サイト内記事)
--__[[Adobe Firefly>https://www.adobe.com/jp/products/firefly.html]]__
~


***Transformerについて
Transformer とは、GPT(Generative Pre-trained Transformer)や BERT (Bidirectional Encoder Representations from Transformers)などの事前トレーニング済みシステムの開発のベースとなっている自然言語処理向けの深層学習モデルで、文章生成を行うようにカスタマイズされた言語モデルです。Google Research が生み出したニューラルネットワークアーキテクチャーで、2017年にオープンソース化されています。基本的には機械学習モデルの一種で、従来の「認識系AI」とまったく別物・・というわけではありません。

人間のような「意味を理解した発話」ではありませんが、膨大なデータベースとそれを効率的に扱う Transformer の採用で、従来よりはるかに多彩で複雑な文章を作ることができるようになりました。

AIによる自然言語処理の基本原理は「Word to Vector(言葉をベクトル化する)」というものです。これは「あらゆる言葉を数値パラメータに置き換える」ということで、すべての文章を、パラメータ同士の統計的な関係性の問題としてニューラルネットワークで学習させます。単語の意味や、文章が綴る世界を理解しているわけではなく、単純に、発話に対する関係性の深い(相関の高い)文章を探して並べていく・・という仕組みで動いています。当然、人間が読めば「不自然」な文章を作ることもありますが、学習させるデータを増やすことで、それも解消されていきます。 

言葉(文章)は一般に「順番に処理される」ものです。従来型のシステムでは、データを循環させるネットワークで、単語による意味の変化や文章全体の関係性を捉えていましたが、膨大なデータを処理する課題では負荷が重くなって実用的には問題がありました。これに対して Transformer が採用している Attention というしくみは、単語や文章における注目(Attention)すべき重要な部分、関係性ににのみ重点を置いています。シンプルな方法であるために負荷が軽く、膨大なデータセットでも学習が可能です。「畳み込みネットワーク」や「回帰型ネットワーク」といった従来型の複雑なネットワークを使わずに自然言語処理の精度を高めました。

-__''[[ChatGPT]]''__(OpenAI):GPT-4 < Transformer 
https://openai.com/blog/chatgpt/
-''[[Gemini]]''(Google):LaMDA < Transformer
https://gemini.google.com/app
//https://bard.google.com/
//&small(鳥:Bird ではなく、詩人:Bard);

~

***参考
-Common Crawl:インターネット上のあらゆる文章を集めたコーパス((コーパスとは、テキストや発話を大規模に集めてデータベース化した言語資料。))
https://paperswithcode.com/dataset/common-crawl
2016年から2019年にクローリングされた文章(約 45TB)が GPT-3 の学習対象となったと言われています。

~
~

**APPENDIX
***関連ページ
-[[ArtificialIntelligence/History]]
-[[ArtificialIntelligence/Keywords]]
-[[AI_vs_HumanIntelligence]]
-[[AI_vs_God]]

//-[[BrainScience]]

-[[DataScience]]
--[[Data]]
--[[Statistics]]
--[[DataVisualization]]

-[[MachineLearning]]
//--[[DecisionTree]]
//--[[k-means]]
//--[[LinearRegression]]
//--[[LogisticRegression]]
--[[NeuralNetwork]]
//--[[PrincipalComponentAnalysis]]
//--[[RandomForest]]
//--[[SupportVectorMachine]]

//-[[DataMining]]

//-[[Python]]
//--[[Pandas]]
//--[[scikit-learn]]

//-[[GoogleColaboratory]]
//-[[Orange]]
//-[[OpenData]]
~
~

~