gato icon indicating copy to clipboard operation
gato copied to clipboard

Number of ResNet block

Open ThomasRochefortB opened this issue 2 years ago • 3 comments

@OrigamiDream

The paper mentions on page 4 "Tokens belonging to image patches for any time-step are embedded using a single ResNet block".

So we could update the Readme.md and just use a number of 1 ResNet block during image embedding.

ThomasRochefortB avatar Jan 24 '23 16:01 ThomasRochefortB

Also, the ResNet embedding is done on single image patches instead of the whole complete image as it is hinted on the figure "Full Episode Sequence" (See Figure 15 in the appendix)

ThomasRochefortB avatar Jan 24 '23 16:01 ThomasRochefortB

The Figure 5 shows they uses patches from complete image for full episode sequences. (They explicitly marked them with comma and ellipsis) Also in page 3, "Images are first transformed into sequences of non-overlapping 16 x 16 patches in raster order, as done in ViT ...". Therefore we must use the whole complete image for a single observation sequences As you said, however, we can update the code to use single ResNet block to make 16 x 16 patches.

OrigamiDream avatar Jan 26 '23 11:01 OrigamiDream

Now I understand what you said

I have read the paper of Gato and ViT again to clarify how Gato handles the image patches. Like Vision Transformer (but which is not hybrid), the input images must be patched into 16x16 prior to be embedded via ResNet.

What I understand about the process is:

  • For image captioning task: 224x224x3 → 196x16x16x3 (patching) → 196x1x1x768 (using single ResNet block) → 196x768 (reshaping)
  • For Atari task: 64x80x3 → 20x16x16x3 (patching) → 20x1x1x768 (using single ResNet block) → 20x768 (reshaping)

I'm gonna update the ResNet code

OrigamiDream avatar Jan 28 '23 10:01 OrigamiDream