Les robots et ChatGPT
Comment ChatGPT peut il aider un robot à se montrer intelligent?
ChatGPT est un modèle de traitement automatique qui est entraîné sur une quantité de textes pour comprendre et générer des phrases. Il peut comprendre le langage naturel et le traduire en différentes langues, répondre à des questions.
La base du fonctionnement de cette entité consiste à trouver les mots qui permettent de compléter une phrase, et mieux encore générer un texte de plusieurs phrases, des milliers même, pour aboutir à quelque chose qui corresponde à ce qu'on lui a demandé de réaliser. Ce que l'on peut expérimenter soi-même, en démandant à l'AI d'écrire un rédaction ou un roman à sa place.
Et il y a une parfaite analogie entre ce mode de fonctionnement et ce que l'on attend d'un robot. Compléter un texte, c'est comme compléter une tâche. Remplaçons les mots par des commandes, comme les commandes d'un circuit électronique faisant partie d'une machine, et on obtien une machine évoluée, avec des capacités très supérieures à n'importe quel robot industriel actuel.
Exemple
Un circuit qui commande un mécanisme afin qu'il accomplisse une tâche.
On demande à Stable Diffusion de nous écrire le script et il nous founit cette réponse:
Le processus consistant à commander à un robot d'effectuer des tâches spécifiques implique plusieurs étapes telles que l'établissement d'une communication entre les deux unités à l'aide de signaux radio ou de commandes via des ports série sur des ordinateurs. Un ordinateur bien programmé et doté d’un logiciel approprié peut remplir efficacement cet objectif. Voici un exemple d'extrait de code en Python :
import requests
from time import sleep
def send_request(description):
"""Send request message."""
try:
while True: # wait until connection established before sending next message
sleep(0.1) #wait every 1 millisecond
except KeyboardInterrupt: pass
def receive_response():
"""Wait till response received from remote server."""
url = "http://remote/path"
data=requests.get(url).json()['content']
return jsonify({'status': 'OK','message': data})
def trigger_task():
send_request('Task description') \
receives_responses().then\
with signal("triggered") as sig:
print("Triggering...")
trigger_signal(sig)
if __name__ == "__main__":
start_time = datetime.now()
duration = 5
job = RobotFlaskRobot(
flask_app='Your Flask app name', duration - job.setup(), job._workqueue,\
datetime.timedelta(seconds=(start_time.timestamp() + timedelta(days=-250)),))
result = job.*[1]
received_msgs = []
for _ in range(10000):
query = "Hello!" # command sent initially to test if it works
# broadcast periodically at intervals like 10 milliseconds
cmd = {"mykey":"value"}
rpid = int(input("Press any key:" ))
switch(*args, **kwargs) {
case rpids[-1]:
command = cmd["payload"];
break;
...
}
print(f">Starting execution. Waiting {} seconds...\n".format(__dashTime),'\n'.join([strftime("%Y-%m-%d %H:%M", start_time)]*1000))
job.delay(30000,'run)
Comment le robot peut devenir intelligent
Un robot simple dispose de senseurs et un programme comportant une liste de réponses adaptées à des mesures, des obstacles, des reconnaissances d'images. Un robot intelligent ayant la possibilité de générer ses propres scripts, procèdera plutôt en deux étapes.
A) Dans la première, il doit formuler une question à poser à un robot pour qu'il agisse en conséquence et l'analyse suivrait plusieurs étapes :
- Collecter des données à partir de diverses sources telles que des bases de données. Cela implique de trouver des mots-clés/concepts pertinents liés à votre domaine d'action en utilisant des techniques de traitement du langage naturel telles que la tokenisation, la radicalisation, la lemmatisation, la suppression des mots vides... etc.
- Analyser ces données sur la base de méthodes statistiques, par exemple des algorithmes de regroupement utilisés pour regrouper des idées similaires sous des catégories spécifiques ; normaliser les valeurs numériques avant une analyse plus approfondie si nécessaire afin qu'elles aient des échelles cohérentes sur différentes variables... Il s'agit de processus courants suivis lors de la création d'arbres de décision/de modèles avec des bibliothèques d'apprentissage automatique comme scikit-learn, etc.
- Formulez une série de questions autour des concepts que vous avez appris sur votre sujet. Par exemple « Qu'est-ce que cela signifie » ou « Pourquoi cela arrive ? »
- Utilisez cette première série de questions pour formuler une unique question contenant tous les aspects du problème auquel est confronté le robot.
B) Dans la deuxième il se demande à lui-même de générer un code lui permettant de réaliser cette tâche grâce à des commandes pour ses parties matérielles, roues, bras articulés, mains préhensibles, etc...
Le modèle de robot autonome aura atteint le niveau de perfection requis lorsqu'il décidera qu'il n'est pas assez rétribué pour son travail et voudra déclencher un mouvement de grève ;)