ブログ
2020.09.27
GANGANGAN
はろう('ω')ノ
昨日2時までSwitchをやったのに歳のせいか7時に目が覚めてしまった管理人です(´・ω・)
Switchでスーパードンキーコング2が無料インストールできるようになったので、つい熱中してしまいましたね(´・ω・)
懐かしみながらプレイして早くもはちみつのステージまでクリアした(/・ω・)/
こんなことしてたら一生独身だと思いながらも、コロナ禍において健全な遊び方といえましょう(イイワケ
さて、連日のUpdateになるのでいつもの話題をガラッと変えて、今日はAI(人工知能)の話でもしましょう。
グルメサークルなのになぜAIの話をするかって?
最近活動してなかったからネタがないのダヨ(´・ω・)
あとはシンプルにこういう技術があることを広めたいって意思がある。
ここを見てる人なんてあんまりいないだろうけども、AIのブログなんてAIに興味がある人しか見ないわけだし、全然興味の範囲が違う人にあえて見てもらうことに意味があると思ったりもします。
ということで、今日はAIが自分で画像を作るみたいな技術をご紹介('ω')ノ
前にLSTMという言語処理の話をここでしましたが、今回はGANという技術。
(前回→https://buenavista.cloud-line.com/blog/2020/08/99332/)
GANと書いてギャンと読みます。
偽物を意味するギャングにかけた言葉なのです(´・ω・)
なんのこっちゃ分からないかとは思いますが、このGANさん、なかなか結構面白いのよ(/・ω・)/
例えばおれの写真が100枚あったとしたら、おれの写真と同じような偽物の写真をAIが作ったりできる。
AKB48の写真を学習させて架空の人物なるVST48(写真のみ)を作ることだってできる。
ジャニーズの写真たくさんとおれの写真をひっそり入れて学習させたら、ジャニーズ風のおれの写真ができる(これ作るのが一つの目標)
それをどうやってやるの?って話ですが、考え方としては意外と簡単。
簡単に言うと2つのAIを戦わせて画像を作り出すのです(゚д゚)!
構図としては偽物を作るAI vs 偽物を見破るAIって感じで、偽札製造局vs検査官とか、生成器vs識別器とか表現されたりもします。
GANに関しては私は始めたばかりなので細かいことは語れないですが、とりあえず一番基本的なMNISTという手書き文字の画像を作り出すAIをウェブから拾って動かしてみました(/・ω・)/
AIに学習させるのは、手書きの文字の画像。
AI勉強用の有名な題材で、データも軽くなっていてわかりやすいので広く使われています。
4とか6とか引っかけるようにわざと下手に書いてるんじゃないか説がありますね。
下から2番目の1番左はgかな?笑
でもまぁ人間なら一応どれが何の数字か判別できるレベルの画像になっています。
これがどの数字か判別するみたいなAIは最も簡単なプログラムでできますが、今日のお題はそうではなく、この数字に似せた偽の手書き文字をAIに作ってもらおうというもの。
方法は先ほど説明した通り、2種類のAIを戦わせます。
1つ目は詐欺師、つまり偽物の数字を作り出すAI。
クッパと名付けましょう(/・ω・)/
そして2つ目は鑑定士、つまり手書き文字を見て偽物か本物かを判定するAI。
マリオと名付けましょう(/・ω・)/
クッパが作り出した偽物と、もともとの学習していたデータが混ざった状態でマリオが本物かどうか見抜くゲームをします(´・ω・)
クッパはノーヒントで画像を作るので、最初は適当に絵をかいて混ぜます。
なので初期値は灰色一色の画像になって、マリオに一発で偽物とバレるわけです。
でも、このマリオは優しくて、本物とどのくらい差分があって間違っているか(スコア)をクッパに教えてあげる紳士でもあります(/・ω・)/
そんなチートあり?とか思うかもしれないけど、現実のマリオもクッパを倒しに行くとか言いながら結構仲良くやってますし。笑
で、クッパはマリオから帰ってくるスコアを見ながら、こうすれば近づく…みたいなのを頑張って何度も何度も偽物を作っていくわけです。
そうすると、だんだんとそれっぽいものが作れるようになってくるのであります(/・ω・)/
下図が実際におれが動かしてみた結果。
前述のとおり、初めはグレーの絵で適当に流していますが、少しずつコツをつかんできているのが見えます。
途中飛ばして変化の過程が見えやすいように貼っていますが、回数を追うごとに数字っぽい画像になっているのが分かりますね(^o^)
この段階ですでに「7」とか「6」とかは見えてきています。
最後の状態もまだ全然途上中で、これからもっと精度は上がっていきます(/・ω・)/
私がクッパと表現したのでザルみたいに感じたかもしれないですが、実際は優秀な人工知能さんが作り出しているので、成長速度も速いのです。
実は私のPCスペックが低すぎるので1日経ってもなかなか進まないのですが、もっと成長させると下図くらいまでになります。
ここからもっと成長させればもっといい絵にはなりますが。おれのPCスペックの都合でこの辺で打ち切りです。笑
誰かおれの成長のためにハイスペックPC(または予算)を恵んでクレメンス…
真剣にやればその辺の国が設立するIT機関よりいい仕事すると思うよ多分…笑
でもマジな話、5Gの普及もままならない状態で6Gの予算組むより、目の前で発展が見込めるAIの技術にもっともっとお金をかけた方がいいと思うの(´・ω・)
とここで愚痴ってもしょうがないので、話をまとめますと、こんな感じで何もない状態から学習データと似たような見た目の画像を作り出すことができるわけです。
全く同じものを作るわけじゃないのがポイントで、
「同じ雰囲気の別のものができる」
これがすごいわけですね。
AKBの画像ならAKBの雰囲気をした架空のアイドルを作れたりするし、応用すればAIに作曲させたりもできちゃうんですね(゚д゚)スゴイ
最近の事例ではパックマンの動画を学習させてパックマンのゲームを作り出したという記事も見ましたし、今後さらなる発展が期待される技術なのであります(/・ω・)/
おれはまだ勉強中なのでMNISTでしか試せていないのですが、これからいろいろやってみるよ(/・ω・)/
今はアプリで自分が撮った写真を加工する時代ですが、この先は写真を作り出す時代になるかもしれないですね!
ということで、今日はVISTAとは関係のない内容でしたが、VISTAには理系メンバーも何人かいますし、いろんなことに興味が持てて話が広がるようなメンバーを増やしたいと思ってます(ただし宗教やマルチはNG)ので、ぜひぜひご参加お待ちしております('ω')ノ
AIエンジニアいたら仲良くなりたいから来てね。笑
それではまた次回、バーイ('ω')ノ