AIもコンピューティングの最も基本的なルールの一つ、「ガベージイン、ガベージアウト」から逃れることはできません。欠陥のあるデータでニューラルネットワークを訓練すれば、多くの間違いを犯すネットワークができあがります。
ほとんどのニューラルネットワークは、異なるグループをサンプリングすることで物事を区別することを学習します。これは教師あり学習であり、ネットワークが何を見ているのかを認識できるように、誰かが最初にデータにラベルを付けた場合にのみ機能します。
しかし、AIを訓練するための「適切な」データを見つけ、その品質を確認するにはどうすればよいでしょうか?実は、機械に入力するデータは、あなたを驚かせるかもしれません。既製の選択肢が豊富なだけでなく、AIや機械学習向けに機械が生成したデータで現実世界のデータを置き換えることができる時代が到来したのです。
それが少し不自然すぎるように思えても心配はいりません。機械学習のフィードバック ループには、機械を正しい軌道に乗せる人間のエコシステムが拡大しています。
まずは最初から始めましょう。既製のデータをお探しなら、ラッキーです。様々なシナリオに適したラベル付きデータセットが豊富にあります。
よく知られているデータセットの一つにImageNetがあります。これは、深層学習の一般的なタスクである画像処理への幅広い応用性と、それに関連する毎年恒例のチャレンジの両方から来ています。ImageNetは数百万枚の画像リンクのコレクションで、それぞれに「synset」と呼ばれる意味のある概念がタグ付けされています。SpaceNetはAWS上でラベル付き画像セットを公開しており、衛星画像も提供しています。
ニューラルネットワークに手書き文字認識のトレーニングを行う場合は、修正国立標準技術研究所(MNIST)の手書き数字データベースが利用できます。これは、画像処理システムのトレーニングに使用される6万点の手書き数字で構成されています。顔、テキスト、音声、音楽など、他にも多くのデータセットがあります。
コンピュータに独自のデータを作成させる
既製のデータではなく、独自のデータ、いわゆる合成データを作成することもできます。これは、コンピューターが現実世界から来たかのようにリアルなデータを作り出すものです。
これは特に、画像が非常にリアルになり、「トレーニング」できるほど良くなっているハイエンドのビデオ ゲームで発生します。
自動運転車の世界では、エンジニアはCityScapesなどのデータセットを活用できます。CityScapesは、50の異なる都市を撮影した25,000枚の画像から、様々な粒度レベルのピクセルクラスをラベル付けしています。また、走行中の車両から10分間のラベル付きビデオ映像を提供するCamVidデータベースもあります。
このアプローチは安全だろうか?あるいは正確だろうか?まるでAIがソイレント・グリーンを食べるようなものではないか?インテル研究所とダルムシュタット工科大学の研究者によると、そうではないという。彼らはフォトリアリスティックなオープンワールドのコンピューターゲーム内を走り回るだけで2万5000枚の画像を収集した。彼らは1フレーム内のオブジェクトに手動でラベルを付け、ソフトウェアを使ってそのラベルを複数のビデオフレームに伝播させた(歩道や歩行者はフレームごとに非常によく似ているため)。研究者たちは、CamVidの現実世界のデータだけに頼るよりも、ゲームデータを使ってAIをトレーニングした方が精度が上がったと主張している。
フィードバックループへ
コンピューターはループで AI をトレーニングし、入力データに基づいて仮説を繰り返し立て、テストを行って結果を見つけます。
オープンワールド環境や顔、モデリングされたオブジェクトであれば合成は有効かもしれませんが、実在の人物からデータを収集することを好む企業もあります。クライアントのためにデータセットの収集と整理を行うMighty.AIもその一つです。
Mighty.AIは昨年、私たちにこう言いました。「コンピューターは非常に高速で正確ですが、愚かです。一方、人間は優秀ですが、遅く、不正確です。では、一方が得意とする分野でコンピューターが弱点を持つ場合、どうすれば両者の良いところを活かせるのでしょうか?」
15 分で機械学習を学びたいですか? ここから始めましょう...
続きを読む
同社のソフトウェアは、ユーザーに画像のセグメンテーションなどのタスクを割り当てます。ユーザーは、物体の輪郭を丸く描き、ラベルを付けるというものです。同社はこのモデルを、自動運転車の顧客向けにデータのラベル付けに利用しています。この入力データは、人間の判断をトレーニングセットにフィードバックすることで、コンピューターが自身のモデルを改良するのに役立ちます。「この学習ループから結果を得るには、人間を介入させるのが最適です。人間が介入することで、判断を組み込むことができるからです」とMighty.AIは述べています。
ライバル企業のAlegionも同様のアプローチを用いて、車体パネルの損傷を検出するアルゴリズムを構築しています。これは、自動車の輸送現場で活用できる可能性があるシステムです。
クラウドソーシングの作業員は、数十万枚におよぶ車体パネルの画像から損傷箇所を抽出し、AmazonのMechanical Turkに送られた作業に基づいて損傷箇所を分類します。「必要なのは、軽度、中度、重度の損傷を明確に分類できる、段階的に分類された画像の例です」と、副社長のチップ・レイ氏は述べています。
一部のアプリケーションでは、トレーニング データを消化して抽出することは、何かを囲むボックスを描画するよりもはるかに複雑です。
AIバーチャルアシスタント企業x.aiのCEO兼創業者であるデニス・モーテンセン氏は、ニューラルネットワークにメールの読み方や、人との打ち合わせに自動で応答する方法を何年もかけて学習させた。その過程では、彼が「宇宙」と呼ぶ問題空間の複雑な視点を構築する必要があった。
このユニバースには3つのエンティティとインテントのプールがあります。エンティティは日時、場所、そして人です。インテントはより複雑で、スケジュール変更、遅刻の連絡、会議への参加を任意と必須にするかどうかの決定など、様々なニーズに対応します。
これらの意図を理解するために、モーテンセンは数千通ものメールの言語を分析し、スペルミスだけでなく言語的特異性も理解するトレーニングデータを作成する必要がありました。ロンドン在住の人が午後4時に電話してほしいとメールで依頼してきたのに、あなたがパリにいる場合、相手はどのタイムゾーンについて話しているのでしょうか?火曜日の夜11時半にメールを送って「明日」電話してほしいと依頼してきた場合、水曜日のことでしょうか、それとも木曜日のことでしょうか?
会話の早い段階で何かを誤解すると、モーテンセン氏が言うところの「連鎖的な悪影響」が生じることになる。
これを防ぐため、彼は3年間のベータ版から数万人を対象としたデータを徹底的に分析した。「人々が会議をスケジュールする様子を何千回も観察しました」と彼は言う。「エッジケースは何千通りもあります。」チームが新たなパラメータを発見するたびに、AIモデルを再学習する必要があった。
不均衡なAI
これで、データとフィードバックループができました。次はデータセットの調整ですが、その方法は構築するものによって異なります。
多くの場合、重複データやエラーの可能性がある外れ値などのノイズデータをフィルタリングする必要があります。これが自然なデータクレンジングです。
これはホットドッグ?AIが答えるには、驚くような答えが必要
続きを読む
しかしその一方で、実際にノイズを導入したい場合もあります。
Silicon Valley Not HotDogアプリは、何かがホットドッグであるかどうかを認識するように設計されました。当然のことですが。アプリの開発者は、ホットドッグの写真のコピーを作成し、それを歪ませたり、回転させたり、反転させたりしました。これには2つの効果がありました。1つは、傾いたスマートフォンから撮影したホットドッグのように見えるようになったことです。もう1つは、データセットの不均衡を軽減するのに役立ったことです。
あるグループに他のグループよりもはるかに多くの写真が含まれる不均衡なデータセットでは、ニューラルネットワークは常に新しい写真をその一般的な分類法で分類してしまう可能性があります。ネットワークのプログラムは、トレーニングセット内のほとんどの写真が同じグループに属している場合、新しい写真も同じグループに属すると仮定することで、ほとんどの場合に正確な分類ができると想定します。
これを解決するには、よりバランスの取れた分類セットを作成し、ニューラル ネットワーク モデルを変更して、その結果に重み付けをして、十分に表現されていないモデルにさらに注意を払うようにします。
データの不均衡はバイアスにつながる可能性があります。Mighty.AIに登録すると最初に表示されるタスクの一つは、子犬の可愛さを評価することです。同社は、集計結果がどのようになるかを確認したいと説明しました。
「女性と男性が子犬の可愛さを評価する際には、強い性差があることが判明しました」とMighty.AIは述べています。「可愛いですが、感情表現が豊かです。」これを放置すると、現実世界に予期せぬ影響を与えるエラーにつながる可能性があります。
こうした危険を回避し、正確なニューラルモデルを生成するためのトレーニングセットを作成することは、見た目以上に困難です。ディープラーニングアルゴリズム用のトレーニングデータを見つけ、スクラブし、解釈することは、AI開発プロセスにおいて重要な部分であり、ニューラルネットワークのコードを試す前に、多くの時間を費やすことがよくあります。
「多くの人はTensorFlowこそがパーティーの主役だと思っているでしょう」とモーテンセンは結論づける。「しかし、パーティーはそこで終わりです。」®