Weird problem with model we are doing

11 views
Skip to first unread message

Stephen Read

unread,
Sep 20, 2025, 10:43:09 PM9/20/25
to emergent-users, Randall O'Reilly, Kai O'Reilly, Chaodan Luo

Hi Everyone,

 

We are trying to train a model of depression in which activation of an individual motive node in a motivation layer will activate one of two possible behaviors in the behavior or output layer (so a socializing motive can activate either go out with friend or text friend).  The network is set up so that there are two motivation layers, one with 5 Approach motives and the second with 3 Avoidance motives. The two motivation layers are directly connected to a Behavior layer that has 16 possible behaviors, organized into 8 pools of 2 behaviors each.  This is to represent the idea that for each of the 8 motives there are two possible behaviors. We are trying to train the network, such that the first motive should activate one of the two behaviors in the first pool, the second motive should activate one of the two behaviors in the second pool and so forth.  So the training data is set up so that the model should learn strong weights only between a motive and its two corresponding behaviors. 

The problem we have is that when we train the network, it largely learns a reasonable pattern of weights, except that for ONE behavior (or 1 pair of behaviors) it learns weights of 1 to from ALL the motives, even though there is nothing in the training data to support that learning.  (See image). Which behavior shows this behavior is not consistent, we see different ones for different random seeds. Different random seeds lead to a different behaviors learning weights of 1 from all the motive nodes. 

 

We have done this with error correcting learning, Hebbian learning and a mix, as well as with and without an intervening hidden layer.

 

We have been working on this model for several years and had a version of this model working with the goki gui, but when we switched to the current core version for Leabra, we started getting this weird behavior. The parameters are identical for the two versions of the model and the network construction is identical.

 

I have attached several short videos of what this looks like and also attached a zip file of the program and its training data. 

I have also attached a copy of the go.mod and go.sum for the older version that used goki.

 

 

Anyone have any idea why this is happening and whether there are parameters I can play with that will cure this problem?

 

 

 

 

Stephen J. Read

Mendel B. Silberberg Professor of Social Psychology

Department of Psychology

University of Southern California

Los Angeles, CA 90089-1061

Website: www.stephenjread.com

 

 

 

DepressBehPool_no_hidden2_hebbian_only copy.zip
ReceivingWeightsBehaviorLayer.mov
SendingWeightsBehaviorLayer.mov
go.mod
go.sum

Randall O'Reilly

unread,
Sep 23, 2025, 6:09:52 PM9/23/25
to Stephen Read, emergent-users, O'Reilly Kai, Chaodan Luo
This is indeed very strange! In terms of debugging, the best thing would be to track when this occurs, to determine what is causing it. You can add a function that iterates over the units and connections for each unit and computes the average weight value, and then plot that in the trial plot. Also you can add a function in the looper config that will stop running when this average weight value gets above some threshold. See ra25 which stops when nzero is above a threshold, for an example of what this looks like.

- Randy
> <DepressBehPool_no_hidden2_hebbian_only copy.zip><ReceivingWeightsBehaviorLayer.mov><SendingWeightsBehaviorLayer.mov><go.mod><go.sum>

Stephen Read

unread,
Sep 24, 2025, 4:13:10 PM9/24/25
to Randall O'Reilly, emergent-users, O'Reilly Kai, Chaodan Luo

Thanks for the suggestions. I will let you know what I find out. Is this what you call a hog unit or is it something else?

Thanks, Steve

Stephen Read

unread,
Sep 26, 2025, 12:40:44 PM9/26/25
to Randall O'Reilly, emergent-users, O'Reilly Kai, Chaodan Luo

So I figured out what seems to be happening, but haven’t figured out a fix yet. The key issue is that as part of the training, we first train the Behavior layer and then lesion the Behavior layer(the output layer) for the remainder of the training, but somehow the last activated behavior in the Behavior layer before lesioning stays active and that behavior is then strongly associated to all the motives during later training.   

Further background is that we are training the network in two steps to try to capture the idea of Pavlovian to Instrumental Transfer (PIT), where an organism separately does Pavlovian learning, cues to reward, and then separately does Instrumental Learning where it learns the association between a reward and an instrumental response.  So we have our network first learn the associations between reward and instrumental response, which are captured by the weights between the output behavior and the motive(reward representation) and then does Pavlovian learning, which is the association between the input cues and the motive(reward representation). To capture that, we first have the network learn the associations between the motives and the behaviors, and then lesion the behavior layer and have it learn the associations between input cues and behavior.  What I have discovered is that even though the Behavior layer is lesioned, the activation of the last activated behavior during training remains active. So that when I do Instrumental learning between the input cues and the motives, that one behavior in the behavior layer stays chronically active. As a result the model learns a very strong relation between all of the motives and that one behavior.  I also found that which of the behaviors stays active is random and is different with different random seeds. 

 

Stephen J. Read

Mendel B. Silberberg Professor of Social Psychology

Department of Psychology

University of Southern California

Los Angeles, CA 90089-1061

Website: www.stephenjread.com

 

 

 

 

From: Randall O'Reilly <rcore...@gmail.com>


Date: Tuesday, September 23, 2025 at 3:10

PM


To: Stephen Read <re...@usc.edu>
Cc: emergent-users <emergen...@googlegroups.com>, O'Reilly Kai <koreil...@gmail.com>, Chaodan Luo <chao...@usc.edu>
Subject: Re: Weird problem with model we are doing

Randall O'Reilly

unread,
Sep 29, 2025, 9:02:19 AM9/29/25
to Stephen Read, emergent-users, O'Reilly Kai, Chaodan Luo
Steve -- nice detective work! Try calling InitActs() prior lesioning the Behavior layer, to clear the remaining activity.

- Randy

> On Sep 26, 2025, at 6:40 PM, Stephen Read <re...@usc.edu> wrote:
>
> So I figured out what seems to be happening, but haven’t figured out a fix yet. The key issue is that as part of the training, we first train the Behavior layer and then lesion the Behavior layer(the output layer) for the remainder of the training, but somehow the last activated behavior in the Behavior layer before lesioning stays active and that behavior is then strongly associated to all the motives during later training.
> Further background is that we are training the network in two steps to try to capture the idea of Pavlovian to Instrumental Transfer (PIT), where an organism separately does Pavlovian learning, cues to reward, and then separately does Instrumental Learning where it learns the association between a reward and an instrumental response. So we have our network first learn the associations between reward and instrumental response, which are captured by the weights between the output behavior and the motive(reward representation) and then does Pavlovian learning, which is the association between the input cues and the motive(reward representation). To capture that, we first have the network learn the associations between the motives and the behaviors, and then lesion the behavior layer and have it learn the associations between input cues and behavior. What I have discovered is that even though the Behavior layer is lesioned, the activation of the last activated behavior during training remains active. So that when I do Instrumental learning between the input cues and the motives, that one behavior in the behavior layer stays chronically active. As a result the model learns a very strong relation between all of the motives and that one behavior. I also found that which of the behaviors stays active is random and is different with different random seeds.
> Stephen J. Read
> Mendel B. Silberberg Professor of Social Psychology
> Department of Psychology
> University of Southern California
> Los Angeles, CA 90089-1061
> Website: www.stephenjread.com
> From: Randall O'Reilly <rcore...@gmail.com>
> Date: Tuesday, September 23, 2025 at 3:10 PM
> To: Stephen Read <re...@usc.edu>
> Cc: emergent-users <emergen...@googlegroups.com>, O'Reilly Kai <koreil...@gmail.com>, Chaodan Luo <chao...@usc.edu>
> Subject: Re: Weird problem with model we are doing
> This is indeed very strange! In terms of debugging, the best thing would be to track when this occurs, to determine what is causing it. You can add a function that iterates over the units and connections for each unit and computes the averageThis is indeed very strange! In terms of debugging, the best thing would be to track when this occurs, to determine what is causing it. You can add a function that iterates over the units and connections for each unit and computes the average weight value, and then plot that in the trial plot. Also you can add a function in the looper config that will stop running when this average weight value gets above some threshold. See ra25 which stops when nzero is above a threshold, for an example of what this looks like.

Stephen Read

unread,
Sep 29, 2025, 9:56:37 AM9/29/25
to Randall O'Reilly, emergent-users, O'Reilly Kai, Chaodan Luo
Thanks! Will try that. I think I did try after lesioning, but will try this order. 


From: Randall O'Reilly <rcore...@gmail.com>
Sent: Monday, September 29, 2025 6:02:03 AM
To: Stephen Read <re...@usc.edu>
Cc: emergent-users <emergen...@googlegroups.com>; O'Reilly Kai <koreil...@gmail.com>; Chaodan Luo <chao...@usc.edu>

Subject: Re: Weird problem with model we are doing
 
Steve -- nice detective work! Try calling InitActs() prior lesioning the Behavior layer, to clear the remaining activity. - Randy > On Sep 26, 2025, at 6: 40 PM, Stephen Read <read@ usc. edu> wrote: > > So I figured out what seems
Steve -- nice detective work! Try calling InitActs() prior lesioning the Behavior layer, to clear the remaining activity.

- Randy

> On Sep 26, 2025, at 6:40 PM, Stephen Read <re...@usc.edu
> wrote:
> 
> So I figured out what seems to be happening, but haven’t figured out a fix yet. The key issue is that as part of the training, we first train the Behavior layer and then lesion the Behavior layer(the output layer) for the remainder of the training, but somehow the last activated behavior in the Behavior layer before lesioning stays active and that behavior is then strongly associated to all the motives during later training.   
> Further background is that we are training the network in two steps to try to capture the idea of Pavlovian to Instrumental Transfer (PIT), where an organism separately does Pavlovian learning, cues to reward, and then separately does Instrumental Learning where it learns the association between a reward and an instrumental response.  So we have our network first learn the associations between reward and instrumental response, which are captured by the weights between the output behavior and the motive(reward representation) and then does Pavlovian learning, which is the association between the input cues and the motive(reward representation). To capture that, we first have the network learn the associations between the motives and the behaviors, and then lesion the behavior layer and have it learn the associations between input cues and behavior.  What I have discovered is that even though the Behavior layer is lesioned, the activation of the last activated behavior during training remains active. So that when I do Instrumental learning between the input cues and the motives, that one behavior in the behavior layer stays chronically active. As a result the model learns a very strong relation between all of the motives and that one behavior.  I also found that which of the behaviors stays active is random and is different with different random seeds. 
>  Stephen J. Read
> Mendel B. Silberberg Professor of Social Psychology
> Department of Psychology
> University of Southern California
> Los Angeles, CA 90089-1061
> Website: https://urldefense.com/v3/__http://www.stephenjread.com__;!!LIr3w8kk_Xxm!q36D6grPRYkc941xNS3nJs24i2-mv-d-po7-wGLslBZx5az7ma4-YXCH5ZxqbPl9rYcFEoFtGnmlyLU$

Stephen Read

unread,
Oct 2, 2025, 12:04:09 PM10/2/25
to Randall O'Reilly, emergent-users, O'Reilly Kai, Chaodan Luo

Unfortunately, that doesn’t seem to make a difference.

 

Stephen J. Read

Mendel B. Silberberg Professor of Social Psychology

Department of Psychology

University of Southern California

Los Angeles, CA 90089-1061

Website: www.stephenjread.com

 

 

 

 

From: emergen...@googlegroups.com <emergen...@googlegroups.com> on behalf of Stephen Read <re...@usc.edu>
Date: Monday, September 29, 2025 at 6:56
AM
To: Randall O'Reilly <rcore...@gmail.com>
Cc: emergent-users <emergen...@googlegroups.com>, O'Reilly Kai <koreil...@gmail.com>, Chaodan Luo <chao...@usc.edu>
Subject: Re: Weird problem with model we are doing

Thanks! Will try that. I think I did try after lesioning, but will try this order. Get Outlook for iOS From: Randall O'Reilly <rcoreilly5@gmail.com> Sent: Monday, September 29, 2025 6:02:03 AM To: Stephen Read <read@usc.edu> Cc:

--
You received this message because you are subscribed to the Google Groups "emergent-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to emergent-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/emergent-users/BYAPR07MB4679C2C01752DED26B02E875D71BA%40BYAPR07MB4679.namprd07.prod.outlook.com.

Stephen Read

unread,
Oct 10, 2025, 6:32:33 PM10/10/25
to Randall O'Reilly, emergent-users, O'Reilly Kai, Chaodan Luo

Unfortunately, that doesn’t seem to make a difference.

 

I tried InitActs() on both the target layer and on the entire network before lesioning, but it didn’t make a difference. The Target value from the last training trial still seems to be active during training of the other layers. 

Reply all
Reply to author
Forward
0 new messages