Bonjour et bienvenue au cours sur l'apprentissage en profondeur dans le tutoriel d'aujourd'hui, nous parlons de
descente de gradient.
Ce que nous avons appris précédemment, c’est que pour qu’un réseau de neurones apprenne ce qui doit
se passer, c’est la propagation en retour, c’est-à-dire lorsque l’erreur, la différence ou la somme des différences au carré entre
y hat et Y est propagée en retour par le réseau neuronal et les poids sont ajustés en conséquence.
Nous avons donc vu cela et aujourd'hui nous allons apprendre exactement comment ces poids sont ajustés.
Alors jetons un coup d'oeil.
Ceci est notre version très simple d'un travail neuronal percept Trauner un réseau neuronal à lettre unique
et ce que nous pouvons voir ici est tout ce processus en action où nous avons une valeur d'entrée
alors nous devons attendre ensuite une fonction d'activation est appliqué.
Nous obtenons votre chapeau et nous le comparons ensuite à la valeur réelle pour laquelle nous calculons la fonction de coût.
Alors, comment pouvons-nous minimiser la fonction de coût.
Que pouvons-nous y faire.
Une approche pour le faire est une approche de force brute où nous prenons simplement toutes sortes de poids possibles et les examinons
pour voir lequel s’avère le mieux et ce que nous faisons est, par exemple, nous essaierions par exemple avec
un millier de poids et nous les essaierions pour obtenir quelque chose comme ceci pour
la fonction de coût. Il s'agit d'un graphique de l'axe Y de l'axe transversal de l'axe transversal de
l'axe vertical de y Hat.
Et parce que vous pouvez voir les formules que j'avais moins Y au carré.
Voilà à quoi ressemblerait la fonction de coût.
Et fondamentalement, vous constateriez que le meilleur est ici.
Donc, très simple approche très intuitive.
Pourquoi ne pas faire cette méthode de force brute.
Pourquoi ne pas simplement essayer mille coûts différents pour mille paramètres ou intrants différents pour les poids et voir lequel
fonctionne le mieux.
Vous trouverez le meilleur de cette façon.
Eh bien, si vous n’avez qu’une possibilité d’optimiser cela pourrait fonctionner, mais si vous augmentez le nombre de
poids, augmentez le nombre de Synopsys dans votre réseau, vous devez faire face à la malédiction de la dimensionnalité.
Et alors quelle est la cause de la dimensionnalité.
La meilleure façon de décrire ceci ou de l'expliquer consiste simplement à regarder un exemple pratique.
Alors rappelez-vous cet exemple que nous avons eu lorsque nous parlions de la façon dont les
réseaux de neurones fonctionnent réellement lorsque nous construisions ou exploitions un réseau de neurones pour une évaluation immobilière.
Donc, voici à quoi cela ressemblait quand il était déjà bien formé, quand il n’a pas été formé avant d’être formé
avant de savoir quels sont les poids.
Le réseau de neurones actuel ressemble à ceci.
Oui, parce que nous avons tous ces différents synopsis possibles et que nous devons encore former les poids.
Ici, nous avons 25 poids au total, donc quatre fois cinq au départ et
cinq autres poids au total.
Et voyons comment nous pourrions possiblement recourir à la force brutale.
C'est un réseau de neurones très simple ici.
Très simple, un seul coup ici et comment pourrions-nous forcer notre chemin brutal à travers un réseau de neurones de cette
taille.
Eh bien, il y a quelques calculs mathématiques simples.
Nous avons 25 poids.
Cela signifie donc que si nous avons mille combinaisons que nous allons résoudre pour
chaque poids, le nombre total de combinaisons sera de 1000 à la puissance 25 ou mille ou dix pour analyser cinq combinaisons différentes.
Voyons maintenant comment Sun pourrait éclairer le supercalculateur Fosse du monde à partir de juin 2016 et comment il aborderait
ce problème.
Cravate donc Sunway qui allume.
Il semble que ce soit un énorme bâtiment pour ce supercalculateur, qui a obtenu le record du
monde Guinness comme étant le supercalculateur Fosses.
À l’heure actuelle, c’est le supercalculateur le plus rapide au monde et, d’une certaine manière, les feux de croisement peuvent
fonctionner à une vitesse de 93 flops.
Flop signifie opération flottante par seconde.
Donc, il peut faire quatre vingt treize ans à l'huile de puissance.
Fois dix à la puissance de 15 opérations flottantes par seconde.
C'est à quelle vitesse c'est en comparaison.
Les ordinateurs moyens actuellement, ils aiment juste sur plusieurs gigaflops et ainsi de suite.
Donc ça ressemble un peu à ces gammes.
Moins que la lumière de type TEI Sunway.
Alors tout à coup, c'est un mensonge, il est à la pointe de la technologie.
Et supposons qu’il puisse effectuer un test, une combinaison de quatre sur votre propre réseau sur une disquette et une
opération flottante impossible, ce qui n’est pas pratique, car vous avez besoin
de plusieurs opérations flottantes pour tester un poids unique. peu.
Mais même donnons-lui une longueur d'avance.
Supposons qu'il puisse le faire dans un monde idéal. Il peut le faire en une opération flottante. Il peut effectuer un
test par opération flottante.
Cela signifie que Doddridge aura encore besoin de cinq.
Divisez par quatre-vingt-treize fois dix à environ 15 secondes pour exécuter tous ces tests de force brutale à travers
ce réseau.
Cela signifie donc qu’une période approximative a tendance à durer 58 secondes, ce qui équivaut à
une puissance de 50 ans.
C'est un nombre énorme qui est plus long que l'univers n'a existé et qui ne va certainement
pas simplement ce nombre est si énorme qu'il ne va tout simplement pas fonctionner pour nous du tout dans notre optimisation.
Alors on y va.
C'est un non non.
Même sur le feu arrière Sunway du superordinateur le plus rapide au monde.
Nous devons donc proposer une approche différente pour trouver le poids optimal.
En passant, notre réseau de neurones était très simple. Si les réseaux de neurones ressemblaient
à quelque chose comme ceci ou même plus grand que cela, alors oui, cela ne se produirait jamais du tout.
La méthode à étudier s'appelle donc descente de gradient et vous en avez peut-être déjà entendu parler.
Sinon, nous découvrirons ce que c'est maintenant.
Donc, notre fonction de coût et nous allons maintenant voir comment nous pouvons favoriser un moyen plus rapide de trouver la
meilleure option.
Disons donc que nous commençons quelque part, vous allez commencer quelque part.
Nous commençons donc là-bas.
Et à partir de ce point en haut à gauche, ce que nous allons faire, c'est examiner l'angle de notre fonction de coût à ce moment-là. Nous allons
simplement en arriver à ce que l'on appelle le gradient, car
il faut différencier.
Nous n'allons pas regarder les équations mathématiques.
Nous donnerons quelques conseils sur la lecture supplémentaire à la fin de la prochaine conférence.
Mais fondamentalement, il vous suffit de différencier pour savoir quelle est la pente en ce point spécifique et pour savoir si
la pente est positive ou négative.
Si la pente est négative, comme dans ce cas, vous allez en descente, donc à droite en descente,
à gauche en montée.
Et à partir de là, cela signifie que vous devez aller bien.
Fondamentalement, vous devez descendre.
Et c'est ce que nous allons faire.
Boom fait un pas en avant.
La balle roule à nouveau.
Même chose.
Vous calculez la pente et la pente est positive, ce qui signifie que la montée de l'écrivain est à gauche, en descente et que vous
devez aller à gauche et vous êtes sur le ballon.
Et encore une fois, vous calculez la pente et vous êtes tout le taureau, alors voici
comment vous trouvez, en termes simples, comment trouver le meilleur WAITES, la meilleure situation qui minimise votre fonction de coût.
Bien sûr, ce ne sera pas une approche très zigzague, mais il
est plus facile de s'en souvenir ou il est plus amusant de la regarder comme si elle tournait.
Mais en réalité, oui, cela va être comme une approche pas à pas,
une méthode de type zigzag.
Oui, et il y a beaucoup d'autres éléments.
Il y a des choses telles que, par exemple, pourquoi, par exemple, pourquoi baisse-t-on, pourquoi ne passe-t-il pas au-dessus de la ligne, de sorte qu'il aurait pu sortir de
cette tendance ascendante au lieu de descendre, et ainsi de suite, de sorte que certains paramètres
puissent être modifiés.
Et encore une fois, nous mentionnerons où vous pouvez en savoir plus à ce sujet.
Et en plus nous aurons ceci dans une application pratique mais dans l'approche intuitive la plus simple, c'est ce qui
se passe.
Nous allons au fond des choses en comprenant tout simplement la voie à suivre.
Au lieu de forcer brutalement à travers des milliers et des milliers et des millions et des milliards et des
quadrillions de combinaisons.
Nous pouvons simplement tout simplement regarder à chaque fois où se trouve quelle est la direction dans laquelle elle est inclinée, comme si vous imaginiez que
vous êtes debout sur une colline.
Dans quel sens sentez-vous que cela va vers le bas et quelle que soit la façon dont vous
le faites et que vous continuez de marcher comme vous voulez, éloignez-vous de 50 marches et que vous vous remettez à
l’évaluation.
OK et je vais faire 50 pas ou moins faire 40 pas de cette façon.
Donc, cela devient de moins en moins à mesure que vous vous rapprochez.
Voici donc un exemple de descente de gradient appliqué dans un espace à deux dimensions.
C'était donc un exemple unidimensionnel.
Nous avons ici un espace à deux dimensions pour la descente de gradient, comme vous pouvez le constater,
il se rapproche du minimum et est également appelé descente de gradient car vous descendez dans le minimum de la fonction de
coût et vous constatez qu'il dispose d'une descente de gradient appliquée en trois étapes. dimensions.
Voici à quoi ça ressemble si vous projetez sur deux dimensions, vous pouvez voir son chemin zigzaguer dans
le minimum.
Alors voilà que c'était l'indice de descente de Tauriel. Nous parlerons de stochastique.
La descente de gradient est vraiment une continuation de ce tutoriel.
Et j'ai hâte de vous voir là-bas.
Et si la prochaine fois profiter de l'apprentissage en profondeur.