A learning robot to open the black box of artificial intelligence
1.General presentation : Why ?, What ?, and How to teach AI? 2.AI initiation activities : The different levels of autonomy of a machine 3.Going further : Python programming of the robot and neural networks PRESENTATION #1
Website: https://learningrobots.ai
WHY teach AI to everyone? The future of WORK The future of HUMANITY Priority for SCHOOL and PROFESIONNAL TRAINING
WHAT to teach about AI? (elementary, secondary, higher education) Let’s open wide the BLACK BOX of « Artificial Intelligence » Implementation Code Data Manipulate Algorithms Visualize
A GRAPHICAL INTERFACE HOW can we talk about AI algorithms in a concrete way? A LEARNING ROBOT A PEDAGOGY ▶ learns in front of our eyes ▶ see the details of AI algorithms ▶ workshops, conferences, etc.
The graphical interface Control Visualisation
The robot and the arena Modular arena ultrasoundcamera5 IR line tracking sensors 2 wheel drive 4 LEDsmulti-colour buzzer 3D printed protective shell in 8 colours On-board :RaspberrycomputerPi Zero(linux, Python, etc.)
Soon, multiple robots! AlphAI robot (purchased from Waveshare and customized) Sales kick-off: Oct. 2020 Partner:Robotis DMS Education Sales kick-off: Oct. 2021 Partner:Buddy Blue Frog Robotics Partner:Thymio EPFL / Mobsya I3D SalesPartner:printerDidastelkick-off:Oct. 2021 More robots in Education… And tomorrow in Domestic & Industry… AlphAI software
Robot race Manual edition Obstacle avoidance Intruder detection ?K nearest neighborsTo your imagination ! The "brick" of our activities: the mini learning scenario Supervised Learning Reinforcement Learning Image recognition Blocked vs. Motion Line tracking Code AI def take_decision(x): if X_training is None: return 0 returnX_trainingnearest_neighbor_decision(,y_training,x) FootballManipulateVisualizeCode Code Reward def reward(state): print('Current state is:') returnprint(state)state['speed']
An activity for all: autonomous robot race
Activities: practical work, workshops, conferences https://learningrobots.ai/resources/?lang=en#download_activities
Introduction to AI activities Introduction to AI : 1) Remote control 2) Programmin 3) Supervised learning 4) Reinforcement learning Robot race (supervised) Learning "by your imagination Ethics of AI K-nearest neighbour algorithm
Coding and expert activities 1) Programming remote control 2) « Classic » programming 3a) Programming K nearest neighbors organize a robot race ! 4) Programming Q-learning 3b) Discovery of neural networks with the « intruder detection »
From elementary school to university! 1ère NSI 1ère / Tale STI2D Philosophy in EC1 Origins: February 2018, ULIS class Viva Tech 2021 Learning Robots guest exhibitor on the Ile de France Region Presentationstand; to Mrs PécresseValérie
First uses by customers and partners 150 clients, 460 robots Help to get started: Exchange server (Discord) Metz-Nancy (eLab Schoenbeck) submission of a scientific publication by EPFL
Verbatims of teachers and prescribers
"I am very pleased with this hardware and software that shows the concepts of artificial intelligence in a very easy way. I hope to be able to continue using it in the following yearsMichael." Balandier, Professor in Digital Sciences Charleville-Mézières (France)
"The AlphAI solution supported by the EduUp commission of the French Ministry of Education makes the effects of programming an AI tangible in line with the development of educational robotics." Alain Thillay Directorate of Digital Education Ministry of National Education (France)
"As far as the pedagogical value is concerned, it is without question, these machines are a great support and the students have been hyper responsive with it." C. Maury, Prof. NSI Pont-à-Mousson (FR)
"I wanted to remind you once again of the quality of your follow-up and the support you give us: AI teaching, if well implemented, will be a real plus for our young people!"Vincent Honorat Teacher in pre-college classes Aix-en-Provence (France)
Viva exhibition,Tech June 2021 in Paris: fromEncouragement Valérie Pécresse (President of the Ile de etRegionFrance) Antoine Petit (CNRS director)
1.General presentation : Why ?, What ?, and How to teach AI? 2.AI initiation activities : The different levels of autonomy of a machine 3.Going further : Python programming of the robot and neural networks PRESENTATION #2
"Reproduction by human labour of the intellectual faculties of man!Petit Robert: "A set of theories and techniques used to create machines capable of simulating human intelligence".
Intelligence (Latin intelligentia, from intelligere, to know; inter- ("between") lĕgĕre ("to gather, choose, read"))
Pragmatic definition: "All of man's intellectual faculties".
Petit Robert 1: "Produced by the work of man and not by nature".
What is "Artificial Intelligence"?
Artificial (from Latin artificialis "made with art")
Petit Robert 1: "All the mental functions whose object is conceptual and rational knowledge".
Artificial Intelligence
… and by misuse of language, some achievements
Artificial Intelligence is a project!
We propose that a 2 month, 10 man study of artificial intelligence be carried out during the summer of 1956 at Dartmouth College in Hanover, New Hampshire. The study is to proceed on the basis of the conjecture that every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it. An attempt will be made to find how to make machines use language, form abstractions and concepts, solve kinds of problems now reserved for humans, and improve themselves. - Dartmouth AI Project Proposal; J. McCarthy et al.; Aug. 31, 1955.
Level 1: controlRemote Orders No autonomy 4 levels of autonomy for the AlphAI robot
Level 1: Remote control Qualities of the robot • Motors • Electronic card • Wireless connection to the computer • Program on the computer to receive orders Similarities with living things • Motors ↔ Muscles • Electronic board, communication, etc. ↔ Nerves Qualities that the robot does not have • The robot has no autonomy • The human decides each action of the robot ("orders")
Level 2: Programmation Program Autonomy Level 1: controlRemote Orders No autonomy 4 levels of autonomy for the AlphAI robot
Level 2: Programming Qualities of the robot (in addition to the above) • Sensors • Programmed action decisions based on sensor status allows for autonomous movement Similarities with living things • Sensors ↔ Sense organs • Decision-making program ↔ Brain = command centre Qualities that the robot does not have The robot only does what the human has planned. The human has planned in advance all the scenarios and what to do.The robot always does the same thing, does not adapt, has no initiative, etc.
Level 2: Programming Program Autonomy Level 3: SupervisedLearning Examples LearningMemoryAutonomy Level 1: controlRemote Orders No autonomy 4 levels of autonomy for the AlphAI robot
Qualities that the does not
robot
Level 3: Supervised learning = “by Imitation” Qualities of the robot (in addition to the above) • Memorises examples given by humans • Learning programme to modify its "brain". Necessary qualities of training data • No errors • Completeness of situations • SimilaritiesQuantitywith living things • Memory / Accumulation and replay during sleep • Learning / Changing connections • Repetition / Perseverance
have The robot only reproduces the behaviour dictated by the human. It has no initiative.However, there can be unexpected things, especially when the training has not been sufficient.
Examples of supervised learning
Examples of supervised learning
Examples of supervised learning
https://www.google.com/doodles/c elebrating-johann-sebastian-bach
When you engage in creative thinking, your brain starts working more efficiently. It becomes more active and more open to new ideas. It also helps you think outside the box and look at things from a different perspective.
The more you can cross pollinate your creative thinking, the more ideas you'll be able to come up with. This is because your brain makes connections between different forms of creative thinking.
I would recommend not going over two hours each day though. If you do this, then you're probably just wasting time and not actually engaging in creative thinking.
Now, how do these two concepts relate to each other? Well, if you're like me then you probably find yourself doing both at times. You might be working on a project all day long, but you still feel as though you're just going through the motions. This is because you're thinking too much!
The key is to have fun and enjoy the process of creating something.
Creative thinking isn't just for artists though.
I've found that the best way to get into the habit of creative thinking is to engage in it daily. This can be done by setting aside a certain amount of time each day (or week if you need more time) to do something creative. You can start off small by committing to do one activity each day. For example, you could spend 15 minutes drawing each day or spend an hour writing. Once you get into the habit of doing one creative activity each day, you can increase the amount of time you spend.
For example, if you're writing a story about a character in a desert and you draw a picture of that character, you could write a poem about the feelings that the character has while they're in the desert.
Expand your mind and explore all the possibilities that are out there. I wish you the best of luck on your journey and I hope that you achieve all of your creative dreams! "Fin." by OpenAI, Feeling unproductive? Maybe you should stop overthinking. In order to get something done, maybe we need to think less. Seems counterintuitive, but I believe sometimes our thoughts can get in the way of the creative process. We can work better at times when we "tune out" the external world and focus on what's in front of us. I've been thinking about this lately, so I thought it would be good to write an article about it. So what exactly does this mean? Well, for starters, let's start with some definitions.
Definition #2: Over Thinking (OT) is the act of trying to come up with ideas that have already been thought through by someone else. OT usually results in ideas that are impractical, impossible, or even stupid.
For example, if you're writing for too long then go and draw something. Or if you're drawing for too long then go and write something.
For example, if you're writing a story about a character in a desert and you draw a picture of that character, your brain will make a connection and give you ideas on what to have that character do next in your story. Or if you're drawing a picture of a character from a story and you write a poem about their feelings, your brain will make a connection and give you ideas on how to draw that character better.
2020
GPT-3
In addition to this, your brain will be more alert and aware of its surroundings. This means you'll be more productive in general because you won't be tired or distracted as Soeasily.howdo you get into the habit of creative thinking?
++ Definition #1: Creative Thinking (CT) is the act of using your mind to come up with ideas that are not already present in reality or that have never existed before. It is a form of mental activity that involves the use of logic and reason.
Anyone can get into the habit of engaging in creative thinking. For example, if you're good at math then try writing a poem about a number or drawing a picture of a mathematical equation. If you're good at writing poems then try drawing a picture to go along with it. If you're good at drawing pictures then try writing a story about it.
The answer is simple: Creative Thinking. Creative thinking is the exact opposite of over thinking. Instead of using your brain to analyze everything, you use it to create something. This can be anything from writing a story, to drawing a picture, to even building a model.
Examples of supervised learning
This is where OT comes into play. When you think too much, your brain starts to shut down certain areas of your consciousness which causes you to become more passive and less productive. On top of this, your attention span decreases due to being constantly bombarded with information. So how do we combat this?
You can even take this further by combining different forms of creative thinking.
Well, if you're a creator then you should be engaging in creative thinking on a regular basis. The more you do it, the better your brain becomes at thinking up ideas. This makes it easier for you to work on your projects because you won't get stuck as often.
So how does this all tie into productivity?
You see, creative thinking is all about having fun. If you spend too much time on it, then it stops being fun and it just feels like work. If you do find yourself in this situation, then I recommend that you go back to spending less time on it and try to engage in other creative activities instead.
Or if you're drawing a picture of a character from a story and you write a poem about their feelings, you could draw a picture to go along with that poem.
In addition to this, engaging in multiple forms of creative thinking will also help you get through creative blocks. If you're stuck on a story you're writing, then drawing a picture or writing a poem can sometimes give you the extra push you need to get past that block.
The possibilities are endless.
In addition to this, you should also try to engage in other forms of creative thinking as well. For example, if you're writing stories then try drawing a picture to go along with it. Or if you're drawing a picture then try writing a story about it.
The important thing is to keep an open mind and try new things.
Well, the best way is to just do it! The more you practice, the better you'll get. It's really that simple.
Don't just limit yourself to one form of creative thinking.
https://openai.com/blog/dall-e/ Examples of supervised learning ++
General
public activity with supervised app.: robot race
def index_minvalue_minfind_minimum(dlist):=math.inf= None for i in range(len(dlist)): if dlist[i] < value_min: value_min = dlist[i] index_min = i return index_min def train_decisionsnearest_neighbor_decision(train_sensors,,a):dlist=all_distances(a,train_sensors)idx_min=find_minimum(dlist) return train_decisions[idx_min]
An easy-to-understand algorithm: the K nearest neighbours 1 - K neighborsnearest
Python coding
Right pixel intensity
Left pixel intensity Turn right Turn left Straight import train_sensorsmath = train_decisions = None def learn(X_train, y_train): global train_sensors, train_decisions train_sensors, train_decisions = X_train, y_train def take_decision(sensors): if train_sensors is None: return 0 return train_decisionsnearest_neighbor_decision(train_sensors,,sensors)
def distance(a, b): return math.sqrt((b[0] a[0])**2 + (b[1] a[1])**2) def all_distances(a, train_sensors): return [distance(a, b) for b in train_sensors]
Introduction to artificial neural networks: Artificial intelligence is inspired by the brain
Neurons Behaviour Olfactory brain Stimulus Odeur Neurons in the brain respond to stimuli
« Brain » SensorsAction Artificial neural network ("deep learning")
« Brain » SensorsAction Supervised Learning Learning Examples
Level 2: Programming Program Autonomy Level 3: SupervisedLearning Examples LearningMemoryAutonomy Level 4: Learning Reinforcementby systemReward ExplorationsLearning+MemoryAutonomy Level 1: controlRemote Orders No autonomy 4 levels of autonomy for the AlphAI robot
« Brain » SensorsAction Reinforcement Learning Reward Learning
Level 4: Reinforcement learning = trial and error Qualities of the robot (in addition to the above) • Learns what rewards they can get • Anticipates rewards several 'moves' in advanceTrials actions ("exploration") Can outperform humans! (e.g. chess, Go) Similarities with living things • Trial and error / mistakes are useful! • Exploration ↔ "CuriosityForced" exploration ↔ parents/teachers • Anticipation of future rewards ↔ sense of effort Qualities that the robot does not have • Learning is more autonomous, but still determined by humanwritten algorithms. Still no initiative in the 'human' sense (awareness, understanding of the meaning of things, capacity for abstraction, etc.) • Moreover, the robot does not know how to set its own goals. The human being sets the reward system.
AlphaGo
Examples of reinforcement learning par Google DeepMind vs. Lee Sedol, 2016
Examples of reinforcement learning par Google DeepMind vs. « Mana », 2018
AlphaStar
Pepper
SoftBank Robotics, 2018
Examples of reinforcement learning par
So, Artificial Intelligence? A great new tool!!! The human in question!!? Mastering it so as not to be mastered Understanding to react Opening all the black boxes of Artificial Intelligence with the AlphAi robot Let’s open the BLACK BOX of IntelligenceArtificial!! Programming = INSTRUCTIONS Machine Learning = automatic learning from DATA But how does it work?! understand= ALGORITHMS Addressing the societal and philosophical issues raised by A.I.
Ethics of AI Workshop: Biases in AI TRAIN TEST
Ethics of AI Workshop: Let an AI system take decision?
1.Présentation Générale : Pourquoi ?, Quoi ?, et Comment enseigner l’IA ? 2.Activités d’initiation à l’IA : Les différents niveaux d’autonomie d’une machine 3.Aller plus loin : Programmation Python du robot et réseaux de neurones PRESENTATION #3
Renvoie la liste des robotsAlphAI connus par le Bluetooth de l’ordinateur. def connect_bluetooth(robot_number: int)→bool Tente une connexion au robot spécifié en utilisant le Bluetooth. Le robot doit être dans la liste des robots connus par l’ordinateur. Renvoie True si la connexion est un succès, False sinon. def connect_wifi()→bool
Renvoie l’image caméra du robot. def open_api() Ouvre une connexion au logiciel pour communiquer les commandes. Cette fonction est appelée automatiquement à l’import du module alphai. def bluetooth_list()→list[str]
Renvoie True si le robot est bloqué (par un obstacle) ou False sinon. def get_distance()→float
Renvoie True si le robot est connecté ou False sinon.
API Python
def motor(left,right)
Renvoie la distance en cm devant le robot mesurée avec le capteur ultrason. def get_infrared()→list[float]
Définit la taille de l’image caméra. config doit être une des valeurs suivantes 2x1, 4x3, 8x6, 16x12, 21x16, 32x24, 64x48. def get_camera()→list[list[list[int]]]
Envoie une commande de vitesse aux moteurs gauche et droit. def wait_for_key()→list[str]
Renvoie le signal infra-rouge mesuré par les 5 capteurs infrarouges dirigé vers le sol. def set_camera(config:str)
Attend que l’utilisateur presse ou relâche une touche, et renvoie la liste des touches du clavier pressées simultanément. def get_blockade()→bool
Tente une connexion au robot auquel l’ordinateur est connecté en Wi-Fi. Renvoie True si la connexion est un succès, False sinon. def disconnect() Ferme la connexion avec le robot. def is_connected()→bool
if : elifforward() : elseturn_left():#turn_right() 1) TP Téléguidage et 2) TP Programmation caméra
3a) Apprentissage Supervisé : K plus proches voisins Right pixel intensity Left pixel intensity Turn right Turn left Straight def learn(X_train, y_train): ... def take_decision(sensors): ... return ... Code élève
import train_sensorsmath = train_decisions = None def learn(X_train, y_train): global train_sensors, train_decisions train_sensors, train_decisions = X_train, y_train def take_decision(sensors): if train_sensors is None: return 0 returntrain_decisionsnearest_neighbor_decision(train_sensors,,sensors)
def distance(a, b): return math.sqrt((b[0] a[0])**2 + (b[1] a[1])**2) def all_distances(a, train_sensors): return [distance(a, b) for b in train_sensors] def find_minimum(dlist): value_min = math.inf index_min = None for i in range(len(dlist)): if dlist[i] < value_min: value_min = dlist[i] index_min = i return index_min def nearest_neighbor_decision(train_sensors, train_decisions, a): dlist = all_distances(a, train_sensors) idx_min = find_minimum(dlist) return train_decisions[idx_min]
3a) Apprentissage Supervisé : K plus proches voisins
Corrigé (1 plus proche voisin)
Généralisation K plus proches voisins
Généralisation ND def find_k_minima(dlist, k): k = min(k, len(dlist)) index_min = [] for i in range(k): idx = dlistindex_min.appendfind_minimum(dlist)(idx)[idx]=math.inf def k_nearest_neighbors_decision(train_sensors, train_decisions, a, k): dlist = all_distances(a, train_sensors) index_min = find_k_minima(dlist, k) votes = [0] * max(train_decisions) for idx in votes[decisionindex_min:=train_decisions[idx]decision]=votes[decision] + 1 majority_decision = find_maximum(votes) return majority_decision
def distance(a, b): n = len(a) s = 0 for i in range(n): s = s + (b[i]-a[i])**2 return math.sqrt(s)
3b) App. Supervisé / Réseaux de Neurones : Détection d’intrus ?
4) App. par Renforcement : programmation du Q-learning example actions learn(observations,take_decision(observation)actions, rewards) calcul_recompense(data…)
1.General presentation : Why, What, and How to teach AI? 2.Introduction to AI activities : The different levels of autonomy of a machine 3.Going further : Python programming of the robot and neural networks 4.A few more examples! PRESENTATION #4
Saliency maps
4 - Simple Reinforcement learning: Q-learning equation, similarities with human learning agen t environme environme nt Experiments underway in elementary schools:"Pupils' apprehensions about their own learning Learn by trials and errors Exploration (“curiosity”) Master guidance Learn through repetition Memory replay (learning during “sleep”) Future rewards expectation (“perseverance”) agen t Update:
Football Football learning and reward and error graphs