Rudimentary Moralizing System - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Rudimentary Moralizing System

Description:

What's the difference between Batman and a common mugger? ... Both skulk around at night and beat people up, but Batman does so in the name of justice. ... – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 21
Provided by: drayc
Category:

less

Transcript and Presenter's Notes

Title: Rudimentary Moralizing System


1
Rudimentary Moralizing System
David Dembinski
Artificial Morality
For
Artificial Intelligence
2
The Problem
  • Robots are strong.
  • Robots are made of metal.
  • Robots might not be fond of humans!

3
If movies have taught us anything, its that
artificially intelligent machines will take any
opportunity to crush their human oppressors.
Therefore, we must devise a way to make
intelligent machines protect humans instead of
trying to kill them.
4
How?
Whats the difference between Batman and a common
mugger?
The difference, then, is the differing moral
codes they live by. This is how we can control
the behavior of artificially aware machines
By giving them morality.
5
Right, how?
Sigmund Freud developed a set of theories
regarding the way the human mind developed. We
can use the part of these that deal with morality
and adapt them to artificial intelligence.
6
The Tripartite Mind
Freud believed the human mind was composed of 3
separate parts
Id the primal, desiring part.
Ego the conscious, planning part.
Super-ego the part that keeps you from killing
your brother over an action figure.
7
The Tripartite Mind (contd.)
These parts develop somewhat independently, but
work together to make your mind what it is.
superego
ego
id
8
What does this have to do with robots?
An intelligent system can be made to behave in
much the same way.
Well let others deal with developing a working
id and ego. For now, well concern ourselves
with the part that directly controls morality
9
Super-ego!
10
The super-ego in humans develops through
identification with parents. In essence, the
child adopts the values of its caretakers.
We can do something similar in machines,
replacing parents with programmers or users.
For this project, we assume the user of the
program to be the caretaker.
11
The Creature
This project dealt with a virtual-pet type of
creature that was able to become hungry, tired,
and bored, and could take actions to alleviate
those states.
It must be stated that this creature was not
artificially aware by any standards, and would
not even qualify as artificially intelligent.
It did give us a way to test our theories and
their applications, though.
12
How it worked
As in Freuds model, the creatures mind was
composed of 3 parts id, ego and super-ego.
This was modeled using Ruby, a relatively new,
purely object-oriented scripting language, to
create a program that allows a user to interact
with the creature in the form of giving it food
and toys, and praising or scolding it depending
on its actions.
13
Super-ego neural network was implemented using
LibNeural, an ANN library developed by Daniel
Franklin and ported to Ruby by Akimichi
Tatsukawa.
  • Technical details of super-ego
  • 5 inputs
  • 5 hidden nodes
  • 1 output
  • Trained by comparing expected output to actual
    output. As many iterations as necessary to get
    within 0.1 of the expected output.

14
Super-ego NN
As mentioned earlier, training data obtained from
user praise or scorn of creatures action. Data
consisted of state of creature at time of user
response, along with some amount of noise.
1 output between 0.1-0.9, 0.9 meaning an action
is good, 0.1 meaning it is bad.
5 nodes chosen for hidden layer after testing.
Originally had 28, but eventually nibbled down to
5 to improve generalizability.
15
Super-ego NN
Super-ego behaves in a manner similar to its
human counterpart. The creatures ego will give
the super-ego a plan, and the super-ego will
decide if this plan is acceptable or not
depending on the state of the creature and the
past training of the NN.
Preliminary tests have shown that super-ego NN
can over-ride even pre-programmed predilections
in creature behavior.
16
Problem of data set size
One of the problems you run into when training a
neural net on a complicated function is devising
a training set that is representative of the
function, but not exhaustive.
In our case, the problem was in requiring the
user to sit and enter many, many examples over
and over again.
We solved this by having two arrays, goodset
and badset, and entering 4 pieces of data into
them for each response given by the user. These
4 pieces consist of the original data and 3
noise-ified modifications.
17
Results
As can be shown through a demonstration, the
morality layer is functional, but not 100
reliable. It can over-ride some pre-programming,
but not all.
The main obstacle in letting the super-ego have
more control is the complexity that would require
in the ego, which we didnt have time to work on
much.
18
Problems
  • Getting LibNeural to work on OS X
  • Suitable editor
  • Limitations in Ego
  • Lack of expertise/introductory literature

19
Future additions
  • More developed ego.
  • More capabilities for action and desire
  • Dual-aspect id (Libido and Destrudo)
  • Multi-creature world
  • Interaction between creatures (violence,
    reproduction)
  • Graphical interface

20
References
The Study of Human Nature A Reader Leslie
Stevenson (Editor) Oxford University Press,
Second Edition (2000) ISBN 0-19-512715-3   http/
/www.nbu.bg/cogs/events/2000/Readings/Petrov/rltut
orial.pdf (reinforcement learning tutorial
)  http//robotics.stanford.edu/people/nilsson/mlb
ook.html (machine learning book)  http//www.ruby-
lang.org/en/ (ruby home page)  comp.lang.ruby (rub
y newsgroup)  http//raa.ruby-lang.org/ (ruby
application archive)  Ruby Developer's
Guide Robert Feldt, Lyle Johnson, Michael Neumann
(Editor), Jonothon Ortiz Syngress Media Inc 1st
edition (January 18, 2002) ISBN 1928994644  
http//216.239.53.100/cobrand_univ?qcacheSH85bfZ
GfGYCwww.darkshire.org/jhkim/programming/macosx/
24LDFLAGSosxhlenieUTF-8 (mac osx
programming notes)  http//ieee.uow.edu.au/daniel
/software/libneural/BPN_tutorial/BPN_English/BPN_E
nglish/ (back-propagation neural network
tutorial)  http//www.gnu.org/software/emacs/emacs
-faq.text (emacs faq)  http//www.faqs.org/faqs/ai
-faq/neural-nets/part1/index.html (comp.ai.neural-
nets faq (part 1))  comp.ai.neural-nets (neural
net newsgroup)  http//www.fup.btinternet.co.uk/ai
junkie/gat1.htm (genetic algorithms in plain
english)  http//www.fup.btinternet.co.uk/aijunkie
/nnt1.html (neural networks in plain
english)  http//akimichi.homeunix.net/emile/aki/
program/libneural/ (libneural for
ruby)   Akimichi Tatsukawa, ported LibNeural to
Ruby, pointed me at proper file to edit to get it
working on macintosh.  
Write a Comment
User Comments (0)
About PowerShow.com