You are on page 1of 36

Pengantar BioSistem

BioInspired System
Lectures Slide
Dept Ilmu Komputer dan Elektronika, FMIPA UGM
Deskripsi Kuliah
Biologically-inspired system adalah subyek multidisiplin yang memberikan dasar
tentang perancangan sistem adaptif yang mampu memberikan solusi teknologi
berkelanjutan yang terisnpirasi oleh sistem dan proses biologi.
Memahami sistem biologis akan membantu engineer membangun desain sistem
cerdas yang mampu terus berubah sesuai dengan lingkungannya.
Dengan pendekatan interdisipliner diharapkan dari kuliah ini mahasiswa membangun
sistem dengan solusi teknologi inovatif yang compatible dengan lingkungan yang
dilengkapi sensor pintar dengan sistem pengawasan yang canggih, dan mampu
meningkatkan teknologi diagnostik dan terapeutik yang lebih baik
Outline Courses
Pengantar BioSistem
Pengantar Jaringan Syaraf Tiruan
Model jaringan syaraf : Perceptron , Multilayer perceptron, Perambatan balik, Radial Basis
Function
Metode-metode Lain : Recurrent and /or self-organised system (pengantar), Genetic
Algorithms (pengantar), Neuromorphic System (pengantar)
Behavioral System : Behavior in Artificial Intelligence, Behavior-Based Robotics, Biological
Inspiration for Robots, Robots as Biological Models, Robot Learning
Collective system : Particle Swarm Optimization, Ant Colony Optimization , Ant Colony
Optimization

Semua Materi Tersedia di elisa.ugm.ac.id , Join Komunitas “Pengantar BioSistem”


Books
Floreano, Dareo., Mattiusi, Claudio., 2008, Bio-Inspired Artificial Intelligence Theories,
Methods, and Technologies, MIT Press . ISBN 978-0-262-06271-8
S. Haykin, 1994, Neural Network: A Comprehensive Foundation, Macmillan. ISBN: 0-
02-352761-7
Introduction
Bio-Inspired System?
It is a kind of artificial systems which uses the basic principles developed by nature.
Bio-Inspired hardware system relates the natural principles with the capabilities of
electronic system
What is Bio-Inspired Computing
all about?

Bio-inspired computing

Biological computation Artificial Intelligence


The First Computer

Charles Babbage (1791-1871):


Inventor of difference engine –
recognised as direct ancestor
of the modern computer.

First (non-biological)
digital machine.
Today’s Lecture
Classical computation vs biological computation

Motivation for biologically inspired computation

Overview of some biologically inspired things

Source : www.macs.hw.ac.uk/~dwcorne/
What to take from this lecture:
What `classical computing’ is, and what kinds of tasks it
is naturally suited for.
What classical computing is not good at.
An appreciation of how computation and problem solving
are manifest in biological systems.
Appreciation of the fact that many examples of
computations done by biological systems are not yet
matched by what we can do with computers.
An understanding of the motivation (consequent on the
above) for studying how computation is done in nature.
A first basic knowledge of the main currently and
successfully used BIC methods

Source : www.macs.hw.ac.uk/~dwcorne/
Classical Computation vs Bio-Inspired
Computation
the fridge story
How do you tell the difference between dog and cat?
How do you tell the difference between male and female face?
How do you design a perfect flying machine?
How would we design the software for a robot that could make a
cup of tea in your kitchen?
What happens if you:
Cut off a salamander’s tail?
Cut off a section of a CPU?

Source : www.macs.hw.ac.uk/~dwcorne/
Classical Computation vs Bio-
Inspired Computation
Classical computing is good at:

Number-crunching
Thought-support (glorified pen-and-paper)
Rule-based reasoning
Constant repetition of well-defined actions.

Classical computing is bad at:


Pattern recognition
Robustness to damage
Dealing with vague and incomplete information;
Adapting and improving based on experience

Source : www.macs.hw.ac.uk/~dwcorne/
Why don’t we have software that can do
the following things well?
Automatically locate a small outburst of violent behaviour in a football crowd
Classify a plant species from a photograph of a leaf.
Make a cup of tea?

Source : www.macs.hw.ac.uk/~dwcorne/
Pattern Recognition and
Optimisation
These two things tend to come up a lot when we think of what
we would like to be able to do with software, but usually can’t
do.
But these are things that seems to be done very well indeed in
Biology.
So it seems like a good idea to study how these things are done in
biology – i.e. (usually) how computation is done by biological
machines

Source : www.macs.hw.ac.uk/~dwcorne/
Basic notes on pattern recognition
and optimisation
Pattern recognition is often called classification

Formally, a classification problem is like this:

We have a set of things: S (e.g. images, videos, smells, vectors, …)


We have n possible classes, c1, c2, …, cn, and we know that everything
in S should be labelled with precisely one of these classes.

In computational terms, the problem is:


Can we design a computational process that takes a thing s (from S) as
its input, and always outputs the correct class label for s?

Source : www.macs.hw.ac.uk/~dwcorne/
Classification: examples
What S might be What the classes might be
1 Images of peoples’ faces male, female
Smells (e.g. molecular illicit_drugs, ok or
2
spectra: fresh meat, good meat, rotten meat
3 Utterances of “hello” (e.g. child, man, woman or
in wav files) authorised-person, unauthorised
4
Renditions of my signature genuine, fake
5 Images of artworks beautiful, good, reasonable, awful
6 Patient data – results of malignant, benign
various blood tests
7
Applications for loans good risk, medium risk, bad risk
8 Aircraft engine diagnostics safe, needs-maintenance, ground
9 Ground-penetrating radar image land-mine-here, safe
Source : www.macs.hw.ac.uk/~dwcorne/
Some notes about those
examples
The idea of these examples is to:
1. Remind you that pattern recognition is something you do
easily, and all the time, and you (probably) do it much better
than we can do with classical computation. (e.g. 1, 2, 3, 5)
2. Remind (or inform) you that such complex pattern recognition
problems are not yet done well by software (e.g. 1, 2, 3, 5)
3. Indicate that there are some very important problems that we
would like to solve with software (9, 8, 6, 2, 7 are obvious, but
of course we would like to do all nine and much more ), which
are classification problems, and note that these are just as hard
as examples 1, 2, 3, 5.
4. So, hopefully we can learn how brains do 1, 2, 5 etc …, so that
we can build machines that find land mines, tell fake from
genuine signatures, diagnose disease, and so on …
Source : www.macs.hw.ac.uk/~dwcorne/
How brains seem to do pattern recognition –

The business end of this is made of lots of these joined in networks like this

Much of our own “computations” are performed in/by this network

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
The brain is a complex
tangle of neurons, connected
by synapses

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
When neurons are active, they
send signals to others.

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
A neuron with lots of `strong’
active inputs will become active.

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
And, when connected neurons
are active at the same time, the
link between them gets stronger

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
So, suppose these neurons happen
to be active when you see a fluffy
animal with big eyes, small ears and a
pointed face

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
So, suppose these neurons happen
to be active when you see a fluffy
animal with big eyes, small ears and a
pointed face

… and suppose your mother then


says “Cat”, which excites this
additional neuron.

Source : www.macs.hw.ac.uk/~dwcorne/
The key idea in brain-inspired
computing
Links will then strengthen between
the active neurons

So when you see a similar animal


again, this neuron will probably
Automatically be activated, helping
you classify it.

A slightly different group of neurons


will respond to dogs, and sometimes
both the “cat” and “dog” group
will be active, but one will be more
active than the other …

Source : www.macs.hw.ac.uk/~dwcorne/
Notice this in particular
What happens if we damage a single
neuron (remember, in reality there will be
thousands involved in simple
classification-style computations)?

Compare this with damaging a line of


code.

In classical computing we provide rules; but biology


seems to learn gradually from examples.

Source : www.macs.hw.ac.uk/~dwcorne/
Basic Notes on Optimisation
We have 3 items as follows: (item 1: 20kg; item2: 75kg; item 3: 60kg)
Suppose we want to find the subset of items with total weight closest to 100kg.

Which is the
110 best?
000
101
100
111
001
011
010

Well done, you just searched the space of possible subsets. You
also found the optimal one. If the above set of subsets is called S,
and the subsets themselves are s1, s2, s3, etc …, you just optimised the
function “closest_to_100kg(s)”; i.e. you found the s which minimises the
function |(weight—100)| .

Source : www.macs.hw.ac.uk/~dwcorne/
Search and Optimisation
In general, optimisation means that you are trying to
find the best solution you can (usually in a short time)
to a given problem.

We always have a set S of all possible S


solutions
S may be small (as just seen)
s1 s2 s3 …
S may be very, very, very, very large
(e.g all possible timetables for a 500-exam/3-week diet)
… in fact something like 1030 is typical for real problems.
S may be infinitely large – e.g. all real numbers.

Source : www.macs.hw.ac.uk/~dwcorne/
How Biology Optimises
We wish to design something – we want the best possible (or,
at least a very good) design.

The set S is the set of all possible designs. It is always much too
large to search through this set one by one, however we want to
find good examples in S.

In nature, this problem seems to be solved wonderfully well,

again and again and again, by evolution


Nature has designed millions of extremely complex machines, each
almost ideal for their tasks (assuming an environment that doesn’t
go haywire), using evolution as the only mechanism.

Clearly, this is worth trying for solving problems in science and industry.
Source : www.macs.hw.ac.uk/~dwcorne/
Quick overview of BIC techniques we
will learn about
Evolutionary algorithms:
Use nature’s evolution mechanism to evolve solutions
to all kinds of problems. E.g. to find a very
aerodynamic wing design, we essentially simulate
evolution of a population of wing designs. Good
designs stay in the population and breed to, poor
designs die out. EAs are highly successful and come in
many variants. There is also a lot to learn to
understand how to apply them well to new problems.
We will do quite a lot on EAs. EAs are all about
optimisation, however classification is also an
optimisation problem, so EAs work there too …
Source : www.macs.hw.ac.uk/~dwcorne/
A genetically optimized
three-dimensional truss with
improved frequency response.

An EA-optimized concert-hall
design, which improves on human
designs in terms of sound quality
averaged over all listening points.

Source : www.macs.hw.ac.uk/~dwcorne/
Swarm Intelligence
How do swarms of birds, fish, etc … manage to move
so well as a unit? How do ants manage to find the best
sources of food in their environment. Answers to
these questions have led to some very powerful new
optimisation methods, that are different to EAs. These
include ant colony optimisation, and particle swarm
optimisation.
Also, only by studying how real swarms work are
we able to simulate realistic swarming behaviour
(e.g. as done in Jurassic Park, Finding Nemo, etc …)

Source : www.macs.hw.ac.uk/~dwcorne/
Kohonen Networks
NT will teach you about neural computation, which is largely about how we
can teach machines to do classification and pattern recognition – but there
is a more fundamental type of neural-inspired method, which relates to
making sense of the world around us without being trained or taught: this is
what a Kohnonen network does
Cellular Automata
Cellular Automata (CA) are very simple computational systems that produce
very complex behaviour, including `lifelike’ reproduction. CAs, as we will see,
are also very useful for explaining/simulating biological pattern generation
and other behaviours

Source : www.macs.hw.ac.uk/~dwcorne/
Neural Computing
Pattern recognition using neural networks is the most widely
used form of BIC in industry and science. We will learn about
the most common and successful types of neural network.

This is Stanley, winner


of the DARPA grand
Challenge – a great
example of bio-inspired
computing winning over
all other entries, which
were largely `classical’

Source : www.macs.hw.ac.uk/~dwcorne/
How Biological Computers Compute

With these

Not with these

Source : www.macs.hw.ac.uk/~dwcorne/
Next Lecture…
Introduction to Artificial Neural Networks

You might also like