[51CTO.com オリジナル記事] 上司がラベルのない写真 10 万枚を渡して、サンダル、パンツ、ブーツなどに分類するように頼んだと想像してください。
現在、ラベル付けされていないデータが大量にあるので、それにラベルを付ける必要がある。何をすべきでしょうか? この問題はよくあることです。多くの企業は、取引データ、IoT センサーによって生成される膨大なデータ、セキュリティ ログ、画像や音声データなど、データの海に溺れています。これらはすべてラベルのないデータです。 ラベル付けされたデータが非常に少ないため、機械学習モデルの構築は、あらゆる企業のデータ サイエンティストにとって面倒なプロセスです。 Google のストリートビュー データを例に挙げて、Gebru 氏は、ごくわずかなラベル付きデータを使用して 5,000 万枚の画像内の自動車にラベルを付ける方法を考えなければなりませんでした。 Facebookでは、エンジニアがアルゴリズムを使用して50万本のビデオにラベルを付けましたが、これは他の方法であれば16年かかる作業です。 この投稿では、わずか午後で数十万枚の画像に注釈を付ける方法を紹介します。画像に注釈を付ける場合でも、従来の表形式データに注釈を付ける場合でも(たとえば、サイバーセキュリティ攻撃やコンポーネントの障害の可能性を識別する場合)、同じアプローチを使用できます。 手動注釈方式 ほとんどのデータ サイエンティストは、何かを依頼された場合、まずそれを実行できる他の代替手段があるかどうかを考えます。
しかし、Mechanical Turk や他の同様の競合プラットフォームでは、10 万枚の画像を作成するのに少なくとも 3 万ドルかかるでしょう。 結局のところ、あなたを雇ったのは上司なので、上司はこれを低価格で行うことを期待しています。現在、彼女にはあなたの給料以外の予算はありません (信じられない場合は、pydata にアクセスしてください)。 深呼吸して、1 時間で 200 枚の画像にラベルを付けることができると考えます。つまり、3 週間休みなく作業すれば、すべてのデータにラベルを付けることができるということです。おっと! シンプルなモデルを構築する 最初のアイデアは、画像のサブセットにラベルを付け、それを使用して機械学習モデルをトレーニングし、それを使用して残りの画像のラベルを予測することです。 この演習では、Fashion-MNIST データセットを使用します (quickdraw を使用して独自のデータセットを作成することもできます)。 識別すべき画像には 10 のカテゴリがあり、その内容は次のとおりです。 各画像は 28×28 ピクセルで構成されており、784 個の固有の機能/変数が含まれているため、このデータセットを見て興奮しました。 これらの機能は、私が書きたいブログ投稿には最適ですが、現実世界ではこのようなデータセットは絶対に見かけません。現実世界では、データセットの幅がはるかに狭い (従来の表形式のビジネス問題データセット) か、はるかに広い (実際の画像ははるかに大きく、さまざまな色で構成されています) 傾向があります。 モデルの構築には、ロジスティック回帰、サポート ベクター マシン (SVM)、ランダム フォレスト、勾配ブースティング マシン (GBM) など、最も一般的なデータ サイエンス アルゴリズムを使用しました。 100、200、500、1000、2000 枚の画像にラベルを付ける際のパフォーマンスを評価します。 これを見たら、ゆっくりして絵を注意深く観察するべきです。この写真には良いところがたくさんあります。 どのアルゴリズムが最適ですか? (データ サイエンティストであれば、この質問に混乱することはないはずです。) この質問に対する答えは、実際には要件環境によって異なります。 すぐに使える高速で信頼性の高いものが必要な場合は、ロジスティック回帰アルゴリズムを選択できます。ランダムフォレストアルゴリズムは最初からはるかに先を進んでおり、SVM は開始点が低いにもかかわらず、非常に速い速度で追いついています。ラベル付けされたデータが増えるにつれて、SVM はランダム フォレストよりも優れたパフォーマンスを発揮します。 GBM はうまく機能しますが、最高のパフォーマンスを実現するには追加の作業が必要です。ここでの各アルゴリズムのスコアは、R で実装されたライブラリ (e1071、randomForest、gbm、nnet) を使用して評価されます。 ベンチマークが 10 個のカテゴリを持つ画像分類タスクで 80% の精度を達成することである場合、1,000 枚の画像を使用してランダム フォレスト モデルを構築することでこの目標を達成できます。 しかし、1,000 枚の画像にラベルを付ける作業量は依然として非常に多く、5 時間かかると見積もっています。では、これをどう改善できるか考えてみましょう。 データについて考えてみましょう 少し考えた後、あなたは他の人によく言う一文を思い出します。「データはランダムではなく、パターンがある。」これらのパターンを活用することで、データをより深く理解できるようになります。 まずはオートエンコーダー (AE) から始めましょう。オートエンコーダーは、スープをブイヨンキューブに変えるのと同じように、データを圧縮することを目的としています。オートエンコーダーは、非線形変換をサポートする、非常に流行している主成分分析 (PCA) を使用します。 実際には、これは、幅広いデータ (784 個の特徴/変数) を 128 個の特徴に削減することを意味します。次に、新しい圧縮データを使用して機械学習アルゴリズムをトレーニングします (この場合は SVM を使用)。 以下のグラフは、オートエンコーダーによって圧縮されたデータ (AE_SVM) でトレーニングされた SVM と、元のデータでトレーニングされた SVM のパフォーマンスの違いを示しています。 情報を 128 個の特徴に圧縮することで、最終的な SVM アルゴリズムのパフォーマンスを実際に向上させることができました。 ラベルが 100 個の場合、精度は 44% から 59% に上がります。ラベルが 1000 個の場合、オートエンコーダーは引き続き機能し、74% から 78% に改善されます。 つまり、私たちは目標に一歩近づいたことになります。あとは、活用できるデータの分布とパターンについてもう少し考える必要があります。 データについて深く考える 私たちのデータは画像であり、2012 年以降、画像処理に最適なツールは畳み込みニューラル ネットワーク (CNN) であることがわかっています。 CNN を使用するには、事前にトレーニングされたネットワークから、または画像を前処理する単純なモデルからなど、いくつかの方法があります。 この記事では、Kingma らによる論文を参考にして、畳み込み変分オートエンコーダを使用して目標を達成します。 それでは、畳み込み変分オートエンコーダ (CVAE) を構築してみましょう。ここでの技術は、以前と比べて 2 つの「飛躍」を遂げています。 まず、「変分」とは、オートエンコーダが情報を確率分布に圧縮することを意味します。 2 つ目は、エンコーダーとして畳み込みニューラル ネットワークを追加することです。 ここではディープラーニング技術が一部使用されていますが、私たちの焦点は最新かつ最も流行している技術を披露することではなく、問題を適切に解決する方法にあることを強調したいと思います。 CVAE をコーディングするために、RStudio の Keras ページにあるこの例のリストにあるサンプル CVAE を使用しました。 以前のオートエンコーダと同様に、潜在空間を設計してデータを 128 個の特徴に削減します。次に、この新しいデータを使用して SVM モデルをトレーニングします。 以下は、元のデータでトレーニングされた SVM とランダム フォレストを使用した CVAE_SVM のパフォーマンス比較チャートです。 おお!新しいモデルはより正確です。わずか 500 個のラベルで、80% を超える精度を達成できます。 これらの技術を使用することで、パフォーマンスが向上し、注釈付きの画像が少なくて済みます。ハイエンドでは、このアプローチはランダム フォレストや SVM モデルよりも優れたパフォーマンスを発揮します。 次のステップ オートエンコーダーを使用した非常に単純な半教師あり手法を使用することで、データに迅速かつ正確にラベルを付けることが可能です。しかし、重要なのはディープラーニングエンコーダーを使用することではありません。 代わりに、ここでのアプローチを理解し、非常に単純なものから始めて、徐々により複雑なソリューションを試していただきたいと思います。 最新の技術の使用にこだわらないでください。真のデータ サイエンスは、arXiv の最新の方法を使用することではありません。 この半教師あり学習法は、間違いなくあなたにインスピレーションを与えるでしょう。この記事は半教師あり学習におけるロジスティック回帰アルゴリズムに相当します。 半教師あり学習とドメイン適応についてさらに詳しく知りたい場合は、変分オートエンコーダーの使用に関する Brian Keng の優れたチュートリアルを参照してください。 彼の仕事は、私たちがここで話しているものや、ディープラーニングを使って半教師あり学習を改善し、コードをオープンソース化したCurious AIの仕事を超えています。 最後に、少なくとも理解していただきたいのは、すべてのデータにラベルを付ける必要があるとは想定してはいけないということです。 [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |
<<: ブックマークにおける不正行為の特定におけるグラフィカル モデルの応用
>>: MITが世界の画期的な技術トップ10をランク付け、アリババはそのうち4つを研究中
【網易知能ニュース 3月18日】次回チェルシーでディナーを楽しんだ際、スーパーヨットの執事の慎重な...
最近、ディープラーニング分野の著名な研究者であり、Lightning AI のチーフ人工知能教育者で...
フロー制御は、複雑なシステムでは必ず考慮しなければならない問題です。この記事では、さまざまなフロー制...
COVID-19の流行が世界中の人々の生命と日常生活を脅かし続けている中、人々はこの病気の予防と治療...
[[357414]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...
朗報です、朗報です、本物のソラの新しいビデオがあります!通りかかったらぜひお見逃しなく! (本物のS...
DeepFake は発売以来、潜在的な「悪質な AI」としてリストアップされてきました。 有名な「...
2018 年は過去のものとなりましたが、AI は依然として今年の主要なテクノロジー トレンドの 1...
[[251095]] 2018年の初めから年末にかけて、携帯電話業界では人工知能がキーワードとなって...
7B オープンソースモデル、その数学的能力は数千億規模の GPT-4 を超えます。その性能はオープン...
何億人ものインターネットユーザーの一人として、クレジット取引を処理するためにオフラインの営業所に行く...