55
CS 499 – SPR 10 CORY LEHAN TIM MEYER JARROD CAPPS JONATHAN BRIDGES FINAL PRESENTATION

CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

Embed Size (px)

Citation preview

Page 1: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 – SPR 10

CORY LEHANTIM MEYER

JARROD CAPPSJONATHAN BRIDGES

FINAL PRESENTATION

Page 2: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 3: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 4: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 4

PROJECT OUTLINE

Page 5: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 6: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 6

Neural Networks

The behavior of the neurons can be simulated/modeled.

“Real” Neural Network

“Artificial” Neural Network

Node

Connection

Page 7: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 8: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 9: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 9

Cognitive Dissonance

Betty Vinson Former WorldCom accounting executive. Took part in 11 billion dollar accounting fraud. Became a “whistleblower”.

Page 10: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 11: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 12: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 13: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 14: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 15: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 15

REQUIREMENTS

Page 16: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 16

Software Requirements

Requirements Gathering Repeated meetings with the client. Use Cases Interface Mock-up to gather features.

Page 17: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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:

Page 18: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 18

NEURAL NETWORK DESIGN

Page 19: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

+

-

+

-

Page 20: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 21: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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)

Page 22: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 23: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 24: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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:

Page 25: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 26: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 27: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 28: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 29: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 29

USER INTERFACE DESIGN

Page 30: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 30

UI Design

Designed iteratively with client through, White Boarding Use Cases Prototyping

Page 31: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 31

SOFTWARE STRUCTURE

DESIGN

Page 32: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 33: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 34: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 35: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 35

IMPLEMENTATION

Page 36: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 37: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 37

Implemented in iterations.

Gather Requirements

Design - System Structure

Incremental Development

System Testing

Review & Release

Software Process

Page 38: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 39: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 40: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 40

Iteration 1

CS425 Planned

CS499 Actual

Page 41: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 42: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 42

Iteration 1 Products

Beginning Graphics

Basic Graph

Working Load/Run

Simple Network Running

Page 43: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 44: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 44

Iteration 2

CS425 Planned

CS499 Actual

Page 45: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 45

Iteration 2 Products

Visualized Data

Interactive Graph

Randomization in Network

Page 46: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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

Page 47: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 47

Iteration 3

CS425 Planned

CS499 Actual

Page 48: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 48

Iteration 3 Products

Interactive Graphics

UI Toolbar

Info Bar

Options / Data Output

Page 49: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 49

Iteration 3 Products

• Creation Wizard to walk user through creating a new neural network.

Page 50: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 51: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 51

PRODUCT DEMO

Page 52: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 52

POST MORTEM

Page 53: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 54: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

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.

Page 55: CS 499 – S PR 10 C ORY L EHAN T IM M EYER J ARROD C APPS J ONATHAN B RIDGES F INAL P RESENTATION

CS 499 - Team Neurotic 55

Questions?

Cory Lehan Tim Meyer Jarrod Capps Jonathan Bridges