Quantcast
Channel: 長文日記
Viewing all articles
Browse latest Browse all 511

AIを作ってきて、いろいろ思うこと

$
0
0

 最近の仕事は主に何らかのAIを作ることである。


 まさか自分の仕事をそう紹介する日がやってくるとは思わなかった。

 どちらかというと僕は機械学習やAIというものを軽く見ていたのだ。


 イイ線まではいくが、それ以上が難しい、それが機械学習であり、実用的なものというよりも、むしろオモチャやおまじないに近いもの、というイメージがあった。


 自分の頭のなかでスッキリとしたアルゴリズムに落とし込めなければ納得が行かなかった。


 ところが今やちょっとした問題があったら、まずアルゴリズムを考えるのではなく、AIを作れないかを先に考えるようになってしまった。


 たとえば、線分の予測というのがある。


 enchantMOONでは、プログラムを極限まで高速化することによって、3世代前のマシンでも最新のマシンと遜色ない、それどころかそれ以上にレイテンシーの少ない線分描画に挑戦した。


 ところがどうしても高速に描けない。ある場所で限界に到達するのだ。enchantMOONのレイテンシーは、速い時で90ms以下だが、これだと60fpsで描画したとして、3〜4フレームも遅れてることになる。


 これはプログラムではどうにもならない部分、デジタイザーのレイテンシーに起因する。

 デジタイザーのレイテンシーは通常30ms、それを受け取ってから線分として描画するまでに多少の時間がかかる。


 そこでenchantMOONも、その他のデジタイザー向けメモアプリも、データとして来てない線分のデータを予測するアルゴリズムを搭載してこのレイテンシーを極力減らそうとしている。


 ただしそれをアルゴリズムとして実装すると、どうしてもどこかで諦めざるを得ない。


 たとえば一番単純なのは、ペンがそれまで走ってきた軌跡から、単純に速度と角度を割り出して1フレーム先を予測するのである。


 この方法の明らかな問題点は、文字を描くときなどにペンが急角度をつけた時、明らかに間違った予測を描画してしまうことだ。


 これが顕著になると却ってストレスが溜まる。


 どうすれば人間が「速い」と感じる自然な線分の予測ができるか、考えてみると、人間がスローモーションで筆跡を見ていると「ここでこう曲がるだろうな」と思った時にだいたいその通りに曲がる。


 人間にできてアルゴリズムにできないということは、機械学習の出番である。


 そこで過去に書いたenchantMOONのバックアップデータをもとに過去3フレーム分の頂点から将来2フレーム分の頂点の回帰予測をさせてみると、かなり単純なニューラル・ネットワークでも相当な精度(誤差0.1%以下)が出せることが分かった。


https://i.gyazo.com/7c0b4767f4628ce002a1268df130995f.png


 このグラフだと、過去3フレーム分が与えられたデータ、末尾2フレーム分が予測したデータである。

 このニューラル・ネットワークはごく単純なもので、各フレームのペンの座標と筆圧だけから次の2フレームの座標と筆圧を予測する。


https://i.gyazo.com/34b3aa77f586a641edba54d5af133e78.png



 ニューラル・ネットワークを使うと、それを使うだけでマシンによっては数ミリ秒を使ってしまうので、実用的に使うには多少の工夫が必要だが、あるときそういうアイデアを思いついて、その場でプログラムを組んで試せるという手軽さにおいては、今のニューラル・ネットワークは非常に便利で汎用性が高い手法であると言える。


 人間がやったって、0.1%以下の誤差率(99.9%以上の正解率)になるのは難しいだろうし、これはこれでもしかしたら充分なのかもしれない。



 AIの性能は、しばしばこうした「認識率」で表される。


 では、「認識」とはなにか。


 人間を含むある程度以上の複雑さを持つ生物には、認識機能が生来的に備わっている。

 なぜ認識機能が必要なのかといえば、エサを獲得し、外敵や危険を回避し、交尾するのに適切と思われる相手を見つけるためだ。



 そしてこの「認識率」は、たとえ全く同じ構造のネットワークであっても、それまでに見た、学習したデータセットの違いによって大きく変動する。重要なのは構造ではなく学習データセットだ。つまり現代においては教材の良し悪しがそのAIの出来不出来を決定するのである。


 人間社会においては、ある特定分野の認識率が大きなレバレッジを生むことがある。

 たとえば中古車だ。


 中古車の買い取りをする鑑定人は、車を一目見ただけでボディの「ヤレ」や、キズ、僅かな凹みといったものを瞬時に識別する。


 彼らに言わせれば、1kmも走れば車は歪み始める。

 彼らは新車と中古車を一瞬で見分けることができる。


 オーナーが気づかないような凹みにも気づく。そこを指摘することで査定を下げ、できるだけ安く、損しないように車を買うことが彼らの仕事だからだ。



 僕は自分の車の欠点に気づきたくないので、できるだけこの「識別眼」が欲しくはない。


 ところで田中圭一さんというギャグ漫画家がいて、ちなみに彼はプログラマーでもある。


田中圭一最低漫画全集 神罰1.1

田中圭一最低漫画全集 神罰1.1


 田中圭一さんの作風は、「どこかで見たタッチの再現」である。

 要するに「モノマネがものすごく上手い漫画家」だ。


 モノマネというのは、実は簡単なようでいて凄く難しい。

 これをうまくやるためには、まず対象物を的確に認識できなければならない。


 それも、パッと見て「これは鉄腕アトムだ」と理解するようなレベルの認識ではなく、より深い、ディティールだったりとか、「鉄腕アトムのアトムらしさはどこにあるか」という、より高次の情報である。


 さらにはそれを、具体的な漫画の線という形で抜き出し、トレースではなく自分の思いのまま動かすという極めて高度な知的処理を行って初めて具体的な絵として強烈な説得力を持って出力する。


 漫画やアニメが読みやすいのは、情報が多すぎて主題の伝わらない写真とは異なり、一旦、クリエイターの頭野菜で情報が整理され、咀嚼されたものを解釈しやすい形で提示するからだと思う。いわば料理でいえば、素材をそのまま焼いて味わう焼き鳥ではなく、一度ミキサーにかけたりして柔らかく咀嚼して作るハンバーグのようなものだ。


 小さい子供は焼き鳥よりハンバーグが好きだ。

 椎茸の繊細な旨味を味わえるのは大人の特権だろうし、ワサビのピリリという辛味を美味しいと思えるのも大人だけだ。


 とすると、実は絵を書ける人、しかも絵の中でも省略形の最骨頂である、漫画を書ける人というのは、実は相当に高い知性の持ち主なのではないだろうか。


 実のところ、漫画を書く能力のほうが、場合によっては学校の勉強ができることよりも遥かに重要な知性の発露とはいえないだろうか。


 日本の漫画の神様とも言われる手塚治虫が医学部に通っていたことと、しばしば漫画家は賢いと言われること(はらたいらの影響だろうか)、実際にプロの漫画家になるには天賦の才能や気の遠くなるような努力が必要であることなどから考えると、絵が描けるというのはそれだけでもの凄いことなんじゃないかと思う。


 いまのところ、写真から漫画を描くようなAIを僕はまだ思いついてない。

 いつか誰かが作るかもしれないが、とりあえず僕はにまだ作り方がわからない。作りたいとは思っている。


 そう考えると、数式を解くAIを作るのはむしろ簡単だ。

 数式は記号であり、単純な記号処理ならばすでにAIはごく原始的なものでもできるからだ。


 ある人が怒っているのか悲しんでいるのか、顔の表情だけから感情を読み取るようなAIも、全然難しくない。

 データさえあればすぐに作れる。まあデータを収集するところが面倒なんだけど。


 絵を描くのがものすごく高度な知性処理だとすると、日本には趣味で絵を描くひと、とりわけ漫画を書く人というのがものすごく沢山いる。


 その祭典が今日から始まるコミックマーケットであり、そう考えると日本もまだまだ捨てたもんじゃないよなあと思う。


 当たり前のように見てるけど、目で見て、頭で解釈して、手で模倣するというのはとんでもなく凄いことなんだよなあ


Viewing all articles
Browse latest Browse all 511

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>