シャムネットワークによるワンショット学習[顔認識用]

公開: 2021-02-08

次の記事では、ワンショット学習を使用する必要性とそのバリエーションと欠点について説明します。

まず、深層学習モデルをトレーニングするには、モデルが目的の予測または分類タスクを効率的に実行できるように、大量のデータが必要です。 たとえば、画像から犬を検出するには、数百、数千の犬と犬以外の画像でニューラルネットワークモデルをトレーニングして、犬を正確に区別する必要があります。 ただし、このニューラルネットワークモデルは、1つまたはごく少数のトレーニングデータでトレーニングされている場合は機能しません。

データが不足しているため、さまざまなレイヤーで関連する特徴を抽出することが困難になります。 モデルは、異なるクラス間でうまく一般化することができず、それによって全体的なパフォーマンスに影響を与えます。

説明のために、空港での顔認識の例を考えてみましょう。 この場合、背景照明など、さまざまな表現を含む各人物の数百、数千の画像のモデルをトレーニングする自由がありません。 毎日何千人もの乗客が到着するので、それは不可能な仕事です! その上、そのような巨大なデータのチャンクを保存することはコストになります。

上記の問題に取り組むために、1つまたはいくつかの例で分類または分類タスクを実行して多くの新しい例を分類できる手法を使用します。 この手法はワンショット学習と呼ばれます。

近年、ワンショット学習技術は、顔認識やパスポートチェックで広く使用されています。 使用されている概念は次のとおりです。モデルは入力2つの画像を取得します。 1つはパスポートからの画像で、もう1つはカメラを見ている人の画像です。 次に、モデルは2つの画像間の類似度である値を出力します。 出力の値が低い場合、2つの画像は類似していますが、それ以外の場合は異なります。

目次

シャムネットワーク

ワンショット学習に使用されるアーキテクチャは、シャムネットワークと呼ばれます。 このアーキテクチャは、それぞれが異なる入力を受け取る2つの並列ニューラルネットワークで構成されています。 モデルの出力は、2つの入力画像が類似しているかどうかを示す値または類似性インデックスです。 事前定義されたしきい値を下回る値は、2つの画像間の高い類似性に対応し、その逆も同様です。

画像に一連の畳み込み層、最大プーリング層、および完全に接続された層が渡されると、画像の特徴をエンコードするベクトルが得られます。 ここでは、2つの画像を入力するため、入力画像の特徴を含む2つのベクトルが生成されます。 私たちが話していた値は、2つのベクトル間の差のノルムを見つけることによって計算できる、2つの特徴ベクトル間の距離です。

トリプレットロス機能

名前が示すように、モデルをトレーニングするには、3つの画像が必要です。1つはアンカー(A)画像、1つはポジティブ(P)、もう1つはネガティブ(N)画像です。 モデルに2つの入力を提供できるため、ポジティブイメージまたはネガティブイメージのいずれかを持つアンカーイメージが与えられます。 モデルは、アンカー画像とポジティブ画像の間の距離が短く、アンカー画像とネガティブ画像の間の距離が長くなるようにパラメータを学習します。

建設的損失関数は、AとNの間の距離が短いか、AとPが高い場合にモデルにペナルティを課しますが、AとNの間の距離が高く、AとPが低い場合は、モデルを奨励したり、特徴を学習したりします。

アンカー、ポジティブイメージ、ネガティブイメージについて詳しく理解するために、空港での前の例を考えてみましょう。 このような場合、アンカー画像はカメラを見たときのあなたの画像になり、ポジティブ画像はパスポート写真の画像になり、ネガティブ画像は空港にいる乗客のランダムな画像になります。

Siasemeネットワークをトレーニングするときはいつでも、APNトリオ(アンカー、ポジティブおよびネガティブ)画像を提供します。 このデータセットの作成ははるかに簡単で、トレーニングに必要な画像が少なくなります。

ワンショット学習の限界

ワンショット学習はまだ成熟した機械学習アルゴリズムであり、いくつかの制限があります。 たとえば、入力画像に帽子をかぶっている人、サングラスなどの変更が加えられている場合、モデルはうまく機能しません。 さらに、あるアプリケーション用にトレーニングされたモデルを別のアプリケーション用に一般化することはできません。

次に、ゼロショット学習と少数ショット学習を伴うワンショット学習のいくつかのバリエーションを見てみましょう。

ゼロショット学習

ゼロショット学習は、表示されたデータでトレーニングされ、新しいデータまたは表示されていないデータのセマンティック機能を認識しながら、新しいまたは表示されていないラベル付きデータを識別するモデルの機能です。 たとえば、猫を見た子供は、その独特の特徴によって猫を識別できます。 さらに、子供が犬の吠え声に気づいていて、猫よりもしっかりした特徴を持っている場合、子供は犬を認識するのに問題はありません。

結論として、ZSL認識は、各非表示クラスがどのように表示クラスに意味的に関連しているかについての知識と相まって、表示クラスのラベル付きトレーニングセットを考慮に入れる方法で機能すると言えます。

Nショット学習

名前が示すように、Nショット学習では、トレーニングに使用できる各クラスのn個のラベル付きデータがあります。 モデルは、それぞれn個のラベル付きデータを含むK個のクラスでトレーニングされます。 関連する特徴とパターンを抽出した後、モデルは新しいラベルのない画像をKクラスの1つに分類する必要があります。 それらは、完全にエンドツーエンドでトレーニングされた最近傍ベースのアプローチで機能するマッチングネットワークを使用します。

結論

結論として、ワンショット学習の分野とそれに対応する分野は、いくつかの困難な問題を解決する大きな可能性を秘めています。 比較的新しい研究分野ですが、急速に進歩しており、研究者たちは機械と人間のギャップを埋めようと取り組んでいます。

これで、この投稿は終わりです。楽しんで読んでいただければ幸いです。

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

世界のトップ大学からMLコース学びましょう。 マスター、エグゼクティブPGP、または高度な証明書プログラムを取得して、キャリアを迅速に追跡します。

AI主導の技術革命をリードする

機械学習とNLPの高度な証明書プログラムに申し込む