relational networks
1.0.0
關係網絡的Pytorch實施 - 一個簡單的神經網絡模塊用於關係推理
實施並在類似的CLEVR任務上進行了測試。
Clevr的簡化版本。該版本由每個圖像由10000張圖像和20個問題(10個關係問題和10個非關係問題)組成。將6種顏色(紅色,綠色,藍色,橙色,灰色,黃色)分配為隨機選擇的形狀(正方形或圓形),並將其放置在圖像中。
非關係問題由3個亞型組成:
這些問題是“非關係”,因為代理只需要專注於某些對象。
關係問題由3個亞型組成:
這些問題是“關係”,因為代理必須考慮對象之間的關係。
問題被編碼為一種尺寸為11:6的矢量,對於6種顏色的某些顏色的一速矢量,2對於關係/非相關問題的一速矢量為2。 3對於3個亞型的一個速率向量。

即,在顯示的示例圖像中,我們可以產生非關係問題,例如:
和關係問題:
通過environment.yml創建conda環境。
$ conda env create -f environment.yml
激活環境
$ conda activate RN3
如果您不使用conda安裝python 3並使用pip install來安裝剩餘的依賴項。依賴項列表可以在environment.yml中找到。
$ ./run.sh
或者
$ python sort_of_clevr_generator.py
生成clevr數據集和
$ python main.py
訓練二進制RN模型。或者,使用
$ python main.py --relation-type=ternary
訓練三元RN模型。
在原始論文中,類似的clevr任務使用了CLEVR任務的不同模型。但是,由於使用CLEVR的模型所需的計算時間要少得多(網絡要小得多),因此該模型用於CLEVR任務。
| 關係網絡(第20個時代) | CNN + MLP(無RN,第100個時期) | |
|---|---|---|
| 非關係問題 | 99% | 66% |
| 關係問題 | 89% | 66% |
CNN + MLP對培訓數據過於擬合。
關係網絡在關係問題和非關係問題中顯示出更好的結果。
@gngdb將模型加快了10次。