What exactly does "channel" refer to in tensorflow/lucid?


Tensorflow/Lucid is able to visualize what a "channel" of a layer of a neural network (image recognition, Inception-v1) responds to. Even after studying the tutorial, the source code, the three research papers on lucid and comments by the authors on Hacker News, I'm still not clear on how "channels" are supposed to be defined and individuated. Can somebody shed some light on this? Thank you.



Posted 2018-08-29T08:01:14.643

Reputation: 33

I guess they're talking about filter. They optimize an image to make a high respond on the filter (channel) – Jérémy Blain – 2018-08-29T08:04:36.117

(I don't read the papers, I don't see them on the github page. Moreover, they don't seem to talk about channel on the github page you've linked) – Jérémy Blain – 2018-08-29T08:06:04.653

Ohh, my bad, I didn't see there are two links ^^" (I edited your post to better see the two links) – Jérémy Blain – 2018-08-29T08:09:49.600



The channel they are talking about is the depth of the layer L.

enter image description here

In this image, the channel is 5. There are 5 $3*2$ filters

They optimize an image from noise, to better respond to the filter F, in the layer L. Then you obtain this kind of image, and you can try to interpret the prupose of that filter (it learns to detect eyes, faces, wheels, and so on)

EDIT: To be more precise, you visualise the channel only if you optimise images for every filters, otherwise, you obtain a filter visualisation (if you do the optimisation one time, for one filter)

They call it "channel", because in a colored image, you have 3 dimensions : witdh, height, and channel (for color), as layers which have also 3 dimensions.

Jérémy Blain

Posted 2018-08-29T08:01:14.643

Reputation: 449