Natural computation
- Algorithms derived from observations of
nature phenomena
- Simulations
- to learn more about these phenomena
- to learn new ways to solve computational problems
Natural computation and Machine learning
![](https://blog.kakaocdn.net/dn/bQSwz1/btsy3Oyo4TL/OKxZb2jdSIOlloD5HXtnA1/img.png)
What is learning?
- The ability to improve over time, based on experience
- Why? : Solutions to problems are not always programmable
- Examples
- Handwritten character recognition
- Adaptive control of production processes
- Learning to walk by trial and error
Three forms of learning
![](https://blog.kakaocdn.net/dn/FWiFJ/btsyYn82wtL/Zh7Ag4W46y9KJandkufKX0/img.png)
Techniques
- Artificial neural networks (ANNs)
→ Inspired by biological nervous systems
- Reinforcement Learning
→ Inspired by psychology, ethology and behaviourism
ex : Menace, Q-Learning
- Evolutionary Computing
→ Inspired by genetics, natural selection and evolution
ex : Genetic algorithms, Genetic programming
- Swarm Intelligence
→ Inspired by social animals (bird flocks, ants, etc)
ex : Particle Swarm Optimization, Ant colony optimization, Cellular automata
Artificial neural networks
- Many simple processing elements, operating in parallel and communicating through weighted connections
- Based on very simple models of biological neurons and synaptic connections
- store information in the
weights
, not in the nodes
![](https://blog.kakaocdn.net/dn/yMAkY/btsyWigdTpu/k73pmhVt8qwwLRNnPK1Xi0/img.png)
![](https://blog.kakaocdn.net/dn/rp15S/btsy4pY5gZ0/hrVK3VqERo0Lq7xmvQBKG0/img.png)
![](https://blog.kakaocdn.net/dn/ThLWo/btsyVZACJYP/vHKr0g1V2svLKLV4Wefkj1/img.png)
Deep Learning
Any neural network with more than one hidden layer. Nowadays, usually much deeper, and with different types of layers. For example CNNs
![](https://blog.kakaocdn.net/dn/cufiZY/btsyYm3l7JR/yymAC0fHc35zoL37wFefU1/img.png)
More layers → more levels of abstraction → automatic feature selection
![](https://blog.kakaocdn.net/dn/bP2LzT/btsy35T4zc7/FkfoUbNCdlgsnz1CohVoZ1/img.png)
💡
CNN 논문에서 진행한 실험 생각해주면 된다. 각 layer마다 담당하는 층위가 나뉜다.
Reinforcement learning
![](https://blog.kakaocdn.net/dn/bFevPr/btsy2o7OJbn/6wt3FBSluviFSG6KXSuKR0/img.png)
- Reward : an evaluation of the environmental state
- Goal : To make decisions that maximize the long term reward received by the agent
- The agnet must be allowed to explore (i.e. sometimes do actions that at the time seem sub-optimal)
![](https://blog.kakaocdn.net/dn/wMNHz/btsyVkrMBdn/QGPMJVU1FJR2J1ddp6QGX1/img.png)
Evolutionary computing
![](https://blog.kakaocdn.net/dn/bgq4Bd/btsy4kKlPIW/aQJ0RR3mj42Our4M11QcYK/img.png)
- Used for learning problems where the task is to maximize some measure of success
- Essentially the same family of problems as in reinforcement learning, but the methods are different
- Methods inspired by genetics, natural selection and evolution
Swarm Intelligence
- Bird flocks and fish schools move in a coordinated way, but there is
no
coordinator
- Ants and termites quickly find the shortest path between the nest and a food source
- Distributed systems without central control
- Useful not only to simulate but also to solve optimization problems
Bird flocks and fish schools
- Simple local rules - a weighted combination of several goals
- Sufficient to make very realistic simulations
- used in movies and computer graphics
- remove the match-velocity result : insect swarm
- remove collision rule : cultural interaction
Particle swarm optimization
![](https://blog.kakaocdn.net/dn/cvW0js/btsy4m2mApw/NHXKgLYMp1rKedBmPqAbmk/img.png)