Supposons que nous ayons un grand nombre de preuves dans le calcul des prédicats du premier ordre. Supposons que nous ayons aussi les axiomes, les corollaires et les théorèmes dans ce domaine des mathématiques sous cette forme.
Considérez chaque proposition qui a été prouvée et le corps de la théorie existante entourant cette proposition spécifique comme un exemple dans un ensemble de formation et une bonne preuve connue pour la proposition comme les étiquettes associées. Maintenant, considérons un réseau artificiel profond conçu spécifiquement pour s'entraîner sur cet exemple, et les hyper-paramètres correctement définis pour le faire.
Est-il possible de former un réseau artificiel profond de telle manière que la présentation d'une nouvelle proposition et la théorie existante qui l'entoure présentée en calcul de prédicat de premier ordre à l'entrée produirait une preuve à la sortie?
(Bien sûr, ces preuves doivent ensuite être vérifiées manuellement.)
Si la proportion de bonnes preuves obtenues était suffisamment élevée, pourrait-il être possible de créer un algorithme génétique qui propose des propositions au réseau profond formé, créant ainsi des preuves?
Est-ce possible?
Serait-il possible d'utiliser ce type de conception de réseau profond pour résoudre la conjecture de Collatz ou la conjecture de Riemann ou au moins réorganiser les modèles de manière à ce que les mathématiciens soient plus en mesure d'arriver à une preuve légitime?
la source
Réponses:
Les systèmes de production existants, développés au cours des dernières décennies, comportent des règles d'inférence codées. Ils sont basés sur la vision de Leibniz selon laquelle toute logique classique peut être encodée en langage symbolique et traitée mécaniquement. Une logique de prédicat du premier ordre a été développée et une nomeclature a été formalisée.
Bien que la vision de la démonstration automatique des théorèmes ait été considérablement contestée par les deux théorèmes d'incomplétude de Gödel, le travail d'exhaustivité de Turing et le développement d'une architecture pour la réaliser pratiquement par von Neumann ont relancé le travail vers l'automatisation du processus mécanique d'inférence.
Le laboratoire d'IA du MIT, à l'époque de Minsky, était vivant avec de tels efforts, mais ce qu'ils ont appelé l'explosion combinatoire a montré qu'il n'y avait pas suffisamment de ressources informatiques disponibles pour rechercher l'espace requis pour prouver automatiquement des théorèmes arbitraires d'une complexité non triviale. De grands ordinateurs parallèles appelés machines de connexion et divers schémas, utilisant des méta-règles et des approches heuristiques, ont été utilisés pour surmonter le problème d'explosion combinatoire.
Les réseaux artificiels ont été introduits et l'idée qu'ils pourraient rivaliser avec les machines de production a été rejetée par la communauté LISP lors de sa première proposition. Cependant, dans le contexte d'un succès considérable dans l'augmentation des ressources informatiques et des récents progrès de l'apprentissage automatique, beaucoup ont commencé à poser des questions qui avaient été mises de côté au XXe siècle.
Nous savons déjà que les réseaux artificiels peuvent apprendre des fonctions logiques et algébriques arbitraires, dont beaucoup sont PAC Learnable. 1 Étant donné l'environnement d'apprentissage approprié, l'apprentissage de l'inférence logique est clairement quelque chose que le cortex cérébral peut faire à son stade actuel d'évolution. Beaucoup de gens se demandent si les réseaux de neurones atteindront ce niveau de cognition.
Le fait que la recherche sur l'IA et l'apprentissage automatique ne se concentre pas sur l'acquisition par réseau artificiel de règles d'inférence logique, en grande partie parce que leur programmation dans un système comme DRools et d'autres systèmes de production couramment utilisés semble que l'approche plus rationnelle ne signifie pas qu'elle le sera toujours. La question est de savoir s'il existe un retour sur investissement suffisant pour faire ce qui peut être intéressant mais certainement coûteux, alors que d'autres solutions existent déjà.
Cette question est similaire à une autre question d'échange de pile d'intelligence artificielle sur la qualité de l'IA en mathématiques. L'une des réponses qui y est donnée s'applique ici.
Il est important de ne rejeter aucune approche pendant cette période, car l'intérêt récent pour l'IA a relancé non seulement les dépenses publiques mais aussi les dépenses commerciales. Ces dépenses augmentent le personnel, la puissance de calcul et l'incitation à surmonter des obstacles qui auraient pu être jugés insurmontables auparavant.
Notes de bas de page
[1] Le PAC Learning est un cadre pour déterminer la calculabilité pratique des algorithmes d'apprentissage étant donné les caractéristiques de la classe d'hypothèses qui peuvent être apprises en utilisant le modèle donné et la précision et la confiance attendues du processus d'apprentissage.
la source
Votre idée peut être réalisable en général, mais un réseau de neurones n'est probablement pas le bon outil de haut niveau à utiliser pour explorer ce problème.
La force d'un réseau de neurones est de trouver des représentations internes qui permettent une solution hautement non linéaire lors du mappage des entrées aux sorties. Lorsque nous formons un réseau de neurones, ces cartographies sont apprises statistiquement par la répétition d'exemples. Cela a tendance à produire des modèles qui interpolent bien quand on leur donne des données similaires à celles de l'ensemble d'apprentissage, mais qui extrapolent mal.
Les modèles de réseaux de neurones manquent également de contexte, de sorte que si vous utilisez un modèle génératif (par exemple un RNN formé sur des séquences qui créent une preuve valide ou intéressante), il peut facilement produire des déchets statistiquement agréables mais dénués de sens.
Ce dont vous aurez besoin, c'est d'un principe d'organisation qui vous permettra d'explorer et de confirmer les épreuves de manière combinatoire. En fait, quelque chose comme votre idée a déjà été fait plus d'une fois, mais je ne trouve pas de référence actuellement.
Rien de tout cela ne vous empêche d'utiliser un réseau de neurones au sein d'une IA qui recherche des preuves. Il peut y avoir des endroits dans une IA mathématique où vous avez besoin d'une bonne heuristique pour guider les recherches par exemple - par exemple dans le contexte X est Y sous-épreuve susceptible d'être intéressant ou pertinent. L'évaluation d'un score de probabilité est quelque chose qu'un réseau de neurones peut faire dans le cadre d'un schéma d'IA plus large. Cela ressemble à la façon dont les réseaux de neurones sont combinés avec l'apprentissage par renforcement.
Il peut être possible de construire votre idée entière à partir de réseaux de neurones en principe. Après tout, il y a de bonnes raisons de soupçonner que le raisonnement humain fonctionne de manière similaire en utilisant des neurones biologiques (il n'est pas prouvé que les neurones artificiels peuvent correspondre de cette façon). Cependant, l'architecture d'un tel système dépasse toute conception NN ou configuration de formation moderne. Il ne s'agira certainement pas simplement d'ajouter suffisamment de couches, puis d'alimenter les données.
la source
Ce que nous savons
Selon une page de la Banque mondiale , "Aujourd'hui, il y a environ 200 millions d'étudiants dans le monde, contre 89 millions en 1998". Au moins 1 sur 100 a, en tant qu'exigence mathématique, dû développer une preuve pour un théorème et vivre au moins 40 ans après.
Bien qu'il existe au moins 20 millions de réseaux de neurones qui peuvent prouver un théorème, ils sont loin d'exemples qui répondraient à cette question par l'affirmative. Ces réseaux de neurones sont biologiques, non artificiels, et ils ont surtout prouvé des théorèmes déjà prouvés, pas la conjecture de Collatz ou la conjecture de Riemann.
Ce que certains croient
Ceux qui croient que les dispositifs d'apprentissage en profondeur et basés sur l'attention seront rejoints par d'autres conceptions de systèmes d'apprentissage jusqu'à ce que les facultés du cerveau humain soient simulées et peut-être dépassées, incluraient probablement le théorème prouvant comme l'une de ces capacités humaines. Ceux-ci déclareraient probablement la logique et l'inférence des prédicats comme une autre fonction cognitive complexe qui sera réalisée dans les systèmes artificiels.
Ceux qui croient que certaines capacités sont imprégnées d'humains et sont des capacités réservées, peuvent déclarer que la logique et l'inférence des prédicats sont réservées aux seuls humains.
État d'avancement actuel
Il n'y a pas d'articles académiques indiquant la capacité de prouver même les preuves les plus simples en utilisant la logique et l'inférence des prédicats. Il est possible qu'un gouvernement ou une entreprise privée ait réussi à atteindre un certain niveau, mais cela n'a pas été divulgué.
L'idée que les réseaux artificiels, s'ils étaient développés de manière appréciable, pouvaient dépasser les systèmes de production, les systèmes d'IA basés sur des productions ou des règles, dans leurs domaines de plus grande efficacité a été proposée au début du développement de l'IA. Il était contesté à l'époque et contesté maintenant, mais les arguments ne sont pas mathématiques, donc rien n'indique clairement que cela soit impossible.
Il est certain que d'autres aspects cognitifs de la pensée humaine sont des objectifs importants de la recherche sur l'IA. Le dialogue, l'éducation automatisée, la planification, l'analyse stratégique et le pilotage de véhicules sont tous des aspects de la pensée supérieure qui exigent plus que le DQN et les approches de réseau basées sur l'attention, mais les efforts de recherche dans ces domaines sont appréciables et bien financés.
Approche potentielle
La recherche de capacités cognitives logiques devrait débuter des preuves déjà connues, bien plus simples que les conjectures mentionnées dans la question. Par exemple, il a été prouvé que la somme de deux entiers non négatifs doit être un autre entier non négatif. Dans le calcul des prédicats, cela peut être représenté par une chaîne de caractères.
Il dit que a et b étant membres de l'ensemble des nombres de comptage, que les s, définis comme la somme des deux, doivent également être membres de l'ensemble des nombres de comptage. Sa preuve peut également être représentée comme une séquence de chaînes de caractères de calcul de prédicat de premier ordre.
Pas de petit projet de recherche
Un tel exemple peut sembler simple à quelqu'un qui a suivi des années de cours de mathématiques et qui a construit des preuves. Ce n'est pas simple pour un enfant, et il est très difficile de faire converger un réseau artificiel vers une fonction qui applique toutes les règles d'inférence logique et incorpore des méta-règles pour arriver à la preuve d'un système formel tel que l'arithmétique entière.
Turing réseaux complets, tels que les RNN, auront certainement des avantages par rapport aux MLP (perceptrons multicouches). Les réseaux basés sur l'attention peuvent être une option de recherche raisonnable. Il y en a d'autres indiqués dans les références ci-dessous.
Une plate-forme informatique parallèle serait nécessaire pour la recherche, car le vecteur d'entrée peut être des centaines de kilo-octets. Il est difficile d'estimer la taille des exemples et le nombre nécessaire sans un an ou deux dans le processus de recherche.
La définition des nombres de comptage, le signe plus et le signe égal doivent d'abord être définis, et ces définitions et un certain nombre d'axiomes, postulats, lemmes et corollaires doivent faire partie de l'exemple d'entrée sous la forme formelle comme la proposition à être prouvé ci-dessus, avec cette proposition.
Et c'est le travail pour préparer un seul exemple. Vous auriez besoin de milliers pour former des connaissances intuitives sur les règles d'inférence dans un réseau profond. (J'ai choisi le mot INTUITIF très délibérément pour des raisons théoriques qui prendraient au moins une centaine de pages pour bien expliquer.)
Ce n'est pas un petit projet car l'ensemble de données d'exemple doit avoir au moins quelques milliers de cas, et chaque cas, bien qu'il puisse partager une certaine théorie, doit être mis en place afin que la proposition soit parfaitement formée et que le corps de théorie nécessaire soit également présenté. en parfait état à l'entrée de chaque itération d'entraînement.
Je suppose qu'il faudrait environ dix ans à une équipe de chercheurs brillants ayant une compréhension appropriée des réseaux profonds, de la convergence et du calcul des prédicats pour former un réseau à fournir des preuves viables en réponse à de simples propositions mathématiques.
Mais ce ne serait pas une petite réussite
Cela peut sembler une entreprise absurde pour certains, mais ce serait la première fois que quelqu'un apprend à un ordinateur à être logique. Il a fallu à la nature juste sous l'âge de la terre pour enseigner l'inférence logique à un organisme, Socrate.
Les gens supposent que parce qu'un ordinateur est composé de circuits numériques qui exécutent la logique par conception, les ordinateurs sont logiques. Quiconque a été dans le développement de logiciels pendant des décennies avec une tendance à penser plus profondément que le piratage pour le plaisir ou l'argent sait différemment. Même après une programmation minutieuse, les ordinateurs ne simulent pas d'inférence logique et ne peuvent pas corriger leur propre comportement programmé pour tout bug arbitraire. En fait, la plupart des développements logiciels aujourd'hui consistent à corriger des bogues.
La simulation de la pensée logique serait une étape majeure vers la simulation de la cognition et d'un éventail plus large de capacités humaines.
Les références
Apprendre à composer des réseaux de neurones pour répondre aux questions Jacob Andreas, Marcus Rohrbach, Trevor Darrell et Dan Klein UC, Berkeley 2016 https://arxiv.org/pdf/1601.01705.pdf
Apprendre plusieurs couches de représentation Geoffrey E. Hinton Département d'informatique, Université de Toronto 2007 http://www.csri.utoronto.ca/~hinton/absps/ticsdraft.pdf
Neural Turing Machine (slideshow) Auteur: Alex Graves, Greg Wayne, Ivo Danihelka Présenté par: Tinghui Wang (Steve) https://eecs.wsu.edu/~cook/aiseminar/papers/steve.pdf
Neural Turing Machines (papier) Alex Graves, Greg Wayne, Ivo Danihelka https://pdfs.semanticscholar.org/c112/6fbffd6b8547a44c58b192b36b08b18299de.pdf 2014
Renforcement de l'apprentissage, Neural Turing Machines Wojciech Zaremba, Ilya Sutskever ICLR conference paper https://arxiv.org/pdf/1505.00521.pdf?utm_content=buffer2aaa3&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer 2016
Machine de Turing Neural Dynamique avec des Schémas d'Adressage Continus et Discrets Caglar Gulcehre1, Sarath Chandar1, Kyunghyun Cho2, Yoshua Bengio1 https://arxiv.org/pdf/1607.00036.pdf 2017
Un réseau neuronal flou auto-construit en ligne et ses applications Chia-Feng Juang et Chin-Teng Lin IEEE Transactions on Fuzzy Systems, v6, n1 1998 https://ir.nctu.edu.tw/bitstream/11536/ 32809/1 / 000072774800002.pdf
Gated Graph Sequence Neural Networks Yujia Li et Richard Zemel ICLR conference paper 2016 https://arxiv.org/pdf/1511.05493.pdf
Construire des machines qui apprennent et pensent comme des personnes Brenden M. Lake, Tomer D. Ullman, Joshua B. Tenenbaum et Samuel J. Gershman Behavioral and Brain Sciences 2016 https://arxiv.org/pdf/1604.00289.pdf
Réseaux neuronaux profonds pré-formés dépendant du contexte pour la reconnaissance vocale à grand vocabulaire George E. Dahl, Dong Yu, Li Deng et Alex Acero Transactions IEEE sur l'audio, le discours et le traitement du langage 2012 https://s3.amazonaws.com/ academia.edu.documents / 34691735 / dbn4lvcsr-transaslp.pdf? AWSAccessKeyId = AKIAIWOWYYGZ2Y53UL3A & Expires = 1534211789 & Signature = 33QcFP0JGFeA% 2FTsqjQZpXYrIGm8% 3D_repon_Force_Conf
Incorporation d'entités et de relations pour l'apprentissage et l'inférence dans les bases de connaissances Bishan Yang1, Wen-tau Yih2, Xiaodong He2, Jianfeng Gao2 et Li Deng2 Document de conférence ICLR 2015 https://arxiv.org/pdf/1412.6575.pdf
Un algorithme d'apprentissage rapide pour les réseaux de croyances profondes Geoffrey E. Hinton, Simon Osindero, Yee-Whye Teh (communiqué par Yann Le Cun) Neural Computation 18 2006 http://axon.cs.byu.edu/Dan/778/papers/Deep % 20Réseaux / hinton1 * .pdf
FINN: A Framework for Fast, Scalable Binarized Neural Network Inference Yaman Umuroglu, et al 2016 https://arxiv.org/pdf/1612.07119.pdf
De l'apprentissage machine au raisonnement machine Léon Bottou 08/02/2011 https://arxiv.org/pdf/1102.1808.pdf
Deep learning Yann LeCun1,2, Yoshua Bengio3 & Geoffrey Hinton4,5 Nature vol 521 2015 https://www.evl.uic.edu/creativecoding/courses/cs523/slides/week3/DeepLearning_LeCun.pdf
la source
C'est possible, mais ce n'est probablement pas une bonne idée.
La preuve logique est l'un des domaines les plus anciens de l'IA, et il existe des techniques spécialement conçues qui n'ont pas besoin d'être formées et qui sont plus fiables qu'une approche de réseau de neurones, car elles ne reposent pas sur un raisonnement statistique et utilisez plutôt l'ami du mathématicien: le raisonnement déductif.
Le champ principal est appelé " Preuve de Théorème Automatisé ", et il est suffisamment ancien pour être un peu calcifié en tant que domaine de recherche. Il n'y a pas beaucoup d'innovations, mais certaines personnes y travaillent encore.
L'idée de base est que la démonstration du théorème n'est qu'une recherche guidée classique ou heuristique: vous partez d'un état composé d'un ensemble de prémisses acceptées. Ensuite, vous appliquez toute règle logique d'inférence valide pour générer de nouveaux locaux qui doivent également être vrais, élargissant ainsi l'ensemble des connaissances dont vous disposez. Finalement, vous pouvez prouver une prémisse souhaitée, soit par des recherches énumératives comme la première recherche en largeur ou l' approfondissement itératif , soit par quelque chose comme A * avec une heuristique spécifique au domaine. De nombreux solveurs utilisent également une seule règle logique ( unification ) car elle est complète et réduit le facteur de branchement de la recherche.
la source