👘

生成AIで連綿と紡がれる和歌アート作品「生成流転」の実装背景

2023/12/15に公開

はじめに

こちらの記事はEngineers and Creators Advent Calendar 2023の14日目の記事です。
✅ 8日目の記事はこちら:最近の流行りの曲で使われがちな音楽手法
✅ 10日目の記事はこちら:Ebitengine関連で書く予定です!

自己紹介

みなさんこんにちは、初めましての人は初めまして、お久しぶりの人はお久しぶりです。色々やっています。しまとー(島田東子)です!普段は筑波大学情報学群情報メディア創成学類の学部3年生として主にCG系の勉強をしていたり、Life is Tech!でメンターの仕事に邁進する日々を過ごしています。
今回は11-12月にかけて制作しているアート作品「生成流転」に関して、実装の解説を書いていこうかなと思います!

生成流転とは

「生成流転」 とは...

万葉集の和歌とAIの融合から生まれる新たな詩的世界を探究するプロジェクト。AIが古典からインスピレーションを受け、時代を超えた創造を行い、伝統と革新が交錯する芸術の形を提示します。

いかにもAIが生成した大層な文章ですね。
このままだとどんなプロダクトか一切わからないと思うので実際に動いているデモの映像を以下に提示します。
https://youtu.be/BJww-SQGIS0

どのようなプロダクトかなんとなくわかっていただけたでしょうか?
流石に映像だけでもどのようなコンセプトか伝わりづらいですよね。文章でつらつらと制作にあたって考えたコンセプトなどを綴っていきます。

そもそも万葉集とは

そもそも皆さん万葉集とはどのようなものか知っていますか?私は大学も情報系で、インターン先やバイト先も軒並みパソカタ人間しかいない環境のため、普段の雑談の中で日本古来の文化に関して話す機会が本当にないのですが、実際のところ万葉集と聞いてどのようなものを指すのかパッと思い浮かぶ人が世間にはどれくらいいるもなのでしょうか、、

万葉集とは日本最古の歌集であり、日本古来の和歌を約4500首収録したものとなっています。
代表的な歌ですと、

「あかねさす紫野行き標野行き野守は見ずや君が袖振る」

日本語訳:あかね色をおびる、紫草の野を行き、その禁じられた野を行きながら、野の番人は見るのではないでしょうか。あなたが袖をお振りになるのを。

「君待つとあが恋ひ居ればわがやどの簾動かし秋の風吹く」

日本語訳:君を待つとて恋しく思っていると、わが家のすだれを動かして秋の風が吹く。

「春過ぎて夏来るらし白たへの衣干したり天の香具山」

日本語訳:春もおわり夏がやって来たらしい。白い衣が干してある。天の香具山よ。

などが挙げられます。
話は変わりますが、また違う日本古来の歌集の中に仮名序と呼ばれる序文があります。古典の教科書などでも扱う(らしい)ので聞いたことがある方もいるのではないでしょうか?

仮名序

原文

やまと歌は、人の心を種として、よろづの言の葉とぞなれりける。
世の中にある人、事業、繁きものなれば、心に思ふことを、見るもの聞くものにつけて、言ひ出せるなり。

花に鳴く鶯、水にすむ蛙の声を聞けば、生きとし生けるもの、いづれか歌を詠まざりける。
力をも入れずして天地を動かし、目に見えぬ鬼神をもあはれと思はせ、男女の仲をも和らげ、猛き武士の心をも慰むるは、歌なり。...

日本語訳

和歌は、人の心をもとにして、いろいろな言葉になった(ものである)。
世の中に行きている人は、関わり合う色々な事がたくさんあるので、心に思うことを、見るもの聞くものに託して、言葉に表わしているのである。

(梅の)花で鳴く鶯、水にすむ河鹿の声を聞くと、この世に生を受けているもの全て、どれが歌を詠まないことがあろうか(、みな詠むのである)。
力を入れないで天地(の神々)を感動させ、目に見えない鬼神をもしみじみとした思いにさせ、男女の仲を親しくさせ、勇猛な武士の心を和らげるのは、歌なのである。

私はこの仮名序の中の 「生きとし生けるもの、いづれか歌を詠まざりける」 という言葉が好きで初めて聞いた時からかなり印象に残っています。最初、生成AIを使用して何か作品を作ろうとなった時に、全く生きとし生けていないぽっと出のAIが、日本古来より連綿と続いている和歌の文化に組み込まれていったら面白いんじゃないかな〜と思いこの作品を作りました。

作品概要

「生成流転」では万葉集の短歌(5-7-5-7-7形式の和歌)を学習し、新たな和歌を生成していきます。
作品の一連の流れは以下のとおりです。

  1. 万葉集の中からランダムに和歌を選択
    a. 既存の和歌に対しては、あらかじめその和歌をベースとした情景をAIに描いてもらっており、それらを初めに表示します。
  2. 表示された画像をAIに渡し、どのような情景が描かれているかを解釈してもらいます。
  3. AIの解釈をベースに新たに和歌をひとつ生成してもらいます。
  4. 新たに生成された和歌を再びAIに渡し、その情景をAIに描いてもらいます。
  5. 上記の2-4を3回繰り返します。

作品の流れとしては非常にシンプルなものになっているのですが、実行するたびに最初の和歌から全く違うものにたどり着く場合もあれば、終始似たようなテイストの画像が生成される場合もありかなり面白い作品になったのではないかと思っています。
というかDalleの性能がえぐいですね。毎回生成される画像のクオリティが高すぎて腰を抜かしていました。

AIのチューニング

今回の実装に際して肝となったのがAIのチューニングでした。
と言っても今見返してみてもなんのチューニングもしてない状態でもそれなりに精度の高い和歌が生成されていますねーさすがGPT-4
なんのチューンングもしていない状態での和歌の生成

ただ、今回は万葉集で出てくる表現に拘りたかったため、GPTのFine-Tuningと呼ばれる機能を用いてチューニングしたGPTを使用することにしました。
チューニングしたモデルでの和歌生成は以下のとおりです。不自然さは少し増すものの、より万葉集らしさが表現できたのではないかなと思っています。
チューンング後の状態での和歌の生成

Fine-Tuningではfew-shot leaningと呼ばれる技法を用いて、すでに学習済みのモデルに対して、固有のタスクをこなすための追加の学習を少し行うことで、目的に適した出力がされるように調整することができます。
詳しいFine-Tuningの手法などに関しては下記のOpenAIのDocumentページを参考にしてみてください。
💡 Fine-Tuning - OpenAI Document

さて、このFine-Tuningなのですが、かつてはOpenAI SDKを使用して飲みでしか行えなかったものが、11/17のdev-dayの発表を機にUIを通して非常に簡単に行えるようになりました。便利〜
Fine-TuningのUI

今回はネット上の万葉集データベースをスクレイピングして得た以下のようなCSVファイルをもとに、Fine-Tuningに即したconversations形式のjsonファイル形式へと変換をしてFine-Tuningを行いました。
万葉集のCSVデータ
万葉集のCSVデータ

万葉集の整形後のJSONデータ
万葉集の整形後のJSONデータ

今後の展望

今後の展望としては、生成された和歌の一覧を最後にまとめて表示する機能や、SNSシェアする機能をつけたり、もう少し5-7-5-7-7のフォーマットに準拠させるためのプロンプトを練っていきたいです!

さて話は変わりますが、この作品は元々大学の「ディジタルコンテンツ表現演習」という授業の一環で制作したものです。この授業では今年の流行語にも選ばれた落合先生の言葉「生成AI」を使用したアート作品を作り、展示会を開催するという課題が毎年課せられます。

そしてこの展示会がこの記事が出るはずの12/14から12/15にかけて筑波大学内にて行われます。この記事を執筆している12/1現在では今後の展望は一歳実装できていません。果たして展示までに実装は間に合うのでしょうか...😢

つくばに立ち寄る方がどれだけいるのかわかりませんが立ち寄る際にはぜひご覧になっていってください!
🔗 ディジコン制作展2023『感動の饗宴』公式サイト
🔗 ディジコン制作展2023『感動の饗宴』公式Twitter

おまけ

gpt4-vision-preview $0.01 / 1 image
gpt-3.5-turbo-1106 $0.001 / 1K tokens
DALL·E 3 1792×1024 $0.080 / image

gpt-3.5-turbo for Training $0.0080 / 1K tokens

請求画面
6000円超えの請求を喰らっています。お金がない...

GitHubで編集を提案

Discussion