[pdp-discuss] A couple more questions (Adjusting network behavior)...

Randall C. O'Reilly oreilly at psych.colorado.edu
Fri Dec 2 21:01:25 MST 2005


Yep, doing a custom class is the way to go.  Conspec is the lowest level in 
the chain and does all the work, so that is the place to go.  Con numbering 
depends on the projection spec, but for full prjn it is bot-left to up-right, 
just like the units.

The type setting line *should* have worked -- types should be accessible as is 
in the script.  If you just add quotes around the type ("CustomPrjnSpec") 
then it works.  Need to debug that..

- Randy

On Friday 02 December 2005 07:49 pm, david huber wrote:
> Hello,
>
> Thank you to everyone who answered my last questions. I got just what I
> needed to figure out the rest. I have still managed to come up with a
> couple more questions, though.
>
> 1.)
> Say, for example, I have a 2-layer network, where each unit in the upper
> layer is connected exclusively to the nine units in the previous layer
> adjacent to that unit. I want the activation of the top layer to be equal
> to the sum of the activation of its lower layer counterpart, the square
> root of the 4 units immediately adjacent, and the square of the 4 diagonal
> units. In this instance, the weights are no longer constant values, but
> functions of the activations of the lower layer.
>
> It seems like the best way to implement something like this would be to
> install the programmer's version, create new classes that inherit the
> default Unit, UnitSpec, ConSpec, etc., and alter the ComputeAct and
> Compute_Net functions. ComputeAct would just be adjusted to return u->net
> without any processing. However, because Compute_Net seems to flow from a
> long cascade of function calls, I am a little bit unsure as to what level
> would be best to override. It seems like ConSpec:Compute_Net does the brunt
> of the labor, so I'm leaning toward that, but I'd like to know what people
> think about that, especially those who have done a lot of work with new
> learning rules, and therefore have had to create new classes from the base
> package.
>
> Also, with regard to that... are the connections numbered bottom-left to
> upper-right in a manner similar to how the units are numbered?
>
> 2.) Finally, I created a small network in the NetViewer while recording a
> script. When I went back to reload the script, the reader stated that there
> was a syntax error with a line:
>
> .projects[0].networks[0].layers[1].projections[0].spec.type =
> CustomPrjnSpec;
>
> I use the custom projection so that I can manipulate the connections
> between units (see first question).
>
> I had not yet made any adjustments to the file, and I found it odd that the
> program would reject its own freshly-written script. I was able to work
> around this problem by commenting out the line and editing the projection
> in question in the NetViewer, but I'd like to know if there is a purely
> script-based method to carry out this procedure.
>
> Again, thank you for all of your help. There certainly is a lot to learn!
>
> -Dave
> _______________________________________________
> PDP-Discuss mailing list
> PDP-Discuss at psych-srv3.Colorado.EDU
> http://psych-srv3.Colorado.EDU/mailman/listinfo/pdp-discuss


More information about the PDP-Discuss mailing list