ryomiyagi
2021/02/22
ryomiyagi
2021/02/22
人間に「ワグ」という新種の動物の写真を見せてから、写真の束を渡して、ワグが写っている写真をすべて選び出してください、と言えば、最初に見せられたワグの写真が1枚だけでも、なかなかの精度でワグを見つけ出せるだろう。でも、AIが曲がりなりにもワグを識別できるようになるまでには、たぶん数千枚や数十万枚のワグの写真を見せる必要があるだろう。しかも、「ワグ」という単語が、ワグの足下に敷かれているチェック柄の床や、ワグの頭をなでている人間の手ではなく、写真のなかの動物を指しているということを理解させるためには、バラエティに富んだワグの写真を用意しなければならないだろう。
研究者たちは、より少ない例である話題を習得できるAIを開発しようと取り組んでいるけれど(この能力はワンショット学習と呼ばれる)、今のところ、AIで問題を解決しようと思えば、膨大な量のトレーニング・データが必要になる。現在、画像生成や画像認識向けのトレーニング・データセットとして人気のあるImageNetには、たった1000種類のカテゴリーに1419万7122枚もの画像が含まれている。同じように、人間の運転手は数百時間の運転経験を積めば、ひとりで運転ができるようになるが、2018年現在、自動運転車開発会社Waymoは、1000万キロメートルを超える路上走行データに加え、80億キロメートルを超えるシミュレーション走行データを収集ずみだ。それでもなお、自動運転車技術を大規模に展開するには遠く及ばない。AIはいつだってデータに飢えている。だからこそ、大量のデータが収集分析される「ビッグデータ」時代とAI時代はこれほど密接にからみあっているのだ。
AIは物覚えが異様に悪いので、リアルタイムで学習させるのは現実的でないこともある。そういうときは、数百年ぶんのトレーニングをたったの数時間で積むことができる早送りした時間のなかで学習を行う。目標が実世界でなんらかの作業をこなすことだとしても、まずはシミュレーション世界を構築し、トレーニングの時間と労力を節約するほうが合理的だ。
別のAIは、自転車でのバランスの取り方を学習した。でも、AIはやっぱり飲みこみが悪かった。プログラマーは、自転車がぐらついたり転倒したりするたび、前輪のたどった経路を記録した。100回以上転倒してやっと、自転車は倒れずに数メートル以上走れるようになった。そして、もう数千回転倒してようやく、数十メートル以上走れるようになった。
シミュレーションのなかでAIをトレーニングするのは便利だけれど、リスクもともなう。シミュレーションを実行するコンピューターの計算能力は限られているので、シミュレーションは実世界ほど細密にはつくられておらず、どうしてもさまざまな裏技や近道が生じてしまう。AIがそうした近道に気づき、利用しようとすると、時として問題が起こる(詳しくは別の記事で)。
トレーニング・データが不足していても、だれかが似たような問題をすでに解決しているなら、AIで問題を解決できるかもしれない。まったくゼロからではなく、以前のデータセットで学習した構成から始めれば、学習した内容の大部分を使い回せるのだ。たとえば、わたしの手元には、メタル・バンドの名前を生成するためのトレーニングを行ったAIがすでにある。次の目標が、アイスクリーム・フレーバーの名前を生成できるAIを構築することなら、メタル・バンド名を生成するAIから始めることで、より早く、しかもより少ない例で結果を出せるかもしれない。実際、メタル・バンド名を生成するための学習から、AIはすでに次のことを知っている。
・おおよその名前の長さ。
・各単語の1文字目を大文字にすること。
・よくある文字の組みあわせ(たとえば、ch 、va 、str 、pisなど。チョコレート、バニラ、ストロベリー、ピスタチオにはこうした文字列が含まれる)。
・よく出てくる単語(theはもちろんだが、deathも?)。
たとえば、わたしの手元には、もともとこんなメタル・バンド名を生成するAIがあった。
ドラゴンレッド・オブ・ブラッド(Dragonred of Blood)
ステッガバッシュ(Staggabash)
デスクラック(Deathcrack)
ストームガーデン(Stormgarden)
ヴァーミット(Vermit)
スウィイル(Swiil)
インバムリアス(Inbumblious)
インヒューマン・サンド(Inhuman Sand)
ドラゴンスッラ・アンド・スティールゴッシュ(Dragonsulla andSteelgosh)
カオスラグ(Chaosrug)
セスペスススション・サニシレバス (Sespessstion Sanicilevus)
このAIをほんの数巡トレーニングしただけで、こんなアイスクリーム・フレーバー名を生成するモデルへと進化させることができた。
レモン・オレオ(Lemon-Oreo)
ストロベリー・チュロス(Strawberry Churro)
チェリー・チャイ(Cherry Chai)
モルテッド・ブラック・マッドネス(Malted Black Madnesss)
パンプキン・ザクロ・チョコレート・バー(PumpkinPomegranate Chocolate Bar)
スモークド・ココア・ニーベ(Smoked Cocoa Nibe)
トースト・バジル(Toasted Basil)
ヤマイチジク& ストロベリー・ツイスト(Mountain Fign Strawberry Twist)
チョコレート・チョコレート・チョコレート・チョコレート・ロード(Chocolate Chocolate Chocolate Chocolate Road)
チョコレート・ピーナッツ・チョコレート・チョコレート・チョコレート(Chocolate Peanut Chocolate Chocolate Chocolate)
この種のものを生成すると、どうしても多少ぎこちないフレーズが混じってしまう。たとえば、次のような感じだ。
スワール・オブ・ヘル(地獄の渦)
パーソン・クリーム(人間クリーム)
ナイトハム・タフィー(ナイトハムのタフィー)
フィースベララーデルンズ・デス(フィースベララーデルンの死)
ネクロスター・ウィズ・チョコレート・パーソン(ネクロスターとチョコレート人間)
ダージ・オブ・ファッジ(ファッジの哀歌)
ビースト・クリーム(野獣クリーム)
エンド・オール(すべての終わり)
デス・チーズ(死のチーズ)
ブラッド・ピーカン(血液ピーカン)
サイレンス・オブ・ココナッツ(ココナッツの沈黙)
ザ・バターファイア(バターの烈火)
スパイダー・アンド・ソルビースト(クモとソルビースト)
ブラックベリー・バーン(丸焦げブラックベリー)
メタル・バンドの名前ではなく、パイの名前から始めたほうがよかったのかも……。
実際、AIのモデルは使い回されることが多い。この使い回しのプロセスのことを転移学習という。すでに目標まで何割か進んでいるAIから始めれば、使用するデータ量を減らせるだけでなく、大幅な時間の節約にもなる。大量のデータセットを用いて最高級に複雑なアルゴリズムをトレーニングしようとすると、超強力なコンピューターを使っても数日や数週間かかることも珍しくない。でも、転移学習を使えば数秒や数分ですむ。
とりわけ、画像認識では転移学習がよく使われる。新しい画像認識アルゴリズムをゼロからトレーニングするには、途方もない時間とデータが必要になるからだ。多くの場合、一般的な画像のなかにある一般的なモノを認識するようトレーニングされたアルゴリズムから始め、特殊なモノを認識させていく。たとえば、アルゴリズムがトラック、ネコ、サッカーボールの写真を見分けるためのルールをすでに知っているなら、食料品スキャナー向けにさまざまな種類の農産物を認識するのに役立つ。汎用画像認識アルゴリズムが学習中に発見しなければならない境界(エッジ)、形状、質感(テクスチャ)の検出ルールの多くは、食料品スキャナーにも使い回しがきくだろう。
株式会社光文社Copyright (C) Kobunsha Co., Ltd. All Rights Reserved.