Wisdom Station 三元乗換点

Wisdom Station SanGen Transfer Point

最近話題の、コンテンツを創造するAIについて理解したい

AIという概念はかなり古くから存在していましたが、今や世界を席巻するバズワードの地位を得ています。特に2013年ごろから深層学習、ディープラーニングの技術が注目を集め始め、Googleの検索機能や、Google翻訳やDeepL翻訳、自動運転技術など、すでに私たちの生活の中に深層学習の技術が取り込まれつつあります。また、最近では創造的な活動を行うAIの注目が凄まじいです。

 

それらについてどんなものがあるか、画像・音楽・文章・旅程を生成するAIについて、とりあえず各サービスの概要だけ触って/さらってみた感想を紹介していきたいと思います。要は私の備忘録です。具体的な知識についてはおいおい書籍などで学習していきたいと思います。

 

 

最近話題のAIを理解する:画像生成

2022年8月22日にStable Diffusionのモデルがオープンソースとして公開されました。今までのDalle2、Midjourneyといった画像生成のソースコードは非公開ですが、誰でも自由に学習データを使えて、NHKのニュースにもなっているほどです。ディープラーニングの学習モデル・生成モデルにも様々な種類がありますが、現在話題になっている画像生成AIの生成モデルの多くは拡散モデルというアルゴリズムがベースになっているようです。拡散は英語でDiffusionです。すでにMidjourneyの絵がアメリカの絵コンペで優勝していたり、pixivがStable Diffusionの派生であるNovelAI Diffusionの絵まみれになっていたりしています。

 

Stable Diffusion

Midjourneyを試す方法はDiscordのアカウント登録が必要ですが、Stable Diffusionはオープンソースで、すでにStable Diffusionを応用したいろいろなサービスがあり、まあいってしまえば呪文はそっくりそのまま使いまわせるわけですね。現在DreamStudio、お絵描きばりぐっどくん、NovelAI Diffusionなどの派生アプリが続々出てきています。サービスAでうまくいかなければサービスBで出力すればしっくりいく絵が出力される可能性が高まるというわけです。

 

Stable Diffusionの画像は、DreamStudioで生成するのが一般的です。DreamStudioでは無料だと200枚しか作れませんが、技術がある人は、Hugging FaceにアクセスしてStable DiffusionのAPIアクセスコードを取得し、Google Colabで実行するのが金がかからずバックエンドが中でやっている処理も分かって良いと感じます。すでにいろいろな人がやっているので、調べればやり方が出てくると思います*1

 

この記事のサムネもStable Diffusion*2で出力しました。架空のものならなんでも大丈夫です(その時点ですごい)が、実在のものだとその通りに描いてくれない恐れ絵があるので、実在のものは写真に勝りません。しかし、ある程度要件を満たしていて抽象的なものなら、AIに描かせれば結果は1分未満で出力されます。

 

また、Stable Diffusionでできることはtext2image(テキスト→画像)以外にもimg2img(単純な画像→精細な画像)、img2prompt(画像→画像を解説する文章、というより呪文)などいろいろあり、枚挙にいとまがありません。高機能なStable Diffusion web UIWindowsアプリケーションや、Photoshopやクリスタに組み込んで使うプラグインもあるそうです。Chrome拡張機能やアプリも充実しています。replicate.comでは、10ドル課金するだけで無制限で色んな種類のAIがほぼ無制限に使えるようになっています*3

 

AIへの抵抗とmimicの「配慮」

AIによる画像の学習は著作権法30条の4によって合法化されましたが、いまだに心理的な抵抗がある人も多く、NovelAIの学習元であるDanboruが無断転載の巣窟じゃないかと批判していたり、AIに自分の絵を学習させたり、AIによる自分を題材にした絵を投稿させることを自主的に規制させたりしている人もいます。また、AIによって生成された絵の投稿を受けつけていないプラットフォームもあります。

 

そんな中で他のAI画像生成サービスとは一線を画し、また、絵師さんに「配慮した」と思われる日本発のAI画像生成サービスがmimicです。mimic以外の多くのAI画像生成サービスは学習済みモデルを元に呪文を入力してフェアユースな画像を生成しますが、mimicはイラストの著者が画像をアップロードして画風を学習しイラストの権利者が著作権を持つ画像を生成するものであり、これが不正利用されてトレパク、贋作生成につながるのではと言われて批判され、作者本人しか使えなくなって改めてリリースされたのでした。

 

日本はJASRACといい権利者の力が強いですからね。自分に似た画風をAIに噛ませて他人にもシェアできるというわけにはいかず、一次創作者の専売特許にしたいのは人間の性です。創作者もお金ないですからね。これが「海外に先を越されるだけだ」と批判されていますが、多くの画像生成AIとも違いがあるので、今のところ「知る人は知っている、絵師という人間の創作者が扱う道具」に落ち着きそうな気がします。いわゆるAdobe Sensei的なやつですかね。

 

かと思ったら、Stable Diffusionベースである、AI PiccasoでのいらすとやDiffusionなどのような、特定の絵柄を模倣するAI生成ができつつあります。しかしこういう取り組みができるのはいらすとや原作のみふねたかしさんの協力があってこそですよね。

 

最近話題のAIを理解する:音楽生成

甘茶や魔王魂、Springin’ Sound Stockと言ったフリー音楽配布サイト。YouTuberなどとして楽曲を挿入する場合にこのようなサイトを利用する人は多いでしょう。諸々の権利をこのような音楽サイトで回避しようとすると、オリジナリティがなくなります。AIによって生成された音楽だと、それらの問題を回避できます。たいていAI関連のサービスというのは、ノーコードで入れれば使えるもの、すでに学習済みのモデルをAPIやライブラリという形で自分で叩いて活用するか、それか1から学習をさせるという択があります。たいていは前2者で、1から学習をさせるのは、AI学習者や企業以外は稀です。Music Transformerの誕生以来、いろんなスタートアップがしのぎを削ってMLの開発に取り組んでいるように見受けられます。

 

現在、すでにサービスとしてAmper Music、MuseNetやSoundrawといったサービスがありますが、まだ日本ではメジャーになっていない感があります。Stable Diffusionに対する絵師のアレルギー反応が凄まじかったので完全に陰に埋もれているかそもそも音楽制作界隈の市場が小さすぎてまだAIが流行っていないということなんですよねきっと。今までフリー音源に頼り切りだったYouTuberなどの、音楽を取り扱うインフルエンサーによって広められれば一気に流行りそうな気がしますが、それはもう少し先のお話になりそうです。

 

せっかくだからコードを書いて動かしたいですよね。いくつかサービスを見つけてきたので紹介します。Magenta、Mubert、Reffusion、Pop2Pianoです。それぞれ趣旨が異なり、「Magenta:1からor任意の旋律の続きの音楽」「Mubert:テキスト→音楽」「Pop2Piano:音楽→ピアノ耳コピMIDI」と分かれています。

 

Magenta

MagentaはGoogleの創造的なプロセスにおけるツールとしての機械学習の役割を探るオープンソースの研究プロジェクト*4で、音楽生成のAIで有名です。先述のMusic TransformerはMagentaに組み込まれています。

 

Magentaを試すには、Magenta Studioというアプリケーションが便利です。こちらのサイトからダウンロードして使ってみましょう。MacWindows両対応で、5つのアプリケーションがセットになっています。Ableton Liveプラグインですが、独自のアプリケーションとしてインストールすることもできます。非常にシンプルなUIで、使いやすいです。

 

  • Continue 単一のMIDIファイル→長さを延長して続きの音を生成する
  • Drumify 単一のドラムMIDIファイル→楽器を追加してパターンのある演奏に仕立てる
  • Generate (入力はない)→任意の4小節のドラム/ピアノフレーズを生成する
  • Groove 単一のドラムMIDIファイル→ドラムに強弱をつけたりリズム感を出したりする
  • Interpolate 2つのMIDIファイル→ドラム/ピアノフレーズを生成する

全てMIDIファイルが出力されます。Continue・Convert・InterpolateでVariationやStepsの数値を2以上に指定すると、複数ファイルが書き出されます。

 

見た感じ、作曲に行き詰まった人にありがたそうですね。Generateで生成したメロディをContinueで伸ばして、Generateで生成したメロディを既存の曲や前の旋律とInterpolateでリミックスさせて、それぞれContinueで伸ばしてというのを繰り返し、最後のドラムはGrooveで盛り上げ、できたMIDIDTMソフトに突っ込むだけでまともに音楽として聴けそうな気がします。と思ったら、すでにやっている人がいました。

 

Mubert

これこそ著作権フリー音楽サイトの代替と言っていいかもしれません。Mubertで生成された音楽はロイヤリティーフリー(非商用利用が可能・商用利用は要相談・自分の音楽として売り出すのは禁止)です。

 

Mubertは音楽を生成するAIです。Mubert Renderでジャンルや長さを指定すれば、音楽やループ曲、ジングルなどを簡単に生成できます。カテゴリを選択してプレイリストから音楽をダウンロードしたり、長さを調整して再生成させたりすることもできます。

 

しかし、さらにすごいのがtext2musicの技術です。YouTubeの番組(PIVOT)で落合陽一さんが音楽を叩いているのを見たのが今回この記事を書いた動機です。やっていることは自然言語処理とMubert Render(厳密にはMubert API)の融合ですが、組み合わせたらテキストから音楽を生成するというプロダクトができるのです。テキストが違えば、出力される音楽も違う訳です。

 

現在はJupyter Notebook(Google Colab)プロジェクトがGitHubで無償で公開されていますので、そちらから取り組むのが簡単です。Stable Diffusionを活用したimg2musicのモデルデモもあるようです。

 

「Mubert Text-to-Music」のノートブックをGoogle Colabに入れて、テキストを入力すると、テキストのコンセプトに合った楽曲を制作してくれます。「Stable Diffusion + Mubert」は入力が画像になったバージョンです。途中、APIコードを取得するためにメールアドレスを求められることがあります。

 

似たようなサービスに、つい16日にリリースされたばかりのRiffusionがありますが、使用条件が不明瞭だったしかゆいところに手が届かなさそうので今はやめておきます。本当に日単位で進歩していきますからね。恐ろしい時代に生きているもんです。

 

Pop2Piano

Pop2Pianoは、wavやmp3からピアノカバーのMIDIに変換するモデルです。これは韓国の研究グループが開発したモデルです。生成されるMIDIは必ずしも正確とは限らないのであくまで「ピアノアレンジ」という気持ちで生成してみるといいと思いますが、非常に原曲の特徴をよく捉えています。プロ編曲者のレベルで正確に耳コピができる日も近いかもしれません。

 

試し方は、下記のGoogle Colab プロジェクトを自分のGoogle Driveにコピーし、GPU runtimeに変更した上で、上から順番に実行するだけです。途中、wavまたはmp3ファイルのアップロードを求められます。このファイルを機械学習MIDIに変換してくれます。

https://colab.research.google.com/drive/1rBAs2TkryDnnQOhcM-mtlrgtL2h3ekml?usp=sharing

 

それ以外にも、OpenAIがJukeboxというのを出しています*5ので、興味のある人は調べてみるといいと思います。OpenAIはイーロンマスクなどが設立に関わった人工知能研究の非営利団体で、現在は後述のChatGPTでの注目が凄まじいです。

 

最近話題のAIを理解する:自然言語処理の進化は凄まじい

自然言語処理の分野ではすでに、word2vec、LSTMといった技術はトレンドではなくなり(無論重要な技術であることに変わりはありませんがこれらを応用して)、Transformerモデルを利用したBERT、GPTモデルの開発が盛んです。これらを応用しているのがOpenAIのChatGPTです。12月1日にベータ版のリリースが始まったばかりですが、1週間後ですでに100万人の登録者がいるなど、世界的に話題をさらっています。機械学習によって自然な会話を成立させるAIはすでにたくさんあり、それこそこの間見たAIさくらさんとかがそうなのですが、現在はChatGPTが「今一番アツいAI」としてStable Diffusionなどと並んで紹介されることが多いです。この項ではもっぱらChatGPTについて説明していきます。

 

ChatGPTの概要

ChatGPTは、自然言語処理ツールであり、人間と話しているかのような受け答えをすることができます*6。研究とフィードバック収集のため、現在無料で一般公開されていますが、何百万もの大量のトラフィックと演算を捌くために将来的に収益化されるかもしれません。

 

ChatGPTは質問、相談、翻訳、要約、メールやエッセイなどの空想の文書作成、コード作成などの様々なタスクの補助をしてくれます。私が最初に試したのはPythonでのデータ分析とエラトステネスの篩*7でしたが、ゲームも作れる*8ようですね。手紙や歌詞を書いたり、ライトノベルや楽曲のさわりの部分だけ作ってもらうことは、難なくこなせそうです。ただし、知識レベルは2021年で止まっているようです。また、人間が描く情緒的表現には足元に及ばず、本当の意味で感情がこもった文章が生成できる訳ではありません。

 

我らが日本語にも対応しており、一つに決まる答えがない抽象的な問題を答えたり、Pythonコードや小説を書いたり、高度な1人2役ディベートをしたりすることができます。ただし、一部の知識に関して、日本語で質問すると頓珍漢な嘘をついてくる可能性があります。今は英語で使った方がマシな回答をもらいやすいです(もちろん、そのリスクを分かって日本語で使うのも全然ありです)。

 

私も学校のプログラミングの課題に使用しました。Pythonによるデータ分析のプログラミングで、ChatGPTにプログラミングコードを生成してもらい、最終的に私は体裁を整えるだけです。一部の分野においてはAIに宿題をやらせる日が私の中ではもう来てるんですね。ところが、命令文を少し変えるだけで違うライブラリを指示されたり、往々にして間違っていたり、構文が変わる(そのため、欲しい回答を得るにはしばしば言い回しを変えて伝え直す必要がある)という欠点を感じます*9。こうした欠点を踏まえても、前の命令に基づいてコードを改変できる点など優れた点も多く、うまく使いこなせば有能であります。その点で、ChatGPTは癖がありますが、その賢さは人間を上回ろうとしています。いくつかの分野においてはGoogle検索を上回っている時もあるように感じます。

 

一部では人類はAGI(汎用人工知能)を手にしたと評価されてますが、ChatGPTの情報の正しさについてはとことん脆弱です。ChatGPTは政府の公式文書などの典拠に足るものではなく、まともな百科事典に比肩する代物ではありません。所詮、依拠性などが(特徴量に切り刻まれているだけであり)適当だけど意味が通る文章を生成するのが得意なAIチャットボットだと思ってもらっていいでしょう。

 

異世界旅行エージェントChatGPT

私は考えたのです。ChatGPTなら、こいつ旅行の計画立てれんじゃねえのかと。方面は伊豆でいいですかね。

 

あっ…

 

この文章を生成するのに20秒くらいかかりました。日本が世界に誇る「新幹線」は知っていますが、日本各地のローカル事情については存じ上げず、このAIには旅程の計画を立てるどころかどの路線に乗ったらいいかという乗換案内すらまともにできないことがよくわかる例です。AIも流石に鉄オタじゃありません。しかし、東京から伊豆高原まで2時間半かかるというのは(余裕時分も含めているが)、よくできたものです。

 

やはり時間がかかって、非常に当たり障りのないコメントをいただきました。内容は的を射ており、非常に大事な助言です。伊豆に山や海、温泉があることは知っているようですが、地名と特徴を入れ替えればどの場所にも通用する定型文ですね。では、詳細にオプションを指定してみてはどうでしょうか。

 

伊豆旅行の計画を立ててみてください。東京駅から1泊2日で、熱海市下田市などの観光を楽しみ、下田ビューホテルに宿泊します。タイムスケジュールを立ててください

 

はい。この行程ですが、色々とツッコミどころがあります。私は熱海や下田の観光をまともにしたことはないのでうろ覚えは許してください。多分再実行すると別のトンチンカンな回答が出てくると思います。

 

  • 「8:00〜9:00」 東海道新幹線に乗り込むのにそんなに時間はかかりません。
  • 東海道新幹線伊豆高原駅まで移動」  停車しません東海道新幹線熱海駅で大きく進行方向を変え、三島を通り、名古屋・大阪方面へ進んでいきますが、熱海駅(ないし三島駅)での乗り換えが考慮されていません。さらに伊東線伊豆急行線の電車で南下していくか、途中に熱海か伊東などの観光を挟むのがセオリーです。伊豆急行へはサフィール踊り子という特急があって、それは新幹線のような見た目をしているので、それと間違えたんじゃないんですかね。サフィールは百歩譲っても、時間的には普通の踊り子を案内されるので、本当に不思議としか言えません。
  • 「9:00〜11:30」 実際に東京駅9時ちょうど発の特急踊り子3号が毎日運行されています。この電車は伊豆高原駅には11:12に到着します。11:30には伊豆稲取駅に到着します。
  • 「明神池」 明神池と検索すると、上高地(長野県)の池か、沼津市にある池が出てきます。仮に沼津市にある池だとすると、この観光案内は間違っています。明神池は沼津市の井田というところにあり非常にアクセスが悪いです。公共交通機関では沼津駅からバスに乗って江梨までいくか、修善寺駅からバスに乗って戸田まで行き、戸田と江梨を結ぶ予約制の乗合タクシーに乗り換える必要があります。そのため、この辺りは駅からタクシーやレンタカーでアクセスするのが一般的です(これは合っています)。沼津市の明神池は、日本一海に近い(?)淡水湖の一つとして河津桜など豊かな自然を楽しめますが、もう一つの日本一海に近い淡水湖で、すぐ近くにある大瀬崎の神池の方がインパクトがあります。
  • 海を見たいのなら、サフィール踊り子に乗っている方が個人的には楽しめるのではないかと思います。伊豆稲取あたりの車窓は特に雄大で、踊り子号のポスターとして度々使われるほどです。何より、伊豆高原で降りずとも乗っていれば下田に到着します。
  • 「日本最大級の温泉街『下田温泉』で昼食」 温泉で昼食!?温泉街で昼食ということでしょうか。それはそうとして、下田に「日本最大級」は自意識過剰すぎてイタいですね。日本最大級と言ったら、別府とか草津とかそこらを思い浮かべます。せめて日本最大級が許されるのは熱海くらいまでです。熱海の温泉街の繁栄ぶりはすごいと思います。私もいつか浸かってみたいです。
  • 下田温泉を散歩しながら」 ペリーロードとかかな?いいですね。寝姿山のロープウェイに登ると街が一望できて良さそうですが、そんなところまで発想する余地はこのAIにはありません。
  • 「蒸気船『かすみ』を観光」 そんな船は存在しません。確かに下田は蒸気船である黒船が来航した場所として知られています。下田には黒船サスケハナという遊覧船があり、20分の乗船時間で下田港内を観光して回る船となっていますがどうみてもディーゼル船です本当にありがとうございました
  • 「下田ビューホテル」 ホテルは適当に選択しましたが、こちらのホテルは下田市外浦にある海が見える温泉ホテルで、車で5分〜10分でアクセスできます。3kmの道のりで峠を越える必要があるので、徒歩でのアクセスはあまりしないでしょう。1時間に1本以上バスもあります。
  • 下田温泉を散歩しながら夜景を楽しむ」下田温泉にもう一回行くんですか?あれ…草津温泉とかと勘違いしてる?夜の湯畑的なことをおすすめしようとしているのでしょうか?ホテルから下田市街地までは遠いし、月光の下で露天風呂に癒されるというのが最高のプランだと思います。
  • 下田温泉から熱海市へ移動(タクシーやレンタカーで)」 下田温泉から熱海市へは伊豆急行線伊東線の利用が便利です。特に伊東から北の道路はいっつも混んでいていい印象がありません。アメリカの田舎のように車がないと何もできない土地だと勘違いしているでしょうか。東伊豆は観光需要が高く、少し特殊です。
  • 「熱海海浜公園」 これはひたち海浜公園と勘違いしているのかな?実際の熱海海浜公園はどこにでもありそうな小さな公園です。少し南にある伊豆多賀の方に長浜海浜公園という海直結の公園がありますが、これも特段観光するほどのものでもなく、砂浜(海水浴場)と公園が一体化しただけの場所です。海に近づきたいなら熱海親水公園や熱海サンビーチがお勧めです。海が見たいだけなら熱海城とかが綺麗なんじゃないんですか。
  • 途中で諦めています。英語でPythonコードを書くように指示した時だとこの現象は発生しないのですが、日本語だと処理に時間がかかってしばしばこうなります。

 

それぞれの行程と時間に無理はない(ように見える)ので、一見「旅程立てれているじゃん」と思ったら全然立てれませんでした。タイムスケジュールの体裁は保っているものの、違和感を感じざるを得ません。やはりChatGPTは適当だけど意味が通る文章を生成するのが得意なAIにすぎないのですね。実在の伊豆にどこか似た異世界の旅行計画を提出してくれました。

 

そのうち私が実際に旅行して、AIに本物の伊豆旅行を教えてやりたいですね。

 

最近話題のAIを理解する:旅程生成

しかし、これで諦めてはいけません。明神池や神池について調べていたら、沼津観光ポータルというサイトが「AI(人工知能)が作るお勧めプラン」というのをやっているのを見つけました。

 

パラメータを指定して、観光スポットをいくつかお勧めしてもらうというノーコードの旅程推薦AIです。生成される旅程も概ねコンセプトに沿っていて、あまり無理がありません。

 

最も、沼津にはラブライブサンシャイン聖地巡礼などの特殊な需要がありますが、それらは別途「(AIじゃない方の)おすすめプラン」にまとめています。

 

このように、いろいろな会社や団体が、SaaSやMaaSの一環としていろいろなものを作っています。旅行の情報提供は、実は最もメジャーなAIの活用法の一つだったのです。沼津に限らず、京都や広島などあちこちで採用されてます。どれもUIが沼津のものと似ているなと思ったら、株式会社まちづくりプラットフォーム*10の「AIコンシェエルジュ」の機能を埋め込んでいたんですね。観光サイトプロバイダは観光地の情報を入力するだけです。

 

他にも、ソフトバンクの関連企業で旅程をAIが作成してくれるPlanmeというアプリがあります。やはり旅行はその地域ごとにローカライズしないといけないので、まだChatGPTのような存在(AGI)が総合的に判断して無理のない旅程を立てるのは難しいのでしょうか。