2

私は深い学習とTensorflowを初めて使い、現在取り組んでいるプロジェクトのためにこのトピックを学ばなければなりません。私は畳み込みネットワークを使用して、画像内の単一のオブジェクトの位置を検出し、見つける。私はStandford CS231n classで導入されたメソッドを使用しています。講師は、ネットワーク内の完全に接続されたレイヤーの後ろにある回帰ヘッドを接続してオブジェクトの場所を見つけることについて言及しました。私はTensorflowにDNNRegressorがあることを知っています。これを回帰頭として使うべきですか?Tensorflowを使用して畳み込みネットワークで完全に接続されたレイヤーの後に回帰ヘッドを追加する方法は?

私はConvNetを使用したTensorflowのチュートリアルを私のケースではrecognize handwritten digitに変更しました。私はどのように回帰頭をそのプログラムに追加して、オブジェクトの境界ボックスも見つけることができるようにするにはどうしたらいいのか分かりません。

私は本当にばかげた質問をしたら、今週は機械学習と深い学習に触れる機会を得ましたが、本当に私の問題を解決する必要があります。どうもありがとうございました。

答えて

1

まず、オブジェクトローカリゼーションタスクのためにニューラルネットワークを訓練するためには、ローカライズされたオブジェクトを持つデータセットが必要です。これは、あなたがMNISTデータセットで作業できるかどうかという質問に答えます。 MNISTには各画像のクラスラベルが含まれているので、another data setを取得する必要があります。 Justin also talks 37:34頃の一般的なデータセットについて

オブジェクトのローカライゼーションの仕組みは、クラスの分布ではなく、画像ごとに4つの値を出力することを学ぶことです。この4値ベクトルは、地上4値ベクトルと比較され、損失関数は、通常、その差のL1またはL2ノルムです。だから、コードでは、回帰頭は単純なtf.reduce_mean呼び出しでテンソルフローで実装できる通常の回帰層です。

オブジェクトローカリゼーションを実行する小さな完全な例は、found hereです。また、this questionをご覧ください。

関連する問題