2

我是新來的深度學習和Tensorflow,必須學習這個主題,因爲我目前正在研究一個項目。我正在使用卷積網絡來檢測並找到圖像中單個對象的位置。我正在使用Standford CS231n class中介紹的方法。講師提到了在網絡中的完全連接層之後連接一個迴歸頭以找到對象的位置。我知道Tensorflow中有DNNRegressor。我應該用這個作爲迴歸頭嗎?如何在使用Tensorflow的卷積網絡中的完全連接層之後添加回歸頭?

在我修改Tensorflow關於在我的情況下使用ConvNet到recognize handwritten digit的教程之前。我不太清楚如何將回歸頭添加到該程序,以便它還可以找到該對象的邊界框。

本週我剛剛有機會接觸機器學習和深度學習,如果我問了一個非常愚蠢的問題,道歉,但我真的需要找到解決我的問題。非常感謝你。

回答

1

首先,爲了訓練一個神經網絡來完成對象定位任務,你必須有一個帶有本地化對象的數據集。這回答了你的問題,你是否可以使用MNIST數據集。 MNIST只包含每張圖片的類別標籤,因此您需要獲得another data set。 Justin also talks關於大約在37:34的流行數據集。

對象本地化工作的方式是通過學習輸出每個圖像4個值而不是類分佈。這個四值向量與地面真值四值向量進行比較,損失函數通常是其差值的L1或L2範數。所以在代碼中,迴歸頭是一個普通的迴歸層,可以通過調用簡單的tf.reduce_mean來實現張量流。

執行對象本地化的一個小而完整的示例可以是found here。另外推薦看看this question

相關問題