LWのサイゼリヤ

ミラノ風ドリア300円

21/5/15 お題箱回:交渉AIと狂気、海老ルーミアの動画技法

お題箱82

276.大学院時代の話、kwsk

タイミング的にこのツイートへの反応だと思うので、交渉AIという研究分野についての私見を軽く書きます。

交渉AIというのはマルチエージェントシステムの一種で、基本的には自律して動作するエージェント同士が相互に情報を出し合って何らかの決定をするシステムというイメージでよいです。

例えば任天堂SONYセガが何らかの利権についての交渉をしたいとします。こういうとき普通は偉いおっさんたちが会議室に出向いて話し合うんですが、一般的に言って人間同士の交渉って非常に労力がかかるし接待とか根回しも絡んできて面倒かつ非効率なことこの上ないです。
そこで人間の代わりにロボットに交渉してもらおうということになって、任天堂SONYセガも偉いおっさんの代わりに交渉ロボを会議室に送り出します。それぞれの交渉ロボは各社が知力を結集して作り上げたもので、「最低限欲しい利権の条件」とか「ここまでは譲歩していいライン」とか交渉に必要な情報が全て持たせられています。三体のロボが人間の代わりに一定のルールの下で情報を交換し合い、最終的に三者の利益が大きくなるwin-winの妥協点に達することを目指します。
ロボット同士の交渉は高速で効率的な上に、人間では発見できなかったような理想的な合意点を見つけ出せる可能性があります。特に今のコロナ禍では会議室に集まってネチョネチョする交渉もやりづらいですから、遠隔で自動的に交渉を締結してくれる交渉エージェントシステムの需要は高まっていると思われます。

f:id:saize_lw:20210515023249j:plain

さて、エージェントAIの中でも交渉AIが極めて特異なのは、「協調」でも「敵対」でもなく、その中間くらいの目的意識を持つシステムであるということです。
まず協調路線を取るマルチエージェントシステムとしては、例えば自動運転システムが挙げられます(まだ自動運転はエージェント同士がマルチに干渉するフェイズまでは普及していませんが、将来的にはそうなるでしょう)。自動運転車両が何台も車道を走っているとき、それぞれの自動車同士がぶつかったり渋滞を起こしたりしないように相互に配慮しながら協調するようなシステムです。
その一方、敵対路線を取るものとしては対戦ゲームAIがあります。対戦ゲームは自動運転とは真逆に相手をいかに蹴落として勝利するかという営みですから、相手を妨害するのが得意なエージェントであればあるほど強力です。

交渉エージェントはこれら協調と敵対の中間的な性格を有します。
まず協調的な要素としては、交渉相手は別に商売敵ではなくビジネスパートナーですから、交渉した結果お互いに利益が出なければ困るということがあります。少なくとも一方だけ得をして一方だけ損をするという結末は交渉では有り得ません。仮にその状況になった場合、損をする側は椅子を蹴っ飛ばして交渉を破棄するからです。よって、二人とも得をする結果を求めるという意味で、交渉AIは一定の協調ができなければ存在意義がありません。
しかし、だからといって全面的に協調するわけにもいきません。交渉において合意点を決める探索とは、「お互いに持っている情報を全部オープンに共有してお互いの利益が最大になる点を探しましょう!」などという牧歌的な探索では有り得ないのです。何故ならば、お互いに交渉に持ち寄る情報は社内機密情報の類であり、交渉の場においてさえ可能な限り秘匿しておきたいからです。「二か月後は金が高騰する」「あと三日でbitcoinは暴落する」というような自社のデータサイエンティストが必死に出したデータを全て相手に晒すのは得策とは言えません。一般的に言って、それぞれの交渉主体が持っている情報や事物への評価は常に異なっており、それをなるべく秘匿したままで自分に有利な妥結点へと結論を誘導するのが交渉の本質です。

以上のように、敵対AIと違って相手と協力して利益を出さないといけないが、かといって協調AIのように自分の手の内をさらけ出すわけにはいかないというのが交渉AIのジレンマです。
そういう状況設定でAIがどう振る舞うべきかというのは極めて難しい問題です。最も単純に考えれば交渉AIの最初の目標は「自分の利益を最大化すること」ですが、それだけを行動原理とするAI同士を戦わせるのは時間の無駄です。何故ならそういうAIは自分の利益が最大になる提案以外は絶対に受けないため、たまたまお互いに利益最大となる案が一致していない限りは交渉が終わらないからです。交渉を終わらせるためにはどこかで自分の利益を諦める必要があります。

f:id:saize_lw:20210515023843j:plain

こうした状況を回避するため、交渉AI同士のシミュレーションにおいては「時間が経てば経つほど利益が漸減するので早めに締結しなければならない」とか「交渉失敗時にも最低保証の効用を与えてそこを妥協ラインとするように仕向ける」とかいう設定を追加するのが一般的です。

しかし、僕にとってはそれは極めて不自然な設定であるように思われます。というのは、人間同士の交渉においては、明らかにそういう不自然な追加設定なしでも無理筋なはずの交渉が何故か締結されるからです。人間同士の交渉で「お互いの腹の内がわからず、自分の利益が最大化されるのかもわからない」という状況に直面した場合、人間はAIとは違って「適当なところで手打ちにする」という意味不明な判断によって交渉を終わらせることができます。「しょうがねえなあ」とか「俺の顔も立ててくれよ」とか「これは貸しだぞ」とか訳わかんねえことを言って交渉を〆るのは企業同士の交渉でも普通に行われることです。人間はAIと違って金銭的ではない「貸し借り」や「面子」によって交渉を締結できるというのは端的に事実です。

さて、ここで有り得る見解として以下のようなものがあるでしょう。「貸し借りや面子も決して不合理な概念ではなく、利益を最大化するためのツールに過ぎない。何故ならば、それは今ここの交渉だけではなく将来的な人間関係まで見据えて人生全体の利益を最大化するものだからだ。その意味で、人間と交渉AIは同じように生存期間のスパンで利益を最大化しているに過ぎない」。これは半分は合っていますが半分は間違っています。「人間は今ここの交渉テーブル限りではなく生存期間のスパンで物事を考える」という部分は合っていますが、「生存期間のスパンで利益を最大化する」という部分は誤っています。

まず、「生存期間のスパンで利益を最大化する」は「死亡時点での利益を最も大きくする」とイコールです。そして資本主義においては利益とは金銭で数量的に可視化されますから、「死亡時点での所持金額を最も大きくする」のが人生の目標だと言い換えて問題ないでしょう。実際、そんなようなことを掲げている資本主義者は少なくありません。
では、この状況に合わせて以下のようなシミュレーションを考えましょう。人間社会を再現するため、たくさんの交渉エージェントを用意し、交渉は一回限りではなく様々な主体の間で複数回繰り返されるものとします。そして各交渉AIには「死亡時点での所持金額を最も大きくする」という目的を持たせます。この設定において死亡直前のAIがどんな挙動をするか考えてみてください。
答えは「死亡直前に全資産を1円で投げ売る」です。各AIが持つ目標は「死亡時点での所持金額を最も大きくする」ですから、死亡時にそれ自体は金銭ではない資産を抱え込んでいることは目標に照らして何の得にもなりません。よって、売却金額が1円だろうが資産を現金に換金すべきですし、他の交渉AIもそれをわかっているために最大まで足元を見てくるので1円で売らざるを得ません。
しかし、死の床についた老人が必死に自分の資産を1円で換金している光景を見たことがあるでしょうか? 「人間の価値は生涯に稼いだ金で決まる」などとほざく資本主義者は交渉AIと同様に死亡直前に全資産を最安値で換金しないといけないはずですが、彼はその仕事を忘れ「☆5スーパーカーも☆5マンションも手に入れた良い人生だった……」などと見当違いの目的関数を持ち出しながら召されていくことでしょう。
ちなみに「☆5マンションが死亡時の評価額にして300億円程度の価値がある場合、無理に換金しなくても死亡時に300億円そのものを持っていたことにしてもよいのでは?」というのは的外れな反論です。何故ならば、彼は死の床に入る前には「☆5マンションは適当なバイヤーと交渉することでいつでも300億円と交換できる」という潜在的な交渉可能性において☆5マンションに300億円の価値を見出していたはずだからです。「交渉可能性」と「交渉」を同一視することが許されてしまうのであれば、交渉シミュレーションは破綻します。如何に客観的な評価額らしきものがあろうともそれが相手の評価と一致しないことが有りうるが故にわざわざ交渉という問題を考えるのであって、交渉上の価値は実際に交渉して換金することによってのみ証明されます。

そろそろ話が佳境に入ってきました。少なくとも交渉という問題設定から見て、人間には「死亡時にも資産を換金せずに三途の川に持ち越す」という性質が間違いなくあります。それ故に「死亡時点で全てを換金する交渉AI」と「死者の国に換金しない資産を持ち込む人間」の挙動は本質的に異なっています。生者の世界で全てが閉じるAIの目的関数と異なり、人間の目的関数は黄泉比良坂に片足を突っ込んでいるのです。数理モデルが扱えるのは合理と生者の世界だけで狂気と死者の世界は管轄外ですから、人間の交渉のモデリングなど最初から不可能だったと言わざるを得ません。
そして人間が決して死亡時に清算しないのは資産だけではありません。他の人間に作った貸し借りも同様です。本人たちは貸し借りを「いずれ返してもらうぞ」とか思っていたとしても、本当に貸し借りが清算されたら二人の人間関係が終わってしまいます。貸し借りとは見た目上は清算を目指してはいるが、実際には絶対に清算されずに常にどちらかに傾くからこそ価値があるものです。そういう返済の終わらない負債も死亡時には資産と一緒に三途の川に持ち越されるわけで、「いずれ清算される」という前提で交渉における貸し借りを合理的に考える立場はここで破綻します。更に言えばこの「死亡時にすら決して清算されない負債」という狂気こそが、いずれ確実に破綻する資本主義の無謀な拡大再生産を支えていることは言うまでもありません。だとすれば正気と合理でしか動けない交渉AIが現代社会に参戦できる道理など最初からありません。

まあ、これは僕の私見であって交渉AI界の総意などでは全く無いのでそこは勘違いしないでください。というか、僕はこういうことばっかり考えてるから交渉AIのアルゴリズム開発とかが全然できなくて大学院を中退したわけですが……
ちなみに交渉問題に関心を持たれた方がいたら、ANACという自動交渉AIの国際競技会絡みの論文から読み始めるのがよいと思います。ANACのレギュレーションとか戦略について語っている論文群がわりとゲーム攻略っぽくてオモロいのでarxivとかで探してみてください。

 

277.海老ルーミアが意図的に画面を揺らしてる話、詳しくして欲しい

このツイートに対するレスポンスで、海老ルーミアというのはホモビデオの動画を加工して投稿する趣味を持つ者の一人です。

海老ルーミアが用いる「意図的に静止背景を揺らす」という技法が最もわかりやすい作品としては、以下の『女の特権を行使してやりたい放題する先輩』があります。

www.nicovideo.jp

この作品において海老ルーミアが画面揺らしを最初に用いているのは、0:07~0:11で鈴木が「三浦、来いよ」と言いながら手を振るシーンです。画面全体が僅かに揺れていることは若干わかりにくいですが、画面端右下にある障子が作る三角形に注目すると4秒間の間に大きく変形していることからわかります。
ホモビの二次創作に詳しくない方は「最初から鈴木と三浦の二人を引きで映しているシーン(0:00~0:07)でも画面は揺れているのではないか? よって初めて画面を揺らす技法が用いられているのは0:07~0:11ではなく0:00~0:07ではないか?」と思うかもしれませんが、それは全く誤りです。「0:00~0:07における揺れ」と「0:07~0:11における揺れ」が別物であるというのがこの話の最大のポイントです。

それら二つのシーンでは画面の作り方が全く異なっています。つまり、この作品には

①ホモビをそのまま切り抜いて使用しているシーン
②ホモビの静止背景に切り抜き素材を乗せているシーン

の二つが存在し、0:00~0:07が①、0:07~0:11が②に対応します。
0:00~0:07では元々のホモビ(誘惑のラビリンス)をそのまま切り抜いて使用しているのですが、0:07~0:11では誘惑のラビリンスの背景に別の出演作(ザ・フェチ Vol.3)から切り抜いた画像を乗せることで、さも同じ場所で野獣先輩が不満げな表情をしているかのようなシーンを作り出しています。
①②は全シーンについて区別でき、例えば0:11~0:12は①、0:12~0:22は②です。②の場合はホモビ男優が切り抜き画像なので静止画になることが多いのですが、必ずしも「動いているのが①、止まっているのが②」というわけではありません。例えば0:50~0:51で三浦が頭を振るシーンでは三浦が動いていますが、別シーンから三浦を動画で切り抜いてきて背景に乗せているだけなので②です。①②の区別はホモビの本編を全部覚えていればすぐわかりますが、そうでない場合も人物と背景の境目に注目すればある程度は可能です。

この区別において、①のシーンで画面が揺れることは避けられません。何故ならホモビは大抵は手振れ補正のない手持ちカメラ(?)で撮影されており、元々の素材からして僅かに振動していることがほとんどだからです(誘惑のラビリンス本編を見ればすぐにわかります)。よって、本編の一部をそのまま切り出して作ったシーンでは元々の手振れが反映されており、これが0:00~0:07における画面揺れの正体です。
その一方、②においては逆に画面は揺れない方が自然な状態です。というのも、②ではもともと自由に扱える素材を切り貼りして動画を作っているだけであり、作成が編集ソフト内で完結するために手振れが混入する余地が無いからです。

つまり、海老ルーミアは②の作り方をしたシーンでもわざわざ画面を揺らす手間を加えていることになります。その理由は僕は「手振れを再現することでシーンを滑らかに繋ぎたいから」だと思っています。
というのは、①で作るシーンにおいてはどうしても手振れが混入してしまうため、②で作るシーンでいきなり手振れが無くなると急に切り貼り画面が混入したような堅い印象になってしまいます。そこで②のシーンでは編集で画面を揺らして手振れを再現することによって、どちらもまるで手持ちカメラで撮影したかのように見せて滑らかに二つのシーンを繋ぎ合わせることができます。このように画面揺らしは作成手順の違いによる動画の違和感を減じるための技法と思われます。

海老ルーミアはほとんどの作品でこの画面を揺らす技法を用いていますが、振れの程度は作品によってまちまちで、『迫真ヒッチハイク部』では画面の揺れはかなり少なくなっています(一見すると静止しているようですが、目を凝らしてみると極僅かに揺れています)。

www.nicovideo.jp

これはもともと舞台になっているのがホモビ素材が存在しない荒野背景であり、ほとんどのシーンを①ではなく②によって作成しているため本編由来のハンディカメラの手振れがほとんど存在せず、それに合わせて揺らす必要も薄かったのではないかと思います(固定カメラに寄せている)。

なお、海老ルーミア以外の動画投稿者においては①の作り方をしたシーンでは画面が揺れ、②の作り方をしたシーンでは画面が揺れないという違いが明らかに見て取れます。例えばノワクマの『痴呆MUR』においては0:00~0:10は①の作り方であるために画面が揺れる一方、0:51~0:55が②の作り方であるために画面が揺れません。

www.nicovideo.jp

ただ、ノワクマは海老ルーミアと違って画面を揺らす一手間をかけていないから劣っているという話では決してなく、あくまでも作品の方向性による技法の違いだと考えています。
ノワクマの作品は冒頭の導入は①で行い中盤から②を多用するという構成であることが多いですが、②に入った時点で手振れが止まるため実際に撮影したことによる自然な雰囲気が消えて一気にコメディめいた印象になってきます。これに比べると海老ルーミアの作品は一貫して手振れで覆われているためにBBを使用しても比較的リアリティのあるドラマ的な印象が維持されています。大雑把に言えば、コメディ志向のノワクマは揺らさず、ドラマ志向の海老ルーミアは揺らすという違いがあるように思われます。