Data Science and AI

ロボットが絵画する日 〜Vol.4  主体性の獲得、表現力向上 編〜

記事をシェアする:

ロボットアート・プロジェクトとは

「もし未来の世界でロボットが絵を描いているとしたら、どんな姿になるのだろう?」

ロボットアート・プロジェクトは、「人間の画家のように筆を取り、色を混ぜて、絵を描く」、そんなロボットの開発を目指すプロジェクトです。開発途上であり、感覚的な美しさや技工を追求していく一方で、自らテーマを考え表現していく「創造する主体」の開発も指しています。オープンイノベーションの文脈を踏まえたコミュニティー活動であり、メンバーは日本IBMに限らず様々な会社や個人で構成されています。

 

これまでの取り組み

これまでの開発は3つのフェーズを経ており、中心課題として、描くテーマをどう決めるのか、そのテーマをどのように表現するのか、でした。フェーズ1では人間側が用意した「既存の画像」をロボットがストロークに変換して描く、という実装をしました。つまり人間がテーマも表現内容も決めていました。続いて、フェーズ2では、人間が決めるのはテーマのみで、AIアルゴリズムが学習した膨大な画像データを元にストロークで構成された絵を生成しました。そして、今回のフェーズ3ではテーマの選択の段階からロボット側で実現できないかを検討しました。(過去の連載記事はこちらVol.1 Vol.2 Vol.3)

動画1. フェーズ1の制作風景

動画2. フェーズ2の制作風景

フェーズ3の概要

フェーズ3では主体性を持ったテーマ選択と表現力の向上の2つのトピックに取り組みました。主体性については、感情や欲求を定義し、強化学習をベースとしたテーマ選択の仕組みを試作しました。表現力の向上については、色やストロークの表現に制限をあえて入れることで、様々なスタイルを生み出せないか試行しました。今回は、各トピックについて中心となって担当した方(主体性は村田さん、表現力は児島さん)より紹介します。

 


ロボットの主体性

この活動では、ロボット自身が何を描くか決めて絵を描くことを主体性があるとしています。人が介在せずにロボット自身が決めると言っても、事前に用意されたリストから順番に選んだり、乱数的に毎回異なる絵を描いたりするのは主体性があるとは言えません。そのため「モチベーション」に基づいてロボットが絵を描くことを、主体性がある状態と定義しました。

 

ロボットのモチベーション

では、どうすればロボットに「モチベーション」を持たせることができるのか。これは非常に面白くまた難しい問題で、メンバーでアイディアを持ち寄り話し合い、時には夜遅くまで議論を重ねました。その中で「人間的な要素を組み込むことが主体性に繋がるのではないか」という考えから、「欲求」と「感情」という2つの要素が俎上に上がりました。最終的には「モチベーション」の背後には「欲求」があり、「欲求」と「感情」が密接に関連しているだろうという結論に至りました。欲求には心理学の選択理論を参考に「力の欲求」「自由の欲求」「楽しみの欲求」の3つを考え、感情としてはラッセルの感情円環モデルに基づいて8種類の感情を考えました。

 

主体性を持ったロボットの作成

続いてこれらの要素を使ってどの様に「主体的に絵を描く」のかですが、下図の様に「感情」「欲求」に加えて「外部刺激」を入力として、ロボットが「描く絵」を決定します。決定する部分には強化学習を用いて、「欲求の充足度を最大化する」様に学習しています。(「欲求が高い状態=ストレスのある状態」と解釈すると、欲求が満たされるということはより良い精神状態に移行すると考えられます。)詳細は後述しますが、「感情」「欲求」自体も「ロボット自身の絵」「1つ前のロボットの状態」などの影響を受けて変化していく構造になっています。このループを繰り返していくことで、ロボットは自立して主体的に絵を描き続けます。

主体性を持ったロボットの概念図

図1. 主体性を持ったロボットのイメージ

 


表現力の向上

これまでのロボットアート・プロジェクトでは、人間が与えたテーマでロボットに絵を描かせることに成功していました。しかし、ロボットはあくまで人に与えられたテーマに沿って描くのみであったため、ロボットの絵は描くに至った意図や心情といったもの感じられませんでした。また、ロボットは学習した写真を元に絵を描いているため、写実寄りの表現となってしまい、バリエーションに欠けている印象がありました。これらの課題を解決するために取り組んだのが「表現力の向上」です。

西洋美術史において、長らく王道とされていた写実的な表現に対抗して出てきたのが、ムンクを代表とする「表現主義」でした。表現主義では写実性を重要視せず、描き手や対象物の心象を描画するという特徴があります。つまり、本来のモチーフの形状や色に捉われず自由に描くことが感情や心情の表現につながるため、ロボット自身がそういった工夫を加えられるようになることで、ロボットの欲求や感情に基づく多様な表現が可能になると考えました。

そこで我々がロボットに絵を描かせるにあたって工夫した点は「色」と「筆づかい」でした。まず色について、一般的に色と感情の結びつきは想像に容易いと思いますが、絵に使う色の傾向を絞ることによって絵で感情を表現することを試みました。また、筆づかいに関しては太く大胆なストロークであれば激しい感情や欲求を表現することが可能ですし、反対に細く繊細なタッチであれば穏やかな感情や欲求を表現することが可能です。このような「色」と「筆づかい」の制限を、ロボットの感情と欲求に基づいて加えて絵を描かせてみました。

以下は色と筆づかいの制限の一例です。

図2. 色と筆づかいに制限を加えた出力例

1枚目の色や筆づかいに制限を持たずに描くスタイルのみではなく、2,3枚目の制限を持たせたスタイルが描けるようになったことにより、より幅広い表現ができるようになりました。

また、画像群の中には使用されている色が本来のモチーフのものとはかけ離れたものになっているものもあります。ですが、不思議と見た人が描こうとしているモチーフが理解できるのはバルールという明暗と位置関係の対応が一致しているからです。このため、モチーフに対する整合性を持たせつつも表現力に富んだ描画が可能となっています。

今後色と筆づかいによる表現をさらに高度化させることで、明るい色の多用や平面的な表現によってフォービズムのようなニュアンスを持たせたり、点描に近いタッチを使って絵を描くことによって印象派のようなニュアンスを持たせたりと、多様な画風で絵を描くことが可能になると考えています。

 


システムの全体像

システム全体の仕組みをもう少し詳しく見ていきます。まず、ロボットは「感情・欲求」「外部刺激」を基に「絵」を描きます。するとその「絵」に基づいて「ロボットの感情・欲求」が更新されます。つまり「どんな絵を描くか」というのはロボットの「感情」「欲求」、「外部刺激」に基づいて決定され、「感情」「欲求」はロボット自身が描いた「絵」の影響を受けて更新されます。そのためシステム全体は下図の様にループ構造になっています。以下では主要なコンポーネントの詳細を説明していきます。

システムの詳細

図3. システムの全体構成

 

感情の更新

感情は下式の様に、「時刻の感情」に「時刻の変化量」とノイズ項が加わって更新されます。

感情更新式

また、delta_P_tdelta_E_tは以下の様に決定されています。

感情変化量定義

各変数の意味は以下の様になっています。

感情変数定義

ロボットの感情は「anger, excitement, amusement, contentment, awe, disgust, sadness, fear」の8種類を考え(値の範囲は0から1の間)、上記更新式は各感情に対して適用されます。絵の感情はロボットが描いた絵に対して感情評価関数(※1)を適用して算出される感情です。また外部刺激は、本来はロボットが直接見た光景を想定していますが、今回は疑似的に風景画像を時系列的に見せ、その画像に対して既出の感情評価関数を適用して感情の値に変換しています。

更新式の解釈としては、t_plus_1時点の感情は時点の感情を基に決定されますが、その時に見たもの(自身が描いた絵と外部刺激の画像)の影響も受けます。この時、楽しい場面を見ていればロボット自身の感情も楽しい方向に変化し、悲しい画面を見ていれば悲しい方向に変化するという構造になっています。ここで、仮に同じ場面を全く同じ精神状態で見ても、見る度に受ける影響が異なると想定しノイズ項を入れています。

※1感情評価関数:任意の画像が示す感情を評価する機械学習モデルで、モデルにはMobileNetという畳み込みニューラルネットワークのモデルを使用しています。学習データにはArtEmisで公開されている、絵画の画像データおよび、各絵画に付けられた感情タグ(8種類)をラベルとして使用しました。

logistic関数は以下で定義されるS字曲線の関数です。各感情の大きさが0から1なので、更新後の感情をその範囲に収めるためにlogistic関数に通しています。

ロジスティック関数
ロジスティック関数の概形

図4. ロジスティック関数の概形

g(emo)は仮に絵の感情、外部刺激、誤差項の効果が0となる時に、emo_tPlus1_eq_emo_tとなる様に調整して定義されています。また、0_0010_999で制約を課しているのは、この制約がないとemo_t_eq0 or 1の時にg(emo)_eq_Infとなり、0 or 1から動かなくなってしまうことを避けるためです。

感情変換関数
g(x)の概形

図5. g(x)の概形

 

欲求の更新式

欲求も感情と同様に「時刻tの欲求」に「時刻tの変化量」とノイズ項が加わって更新されます。

欲求更新式

またdelta_tは以下の様に決定されています。

欲求変化量2

各変数の意味は以下の様になっています。

欲求変数定義

ロボットの欲求には上述の様に「力の欲求、自由の欲求、楽しみの欲求」の3つを考えているため、上記更新式は各欲求に適用されます。欲求充足度は各欲求の詳細な定義によって異なりますが、一例を挙げると「楽しみの欲求」は描いた絵の「新規性」が高いほど充足される様に定義しています。そのため、「楽しみの欲求」の充足度は新規性評価関数※2を使って評価した新規性の値を使って計算されています。

※2 新規性評価関数:任意の画像の新規性を評価する機械学習モデル。畳み込みニューラルネットワークモデルのVGG16を使って自己符号化したモデルを使用して、画像データを低次元化した上で既存画像との距離を以て新規性を評価している。「既存画像」としては、上述の感情評価関数の作成に使用した画像データや、これまでにロボットが描いた絵を使用している。

delta_t_dashの式ではコサイン関数を使用していて、欲求充足度が0の時はcos0_eq_1delta_t_dashが最大となり、充足度が1の時はcospi_eq_m1delta_t_dashが最小となります。つまり欲求が満たされていない場合ほど、欲求が増加する構造になっています。

delta_tの分岐式では更新後の欲求を定義域(0〜1)に収める働きをしていますが、私たちの欲求の変わり方とも対応しています。欲求が過度に満たされると欲求がガクンと下がったり、逆に欲求が非常に低い状態から突然「何かをしたい」という様に欲求が高まったりということがあると思いますが、こういった状態を表現しています。

 

強化学習の適用

『ロボットは「感情」「欲求」に基づいて描く「絵」を決めることにしよう』と考えるのは簡単ですが、その実装は難しい作業でした。今回は強化学習を用いて「欲求をより満たせる絵の描き方*」を学習させることで実現しました。*ここでいう「絵の描き方」は複数枚絵を描く際に、各絵をどういう絵にするかということを指しています。

ここで強化学習と教師あり学習の違いについて簡単に触れておきたいと思います。

強化学習ではエージェントと環境(という概念)が登場し、エージェントの行動によって環境が変わるという状況下で、環境から得られる報酬を最大化する行動を学習します。そのため強化学習では1回きりの行動ではなく、連続した行動の中で最適な行動を学習できます。一方、教師あり学習では「ある状況」における「最適な行動」を学習することはできますが、毎回1度きりの行動としてしか学習ができません。

そのため今回、教師あり学習を用いてしまうと「同じ様な欲求・感情状態」の時にいつも似た様な絵を描いてしまうことに繋がります。一方強化学習を用いた場合、この様なことが発生し得ない訳ではありませんが、「ある時点の状態」ではなく「一定期間の状態」を見て適切な判断するので、ある時点だけ比べると同じ状態でもその前後に差異があれば選択される行動が変わってきます。

今回は最終的に感情・欲求を入力として、作画感情・アートスタイルを選択する様な強化学習モデルを作成しました。本来はテーマも選択させたかったのですが、学習対象の次元が大き過ぎて学習時間が膨大になってしまうため断念し、外部刺激に基づいて選択する様にしています。

作画感情が8次元、アートスタイルが10次元に対して、テーマは種類の多いカテゴリカルな値であるため1000次元もあります。現実的な学習コストでテーマを強化学習に盛り込むためには、自然言語処理の技術を応用して1000種類あるテーマの次元を落とす必要があります。この点は今後のロボットアート・プロジェクトの課題の1つです。

 

作画パラメータの設定

強化学習コンポーネントではロボットの感情とアートスタイル、テーマが選択されます。その後それらは機械学習モデルであるLightGBMを通して制限された作画パラメータへ変換されます。1本の線には10個の作画パラメータがあり、これらによってどのような線が引かれるかが決められていますが、今回はその中でも「色」と「筆づかい」に関係するパラメータのみに制限を反映させています。

まず「色」のパタメータについては、複数のストロークごとに使用する色が設定されるようになっています。色はRGB(赤緑青)の3つの設定値(範囲は0〜1)で構成されており、使用する色の範囲を制限することで、絵に色の偏りを持たせるようにしています。

続いて「筆づかい」については、「線の太さ」と「線の長さの上限値」の2つをロボットが決めています。これら2つのパラメータに制限を持たせることで、ロボットに点描絵を描かせたり、太い線のみで構成された絵を描かせたりすることが可能となります。

 


終わりに

さて、「主体性の獲得、表現力向上 編」いかがでしたでしょうか。昨今Stable Diffusionが話題になっているように、AI技術によって新しい世界が切り開かれています。そういった新たなテクノロジーを取り入れつつ、このプロジェクトを更新していきたいと考えています。

 

 

<執筆者>

 

村田 博明 / Hiroaki Murata
データサイエンティスト
日本IBM システムズ・エンジニアリング

 

 

 

 

児島 芽衣 / Mei Kojima
日本IBM システムズ・エンジニアリング DXソリューションセンターAIソリューション

 

 

 

 

頼 伊汝 / Yiru Lai
日本IBM Technology

 

 

 

 

More Data Science and AI stories

IBM watsonx Assistantは生成AIでコンテンツを対話型の回答に変える

IBM Data and AI, IBM Watson Blog, 人工知能

watsonx Assistantは対話型検索を提供し、企業固有のコンテンツに基づいた対話型の回答を生成して、顧客や従業員の質問に対応します。対話型検索は生成AIを使用することで、人間の作成者が手作業で回答を書いたり更新 ...続きを読む


信頼できる AI の基盤: ガバナンスの効いたデータと AI、AI 倫理、およびオープンで多様なエコシステム

IBM Cloud Blog, IBM Data and AI, IBM Watson Blog...

2021年5月27日 By Kelly Churchill (英語)   世界中の企業が、AI への信頼構築が AI テクノロジーの幅広い導入への鍵となることに気付いています。企業は、AI への信頼と AI ア ...続きを読む


IBM Watsonで、データ、モデル、プロセスに対する信頼をどのように築くのか

IBM Cloud Blog, IBM Data and AI, IBM Watson Blog...

  2021年4月21日 By Seth Dobrin (英語) IBMの最高AI責任者として、私は組織と協力して、AIに対する包括的なアプローチを確実のものにする立場にあります。私たちは、企業のAI戦略立案、 ...続きを読む