View
214
Download
0
Category
Tags:
Preview:
Citation preview
CS 499 – SPR 10
CORY LEHANTIM MEYER
JARROD CAPPSJONATHAN BRIDGES
FINAL PRESENTATION
Team Roles
CS 499 - Team Neurotic 2
• Team Leader• Customer Interface• Support
Cory Lehan
• Test Manager• Process Manager
Tim Meyer
• Implementation Manager• Plan Manager
Jarrod Capps
• Design Manager• Quality Manager
Jonathan Bridges
CS 499 - Team Neurotic 3
Project Objectives
The Client: Dr. George Watson
What’s Needed: Research tool that models cognitive dissonance reduction in neural networks.
CS 499 - Team Neurotic 4
PROJECT OUTLINE
CS 499 - Team Neurotic 5
Neural Networks
“Real” Neural Networks are composed of inter-connected “neurons”.
These neurons process and transmit information.
Neurons in the Human Brain
CS 499 - Team Neurotic 6
Neural Networks
The behavior of the neurons can be simulated/modeled.
“Real” Neural Network
“Artificial” Neural Network
Node
Connection
7
Neural Networks
CS 499 - Team Neurotic
Information is transmitted through the activation of neurons. Activates based on its inputs and a specific threshold.
Example “Artificial” Neural Network
CS 499 - Team Neurotic 8
Cognitive Dissonance
Occurs when a person holds conflicting cognitions (beliefs, or attitudes). Experienced in humans as guilt, anger, embarrassment, etc…
Cheating is wrong.
Need an A on Exam
Dissonance reduction reduces the unpleasant feeling.
Cognition 1
Cognition 2
CS 499 - Team Neurotic 9
Cognitive Dissonance
Betty Vinson Former WorldCom accounting executive. Took part in 11 billion dollar accounting fraud. Became a “whistleblower”.
CS 499 - Team Neurotic 10
Cognitive Dissonance
During her fraud, Mrs. Vinson experienced cognitive dissonance.
Commitment to the law Respect for
CEO
Threat to livelihood
Act of the fraud.
CS 499 - Team Neurotic 11
Cognitive Dissonance Reduction
Overtime the importance of a belief/attitude would diminish.
Commitment to the law Respect for
CEO
Threat to livelihood
Act of the fraud.
CS 499 - Team Neurotic 12
Simulating Dissonance Reduction
The neural network will start in a state of dissonance. Over time the dissonance of the network will fall until it is
stable.
Dis
son
an
ce
Cycle
CS 499 - Team Neurotic 13
Learning Neural Networks
Graupe, Daniel. Principles of Artificial Neural Networks, World Scientific Publishing Company, 1997.
Heaton, Jeff. Introduction to Neural Networks for Java, Heaton Research, Inc. 2008.
CS 499 - Team Neurotic 14
Learning Cognitive Modeling
Read, Stephen, and Lynn Miller. Connectionist Models of Social Reasoning and Social Behavior, Lawrence Erlbaum Associates, 1998.
Shultz, Thomas, and Mark Lepper. “Constraint Satisfaction Model of Cognitive Dissonance” Cognitive Science Society, 1992.
CS 499 - Team Neurotic 15
REQUIREMENTS
CS 499 - Team Neurotic 16
Software Requirements
Requirements Gathering Repeated meetings with the client. Use Cases Interface Mock-up to gather features.
CS 499 - Team Neurotic 17
Software Requirements
Feature Priority List Generated from gathering phase. Priority assigned based off client need, and risk assessment. Estimates are conservative, and based off previous experience.
Priority Item# DescriptionEst. (days)
Very High Neural network components with attributes -
1 Cognitions, Nodes 22 Connections 23 Update algorithm for iterations 44 Neural network creation wizard 3
Feature Priority List Example:
CS 499 - Team Neurotic 18
NEURAL NETWORK DESIGN
CS 499 - Team Neurotic 19
Neural Network Design
How to represent the cognition relations? The Consonance Model.
How to model dissonance reduction in the neural network? Constraint Satisfaction
How to solve the constraint satisfaction in the model? Variation of a Hopfield Network
+
-
+
-
CS 499 - Team Neurotic 20
-
+
-
+
The Consonance Model
Representing Cognition relationships with the Consonance Model.
+
-
Consonance Model
Cognition
(belief) •Represented by two polar nodes.•Contains a resistance to change.
Nodes
•Contains an activation value representing the rate of its firing.
Connections(implications among beliefs)
Positively connected
Negatively connected
CS 499 - Team Neurotic 21
Constraint Satisfaction
Dissonance reduction can be seen as a constraint satisfaction problem.
Given two positively connected nodes,
The more active, the less dissonance.
Given two negatively connected nodes,
The less active, the less dissonance.
0.5
-0.5
•Constraint #1
•Constraint #2
(Shultz & Lepper, Cognitive Science Society, 1992)
CS 499 - Team Neurotic 22
Hopfield Network
Takes a state of the network as input. (recurrent network) Over cycles the network moves towards a “stable” state. “Stable” state would be the satisfaction of the constraints.
Input of Network
Stable state of network
CS 499 - Team Neurotic 23
Hopfield Network Variation
Combining the Hopfield network with the Consonance Model
Key Similarities Network is updated in cycles. Nodes randomly picked and updated based on their input. Symmetric connections. Recurrent Network.
Key Differences Nodes hold activation rates. All nodes contain a self-connection.
CS 499 - Team Neurotic 24
Creating the Neural Network
User sets up initial values of the network.
+
-
+
-
0.5
-0.2
0.7
0.15
Weight:
Weight:
Activation:
Resistance:
CS 499 - Team Neurotic 25
Running the Neural Network
Network runs through iterations (cycles). Nodes are updated based on satisfying constraints to reduce
dissonance. The network should be stopped once dissonance asymptotes.
+
-
+
-Iteration
Dis
son
an
ce
= Updated Node
CS 499 - Team Neurotic 26
Computing Network Dissonance
The dissonance of the network can be figured according to,
r
aaw
dissonance i jjiij
ia ja
jaja
ijwijw
ijwijw
r = # of relevant connections
CS 499 - Team Neurotic 27
Activation Spread
Activations spread around the network in cycles. At each cycle, n nodes are randomly chosen. (n = # of nodes) First, the total net input to a node is computed,
j
jijii awresistnet
ia ja
jaja
ijwijw
ijwijw
iresist
j
jijaw
CS 499 - Team Neurotic 28
Activation Spread
Next, the node’s activation is updated.
0)],([)()1( iiiii nettaceilingnettata
0],)([)()1( iiiii netfloortanettata
Positive net input? Increase activation rate.
Negative net input? Decrease activation rate.
0.0
1.0
floor
ceiling
0.0
1.0
floor
ceiling
activation
activation
CS 499 - Team Neurotic 29
USER INTERFACE DESIGN
CS 499 - Team Neurotic 30
UI Design
Designed iteratively with client through, White Boarding Use Cases Prototyping
CS 499 - Team Neurotic 31
SOFTWARE STRUCTURE
DESIGN
CS 499 - Team Neurotic 32
NeuralNetworkCreator
NeuralNetwork
Cognition
Node
Connection
NeuralNetwork Iteration
Graphics
Graph Output
Observers Notifies
Creates Generates
Contains
Registers/Unregisters
Stores
NeuralNetwork Data
CS 499 - Team Neurotic 33
425 System Structure Design
+registerObserver()+removeObserver()+notifyObservers()
«interface»Subject
+update()
«interface»Observer
-subject
1
-observers
*
+getInstance()+registerObserver()+removeObserver()+notifyObservers()+addIteration()
-uniqueInstance : NeuralNetworkData-observerList : ArrayList<Observer>
NeuralNetworkData
+initializeComponents()+update()
-networkData : Subject
NeuralNetworkDisplay
+initializeComponents()+update()
-networkData : Subject
DissonanceGraphDisplay
+addCognition()+connectCognitions()+calculateDissonance()+updateToNextIteration()
NeuralNetwork
+addConnectionToPositiveNode()+addConnectionToNegativeNode()
-positiveNode : Node-negativeNode : Node
Cognition
-weight : float
Connection
+addConnection()
-activation : float
Node
-network 1
-dataset
1
«interface»JPanel
1
2..*
1 2
1
*
-cognitions : ArrayList<Cognition>-dissonance : float
NeuralNetworkIteration
-dataset1
-iterations*
+createNeuralNetwork() : NeuralNetwork
NeuralNetworkCreator -creates -generates
Observer Pattern• Displays are updated when new data is available.• Allows dynamic addition or remove of observing displays.
Singleton Pattern• Only one instance of the network data can exist.• Gives a global access point to the data.
CS 499 - Team Neurotic 34
Network Data Structure
0 1 2 3 … nNetwork Iterations:
0 … nCognitions:
0 … n
Positive Node
Negative
Node
Connections:(Adjacency List)
0 … n
Contains: dissonanceContains: resistanceContains: activationContains:
weight
CS 499 - Team Neurotic 35
IMPLEMENTATION
CS 499 - Team Neurotic 36
Development Environment
Developed in Java with Netbeans 6.7 – 6.8.
Key Libraries, ApachePOI JCommon JFreeChart JOGL GlueGen-RT Wizard API
CS 499 - Team Neurotic 37
Implemented in iterations.
Gather Requirements
Design - System Structure
Incremental Development
System Testing
Review & Release
Software Process
CS 499 - Team Neurotic 38
Software Process
Incremental Development Begins by converting features to tasks. An iteration lasts about a month.
Design
Implementation & Unit
Testing
System
Testing
Review
Feature-to-Task
Single Iteration
CS 499 - Team Neurotic 39
Iteration 1
Key Features Working neural network. Load neural network values from Excel file. Simple UI Features (Run/Clear button)
Basic graph and graphical output.
AprilMarchFebruaryJanuaryDecember
Iteration 1
1/11/2010 – 2/09/2010
CS 499 - Team Neurotic 40
Iteration 1
CS425 Planned
CS499 Actual
CS 499 - Team Neurotic 41
Iteration 1 Products
Excel format for creating the Neural Network
Cog Names: eval threat play Resistances: 0.50 0.01 0.01 Weights evaluation evaluation threat threat play play
evaluation -0.50 -0.50 0.50 -0.50 0.50 -0.50evaluation -0.50 -0.50 -0.50 0.50 -0.50 0.50
threat 0.50 -0.50 -0.50 -0.50 -0.50 0.50threat -0.50 0.50 -0.50 -0.50 0.50 -0.50
play 0.50 -0.50 -0.50 0.50 -0.50 -0.50play -0.50 0.50 0.50 -0.50 -0.50 -0.50
Activations: 0.50 0.00 0.10 0.00 0.00 0.50Pos Ceiling: 1.0 Neg Ceiling: 0.5 Floor: 0.0
CS 499 - Team Neurotic 42
Iteration 1 Products
Beginning Graphics
Basic Graph
Working Load/Run
Simple Network Running
CS 499 - Team Neurotic 43
Iteration 2
Key Features Randomization in Neural Network. Interactive Graph Visualization of network data through graphics Intermediate UI Features
AprilMarchFebruaryJanuaryDecember
Iteration 2
2/09/2010 – 3/24/2010
CS 499 - Team Neurotic 44
Iteration 2
CS425 Planned
CS499 Actual
CS 499 - Team Neurotic 45
Iteration 2 Products
Visualized Data
Interactive Graph
Randomization in Network
CS 499 - Team Neurotic 46
Iteration 3
Key Features Interactive Graphics Data output and iteration saving. Creation wizard. Advanced UI features/refinement.
AprilMarchFebruaryJanuaryDecember
Iteration 3
3/24/2010 – 4/14/2010
CS 499 - Team Neurotic 47
Iteration 3
CS425 Planned
CS499 Actual
CS 499 - Team Neurotic 48
Iteration 3 Products
Interactive Graphics
UI Toolbar
Info Bar
Options / Data Output
CS 499 - Team Neurotic 49
Iteration 3 Products
• Creation Wizard to walk user through creating a new neural network.
CS 499 - Team Neurotic 50
System Testing
Testing was done mostly black-box. Testing was done to ensure:
Requirements met Validity of network output Stability of the software
Testing Results: Miller book provided output metrics to test against.
CS 499 - Team Neurotic 51
PRODUCT DEMO
CS 499 - Team Neurotic 52
POST MORTEM
CS 499 - Team Neurotic 53
Successes
Implemented the primary and most other project objectives. Dissonance reduction modeling with a neural network. Creation, Saving, Outputting the neural network. Visualizing the network.
Learned the required material and new development environment.
Effectively used process to develop iteratively and keep the client involved.
CS 499 - Team Neurotic 54
Lessons Learned
Planning was too rigid, and should have been more flexible.
Some design was not open enough to unexpected added features.
Small unexpected problems add up, taking a toll on project time. Some features pushed off schedule. Iteration length lasting longer than expected.
CS 499 - Team Neurotic 55
Questions?
Cory Lehan Tim Meyer Jarrod Capps Jonathan Bridges
Recommended