【コラム】二次創作とAI
AI、という言葉が普及して久しい今日このごろ。
最近ではmimicというAIを活用して描き手の個性を反映させたイラストメーカーが公開され、物議を醸しました。
文章書きの私としては、なぜそれほどまでの過剰な反応が起きるのか理解し難いものがあったのですが、ただでさえネット上の盗作が跡をたたない現状であのサービスを悪用されては堪らない、というのは心情として理解できます。
かつてカメラがこの世に生まれ落ちた時、写実派のアーティストたちがカメラの使用停止を政府に求めたのとよく似たことが起こっている印象です。
さて私がAIに驚異を感じなかったのは、いくつか理由があります。
二次創作活動自体が楽しみであって、その楽しみはAIに代替されるものではない
仮に他人が自分の文章を学習したものを公開したとしても、それに負けるつもりはない
むしろAIって、便利に使っていくべきでは?
そんな思いもあって、私はAIに拒否反応はありません。
当然物書きだからという側面もありますが、純粋に興味もあります。
こういった背景もありまして、実際にAIを使ってAIが二次創作活動に何をもたらすかを検証することにしました。
そうは言っても私はITエンジニアではないので、一からAIを作り上げるなんてことは無理です。ここはニュートンの言葉の通り「巨人の肩の上に立つ」ことにしましょう。
今回AIを利用するのに参考、というかバリバリにコードソースを使わせて頂いたのはUdemy Businessにある我妻幸長氏のコース「自然言語処理とチャットボット: AIによる文章生成と会話エンジン開発」です。
何らかのオブジェクト指向のプログラミング言語に触れたことがあり、Pythonの環境構築ができれば誰でもAIに学習させて、結果を確認することができます。
学習コースは6.5時間ありますがアニメ一期分を一気見するノリで視聴しちゃいましょう。
実際にAIに学習させてみた
さて、まず試すのはgensim、word2vecというライブラリを利用した単語の学習、それからキーワードを元にした類似度の高い単語の抽出です。
コーパス(AIに与える学習データ)には現在連載中の小説から約9万文字分を与え、使われている単語に対して形態素分析を行います。
これによって単語にベクトルが与えられ、単語間の演算や類似度を見ることができる⋯⋯というわけですが、そう言われても何のこっちゃらだと思うので結果を見ていきましょう。
赤字になっているのが類似度を調べたいキーワードで、その下には関連度順に結果が表示されています。
確かにこの単語とこの単語はワンセットで使うのが多かったな⋯⋯という結果になりました。
しかしここで「へぇ~」で終わってはAIを活用したとは言えません。
これで何が出来たかと言うと、第三者的な目で作品を俯瞰できるようになったわけです。
この結果は読者の目への届き方の指標にもなるわけなので「このキーワードで読者が連想するもの、紐付きやすいものは何か?」が推察できるようになると、そのキーワードに対しての表現を変えてみたりすることができます。逆にまったく関連のないキーワードをぶつけて意外性を追求するのも面白いかも知れませんね。
実際にAIに文章を書いてもらってみた
さて、次は自分の書いた文章をコーパスとして学習させてみます。
冒頭一行目を元に、続きをAIに書いてもらう実験です。
使用するニューラルネットワークはCNNで、中間層はGRU。
結構厳しい条件だと思うのですが、学習時系列は10、中間層のニューロン数は128でエポック数(学習回数)は60で実行してみました。
まだ一度目ということもあって、全く文章になってません。
さて、待つこと約一時間。60回学習した後の文章を確認します。
やはりまだ日本語がおかしいですが、一度目よりはるかに日本語らしいものが出てきました。
コーパスもそれほど多くないのも原因かも知れませんが、パラメータ設定も調整する必要がありそうです。
では学習時系列を20、中間層のニューロン数は512。このままでは時間がかかりそうなのでエポック数を30にして実行してみましょう。
誤差(loss)もかなり少なくなり、まだおかしいところはありますがかなり自然な日本語になってきました。
さて、ここでも重要なのは、これをどう活用していくか? です。
生成された文章は過学習気味な気がしないでもないですが、確かに筆致を模倣できているように思えます。
私が思うに、こうしてできあがった自分風の文章から筆致を読み解き、あえて筆致を変化させていくというのに使えるのではないでしょうか。
言い方を変えるなら自分の文章のクセに気づき、それを変えていくことで読者に新たな印象を提供することができると思うのです。
AIを活用してみて分かったこと
まず始めにこれを言わなければならないでしょう。
AI作れる人ってすげぇ。
基礎知識を勉強してみて分かったのですが、触れる敷居が下がってきたとは言え高度な知識と経験が必要な分野なのは変わりありません。
また精度を求めるには大量の学習データと適切なパラメータ設定が必要です。場合によってはライブラリにアレンジを加えたり、一から作ることも必要でしょう。
そして難しいなぁと思ったのがもう一つ。学習にはめちゃくちゃCPUを使います(補足ですが、Tensorflow等のライブラリを使う時はGPUを使うのがトレンドのようです)。
写真現像用に自分で組んだデスクトップPCを使いましたが、個人ユースにしてはそこそこいいCPUを積んでいでも1~2時間CPU使用率が100%で張り付くのです。
部屋が熱くなってくるのが分かりましたし、電力も普段の十倍以上使ってます。AIサービス事業者って開発にかかるイニシャルコストは言わずもがなですが、ランニングコストもかなりかけているわけですね。
そんな感じで結論が「すげぇ」だけかよって感じですが、AIの活用方法に関しては各項で記した通りです。
これ以外の使い方としてbotを自作することも可能ですので、キャラbot同士に会話させてみて、話の元ネタのヒントにするなんて使い方もできそうですね。
それでは皆さま、AIと仲良くしつつ、引き続き実りある二次創作活動を楽しんでいきましょう。
最後までお読み頂き、ありがとうございました!