Qu'est-ce qui fait la différence entre le code normal et le code intelligent artificiel?


Réponse 1:

Je suppose par code normal que vous voulez dire, un code typique que vous voyez tous les jours. Boucles, threads, itérateurs et instructions ifelse. Technique, il n'y a pas de différence. Toutes ces choses sont utilisées de la même manière dans l'IA que dans n'importe quel autre programme. Mais maintenant, regardons quelques différences distinctement actives dans la façon dont le code lui-même se comporte.

Dans un programme "normal", si quelque chose correspond à un cas, si ceci == cela, alors c'est une instruction typique. Il sera répété encore et encore, réagissant de la même manière chaque fois que ceci == cela. Et tout comme, a déclaré Chris, beaucoup de déclarations if (ou switch). Le but de l'IA est de rendre compte de tout ce qui peut arriver comme nous (les humains).

Dans un programme artificiellement intelligent, beaucoup, et je veux dire BEAUCOUP de probabilité est utilisé pour calculer la probabilité que quelque chose de commun se reproduise. Disons, un jeu de flip de pièces. Ignorant la position de départ, le poids du quart, la pression atmosphérique et l'âge du lanceur de pièces, je sais que cela semble fou, mais toutes ces variables et bien d'autres encore jouent un rôle clé, au premier coup, les chances sont égales à 50 / 50. Disons qu'il atterrit la tête haute, il serait facile de dire "Ses 50/50 à chaque fois" non? Ce serait incorrect.

Au moment où la pièce tombe tête haute, vous devez agir comme si vous veniez d'ouvrir les yeux pour la toute première fois et qu'une pièce posée tête haute est la seule chose que vous savez dans la vie. Autre côté? Il n'y en a pas, vous regardez maintenant du point de vue d'un programme, il faut qu'il "apprenne". En ce moment, la seule possibilité que vous connaissez est la tête. Vient ensuite le prochain flip, la tête à nouveau! Cela solidifie davantage que la tête est votre vie jusqu'à ce qu'il soit connu qu'il y a autre chose.

Alors ... le flip arrive qui change tout, les queues. Et votre monde doit se recalculer et se réajuster. Jusqu'à ce point, vous savez que la pièce était en tête à 100% du temps, maintenant elle est en tête [(total_heads - total_tails) * 100%] du temps. Si c'était sur un 100 flips propres, 99% des têtes 1% des queues. Cela "indique" au programme qu'il y a de très fortes chances que les têtes soient les prochaines. Le programme aurait prédit correctement les têtes 98 fois (99 - première fois qu'il l'a vu). Et c'était avec des statistiques SIMPLES. Lorsque vous approfondissez l'analyse bayésienne et les coefficients de corrélation, eh bien, nous parlons de choses amusantes.

Lorsque l'ordinateur voit ces chiffres, il peut prédire dans une petite marge d'erreur ce que l'avenir réserve, ou du moins c'est ce qu'il est censé faire. Il apprend comme nous. Essayez cette chose, si les résultats sont défavorables, essayez à nouveau avec différents paramètres, répétez jusqu'à ce que les résultats deviennent favorables, puis continuez à faire cette chose.


Réponse 2:

Il n'y a pas de ligne claire claire entre le code normal et le code utilisé pour l'IA.

Les moteurs d'IA basés sur des règles ne sont que des tas d'instructions if-then et diverses classifications et associations. La plupart du code en aura une forme.

L'apprentissage automatique repose fortement sur l'algèbre linéaire, le calcul, le traitement du signal et la probabilité, mais il en va de même pour les autres types de programmation - encore une fois, aucune différence réelle.