must learn about runge-kutta methods,
must learn about runge-kutta methods,
must learn about runge-kutta methods.
clearly this too-complicated model is suffering because of the temporal resolution. i've spent nights now trying to figure out why the thing wasn't working right - and did find a few errors along the way, which i don't think would have made or brake the thing anyways - and finally i conclude that the response time constant was too small. this is strange, because the same model works great with a 2d network, and perfect with a single unit; apparently there's something about this network, which is essentially 3d, which effectively makes the time constants faster... it must be that compounding the differential during the convolution, over multiple filter layers, effectively speeds everything up.
it's not like i wasn't aware of this problem at first. i thought i had solved that by doing the global normalization, where the convolution stage would basically be treated as a single layer. last night, i decided that collapsing that stage to one layer was a mistake, because it resulted in the pools everywhere being overwhelmed by the finer-grain channels, since those filters are more numerous. that may actually be correct, with some sort of leveling factor, but at any rate i took out the collapse. it didn't change performance much, but that's when i was using a too-complex test case (two faces), instead of the current test case of two gratings. now i realize that the pooling was accelerating the responses, resulting in useless behavior by the network - turning up the interocular inhibition to any level that did anything tended to result in ms-to-ms oscillations.
so, the compounding of responses was doing it, i guess, and would be doing it even if i had the pooling collapse still worked in. but now i can't understand why i didn't get the same problem, apparently ever, with the fft-based version of the model. now i'm suspicious that maybe i *did* get it, and just never perceived it because i wasn't doing the same sorts of tests with that thing.
not quite back to the drawing board. i wish i could get away from the drawing board, for just a few nights, so i could work on this goddam proposal like i should have been doing for the past 2 months.
Sunday, March 18, 2012
Tuesday, March 13, 2012
An Instantiation of a General Problem
(I wrote this, but never finished it, in China back around Christmastime. Randomly remembered it today, and thought this would be as good a place as any for it.)
The key was to be found across the city, in the
old commercial district. We had tried simulations, implanted demos, viewed stereoscopic
images through a haploscope we found in storage in the medical school. After
all of these, we had tried hallucinogens to modulate the imagined presence of
the key, but it was all to no avail. At least, we said to ourselves, when we
finally approach the key we will be familiar with it. The front end of the
process will not be a surprise.
The approach, however, to that front end, would
be horrendous. First, our camp was protected from the feed. This kept the peace
from finding us, but it also meant that our emergence into the feed would stand
out like a tree in the desert. We had monitored the security cycles for days.
Most would say that such monitoring was futile, since the cycle paths were
random, generated with new seeds every minute give or take another random
cycle. Any attempt, most would say, to predict gaps in the cycle would result
in no better chance of unnoticed entry than no attempt at all, with the added
hazard of false confidence to mask the creeping signs of detection.
It was possible, though, to closely estimate the
number of cycles. We could detect the passes themselves, which gave us data for
the estimation. The different cycles were unique, originating from different
security servers, each assigned its own identification during its current
generation. Given all these data, we had a method for estimating, at any given
moment, the likelihood of a pass. The optimal estimate could be made using the
previous twenty seconds of data. You could have pointed out that a likelihood
is the opposite of a certainty, at least along a certain conceptual dimension.
You could also have pointed out that the optimal estimate was lousy if those
twenty seconds contained a generation update. We would have ignored you.
Once inside, we would have to obtain city ids
from an admin, which was not trivial, but not a problem as long as we could
quickly make contact with Tsai, our woman on the inside. We knew she was still
online and that her admin was current, so as long as she wasn't in some
unshakable stupor, she would tie us on and we'd be set for the rest of the
trip. Anyways, persisting for a few minutes with unregistered cids wasn't as
dangerous as suddenly emerging out of the void. An impulse is like that tree in
the desert and the primary means of detecting aliens, while trouble finding a
cid registration is a basic function of the feed servers, which would be
checked in serial, assuming corruption or damage first and alien somewhere
further down the line. Tsai could just tie us onto the oldest and most remote
server, plot a false geographic history of intermittent reception and an
outstanding service request, and there would be nothing in the feed to mark us
out. The tree would dissolve into a puff of dust.
The next problem would be the actual emergence
into the city. Feed presence can be smoothed over, anyone can appear to be
anyone, fit into any group, assume any identity. The body, however, is much
less convenient to modify. Their hair is long, but ours is short. Their skin is
yellow, but ours is brown. We stand head and shoulders above them on the
street, and we have no choice but to travel on the street for the most part, by
foot, in the open, making stark and clear the comparison between foreigner and
local. But, there are other foreigners in Haisheng. They are few and far
between, but there are others, and though we draw attention it is natural,
because who can ignore a brown spot among yellow? The noticing is in itself not
a threat. But when others are looking for you, being easily noticed is a step
away from being easily found. We did not want to be found, but there was no
choice but to be noticed.
The final hazard was beyond any interaction with
the first two. At the time I could not imagine how, but I was still cognizant
that there was a possibility that the locked id had already been accessed by my
competitors before I had retrieved it. If so, they may even have already
decrypted it, outformed the important information inside, and restored the
encryption. This was beyond any vital worry on my part, since the main danger
was that knowing the key, and that I was looking to open the id, they might be
waiting for me at the site. This meant I would have to move slowly through the
streets, below them when possible, work quickly when it was time to get the key,
and maintain vigilance on all channels at all times. There was nothing else we
could do but be vigilant.
I can tell you more about the key without
compromising the truth of the mission. Someday down the line, you may be able
to put two and two together, but by that time whether or not you know such an
obscure truth won't matter much, and you'll be occupied with obscuring your own.
Anyways, it is an interesting detail, and may spark one or another interest in
you.
The id I had retrieved was that of a neural
engineer from a century or so earlier. We needed to query it regarding some
interactions it had had at one time with our main objective, whose id at the
time was missing and presumed destroyed. As it turns out this engineer had
dabbled in id encryption, which was a new field in those days, specifically in encryption
through perceptual experience. Though the field was active at the time, it was
- and remains - completely unknown to the science that this particular engineer
had worked on the problem. It was a private pastime, perhaps a paranoid fear
that a great advance might be stolen, or maybe it was just a fear of inadequacy
in an outsider bringing to the field such an idiosyncratic development. At any
rate, this engineer had come up with something exquisite, which was probably
unmatched by anything else produced by her generation. She may have meant it
entirely for herself. Today, it's a work of art, but the tech is fundamentally
outdated.
This is a digression, I'm sorry. Outdated or not,
it was a good lock, and on site we still needed the key to open it. The encryption
was applied to the id by taking the online state of some suite of perceptual
systems, definitely including visual, possibly other - and by the way, don't
take my ambiguity as indicating anything other than an intention to be
ambiguous - and using this neural state as the key for the encrypted id. The
entire state couldn't be recorded, of
course, since the subject would have to be standing out in the open at the
location, i.e. a true state scan would be impractical, especially in those
days. Instead, something was probably worn, perhaps obvious or perhaps hidden,
instantaneously recording a blocked brain state amounting to just a few
terabytes. It was a functional state, meaning that it could be reproduced in
other human brains, but our initial estimate that a good visual simulation
would suffice proved wrong. We needed to be there, unless someone could explain
exactly what composed the key, and the only person who could tell us that, it
appeared, was the one locked in that id.
Back to the problem. Being noticed, maybe being
scooped, these were mostly outside our control. But skipping as an alien into a
secure feed using random-cycle maintenance, that's something we can deal with.
Look at the figure field. We used standard methods to monitor the cycles and
establish their regeneration characteristics, how many there were, durations of
the cycles, amplitude of the duration modulation - everything here is something
you've seen before. You all have four minutes to generate the optimal estimate from these data, starting - now.
Monday, March 12, 2012
multi-channel M-scaled discrete filter convolution
Okay, so, I built this really neat discrete filter-based visual field model, planning to use it to measure binocular image statistics and to generate more realistic rivalry simulations. I hoped that doing the simulations would actually be quicker using the filters, since there would be far fewer filters than pixel images (I was using image-filter convolution to do the simulations I showed 2 posts ago), and the filters only needed to be represented by their scalar responses. Hoped but did not believe..
So now, I just spent the weekend (wrote that first paragraph a week ago) staring at the code, trying to figure out how to do, essentially, convolution of a function with an irregular array. It is complicated! I wrote a function to get local neighborhood vectors for each filter within its own channel, and then stared at that for a couple of days, and then realized that I should have written it to get the neighborhood without regard to channel. It's a pretty gangly operation, but it does have a good structural resemblance to stuff I've been thinking about for years. Ed and Bruce's relatively abstract idea about the broadband gain control pools, well, I've built it. Not for the intended purposes, since there's not going to be any gain control here - the only suppression that will be involved is like an 'exit gate', the permission for information in the channel array to be moved out to the later stages ("consciousness", we'll call it).
And, I say again, it's complicated. It's definitely not going to be faster than the rectangular filter convolution; in fact, it's likely to be 3 or 4 times slower, and it's going to produce rougher looking images on top of that. All this just to incorporate stupid M-scaling into these stupid rivalry waves. I swear, I can't think of a better way to do it. And the thing still isn't going to know anything about surfaces or faces or houses or any of that stuff, and it's going to take forever to debug and proof since it's going to be so slow...
But it's going to be cool.
Monday, March 05, 2012
retrograde inversion
Several times in your life you may hear it noted that the retinal image is reversed and upside-down. Fewer times than that, hopefully, you may then hear it noted with curiosity that the brain somehow undoes this retrograde inversion. When you do hear this, please interject with the following:
"The brain does not reverse the coordinates of the retinal image. The brain does not know or care about about the retinal image's orientation relative to the world; as far as the brain is concerned, the image is not upside-down, or upside-up, or flipped or double-flipped. It is not delivered to the brain with reversed coordinates, but with no coordinates at all. The brain assigns spatial coordinates to the visual information it obtains from the eyes. It does this by integrating information about body position, gravity, and other consistent sensory cues about the state of the world. There is no reversal or correction of coordinates, there is only assignment of coordinates."
You will promptly be thanked for clearing up the misunderstanding, and hopefully your interjection will serve to end one strain of a particularly irritating bit of pernicious nonsense.
Thank you.
"The brain does not reverse the coordinates of the retinal image. The brain does not know or care about about the retinal image's orientation relative to the world; as far as the brain is concerned, the image is not upside-down, or upside-up, or flipped or double-flipped. It is not delivered to the brain with reversed coordinates, but with no coordinates at all. The brain assigns spatial coordinates to the visual information it obtains from the eyes. It does this by integrating information about body position, gravity, and other consistent sensory cues about the state of the world. There is no reversal or correction of coordinates, there is only assignment of coordinates."
You will promptly be thanked for clearing up the misunderstanding, and hopefully your interjection will serve to end one strain of a particularly irritating bit of pernicious nonsense.
Thank you.
Subscribe to:
Comments (Atom)