2017-12-25 10 views
-1

私は現在、1000のカテゴリのセットから画像を分類する、事前にトレーニングされたMobileNetモデルで作業しています。私のIOSアプリケーションの目的のために、私はそれをシーン内のあるタイプのオブジェクトを認識/分類する必要があります。どのようにしてモデルを訓練すれば、私が必要とするオブジェクトを分類するだけですが、それは非常にうまくいきますか?MobileNetトレーニングを受けたモデル - 分類

私は機械学習に慣れておらず、伝達学習テクニックには慣れていません。このタイプのトレーニングを行うと、モデルサイズが小さくなり、必要なオブジェクトを認識するのが効率的になりますか?はいの場合、私の目的のためにこの事前トレーニングされたモデルをどのように訓練し続けるか教えてくれるリソースは何ですか?

+1

非常に正確な画像分類子を1つのオブジェクトに対して訓練したいと思えば、代わりにそのオブジェクトに合わせたカスタムモデルを作成する方がよいでしょうか? –

答えて

0

簡潔に言えば、1000ウェイクラシファイアをバイナリクラシファイアに変更したいとします。 以下の回答は、元のデータにアクセスできること、および元のモデルをトレーニングする方法(つまり、トレーニングスクリプトにアクセスできる方法)を理解していることを前提としています。ここでは:

あなたが1つのカテゴリCだけに興味があるとすれば、データのすべてのインスタンス(x、C)を(x、1)にマッピングし、他のすべてのインスタンス(x、not_C) (x、0)を計算し、その結果のデータに対してモデルを訓練する(または、訓練スクリプトがモデルの開始点を受け入れる場合は、訓練済みモデルの訓練を続ける)。

モデルは、非Cクラス間の識別能力を失い、うまくいけば、Cと非Cのインスタンスを区別するのがうまくいきます。

注:実際にモデルを0または1だけに出力し、目的をバイナリsoftmaxに変更することは、あまりにもハッキリではありません。しかし、これには、モデルのアーキテクチャをいくらか操作する必要があります。

関連する問題