機械学習のソフトウェアプロセス/アーキテクチャ設定に関する概念的な質問があります。私はWebアプリケーションを持っており、Facebookの顔認識(一般的なオブジェクトを除いて)のように機能するいくつかの機械学習アルゴリズムを取り入れようとしています。そのため、モデルはの特定のの画像を私のサービスにアップロードすること(fbが特定の人物をどのように分類できるかなど)を分類する際に良くなります。ユーザ画像タギングによる画像分類モデルの特殊化
ラフ概要は次のとおりです。
event: User uploads image; image attempts to be classified
if failure: draw a bounding box on object in image; return image
interaction: user tags object in box; send image back to server with tag
????: somehow this new image/label pair will fine tune the image classifier
私は最後のステップで助けを必要としています。通常、転送学習や一般的な訓練では、プログラマーはイメージでいっぱいの大きなデータベースを持っています。私の場合、事前にモデル化されたモデル(Googleの初めのバージョン-v3)がありますが、ユーザーがコンテンツをアップロードし始めるまで、微調整データベースは存在しません。
私はどのように特殊なデータベースを構築するためにそのタグ付け方法を使用できますか?私はFBがこの問題に遭遇して解決したと確信していますが、私は彼らの解決策を見つけることができます。いくつかの考え(と決定的研究)した後、私は考えることができる唯一の戦略はどちらかにある:
A) stockpile tagged images and do a big batch train
B) somehow incrementally input a few tagged images as they get
uploaded, and slowly over days/weeks, specialize the image classifier.
理想的には、私はオプションAを避けたいが、Bがどのように現実的な私にはわからない、また存在する場合このタスクを達成するための他の方法。ありがとう!
1人の学習者を全員、または1人の学習者をユーザーごとに特化しようとしていますか?いずれにしても、新しいラベル付き画像を取得し、ネットワーク上で確率的勾配降下(または他の簡単な方法)を何回か繰り返して実行すると何が問題になりますか? [オンライン学習](https://en.wikipedia.org/wiki/Online_machine_learning)を参照してください。 – user3658307
はい、システム全体の学習者は1人です。そう、オンライン学習は、限られた動的なデータでモデルを「逐次的に」更新できるようにする戦略のようです。 –