#069 stable diffusionがバズってるので、サルでもわかるディープラーニングの仕組みの話
2022/8/28 ·
-
じゅんぺくん最近話題になっているステイブルディフュージョンというものをご存知ですか?なんでございましょうか?これはですね文章を書くとその文章から絵を作ってくれるAIですそれ最強ですねそれ誰でも使えるんですか?これは誰でも使えて商用利用可能ですやばすぎるやばすぎる最近出てきたですか?あのー
-
そう8月の中下旬ぐらいかなにもともとこのステイブルディフュージョンっていう手法はあったんですけどこれにめちゃくちゃいろんな画像を学習させてすごい優秀なAIを作った会社がいてそこの会社の人がAIを無料公開したことによって優秀なAIを誰でも使えるようになっちゃいましたっていう状況が生まれた
-
すごいっすね本当に絵見ましたけどこんなレベルで作ってくれるのって感じですよね本当だよねそうそうそう言うたらフリー素材がいらんくなるんじゃないかみたいなところは個人的に思ってるんですけどこれAIがやってるって言ってますけどなんかどうなってるかわかりますかそのAIを作るために大量の画像を
-
手動で人間が読み込ませたってことですよねまあそうだねそれはそう中どうなってるか具体的なやつですかそうそうそうそう絶対にわからないですよそうですよね全く想像つかない人多いんじゃないかなと思うんですよはいそうですねなので今日はAIの中でもディープラーニングですねはいはい
-
ディープラーニング全くわからんっていう人がどういう仕組みでこの日本語が画像になって出てくるんだ日本語じゃねえわ英語か言語が画像になって出てくるんだっていうのを上積みだけわかるように説明するのがんばりますいや面白いっすねいやこれね面白いんですよちょっとディープなとこまでいくと本気で数学になるんで今日は数学ゼロでいや1%ぐらいで
-
中学生でもわかるぐらいで説明できればと思います一応専門分野頑張ってる分野一応ね険しいかもしれないディープラーニングの資格ってあんまないんですけど一応今日本で取れる中で一番むずいディープラーニングの資格は持ってますこれは専門だすごい仕事もしてるけど
-
まあでも今日説明する範囲は説明できる本も何冊も読んでるし本当にこれはちょっとねまさかりしようがないぐらいふわっとした話をするので違かったら違うって言うしあと分かんないことだったら言ってくださいじゃあまず今日一つ覚えていっていただきたいことベクトル万能説という言葉だけ覚えて書いてくださいあれ数学ですか数学だけどね数学きたはい
-
ディープラーニングってどんなことやってるイメージありますか今回で言うと文章を画像に変えてますけど他にこういうことやってるよねとか知ってるのあります?意外とパッと出てこないですね思いつくんだ君の身の回りにもあるぞ変換とか文字打ってて予測変換の出るやつとかあれって違いますか?
-
うんうんいやあ一部あってるやってるのかなiPhoneとかどうなんだろうやってるかもしれないどうなんだろうあとは俺の周りにあるディープラーニングじゃない気もするディープラーニングあれですかここ濡れてるここ濡れてるから濡れてるけど放置しといたら乾くんじゃないかと思って放置してみたら乾かなくて
-
翌日、隣にあるドアを開けとけばいいんだと空気が入ってくるようにして寝たら乾くようになってるこれディープラーニングどういうこと?順平がディープラーニングしてるってこと?これディープラーニング本質的にはそうなんだけど人間の脳を模倣してるのがディープラーニングですからなるほど
-
お手本やっちゃってるそれお手本身の回りのもので言うと顔認識とかあーはい多分ね顔認証系とかあとはあんまりないかもしれないですけど骨格検知とかまあとかとかあとあれですねディープフェイクって言われるこれはちょっと一時期バズってましたけどトランプ大統領にありもしないこと言わせたりとかはいはいはい音声合成ソフト
-
人工音声人工音声なんて言うんでしょうねATMの人が喋ったりするやつああはいはいはいああいう人工の音声とかもディープラーニングで作ってたりしますねそうなんですねへえそうあれも文章から音声を作ってる文章から音声作ってるんですかそうまるまるあのなんていうか声を喋ってるデータを入れてるのかなって思ってたんですけど違う違う違うそうなんだそう
-
意外に身近にあるんですけどディープラーニングって何かを何かに変換するっていうタスクをしてるんですよめっちゃ簡単なので言うと画像を見せてこれは犬ですかっていう質問をされた時に犬ですか犬じゃないですに変換してるそれによって犬か犬じゃないかっていうのを答えを出してるディープラーニングの本質というかやりたいことって全部そうで
-
画像を犬か犬しかじゃないかに変えるのもそうだし今回の文章を画像に変えるのも何かを何かに変えるさっき言った文章を音声に変えるのも何かを何かに変えるあとGoogle翻訳もそうですね日本語を英語に変えるのも何かを何かに変えるっていうことをディープラーニングってまずやるんですよ間でおりゃーっていう作業があって何かに変えてるんですよ
-
そのおりゃーっていう作業で大事になってくるのがベクトルで途端に意味わかんないと思うんですけどちょっと簡単なところからいくとこれは犬ですか犬じゃないですかっていうのってベクトルで表せるんですよ意味わかんないでしょ意味わかんないですベクトルって矢印じゃないですか直線の矢印1次元の矢印を想像してください普通にただの1本の矢印ね
-
あの長さがあるかないかっていうので1か0か表せると思いませんそういうことかなるほどイメージ真逆にあると思ってましたけど1と-1かな0と1ですねそれでもいいけど犬か犬じゃないかっていうところで言うとめっちゃ細かい話をすると確率で出るんで最後0から1の間の数字が出てくる
-
その50より上だったら犬とするし50より下だったら犬じゃないって判定するから最終的に0から1のどんぐらいかの矢印のベクトルが出てくるこれで犬か犬じゃないかっていうのを判定できるという話になるじゃないですかこの過程って最初犬の画像をバーンと出されてその犬の画像って画像って左上から画素データRGBの色情報がバーって入ってるんですけどあれを
-
おりゃーってやって最終的にベクトルにするんですよなるほどそのおりゃーっていうのは気にしないでくださいものすごい量の計算がされてますなんとなく最終的にベクトルに変換して1次元にするのが犬かどうか次犬か猫か判定しましょうってなった時犬か猫かそうじゃないかって判定しようとした時どうしたらいいかっていうとベクトル2個に増やすんですよ2次元
-
犬ベクトルと猫ベクトルの2本にしてはいはいはいで犬ベクトルがめっちゃ長くて猫ベクトル短かったら犬猫ベクトルめっちゃ長くて犬ベクトル短かったら猫みたいなでどっちもなかったらうーんどっちも長いなじゃあ長い方にしようみたいなのになるかもしれないしちょっと2過ぎてわからんなのかっていう形でなんかちょっと複雑なことできるようになるんですよベクトルの本数増やすとはいはいはい
-
でこのベクトルの数今あの2本ってことは2次元のベクトルなんですけどはいじゃあそれ3本になると3次元ベクトルになってはいさらにもうちょっと複雑なことができるんですよはいここまでは大丈夫そうこれは行きますうんねでここからすっげー話が飛ぶんですけどはいこれ1万次元とかになるとなんでもできるんですよもう表現したいもの全部ベクトルで表現できるようになってくるんですよ
-
えーそうなんですか数学の3次元までしかやらなかったなうんね1万次元ここからもうやばいイメージすることを諦めなきゃ想像できないですねうん1万次元とかになるともっと複雑なことができるよねで例えばだからそのGoogle翻訳とか日本語から英語に翻訳するときって日本語の文章をベクトルに1回直すんですよはい
-
でベクトルに直した時どうなってるかっていうと日本語から英語に変換する時ってさ例えば布団布団布団やめよう布団の例え悪い犬犬っていう単語があってさドックって変換できるでしょ頭の中ででも犬からドックにさ変換する途中でさあの四つ足のケムクジャラのワンって鳴くやつ経由するでしょ一回まあそうっすね確かにイメージとしてはい
-
それってさ日本語でも英語でもない何かしらのケムクジャラのやつの特徴を捉えた何かを経由してるわけじゃんそれがディープラーニングで言うベクトルなんですよ見たことないけどさ犬っぽいやついたら犬だって思うじゃん言ってるの分かるでしょそれは何でかっていうと足4つあって尻尾があって鼻がなんとなく黒くてある程度ケムクジャラで耳があって
-
ワンって鳴いてたら犬だなって思うじゃんそれを矢印ベクトルで表してるんですよディープランニングってだから日本語から英語に変換するときにドッグじゃない犬ベクトルからならドッグにもいけるしポルトガル語のよくわかんないけど犬っていう単語にもいけるんですよなるほど本質がベクトルだから単語レベルでそういうことができるってことは
-
英語のドックっていう文章に変換できるなら犬とドックと発音を紐付けできればその矢印からドックっていう発音に変換することもできるんですよはいはいってなってくるとじゃあ今度は画像に変換できるようになってくるんですよはいはいはいなぜならその画像はドックですっていうのを学習させてるからなので今回のステイブルディフュージョンで英文を打って
-
で画像に変換するやつなんですけど英語の単語を全部解釈してさっきプログラマーズゼイヤーリージャーパーソンって言って画像を今作ってるんですけどプログラマーズだだからきっとオフィスでスーツ着てるやつらっていう情報とあとゼイヤーレイジャーパーソンって書いてるんでまあなんか暇なんだと
-
暇な人間って何してるだろう会話してたりするのかなコーヒー飲んでるわっていう情報がポンポンポンって入られてそういうやつらのパーツを持ってきて合成して画像を作るわけですよオラーってやってオラーオラーってやってディープラーニングは基本的にベクトルと人間が認識する何かをどう紐づけるかってことをやってるのがディープラーニングうんうんうんうん
-
そう何でもいけるんですよこれなんか何でもいけそうな気がしますねかつて僕は名探偵コナンの超ネクタイ型編成機を売りに出すぞって言って新規事業やってたんですけどいや超面白かったねただちょっと技術が足らずまだ時代が早かったんですよ追いついてなかったなるほどカイツさんに追いついてなかったやっぱり画像もうまくできなかったんですよこういう
-
文章から画像にやるのも技術的にはあったんですけどこんなに精度良くなかったでも画像がうまくできるようになってきたってことは多分音声も精度が上がってくる時代早かったいけますねいけるもったいない作ってほしいという感じでディープラーニングで話題になるのってAIが仕事を奪うって言って
-
仕事奪われそうっていうAIがバズるんですけど今回はこの文章から画像を生成するのがバズってましたね1個おもろいなと思ったのがFigmaっていうデザインツールがあるんですけどあれにもこのStable DiffusionっていうAIが入ったフラグインが追加されてたみたいでどういう使い方するかっていうとあぶねーどういう使い方するかっていうと
-
最初に下書きのペンでザーッとスニーカーっぽい枠を作るんですよで範囲指定してこれは白くてスポーティーなデザインのモダンなスニーカーですっていう文章を打つとその枠にはまった文章通りのスニーカーのデザインが何十個もガーって出るすごいよねすごいすごいですねすごいしか出てこない
-
超細かくこだわりたいさデザインとかだといやーここのデザインもうちょっとこうしてってAIには言えないからそれは多分人間じゃないとできないんでしょうけどある程度なんでもいいやってことあるじゃないですかフリー素材使うときも特にそうだしなんだらなんだっけな例えば筋肉定食っていう僕らのダンスチームの今回の衣装のロゴみたいな若干どうでもいいというかある程度かっこよけりゃいいのではいはい
-
何十個も候補出してくれるんだろさ本当だったら10万円でデザイナーに頼まなきゃいけないのをさAIでピッてできちゃうよね本当そうですよね楽だいたいこんなもんでいいやっていうのはそれでOKですよねそう考えるとやっぱり小魅力大事なんだなって思いますね小魅力あればなんかAIに仕事奪われないんじゃないか説あるかもしれないこれも我々もあんま他人事ではなくてプログラムコードを生成するAIもありますから一瞬だ一瞬だよ
-
さっと捉えるとは思えないけどそのAAが作ったプログラムコードって多分メンテナンスできないと思うんで誰もそこがあるから多分誰もまだ投入はできないと思いますけど使い捨てならいいかもしれないね使い捨てのコードがいやすごいですねっていうお話でしたちなみに犬と犬?4つ足のケモクジラの耳があってどうのってあると思うんですけど
-
そこらへんと、まあでも猫も例えば四つ足で耳があってケムクジラでみたいな似てるじゃないですかうんうんうん、似てる似てるで、そこを区別するためにもさらにいろんなベクトルを伸ばしておいてるってことですよねそうそうそうそうそう、本当にその通り結構最初のそのベクトルの作り方って人間が認識することを人間がこれは犬だって認識することを結構細かく分けてベクトルとして
-
作っていくのが大事というかそこが今のじゅんぺいのニュアンスだと人間が設計してると思ってる違うんですよどうやってるかっていうとこれオリャーの部分の話ですかオリャーの部分の話だけどオリャーって人間が作ってないんですよ人間はこういう方針でやってねっていうものを提示するだけで
-
AIがその方針に従って運100回計算してくれるんですよ例えばこれは犬かどうかっていうのを判定するAIを作ろうと思った時に必要になるものってこれは犬っていう目印をつけた画像犬が写ってる画像です目印をつけた画像がいっぱいあればそれで学習してくれるんですよその画像を見て画素単位で
-
AIはこれらの画像の共通点なんだろうを頑張って探すんですよはいはいはいそこにたくさん学習させる画像にはゴールデンレトリバーもいるしパグとかブルドックもいるしそうしたいろんな画像から犬ってこういうものだし映り方も角度によってこういう映り方するしとか共通点をめちゃめちゃ見つけるの本当に数百個数千個レベルでなるほど
-
それを画像から勝手に読み取ってくれたりするのかそう読み取ってくれる便利どこどこか分かりましたあくまで人間の脳を模倣しようとしてもまだまだだから言うても精度7割とか8割いけばいいかなぐらいだと思うんですけどねなので絶対に間違えちゃダメな作業はAIにやらせちゃダメで一時振り分けっていうのかな
-
ぐらいだったらそのぐらいに使うのがいいよっていうのが今多分日本でよく言われてるAI導入ノウハウざっくりこんなもんかなっていうところのラインで導入するぐらいそうそうそうそうなるほどですねこれがディープラーニングの世界の入り口の入り口ぐらいでございます今後も注目ですねこれは面白いことに使えるなら使っていきたいしねそうですね
-
というわけで今日は頑張ってディープラーニングの話をしてみました本当に触りの触りですがなんとなく全くわからんからなんとなくベクトルに変換してベクトルから別の何かに変えてんだなっていうのが理解できましたねきっとこれでもうなんかAIってどんな感じか知ってる?って言われたベクトルでしょって言えるようになった
-
素人が聞く気をなくす説明ができそうベクトルのやつねちょっといける気がしました知った化していきます知った化していこうまた面白いAIがあったら紹介させていただきますお願いします今週こんな感じで終わりますバイバイイマジンプラグラマーではメールを募集していますトークテーマ、悩み、要望などなど何でも募集中です
-
宛先はそれではまた次回
#069 stable diffusionがバズってるので、サルでもわかるディープラーニングの仕組みの話