Tue Dec 6 2016

この記事は ゆゆ式Advent Calendar 2016 の6日目に書かれました.

ゆゆ式 Advent Calendar 2016 6日目: ゆゆ式 (アニメ) における可愛いとは何か

あらまし (4行)

  1. ゆゆ式は可愛い
  2. 可愛いとは何だろう?
  3. 言葉で説明するのは難しい
  4. 機械学習は実験そのものであり、人間に発見を与えてくれる

あらまし (長い)

ゆゆ式 (マンガ) が語られるとき、しばしばそのハイコンテキストさから、哲学の視点から語られることが多い. しかし他のまんがタイムきらら作品と違わず単純にキャラの可愛らしさも言わずもがなである. 私が思うに (そしてこれはよくある話だが) ゆゆ式 (アニメ) はゆゆ式 (マンガ) に較べ、よりライト層にも受け入れられるよう、 哲学的難解さを多少取り払って、その分、 (万人受けするような) 日常アニメとしての可愛らしさに注力しているように見受けられる. というわけで、ゆゆ式 (アニメ) における可愛いについて研究する. 実際的な理由として、ゆゆ式 (マンガ) ではないのは、私がマンガを紙でしか持っていないのでコマ画像を持っていないから.

ゆゆ式のハイコンテクストすぎる会話を翻訳してみた。 pic.twitter.com/c2w6mdV3IG

— ニカイドウレンジ (@R_Nikaido) June 6, 2014

本記事の本当の目的はゆゆ式のキャラってこうだから可愛いよね (と私は考える) を万の言葉を尽くして説明することなのだが、 自分が持つ (特に非テキストから習得した) 概念を言葉で正確に説明するのは難しい. 言語ゲームの呪い (造語) から逃げられないからである. 赤色とは何かを一生懸命テキストだけで説明するのは難しい. かなり多くの共有した事前知識が必要となる. それよりも、実際に画像 (印刷した紙でもいいが) を見せて、「これが赤色です」、 微妙に薄かったり濃かったりした画像を見せて、「これもやっぱり赤色です」、 などと無限に例示を繰り返す方が早いし、それくらいしかない.

人間の振る舞いを見ると、 (もちろん有限回の) 例示によっていつしか、 個人個人の中にある一つの赤色という概念に収束し、 コミュニケーション間で辻褄が合っているのだ. じゃあ逆に、その獲得した概念から、「赤色の説明」に展開できるのかと言えば、それは難しいと思う.

現実的な方法としては、先程述べたように、「これが赤色です」の例示を十分回数、繰り返すことで、 学習者に赤色の概念を獲得させることだと思う.

以上述べたことはまさしく「教師あり学習」それも「完全情報からの帰納的推論 (learning from positive and negative data)」 の枠組みの話である. 私は、これが可愛い、これは可愛くない、という主観的な概念を持っている. しかし私の思う「可愛い」を正確に説明することは、きっと不可能である. それでも、人に教えることはできる. 大量の例示を使って.

この機械は本人に新しい発見を与えることが知られている. つまり、「私はこんな画像も可愛いと思っていたのか」という発見である. 次に紹介する kwibot ちゃんは、私の持っている可愛いという概念を移した機械である.

kwibot

「可愛い」という概念を機械に教え込む. kawaii の概念を獲得した robot なので kwibot さんと命名.

概念を教えるとは、先述したように、私の教えた画像について可愛いものは可愛い、可愛くないものは可愛くないと覚えたもので、 元も子もない言い方をすると、 画像を与えると、可愛いか可愛くないかを、その度合 (範囲 \([0,1]\) の実数値) で教えてくれる機械である. 仮にその度合のことをここでは Kawaii level と呼ぶ.

これ図にする必要ある?

kwibot さんには私の持っている「可愛い」を正確に伝授したい. 良い教育をするには良い教材が必要である. ここで教材とは、主に次の2つのこと.

  1. 大量の可愛い画像 (positive data) (Kawaii level を 1 とする)
  2. 大量の可愛くない画像 (negative data) (Kawaii level を 0 とする)

つまり可愛い画像を見せては「これは可愛いですね」、可愛くない画像を見せては「これは可愛くないですね」と教えることを大量に繰り返す.

有象無象の画像ならいくらでもインターネットから拾うことができる. しかし何でも良いわけではない. それが可愛いか可愛くないか、という ラベル が着いていないと教えることはできない. そして、教材となる画像の枚数は大量であることが望ましい. 感覚的には、数万以上欲しい. 数百枚でいいのなら、ラベルを付与する作業 (annotation) は人手で出来るだろう.

そこで某静画投稿サイトを使った. この静画投稿サイトでは、画像一枚一枚に対してタグがついていて、 そして閲覧数が報告されている. 例えばタグ "女子高生" といった可愛らしそうな画像に付与されそうなタグで選別. かつ、閲覧数がある程度あることで、イラストとしての質が担保されたものを "可愛い" として覚える.

注意点として、本来の目的は「アニメのキャプチャ画像」であるのに対して、 静画投稿サイトにあるのは、(多くは一般人が) 適当なペイントツールを使って適当な機材 (ペンタブ?とか?) で描いた「イラスト」であること.

エッチな画像の扱い

問: 「エッチな画像は可愛いのか」

本当は、あんまりエッチな画像は可愛くないとして欲しい. kwibot さんにエッチな画像を一切見せずに教育した場合、エッチな画像はみんな可愛いと判断してしまった. エッチな画像を可愛くないと教えた場合、 可愛い 画像を 可愛くない と判断することが増えた. 従って、エッチな画像は可愛くなくはないことが分かる. 妥協として、エッチな画像は少しだけ可愛い (Kawaii level を 0.4 とした).

アニメキャプチャ画像への転用

kwibot さんはなんかすごいペイントツールでタッチペン?とか使って描かれたようなイラストだけを見て「可愛い」を学習してきた. さてしかし、今回の目標はゆゆ式 (アニメ) であって、すなわち、アニメのキャプチャ画像である. 経験的に、イラストとキャプチャ画像はまあまあ違うものであることがわかっている. (だからラベル付きのアニメのキャプチャ画像が数万枚手に入るのなら、初めからそれで学習すれば良い.)

例として、イラストだけから学習した kwibot さんを使って、ゆゆ式第一話で可愛いと判定したものを見てみる.

第一話で試してみます

第一話から1秒単位でキャプチャを取って

第一話のキャプチャ画像

kwibot さんに見てもらう. Kawaii level が 0.9 以上あるものを「とても可愛い」ものだとして抽出する. 結果、抽出されたのは次の 17枚.

ファインチューニング前: 第一話で可愛い判定した 17枚

「ね?全然ダメでしょう?」と言いたかったのだけど、別に悪くない. 少なくとも何かしらキャラが大きく描かれてるフレームだけが抽出された. 脚だけが映ってるフレームなんかが抽出されてるのも、個人的にはポイント高い

アニメキャプチャ画像へのファインチューニング

kwibot ちゃんには、 アニメのキャプチャ画像で、しかもゆゆ式のそれ、という狭い限定的なドメインだけで 「可愛い」 を知ってくれればそれでいい. 大量のイラストで、ある程度、2012-2016年のネット文化における「可愛い」が何かを分かってくれたと思うので、ここからはゆゆ式にだけ視野を狭めていただく.

  1. ゆゆ式のキャプチャ画像の新教材を使う
  2. イラストで学習した kwibot ちゃんに新教材で学習する

これだけ. 新教材は手作業で作ることにする. キャプチャ画像に可愛いかどうかなんてラベルは無いからしょうがない. 第一話から 1000 枚程度のキャプチャを取って、一枚ずつ吟味して手でラベルを付与する.

アノテーション作業 (可愛いとは何かを自問する時間)

アノテーションツール: x/./o ボタンで判定する

一枚ずつ見て、これは可愛い、これは可愛くない、を判定していく. とは言え キャラクターが描かれていれば基本的に可愛い という問題がある. となるとこれは、キャラクターが描かれているかどうかを学習してしまう. なのであくまでも厳しく、特別に可愛いときにだけ可愛いとする.

じゃあ、それ以外、「普通に可愛い」を「可愛くない」として教えるのは、大抵の場合良くない. 「本当に可愛い」を評価するために、 「普通に可愛い」にある要素を全て捨ててしまうからである. 妥協して、半分くらい可愛い、と教えるのが正しい.

  1. Kawaii level 0
  2. Kawaii level 0.5
  3. Kawaii level 1

これを1400枚程度について、アニメを見るのと同じ時系列で作業していく. 作業するにつれ、「本当に可愛い」の基準が自分の中でブレていったのは否めない.

第一話結果

第一話に関しては、私が kwibot ちゃんに教えたことそのままなので、いいでしょう. 下は kwibot さんが可愛いと判定するようになった画像ですが、 「私 (筆者) はこういうものを可愛いとしました」という報告だと思って眺めていただければ結構です.

ファインチューニング後: 第一話で可愛いと判定した 116枚

先ほどと同じ基準で Kawaii level が0.9超えしたものを抽出した. 116枚と多くなったが、 似たキャプチャ画像が多いのでこれは当然. むしろこれはファインチューニングして良くなった結果である.

第二話以降

ここからは、第一話で教えた可愛いを、初めて見る画像でも正しく実践出来ているかを確かめるフェーズとなる.

すぐ分かることとして、第一話で可愛いとする枚数に対して、第二話以降、せいぜい多くて50枚程度と、極端に少ない. 明らかに第一話で過学習してる. まあいいや.

ファインチューニング後: 第2話で可愛いと判定した 16枚
ファインチューニング後: 第3話
ファインチューニング後: 第4話
ファインチューニング後: 第5話
ファインチューニング後: 第6話
ファインチューニング後: 第11話
ファインチューニング後: 第12話

それぞれ拡大して見た頂けるとよく分かるのだが、 結局、 目が大きく白抜きの丸になってたりする絵が多く抽出されてる. これは分かりやすい特徴ではあるけど平凡な結果だ.

主要キャラ三人が集合してる絵は引っかかりやすい. エンドカードなんかもそう.

それとOPの海のシーンがよく抽出されている. そのくせ第12話が海回だというのに完全にスルーされてるな.

Kawaii level の閾値を 0.8 にまで下げると、4つだけ、海のシーンが抽出された.

ファインチューニング後: 第12話. Kawaii level が 0.8 を超えた海シーン

明らかに私がゆずこを贔屓してるのがバレバレだ.

まとめ

やはり基準を守って人手でアノテーションする作業が一番、ネックだと思う. 教師データ1000枚というのも本当は少ない.

わたしはゆずこ贔屓.

今度はマンガで試したいので Kindle で買い直すか...