Quels sont les goulots d'étranglement dans le domaine de l'apprentissage profond ?

663601e6cfbd4d5f064d524398cd9302.png

来源:知乎 算法进阶
本文约8000字,建议阅读15分钟
本文从计算机视觉的角度说一下自己对深度学习瓶颈的看法。

Ces dernières années, l'apprentissage en profondeur est devenu l'étoile la plus éblouissante dans le domaine informatique, et a dérivé de nombreuses applications pratiques, principalement dans les domaines du raisonnement et de la prise de décision. Cependant, comment faire plus de progrès dans l'apprentissage en profondeur au-delà du traitement de l'image, de la parole et du langage naturel, comme la compréhension des émotions humaines, l'imitation de la conscience et de la motivation, impliquera de nombreux problèmes plus profonds, qui sont actuellement la boîte noire de l'apprentissage en profondeur qui ne peut pas être ouvert Rubik's Cube.

Auteur : Mileistone

source:

https://www.zhihu.com/question/40577663/answer/309571753

Parce que je connais bien la vision par ordinateur, je vais parler de mon point de vue sur le goulot d'étranglement de l'apprentissage en profondeur du point de vue de la vision par ordinateur.

1. L'apprentissage en profondeur manque de soutien théorique


Les idées de la plupart des articles sont avancées par intuition, et il y a peu de soutien théorique derrière elles. Valider une idée efficace par des expériences n'est pas nécessairement la direction optimale. Tout comme sgd dans le problème d'optimisation, chaque étape est optimale, mais d'un point de vue global, elle n'est pas optimale.

Sans support théorique, les progrès dans le domaine de la vision par ordinateur sont comme SGD, qui est efficace mais lent ; s'il y a un support théorique, les progrès dans le domaine de la vision par ordinateur seront aussi efficaces et rapides que la méthode de Newton.

Le modèle CNN lui-même a de nombreux hyperparamètres, tels que le nombre de couches définies, le nombre de filtres définis pour chaque couche, si chaque filtre est en profondeur ou en points, ou conv ordinaire, quelle est la taille du noyau du filtre, et bientôt.

La combinaison de ces hyperparamètres est un grand nombre, et il est presque impossible de la vérifier uniquement par des expériences. Au final, nous ne pouvons essayer que certaines combinaisons basées sur l'intuition, donc le modèle CNN actuel ne peut que dire que l'effet est très bon, mais il n'est certainement pas optimal, que ce soit l'effet ou l'efficacité.

En prenant l'efficacité comme exemple, resnet fonctionne très bien maintenant, mais la quantité de calcul est trop importante et l'efficacité n'est pas élevée. Cependant, il est certain que l'efficacité de resnet peut être améliorée, car il doit y avoir des paramètres redondants et des calculs redondants dans resnet, tant que nous trouvons ces parties redondantes et les supprimons, l'efficacité augmentera naturellement. L'une des méthodes les plus simples que la plupart des gens utiliseront consiste à réduire le nombre de canaux dans chaque couche.

Si un ensemble de théories peut estimer la capacité du modèle, la capacité du modèle requise pour une tâche. Ensuite, lorsque nous sommes confrontés à une tâche, l'utilisation d'un modèle qui correspond à la capacité peut améliorer l'effet et l'efficacité.

2. De plus en plus de réflexions d'ingénieur sur le terrain


Parce que l'apprentissage en profondeur lui-même manque de théorie, la théorie de l'apprentissage en profondeur est un problème difficile à résoudre. Les cadres d'apprentissage en profondeur deviennent de plus en plus stupides. Il existe des implémentations open source de divers modèles sur Internet. Maintenant, de nombreuses personnes dans l'industrie utilisent l'apprentissage en profondeur comme Lego .

Face à une tâche, git clone les implémentations open source des meilleurs modèles actuels, examinez les instructions de construction (c'est-à-dire les documents) de ces modèles, et réfléchissez aux blocs de construction qui peuvent être modifiés, et si l'ordre du bâtiment les blocs peuvent être modifiés De même, l'ajout de quelques blocs de construction peut améliorer l'effet, la réduction de quelques blocs de construction peut augmenter l'efficacité, etc.

Après y avoir réfléchi, l'expérience a été lancée et l'effet de l'expérience a été bon. Lorsque l'article a été publié, l'effet de l'expérience n'était pas comme prévu, alors j'ai réessayé.

Tout ce processus ressemble beaucoup à une pensée d'ingénieur, reposant essentiellement sur le sentiment d'essais et d'erreurs et sur une réflexion profonde sur l'absence. Peu de gens réfléchissent à ce qui ne va pas avec le modèle d'un point de vue théorique et aux améliorations qui devraient être apportées au modèle en réponse à ce problème.

Pour donner un exemple extrême, une donnée est en fait une fonction linéaire, mais nous essayons toujours de l'ajuster avec une fonction quadratique. Si nous constatons que le résultat de l'ajustement n'est pas bon, nous utilisons alors une fonction cubique pour l'ajuster. Si ça échoue trois fois, ou quatre fois, puis on abandonne. . Nous réfléchissons rarement à la distribution de ces données. Pour une telle distribution, y a-t-il une fonction qui peut l'ajuster ? Si oui, quelle fonction est la plus appropriée.

L'apprentissage en profondeur devrait être une science, et il doit être confronté à la pensée scientifique, afin d'obtenir de meilleurs résultats.

3. Les échantillons contradictoires sont un problème d'apprentissage en profondeur, mais pas le goulot d'étranglement de l'apprentissage en profondeur


Je pense que bien que les exemples contradictoires soient un problème d'apprentissage en profondeur, ils ne sont pas le goulot d'étranglement de l'apprentissage en profondeur. Il existe également des exemples contradictoires dans l'apprentissage automatique. Comparé à l'apprentissage en profondeur, l'apprentissage automatique a plus de support théorique, mais il ne parvient toujours pas à résoudre le problème des exemples contradictoires.

La raison pour laquelle nous pensons que les échantillons contradictoires sont le goulot d'étranglement de l'apprentissage en profondeur est que les images sont très intuitives. Lorsque nous voyons deux images presque identiques, le modèle d'apprentissage en profondeur donne finalement deux résultats de classification complètement différents, ce qui a un grand impact sur nous. .

Si vous modifiez la valeur d'un élément dans une fonctionnalité dont la catégorie d'origine est A, puis changez la classification de svm en B, nous nous sentirons désapprouvés, "Vous avez modifié la valeur d'un élément dans cette fonctionnalité, et son résultat de classification change normalement ah".

作者:PENG Bo
https://www.zhihu.com/question/40577663/answer/413331053

Personnellement, je pense que le goulot d'étranglement actuel de l'apprentissage en profondeur peut résider dans la mise à l'échelle. Oui, vous avez bien entendu.

Nous disposons déjà d'énormes quantités de données et d'une puissance de calcul massive, mais il nous est difficile de former des modèles de réseau profond à grande échelle (modèles de niveau Go à To), car BP est difficile à paralléliser à grande échelle. Si le parallélisme des données ne suffit pas, le taux d'accélération sera considérablement réduit après l'utilisation du parallélisme des modèles. Même après avoir ajouté de nombreuses améliorations, les besoins en bande passante du processus de formation sont encore trop élevés.

C'est pourquoi le DGX-2 de nVidia n'a que 16 V100, mais il se vendra 2,5 millions. Car bien que la même puissance de calcul totale puisse être assemblée avec beaucoup moins d'argent, il est difficile de construire une machine capable d'utiliser efficacement autant de cartes graphiques.

9a7588240bbdb3d8c6e87f2522e1a61e.jpeg

Et les GPU à l'intérieur de DGX-2 ne sont pas entièrement interconnectés :

215814f5c74f2776918499d64ce878bd.jpeg

Un autre exemple est la formation d'AlphaGo Zero. Seul un petit nombre de TPU sont réellement utilisés pour la formation. Même s'il existe des dizaines de milliers de TPU, il n'y a aucun moyen de les utiliser efficacement pour former le réseau.

Si l'apprentissage en profondeur peut augmenter en permanence la vitesse d'entraînement en empilant des machines sans cerveau (tout comme l'exploitation minière peut empiler des machines minières), de sorte qu'un réseau multitâche à très grande échelle puisse être utilisé pour apprendre toutes sortes de données au niveau PB EB , alors ce qui peut être réalisé L'effet est susceptible d'être surprenant.

Ensuite, nous regardons la bande passante actuelle :

https://en.wikipedia.org/wiki/List_of_interface_bit_rates

En 2011, le PCI-E 3.0 x16 est sorti, soit 15,75 Go/s. Maintenant, les ordinateurs grand public sont toujours à ce niveau, et le 4.0 n'est toujours pas sorti, mais c'est peut-être parce que tout le monde n'est pas motivé (les jeux ne nécessitent pas autant bande passante).

NVLink 2.0 est à 150 Go/s, ce qui n'est toujours pas suffisant pour une parallélisation à grande échelle.

5b20d12981238163542e6e646c2b4fc5.jpeg

Vous pouvez dire que la bande passante augmentera progressivement.

Génial, alors voici la question la plus étrange, qui, je pense, mérite d'être méditée :

La puce AI a dépensé tant d'efforts et est toujours limitée en bande passante, alors pourquoi le cerveau humain n'est-il pas limité en bande passante ?

Mon avis est:

  • La parallélisation du cerveau humain est si bien faite que seule une bande passante de niveau kB est nécessaire entre les neurones. Cela vaut la peine d'apprendre pour les chercheurs sur les puces et les algorithmes d'IA.

  • La méthode d'apprentissage du cerveau humain est beaucoup plus grossière que celle de BP, elle peut donc être parallélisée à une si grande échelle.

  • La méthode d'apprentissage du cerveau humain est décentralisée, à mon avis, elle est plus proche d'une méthode basée sur l'énergie.

  • D'autres caractéristiques du cerveau humain peuvent être imitées par l'apprentissage par transfert actuel + apprentissage multi-tâches + apprentissage continu.

  • Le cerveau humain utilise également le langage pour aider à penser. Sans langage, il est difficile pour le cerveau humain d'apprendre rapidement des choses complexes.

作者:Géant
https://www.zhihu.com/question/40577663/answer/1974793135

Mon domaine de recherche est principalement le traitement du langage naturel (TAL).Du point de vue du TAL, combiné à ma propre recherche scientifique et à mon expérience de travail, je résumerai les 8 goulots d'étranglement typiques derrière la prospérité et la fascination de l'apprentissage en profondeur.

1. Forte dépendance aux données étiquetées

Comme nous le savons tous, qu'il s'agisse de classification traditionnelle, d'appariement, d'étiquetage de séquences, de tâches de génération de texte ou de tâches intermodales récentes telles que la compréhension d'images, l'analyse des sentiments audio, Text2SQL, etc., partout où des modèles d'apprentissage en profondeur sont utilisés, il existe un forte dépendance aux données étiquetées .

C'est pourquoi l'effet du modèle d'apprentissage en profondeur n'est pas satisfaisant en raison de données insuffisantes au stade précoce ou au stade du démarrage à froid. Les modèles ont besoin de plus d'exemples que les humains pour apprendre de nouvelles choses.

Bien qu'il y ait eu récemment des travaux à faibles ressources ou même à ressources nulles (comme deux articles sur la génération de dialogue [1-2]), en général ces méthodes ne sont applicables qu'à certains domaines spécifiques et sont difficiles à promouvoir directement.

2. Le modèle est dépendant du domaine et difficile à migrer directement

Immédiatement après le sujet précédent, lorsque nous avons obtenu des données étiquetées à grande échelle grâce à des itérations à long terme par le biais d'équipes d'étiquetage ou de crowdsourcing, et formé le modèle, mais lorsque le scénario commercial a été modifié, l'effet du modèle a de nouveau chuté.

Ou le modèle ne fonctionne bien que sur l'ensemble de données papier et ne peut pas reproduire des effets similaires sur le reste des données. Ce sont des questions très courantes.

L'amélioration de la transférabilité des modèles est un sujet très précieux dans l'apprentissage en profondeur, qui peut réduire considérablement le coût de l'étiquetage des données. Par exemple, un de mes camarades de classe est très expérimenté dans la course de karts. Maintenant que le nouveau jeu mobile QQ Speed ​​est sorti, il peut apprendre par analogie après deux tours, et monter facilement sur Xingyao et Chariot, sans avoir à repartir du pratique de dérive la plus primitive.

Bien que la méthode de pré-formation + ajustement PNL atténue ce problème, la transférabilité de l'apprentissage en profondeur doit encore être améliorée.

3. Le modèle Big Mac a des besoins élevés en ressources

Bien que des modèles géants aux effets étonnants soient apparus fréquemment dans le domaine du PNL au cours des deux dernières années, ils ont découragé les chercheurs ordinaires. Indépendamment du coût de dizaines de milliers de pré-formation (BERT-> 1,2w$, GPT2->4,3w$) ou même de millions de dollars, l'utilisation de poids de pré-formation a des exigences élevées sur le GPU et d'autres matériels.

Car le nombre de paramètres du grand modèle augmente de façon exponentielle : BERT (110 millions), T5 (11 milliards), GPT3 (150 milliards), Pangu (200 milliards)... Le développement de petits modèles performants est un autre aspect important de apprentissage en profondeur sens de la valeur.

Heureusement, il y a eu quelques bons travaux légers dans le domaine du NLP, tels que TinyBERT[3], FastBERT[4], etc.

4. Le modèle manque de bon sens et de capacité de raisonnement

Comme mentionné par le sujet, la compréhension actuelle des émotions humaines par l'apprentissage en profondeur est encore au niveau sémantique superficiel, sans bonne capacité de raisonnement et incapable de vraiment comprendre les demandes des utilisateurs. D'un autre côté, comment intégrer efficacement le bon sens ou les connaissances de base dans la formation sur modèle est également l'un des goulots d'étranglement que l'apprentissage en profondeur doit surmonter.

Un jour dans le futur, en plus d'écrire des poèmes, de résoudre des équations et de jouer au Go, le modèle d'apprentissage en profondeur pourra également répondre à de courtes questions de bon sens des parents, et il sera vraiment considéré comme "intelligent".

5. Scénarios d'application limités

Bien que la PNL comporte de nombreux sous-domaines, les meilleures directions de développement restent la classification, la correspondance, la traduction et la recherche, et les scénarios d'application de la plupart des tâches sont encore limités.

Par exemple, les chatbots sont généralement utilisés comme module ascendant du système de questions-réponses et répondent avec un discours anthropomorphique standard lorsque la FAQ ou le module d'intention ne répond pas à la question de l'utilisateur. Cependant, si les chatbots sont directement appliqués dans le domaine ouvert, il est facile de passer de l'intelligence artificielle à l'arriération mentale artificielle, ce qui rend les utilisateurs dégoûtés.

6. Absence de schéma de recherche automatique d'hyperparamètres efficace

Il existe de nombreux hyperparamètres dans le domaine de l'apprentissage profond. Bien qu'il existe des outils de réglage automatique des paramètres tels que le nni de Microsoft[5], ils reposent toujours sur l'expérience personnelle des ingénieurs en algorithmes ; en raison de la longue durée de formation, le processus de vérification des paramètres nécessite un coût en temps élevé.

De plus, AutoML nécessite toujours une puissance de calcul à grande échelle pour produire rapidement des résultats, il faut donc également veiller à augmenter l'échelle de calcul.

7. Certains papiers ne sont orientés que vers le concours SOTA

Ce sera la pratique de nombreux chercheurs (dont moi une fois) de présenter un jeu bien connu à SOTA, puis de publier un article. Un pipeline typique est :

  • Faites glisser la liste à la première place à n'importe quel prix des ressources;

  • Commencez à revenir en arrière et expliquez pourquoi cette méthode fonctionne si bien (un peu comme une auto-justification).

Bien sûr, cela ne veut pas dire que cette méthode n'est pas bonne, mais qu'il ne faut pas seulement viser à faire des classements quand on fait des recherches. Parce que dans de nombreux cas, il est vraiment inutile d'améliorer le score de 0,XX % après la virgule, et il est difficile d'apporter des avantages au développement existant de l'apprentissage en profondeur.

Cela explique également que l'intervieweur ait demandé "comment obtenir un bon résultat dans une certaine compétition", et ait été dégoûté lorsqu'il a entendu la voie de "l'intégration multi-mode" et d'autres modèles empilés. Étant donné que la scène réelle est limitée par des facteurs tels que les ressources et le temps, cela ne se fait généralement pas de cette façon.

8. Pas très interprétable

Le dernier point est également un problème courant dans ce domaine : l'ensemble du réseau d'apprentissage en profondeur est comme une boîte noire, manquant d'interprétabilité claire et transparente.

Par exemple, pourquoi le niveau de confiance d'être classé comme gibbon est-il aussi élevé que 99,3 % en ajoutant une petite perturbation sonore (équivalente à un exemple contradictoire) à l'image du panda géant ?

cd593f7411e599b4de268bdd643c947a.jpeg

Visualiser les fonctionnalités apprises par certains modèles (CNN, Attention, etc.) peut nous aider à comprendre comment le modèle apprend. Auparavant, le domaine de l'apprentissage automatique utilisait également des techniques de réduction de dimensionnalité (t-SNE, etc.) pour comprendre la distribution des caractéristiques de grande dimension.

Des recherches plus approfondies sur l'interprétabilité de l'apprentissage en profondeur peuvent se référer à [6].

Récemment , les lauréats du prix Turing 2018 Bengio, LeCun et Hinton ont été invités par ACM à se réunir pour examiner les concepts de base de l'apprentissage en profondeur et certaines réalisations révolutionnaires, et ont également parlé des défis auxquels est confronté le développement futur de l'apprentissage en profondeur.

Auteur : utilisateur de Zhihu
https://www.zhihu.com/question/40577663/answer/224699031

Après avoir lu quelques réponses, j'ai l'impression que ce que tout le monde a dit est très raisonnable, mais j'ai toujours l'impression que le goulot d'étranglement mentionné par beaucoup de gens est le goulot d'étranglement du "machine learning", et non le goulot d'étranglement du "deep learning". Je vais vous donner une réponse forte ci-dessous.

Apprentissage en profondeur, profond est l'apparence, pas le but. La théorie de l'approximation universelle prouve qu'une seule couche cachée est nécessaire pour s'adapter à n'importe quelle fonction, ce qui montre que le foyer n'est pas profond. Apprentissage en profondeur par rapport à l'apprentissage automatique traditionnel : l'apprentissage en profondeur consiste à apprendre des représentations. C'est-à-dire que les caractéristiques essentielles (représentation) des données sont apprises à travers une structure hiérarchique bien conçue.

En parlant de goulots d'étranglement, l'apprentissage en profondeur est également un type d'apprentissage automatique, et il a également le goulot d'étranglement de l'apprentissage automatique lui-même. Par exemple, il dépend fortement des données. C'est "l'intelligence comportementale" des données plutôt que l'intelligence artificielle avec une réelle conscience de soi. Les réponses à ces questions ci-dessus en disent long.

En plus de cela, il a des goulots d'étranglement uniques.

  1. Par exemple, la structure des fonctionnalités est difficile à modifier. Le format des données (taille, longueur, canal de couleur, format de dictionnaire de texte, etc.) est exigeant. L'extracteur de fonctionnalités formé n'est pas si facile à transférer vers d'autres tâches.

  2. C'est très instable. Par exemple, dans les tâches NLP, lors de la génération de texte (QA), de l'annotation d'images et d'autres travaux, le contenu généré vous rendra parfois submergé. Mais cela peut souvent être surprenant. Son incontrôlabilité le rend donc peu utilisé dans les applications d'ingénierie. De nombreuses applications qui sacrifient le rappel et la précision ne peuvent pas être mises en œuvre avec un apprentissage en profondeur, sinon elles sont sujettes au danger. En revanche, la méthode basée sur des règles est beaucoup plus fiable. Au moins, si quelque chose ne va pas, vous pouvez le déboguer.

  3. Il est difficile de corriger les correctifs, et si quelque chose ne va pas, cela dépend essentiellement de la formation aux nouveaux paramètres. Il existe de nombreuses difficultés potentielles rencontrées dans le processus de candidature.

  4. L'optimisation des modèles profonds repose trop sur l'expérience personnelle. Les trois principales métaphysiques du monde : l'astrologie occidentale, le Zhouyi oriental et l'apprentissage en profondeur.

  5. La structure du modèle devient de plus en plus complexe et il devient de plus en plus difficile d'intégrer différents systèmes. C'est comme si des super-soldats étaient constamment formés, mais ils ne parlent pas la langue pour former une super-armée.

  6. Problèmes d'informations sensibles. Si les données utilisées dans le modèle d'apprentissage ne sont pas désensibilisées, il est possible d'essayer des informations sensibles grâce à certaines méthodes.

  7. problème d'attaque. L'existence de l'échantillon contradictoire a maintenant été confirmée. La création d'exemples contradictoires peut tuer directement les algorithmes existants. Cependant, il estime que la génération d'échantillons contradictoires est causée par le fait que l'extraction de caractéristiques n'apprend pas les caractéristiques de flux des données. En d'autres termes, un certain degré de surajustement apporte ce problème,

  8. Cependant, le plus gros problème à l'heure actuelle est la demande de données massives. En raison de la nécessité d'apprendre la vraie distribution, nos données ne sont qu'une petite fraction échantillonnée à partir de la vraie distribution. Si vous voulez que le modèle se rapproche vraiment de la vraie distribution, vous avez besoin d'autant de données que possible. La demande de volume de données a augmenté et de nombreuses questions se posent : d'où viennent les données ? Où les données existent-elles ? Comment laver les données ? Qui va étiqueter les données ? Comment s'entraîner sur une grande quantité de données ? Comment arbitrer entre coût (équipement, données) et effet ?

  9. Prolongé par l'article 8. L'apprentissage en profondeur qui nécessite des quantités massives de données est-il vraiment de l'"intelligence artificielle" ? En tout cas, je n'y crois pas. Le cerveau humain peut généraliser avec des connaissances limitées, plutôt que de simplement utiliser des directives conçues par l'homme pour diriger l'apprentissage automatique vers la distribution des espaces de fonctionnalités. Par conséquent, la véritable intelligence artificielle ne devrait pas avoir une si grande demande de données et de calcul ! (Il s'agit en fait d'un problème d'apprentissage automatique)

Bref, de nombreux facteurs limitent son application. Mais d'un point de vue optimiste, vous n'avez pas peur des problèmes et ils peuvent toujours être résolus.

Auteur : utilisateur anonyme
https://www.zhihu.com/question/40577663/answer/311095389

Les graphes computationnels deviennent de plus en plus complexes et les conceptions deviennent de plus en plus contre-intuitives.

Que les innovations de Dropout/BN/Residual soient des astuces ou des astuces, vous pouvez au moins inventer une belle explication intuitive pour vous tromper, et elles sont également appliquées avec succès dans des scénarios et des tâches complètement différents. L'année dernière, il n'y avait pratiquement pas de trucs nouveaux et utiles de ce niveau. La population d'alchimistes est de plus en plus grande, mais l'astuce universelle n'a pas été découverte, ce qui montre que le champ a atteint un goulot d'étranglement et que les pêches faciles à cueillir ont été cueillies.

Le potentiel de la structure a-t-il été exploité ? Ou n'avons-nous pas trouvé une tâche plus générale et représentative comme terreau de nouveaux tours ? Telles sont les questions auxquelles la recherche DL doit répondre. Maintenant, il semble que la forme ne soit pas optimiste. La recherche DL traditionnelle repose sur la modification de quelques lignes et l'ajout de quelques couches supplémentaires. Il est de plus en plus difficile de publier des articles de haute qualité pour une tâche spécifique.

Mon opinion personnelle est que si DL veut vraiment porter le chapeau de l'intelligence artificielle, alors il doit faire des choses qui sont modifiées intelligemment. Maintenant, il est artificiellement divisé en NLP/CV/ASR selon les scénarios d'application. Après tout, il y a une limite supérieure pour l'ajustement approximatif. Il n'a également rien à voir avec la façon dont les humains acquièrent l'intelligence.

Auteur : He Zhiyuan
https://www.zhihu.com/question/40577663/answer/224656397

Dites simplement ce que vous pensez. À mon avis, la plupart des modèles actuels d'apprentissage en profondeur, quelle que soit la complexité de la construction du réseau de neurones, font en fait la même chose :

Utilisez une grande quantité de données d'apprentissage pour ajuster une fonction objectif y=f(x).

x et y sont en fait l'entrée et la sortie du modèle, par exemple :

  • Problème de classification d'images. A ce moment, x est généralement une matrice numérique d'image de largeur*hauteur*numéro de canal, et y est la catégorie de classification.

  • Problème de reconnaissance vocale. x est le signal d'échantillonnage vocal, et y est le texte correspondant à la voix.

  • traduction automatique. x est une phrase dans la langue source et y est une phrase dans la langue cible.

Et "f" représente le modèle d'apprentissage en profondeur, tel que CNN, RNN, LSTM, encodeur-décodeur, encodeur-décodeur avec attention, etc. Par rapport aux modèles d'apprentissage automatique traditionnels, les modèles d'apprentissage en profondeur ont généralement deux caractéristiques :

  • Le modèle a une grande capacité et de nombreux paramètres ;

  • De bout en bout (de bout en bout).

Avec l'aide de l'accélération du calcul GPU, le deep learning peut optimiser de bout en bout les modèles de grande capacité, surpassant ainsi les méthodes traditionnelles en termes de performances.C'est la méthodologie de base du deep learning.

Alors, quels sont les inconvénients de cette approche ? Personnellement, je pense qu'il y a les points suivants.

1. L'efficacité de la formation f n'est pas élevée

L'efficacité de l'entraînement se manifeste sous deux aspects : Premièrement, il faut beaucoup de temps pour entraîner le modèle. Comme nous le savons tous, l'apprentissage en profondeur doit utiliser le GPU pour accélérer la formation, mais même ce temps de formation se compte en heures ou en jours. Si la quantité de données utilisées est importante et que le modèle est complexe (comme les modèles de reconnaissance faciale et de reconnaissance vocale avec un échantillon de grande taille), le temps de formation sera calculé en semaines, voire en mois.

Un autre inconvénient de l'efficacité de la formation est que le taux d'utilisation des échantillons n'est pas élevé. Pour donner un petit exemple : l'image est jaune. Pour les humains, il leur suffit de regarder quelques "échantillons d'entraînement" pour apprendre à identifier la pornographie, et il est très simple de juger quelles images sont "pornographiques". Cependant, la formation d'un modèle de pornographie d'apprentissage en profondeur nécessite souvent des dizaines de milliers d'échantillons positifs + négatifs, tels que l'open source yahoo/open_nsfw de Yahoo. En général, les modèles d'apprentissage en profondeur ont besoin de beaucoup plus d'exemples que les humains pour apprendre la même chose. En effet, les humains ont déjà beaucoup de "connaissances préalables" dans ce domaine, mais pour les modèles d'apprentissage en profondeur, nous manquons d'un cadre unifié pour leur fournir les connaissances préalables correspondantes.

Alors dans les applications pratiques, comment résoudre ces deux problèmes ? Pour le problème du long temps de formation, la solution est d'ajouter du GPU ; pour le problème de l'utilisation des échantillons, il peut être résolu en ajoutant des échantillons étiquetés. Mais peu importe l'ajout de GPU ou l'ajout d'échantillons, l'argent est nécessaire , et l'argent est souvent un facteur important limitant les projets réels.

2. Le manque de fiabilité du f ajusté lui-même

Nous savons que l'apprentissage en profondeur peut largement surpasser les méthodes traditionnelles en termes de performances. Cependant, ces indicateurs de performance sont souvent au sens statistique et ne peuvent garantir l'exactitude des cas individuels. Par exemple, un modèle de classification d'images avec un taux de précision de 99,5 % signifie qu'il classe correctement 9 950 images de test sur 10 000. Cependant, pour une nouvelle image, même si la confiance de la classification en sortie du modèle est très élevée, nous ne pouvons pas le résultat est garanti correct. Car le niveau de confiance et le taux correct réel ne sont pas de nature équivalente. De plus, le manque de fiabilité de f se manifeste également dans la mauvaise interprétabilité du modèle.Dans le modèle profond, il nous est généralement difficile de comprendre clairement la signification de chaque paramètre.

Un exemple typique est " contre des échantillons générés" . Comme indiqué ci-dessous, le réseau de neurones reconnaît l'image d'origine comme un "panda" avec un niveau de confiance de 60 %, mais lorsque nous ajoutons un petit bruit à l'image d'origine, le réseau de neurones reconnaît l'image comme un "gibbon" avec une confiance niveau de 99 %. Cela montre que le modèle d'apprentissage en profondeur n'est pas aussi fiable qu'on l'imaginait.

244a66da539634a97f172504c1c1b90b.jpeg

Dans certains domaines clés, comme le domaine médical, si un modèle ne peut ni garantir l'exactitude des résultats ni bien expliquer les résultats, il ne peut servir que d '"assistant" pour l'homme et ne peut pas être largement utilisé.

3. Peut-on atteindre une "intelligence artificielle forte"

La dernière question est en fait un peu métaphysique, pas un problème technique spécifique, mais cela ne fait pas de mal d'en discuter.

Beaucoup de gens se soucient de l'intelligence artificielle, car ils se soucient de la réalisation d'une "intelligence artificielle forte". En suivant la méthode d'apprentissage en profondeur, nous semblons être capables de comprendre l'intelligence humaine de cette manière : x est les diverses entrées sensorielles des personnes, y est la sortie du comportement humain, comme la parole et le comportement, et f représente l'intelligence humaine. Alors, l'intelligence humaine peut-elle être entraînée en ajustant violemment f ? Différentes personnes ont des opinions différentes sur cette question, et ma tendance personnelle est que cela ne peut pas être fait. L'intelligence humaine peut être plus proche de l'abstraction conceptuelle, de l'analogie, de la pensée et de la création, plutôt que de sortir directement une boîte noire F. Les méthodes d'apprentissage en profondeur peuvent nécessiter un développement supplémentaire pour simuler l'intelligence réelle.

Auteur : Zhang Xu
https://www.zhihu.com/question/40577663/answer/225319588

Après avoir appris un peu de fourrure, joignez-vous à la fête.

1. L'apprentissage en profondeur nécessite une grande quantité de données, et si la quantité de données est trop petite, cela entraînera un surajustement sérieux.

2. L'apprentissage en profondeur n'a pas d'avantages évidents lorsqu'il s'agit de données tabulaires. Actuellement, il est relativement bon pour la vision par ordinateur, le traitement du langage naturel et la reconnaissance vocale. Dans le contexte des données tabulaires, tout le monde est plus disposé à utiliser des modèles tels que xgboost.

3. Le support théorique est faible et presque personne n'a travaillé sur les bases mathématiques de l'apprentissage en profondeur. Tout le monde fourmillait de papiers à eau modèles.

4. Dans la continuité de l'article précédent, l'ajustement des paramètres est fondamentalement tombé en mode alchimie, et l'ajustement des paramètres d'apprentissage en profondeur est déjà une métaphysique.

5. La consommation de ressources matérielles est importante et le GPU est déjà indispensable, mais le prix est élevé. L'apprentissage en profondeur est donc également appelé un jeu d'homme riche.

6. Il est encore difficile de se déployer et d'atterrir, en particulier dans les scénarios d'application mobile.

7. L'apprentissage non supervisé est encore difficile À l'heure actuelle, la formation en apprentissage profond est essentiellement basée sur la descente de gradient pour minimiser la fonction de perte, des étiquettes sont donc nécessaires. L'étiquetage de grandes quantités de données coûte cher. Bien sûr, il existe aussi des réseaux d'apprentissage non supervisé qui se développent rapidement, mais à proprement parler, GAN et VAE sont tous des apprentissages auto-supervisés.

Voyant que le premier article a été remis en question dans les commentaires, je voudrais exprimer mon opinion : un apprenant relativement fort ne s'inquiète généralement pas du sous-apprentissage. Le réseau de neurones a un grand nombre de paramètres, tant qu'il y a suffisamment de cycles d'entraînement, il peut théoriquement s'adapter complètement à l'ensemble d'entraînement. Mais ce n'est pas ce que nous voulons, et la capacité de généralisation d'un tel modèle sera très faible. La raison de ce résultat est que la quantité de données est trop petite pour représenter la distribution derrière l'ensemble des données. Dans ce cas, le réseau de neurones est forcé d'ajuster la distribution du sous-ensemble de données de l'ensemble d'apprentissage presque sans distinction, ce qui entraîne un surajustement.

Auteur : zzzz

https://www.zhihu.com/question/40577663/answer/224756448

Je pense que le plus gros goulot d'étranglement de l'apprentissage en profondeur est aussi son plus grand avantage, à la fois :


1.formation de bout en bout
2.approximation universelle

Son avantage réside dans sa forte capacité d'ajustement.


L'inconvénient est que nous n'avons presque aucun contrôle sur le processus d'ajustement intermédiaire. Tout ce que nous voulons qu'il apprenne ne peut être qu'à travers une grande quantité de données, un réseau plus complexe (module de démarrage, plus de couches), et plus de contraintes (décrochage, régularisation ), on s'attend à ce qu'il apprenne enfin un jugement équivalent à notre cognition.

Pour donner un exemple précis, nous voulons juger si l'image est un visage humain.

L'un des critères de jugement généraux est de savoir si l'image couvre 2 yeux, 1 nez et 1 bouche, et si les informations de position entre eux sont conformes à la logique géométrique. C'est exactement l'idée du dpm traditionnel, bien que chacune des étapes ci-dessus (sous-tâche) puisse être erronée, ce qui entraîne que les performances globales ne seront pas particulièrement bonnes. Mais relativement parlant, chaque sous-tâche n'a besoin que de moins de données d'entraînement, les résultats intermédiaires seront plus intuitifs et les résultats finaux répondent à nos normes de jugement humain.

Mais cette chose se fait par apprentissage en profondeur. A l'exception de quelques "connaissances préalables" (connaissances préalables), vous pouvez le définir à travers la structure du réseau (par exemple, cnn est en fait une caractéristique de l'invariant local cohérent + position de la caractéristique par défaut ), autre cognition Le réseau ne peut apprendre que par lui-même à travers une grande quantité de données. Certains éléments simples tels que la taille, la position et la rotation du visage peuvent également être simulés grâce à l'augmentation des données, mais pour la couleur de la peau, le motif d'arrière-plan et les facteurs capillaires, il est nécessaire de trouver des données supplémentaires pour élargir la compréhension du problème par le réseau. Mais même ainsi, nous ne pouvons pas être sûrs des connaissances de haut niveau que le réseau a résumées. Lorsque je lui montre une image du dieu Erlang qui ne figure pas dans les données d'entraînement, quel type de jugement portera-t-il.

C'est pourquoi les données sont l'élément le plus important de l'apprentissage en profondeur . Lorsque vos données ne sont pas suffisamment diversifiées, elles ne peuvent apprendre que des solutions triviales hacky ; mais lorsque les données sont suffisamment complètes, elles sont plus susceptibles de résumer des caractéristiques plus expressives que le simple nez et les yeux, mais nous ne pouvons pas les comprendre.

Lien d'origine :

https://www.zhihu.com/question/40577663/answer/902429604

Editeur : Wang Jing

26e7a4590d25da0c48fc58f06d4675e8.png

Je suppose que tu aimes

Origine blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/131297629
conseillé
Classement