ioam / topographica

A general-purpose neural simulator focusing on topographic maps.
topographica.org
BSD 3-Clause "New" or "Revised" License
53 stars 32 forks source link

the connection fields and the preferred orientation #693

Open dancehours opened 5 years ago

dancehours commented 5 years ago

Hi, I try to compare the connection fields between LGN and V1 and the preferred orientations of V1 units. As I understand, by simplification the orientation preferences are calculated only based on the connection fields between LGN and V1. I would like to ask, for example, for v1 unit located at (0.1,0.1), the corresponding location at the matrix of orientation preference is (41,31) or (41,41) ? I compare them and found they don't have all the similar orientations. In general, what is the corresponding between locations of v1 area and the pixels of orientation preference matrix?

dancehours commented 5 years ago

Assume the v1 area is 1.5*1.5.

dancehours commented 5 years ago

1

jbednar commented 5 years ago

I recommend running a low-density simulation with a V1 20 units wide and 20 units tall, and then plotting every single unit using the projection plot. That way you can see all of the information available, which should help you understand how everything works at the small scale so that you can have a better intuition when you study larger networks.

In any case, you can calculate orientation preferences however you like, but the default is to use the entire pathway between the retina and V1, including weights from retina to LGN and from LGN to V1, by presenting a pattern on the retina and measuring the V1 response. You should be able to watch the patterns as they are presented by changing a parameter that normally suppresses them for convenience, and you should be able to understand the activity patterns that result, given the shape of each neuron's CF that you see in the projection. I'd highly recommend doing this for a while to come to a deep understanding before using any network like this.

dancehours commented 5 years ago

This is an example for preferred orientation change of one unit in V1 during 300 time scales, one time scale is 20000 iterations. I would like to ask, why from 100 to 200 time scales there are a lot of dramatic change of the preferred orientation between 0 and pi ? For instance, from a small value increase to about pi, then return to a small value between 2 time scales.

jbednar commented 5 years ago

Again, if you study a small network as recommended above, you should be able to notice changes in the weights as you see changes in the preferences, and thereby understand everything deeply.

In this case, though, it's simply that orientation of a symmetric line is measured on a circular scale from 0 to pi, where 0 and pi are identical because the line rotated halfway around the circle is the same as if it's at 0. So, if a unit has an orientation preference of approximately 0, a tiny fluctuation down will make it be pi-epsilon, a tiny fluctuation up will make it be 0+epsilon, and you'll get a plot like the one above. There are various plotting tricks you could do to avoid having the plot be choppy like that, but hopefully just understanding it is enough.

dancehours commented 5 years ago

Thanks. Actually I think I understand the connection fields between LGN and V1 can have similar orientation with the v1 units' preferred orientation. Now I just would like to ask a particular question, for example, for v1 unit located at (0.1,0.1), the corresponding location at the matrix of orientation preference is (41,31) or (41,41) ?

dancehours commented 5 years ago

Could you suggest one plotting trick to avoid having the plot shown above ? I am searching for these tricks.

jbednar commented 5 years ago

E.g. if you have an array of values v, you can write a loop that iterates through the orientation values v[i], creating a new set of values w[i] where w[i] = v[i]+pi if v[i]+pi is closer to v[i-1] than v[i]` is. That way if one point is saying 178 degrees, the next value won't be something like 2 degrees, it will be 182, to avoid the discontinuity.

jbednar commented 5 years ago

for example, for v1 unit located at (0.1,0.1), the corresponding location at the matrix of orientation preference is (41,31) or (41,41) ?

There's no answer to that question without a specific network configuration, but note that the 0.1,0.1 coordinates are Cartesian while the integer (41,41) coordinates are in row, column: http://ioam.github.io/topographica/User_Manual/space.html