Replicating SCAN algorithm described in Google DeepMind's paper "SCAN: Learning Abstract Hierarchical Compositional Visual Concepts"
Image datasets are created with Rodent envrironment.
- Tensorflow 1.2 or later
- Python2 or 3
First extract dataset, and then run main.py
$ tar xvf data.tar.gz
$ python main.py
Symbol to image conversion result.
- Generated images when
wall_color=white
is specified.
- Generated images when
wall_color=white
,floor_color=white
are specified.
- Generated images when
wall_color=white
,floor_color=white
,obj_color=white
are specified.
- Generated images when
wall_color=white
,floor_color=white
,obj_color=white
,obj_id=ice_lolly
are specified.
Input | Output |
---|---|
obj_color=white , wall_color=white , floor_color=white , obj_id=ice_lolly |
(All of the outputs are correct.)
Input | Output |
---|---|
obj_color=purple , wall_color=dark_yellow , obj_id=hat |
(Correct obj_color
was red
, but confused as purple
. floor_color
was not specifiled in the output.)
Concept reombination result as image outputs.
- Recombination result of
(obj_color=white) AND (wall_color=white)
. (Correct result should have white object and white wall.)
- Recombination result of
(obj_color=white, obj_id=ice_lolly) IN_COMMON (obj_color=white, wall_color=white
. (Correct result should have white object.)
- Recombination result of
(obj_color=white, wall_color=white) IGNORE (obj_color=white)
. (Correct result should have white wall.)
Disentanglement result for latent variables for object parameters. (Wall color, Object color, Floor Color, Object Type, Object position).