Biologically Inspired Computing: Introduction This is a lecture one of `Biologically Inspired Computing’ Contents: Course structure, Motivation for BIC,

Slides:



Advertisements
Similar presentations
Approaches, Tools, and Applications Islam A. El-Shaarawy Shoubra Faculty of Eng.
Advertisements

Learning School of Computing, University of Leeds, UK AI23 – 2004/05 – demo 2.
Paper 2 – Section B Writing to Inform, Explain, Describe.
Biologically Inspired Computing: Introduction This is lecture one of `Biologically Inspired Computing’ Contents: Course structure, Motivation for BIC,
Introduction to Training and Learning in Neural Networks n CS/PY 399 Lab Presentation # 4 n February 1, 2001 n Mount Union College.
F22H1 Logic and Proof Week 7 Clausal Form and Resolution.
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
Bio-Inspired Optimization. Our Journey – For the remainder of the course A brief review of classical optimization methods The basics of several stochastic.
Artificial Neural Networks - Introduction -
21-May-15 Genetic Algorithms. 2 Evolution Here’s a very oversimplified description of how evolution works in biology Organisms (animals or plants) produce.
1 Lecture 35 Brief Introduction to Main AI Areas (cont’d) Overview  Lecture Objective: Present the General Ideas on the AI Branches Below  Introduction.
Brian Merrick CS498 Seminar.  Introduction to Neural Networks  Types of Neural Networks  Neural Networks with Pattern Recognition  Applications.
Natural Computation and Applications Xin Yao Natural Computation Group School of Computer Science The University of Birmingham.
Genetic Algorithms and Their Applications John Paxton Montana State University August 14, 2003.
Natural Computation: computational models inspired by nature Dr. Daniel Tauritz Department of Computer Science University of Missouri-Rolla CS347 Lecture.
Rohit Ray ESE 251. What are Artificial Neural Networks? ANN are inspired by models of the biological nervous systems such as the brain Novel structure.
Dr Rong Qu Module Introduction.
Classifiers, Part 3 Week 1, Video 5 Classification  There is something you want to predict (“the label”)  The thing you want to predict is categorical.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
Biologically Inspired Computing: Introduction This is lecture one of `Biologically Inspired Computing’ Contents: Course structure, Motivation for BIC,
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
An Introduction to Artificial Intelligence and Knowledge Engineering N. Kasabov, Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering,
Artificial Intelligence: Prospects for the 21 st Century Henry Kautz Department of Computer Science University of Rochester.
 The most intelligent device - “Human Brain”.  The machine that revolutionized the whole world – “computer”.  Inefficiencies of the computer has lead.
Artificial Intelligence
10/6/2015 1Intelligent Systems and Soft Computing Lecture 0 What is Soft Computing.
CS 484 – Artificial Intelligence1 Announcements Lab 4 due today, November 8 Homework 8 due Tuesday, November 13 ½ to 1 page description of final project.
Self-Organising Networks This is DWC-lecture 8 of Biologically Inspired Computing; about Kohonen’s SOM, what it’s useful for, and some applications.
Presented by Scott Lichtor An Introduction to Neural Networks.
UNIT OVERVIEW CITS4404 Artificial Intelligence & Adaptive Systems.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
Artificial Intelligence By Michelle Witcofsky And Evan Flanagan.
Modelling Language Evolution Lecture 1: Introduction to Learning Simon Kirby University of Edinburgh Language Evolution & Computation Research Unit.
Biologically Inspired Computing: Introduction This is lecture one of `Biologically Inspired Computing’ Contents: Course structure, Motivation for BIC,
Predator/Prey Simulation for Investigating Emergent Behavior Jay Shaffstall.
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
1 Machine Learning 1.Where does machine learning fit in computer science? 2.What is machine learning? 3.Where can machine learning be applied? 4.Should.
Multi-media Information Systems Introduction Brian Whitworth © 2001.
I Robot.
Biologically Inspired Computing: Optimisation This is mandatory additional material for `Biologically Inspired Computing’ Contents: Optimisation; hard.
Close Reading Intermediate 2. Time The Close Reading exam paper lasts for one hour. (Date and time for 2011: Friday 13 May, 1.00pm to 2.00pm.) NAB: Friday.
Neural Networks and Machine Learning Applications CSC 563 Prof. Mohamed Batouche Computer Science Department CCIS – King Saud University Riyadh, Saudi.
Biologically Inspired Computing: Introduction This is lecture one of `Biologically Inspired Computing’ Contents: Course structure, Motivation for BIC,
Data Mining: Knowledge Discovery in Databases Peter van der Putten ALP Group, LIACS Pre-University College LAPP-Top Computer Science February 2005.
Clustering Prof. Ramin Zabih
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
Biologically Inspired Computation Some of the images in this lecture come from slides for a Course in Swarm Intelligence given at : Lecture 5: Introducing.
Biologically Inspired Computation Ant Colony Optimisation.
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
 A family of optimization methods that search for an optimum minimum or maximum for a given problem (but never finds it ).  The methods are best suited.
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
Artificial Intelligence, simulation and modelling.
Neural Networks Lecture 4 out of 4. Practical Considerations Input Architecture Output.
Introduction to Artificial Intelligence Revision Session.
Business Analytics Several odds and ends Copyright © 2016 Curt Hill.
March 31, 2016Introduction to Artificial Intelligence Lecture 16: Neural Network Paradigms I 1 … let us move on to… Artificial Neural Networks.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Artificial Neural Networks This is lecture 15 of the module `Biologically Inspired Computing’ An introduction to Artificial Neural Networks.
Sparse Coding: A Deep Learning using Unlabeled Data for High - Level Representation Dr.G.M.Nasira R. Vidya R. P. Jaia Priyankka.
Evolutionary Algorithms Jim Whitehead
CITS4404 Artificial Intelligence & Adaptive Systems
Done Done Course Overview What is AI? What are the Major Challenges?
Advanced Artificial Intelligence Evolutionary Search Algorithm
Dr. Unnikrishnan P.C. Professor, EEE
Presentation transcript:

Biologically Inspired Computing: Introduction This is a lecture one of `Biologically Inspired Computing’ Contents: Course structure, Motivation for BIC, BIC vs Classical computing, overview of BIC techniques

General and up-to-date information about this module Go to my home page: Find my Teaching Materials page, and go on from there.

Lectures TitleWhat it’s about 1—2 Intro to BIC The differences between BIC and `ordinary’ computing, the kinds of problems we need BIC for (including basics of classification, optimisation, and problem complexity), motivation for BIC, and a broad overview of many BIC techniques and the kinds of problems they can solve. 3—8 Evolutionary Algorithms Algorithms based on natural evolution, for solving real-world problems; various different algorithms based on this idea, several example applications 9—12 Swarm Intelligence Algorithms inspired by natural swarming behaviour, with various applications (ant systems, particle swarm optimisation) 13—16 Alife / Cellular Automata Simple but powerful ways to simulate biological systems, with many useful applications. Includes: L systems, Game of Life, self-organisation, and more complex CAs 17—18 Neural Computing Classification and prediction methods based on linked simple processing units, modelled on real neural tissues. 19—20 Other BIC methods A selection of other prominent BIC methods, e.g. Artificial Immune Systems, Cellular Computing, Foraging algorithms. Course Contents

Examinable materials All the slides (all online) Various additional papers that I will provide online BSc: 80% exam / 20% coursework MSc: 100% exam, but there is still c/w and you must pass the coursework I will handout the coursework in either 5 th or 6 th lecture, and the handin date will be Friday 9 th March Coursework

Difference between BSc and MSc The MSc students will have some additional reading materials. The web site will clearly indicate this. The exams will be different The MSc coursework will be based on the BSc coursework, but a bit harder with more to do.

This Lecture Lecture 1: Classical computation vs biological computation Motivation for biologically inspired computation Overview of several biologically inspired algorithms

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

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?

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

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. Design robust railway timetables Make a cup of tea?

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

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, c 1, c 2, …, c n, 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?

Classification: examples What S might beWhat the classes might be Images of peoples’ facesmale, female Smells (e.g. molecular spectra: illicit_drugs, ok or fresh meat, good meat, rotten meat Utterances of “hello” (e.g. in wav files) child, man, woman or authorised-person, unauthorised Renditions of my signaturegenuine, fake Images of artworksbeautiful, good, reasonable, awful Patient data – results of various blood tests malignant, benign Applications for loansgood risk, medium risk, bad risk Aircraft engine diagnosticssafe, needs-maintenance, ground Ground-penetrating radar image land-mine-here, safe

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 …

How brains seem to do pattern recognition – more in lectures 17—18 The business end of this is made of lots of these joined in networks like this Our own computations are performed in/by this network

The key idea in brain-inspired computing The brain is a complex tangle of neurons, connected by synapses

The key idea in brain-inspired computing When neurons are active, they send signals to others.

The key idea in brain-inspired computing A neuron with lots of `strong’ active inputs will become active.

The key idea in brain-inspired computing And, when connected neurons are active at the same time, the link between them gets stronger

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

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.

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 …

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.

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. 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)| Which is the best?

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. S s1s1s2s2s3s3 … We always have a set S of all possible solutions S may be small (as just seen) S may be very, very, very, very large (e.g all possible timetables for a 500-exam/3-week diet) … in fact something like is typical for real problems. S may be infinitely large – e.g. all real numbers.

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.

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 …

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.

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 …)

Artifical Life and Cellular Automata This is a research area that tries to learn what the fundamental computational structures and processes are that are necessary for the things that seem to go hand-in-hand with life. For example Growth, and Reproduction. One of the fruits of Alife are simple rule-based systems called L-systems that can be used to simulate very lifelike images of plants, that are used in computer graphics. Meanwhile, 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

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’

Other BIC techniques There are many other BIC areas under research, but not yet found as successful in practice as those we have concentrated on in the course. But we will look at the most prominent `other’ techniques. At the moment these are: Artifical Immune System methods – which lead to algorithms for optimisation and classification based on the workings of the human immune system. Foraging Algorithms – which lead to optimisation methods based on how herds of animals decide where to graze. These are different from the current main algorithms that have arisen from swarm intelligence.

Next Time Before we get into looking at Evolutionary Algorithms (as well as other methods that do optimisation): We need to understand a lot of things about optimisation, such as When we need clever methods to do it, and when we don’t What the alternatives there are to EAs – no point designing an EA for an optimisation problem if it can be solved far more simply. So the next lecture is all about optimisation problems in general, and some key pure computer-science things you need to know.