WEBVTT

00:00.840 --> 00:05.380
Bonjour et bienvenue au cours et à l'apprentissage approfondi maintenant que nous avons vu vos propres réseaux en

00:05.440 --> 00:08.280
action, il est temps pour nous de savoir comment ils apprennent.

00:08.470 --> 00:10.480
Alors allons droit au but.

00:10.510 --> 00:16.100
Ce sont deux approches fondamentalement différentes pour obtenir un programme qui fasse ce que vous voulez.

00:16.240 --> 00:24.610
L'un est le codage en dur où vous indiquez les règles spécifiques du programme et les résultats

00:24.610 --> 00:25.120
souhaités.

00:25.120 --> 00:30.940
Et vous le guidez tout au long du parcours et vous expliquez toutes les options possibles

00:30.940 --> 00:33.130
auxquelles le programme doit faire face.

00:33.310 --> 00:41.320
D'autre part, vous avez des réseaux de neurones dans lesquels vous créez une installation pour que le programme puisse comprendre ce qu'il

00:41.800 --> 00:43.530
doit faire par lui-même.

00:43.530 --> 00:50.080
Donc, vous créez essentiellement ce réseau de neurones où vous fournissez des entrées, vous lui dites ce que vous voulez comme

00:50.110 --> 00:53.050
sorties, puis vous le laissez comprendre par lui-même.

00:53.350 --> 00:59.890
Deux approches fondamentalement différentes et qu’il faut garder à l’esprit lors de ces

00:59.890 --> 01:00.850
didacticiels.

01:00.850 --> 01:06.180
Notre objectif est de créer ce réseau qui apprend ensuite seul.

01:06.220 --> 01:14.570
Nous allons éviter d’essayer d’énoncer les règles et un bon exemple que je peux vous donner maintenant est que cela viendra plus loin dans

01:14.680 --> 01:18.680
le cours mais c’est juste un exemple très visuel par exemple.

01:18.700 --> 01:25.690
Comment faites-vous la distinction entre une fourrure de chien et de chat sur le côté gauche du

01:25.690 --> 01:33.250
processus décrit à gauche, vous programmez des choses telles que les oreilles du chat doivent être comme ceci

01:33.250 --> 01:39.530
Si vous avez une forme de visage, cherchez ces couleurs. Vous décririez toutes ces choses

01:39.530 --> 01:45.310
et vous auriez des conditions telles que: si les oreilles sont pointues, chat,

01:45.310 --> 01:49.600
si les oreilles sont inclinées et éventuellement chien, etc.

01:49.600 --> 01:55.090
D'autre part, pour un réseau de neurones, vous codez simplement les réseaux de neurones, vous codez l'architecture, puis

01:55.090 --> 02:01.030
vous pointez le réseau de neurones vers un dossier contenant tous ces chats et chiens avec des images de chats et

02:01.030 --> 02:06.580
de chiens déjà classés et vous le dites: OK I J'ai des images de chats et de chiens qui

02:06.880 --> 02:08.860
vont apprendre ce qu'est un chat.

02:08.860 --> 02:10.560
Allez apprendre ce qu'est un chien.

02:10.600 --> 02:16.000
Et le réseau de neurones lui-même comprendra tout ce qu’il a besoin de comprendre, puis, une fois

02:16.000 --> 02:20.950
qu’il aura été formé, vous pourrez lui donner une nouvelle image du chat ou du

02:20.950 --> 02:21.600
chien.

02:21.610 --> 02:25.600
Les voici donc les deux approches fondamentalement différentes.

02:25.690 --> 02:31.090
Et aujourd’hui, nous allons commencer à nous demander comment cette deuxième approche fonctionne.

02:31.090 --> 02:31.530
D'accord.

02:31.570 --> 02:33.340
Alors allons-y droit au but.

02:33.400 --> 02:39.880
Ici, nous avons un réseau de neurones très basique avec une couche qui s'appelle un réseau de neurones à

02:39.880 --> 02:42.760
couche unique et qui s'appelle aussi une perception.

02:42.760 --> 02:47.380
Maintenant, avant de procéder, nous devons ajuster la valeur de sortie.

02:47.380 --> 02:49.320
À l'heure actuelle, vous pouvez voir que c'est juste un Y.

02:49.330 --> 02:51.160
Il faut y mettre un chapeau.

02:51.190 --> 02:56.500
Et la raison en est généralement que y représente la valeur réelle et c’est ce que nous allons utiliser.

02:56.500 --> 03:03.700
Alors, pourquoi va-t-on voir que la valeur de sortie réelle est la valeur prédite par l’algorithme par

03:03.700 --> 03:05.890
le réseau de neurones.

03:05.890 --> 03:09.220
Pourquoi quelle est la valeur de sortie?

03:09.220 --> 03:11.500
Fondamentalement, c'est la dénomination de la valeur de sortie.

03:11.740 --> 03:20.020
Et la perception qui a été inventée pour la première fois en 1957 par Frank Rosenblat et toute son idée

03:20.170 --> 03:25.010
était de créer quelque chose qui puisse réellement apprendre et s’ajuster.

03:25.240 --> 03:28.010
Et c'est ce que nous allons examiner maintenant.

03:28.030 --> 03:30.230
Nous avons donc établi notre précepte.

03:30.250 --> 03:32.070
Voyons comment notre perception apprend.

03:32.080 --> 03:39.130
Supposons donc que nous ayons des valeurs d’entrée qui ont été fournies à la perception et / ou à notre

03:39.130 --> 03:40.210
propre réseau.

03:40.330 --> 03:44.190
Ensuite, la fonction d'activation est appliquée.

03:44.200 --> 03:49.210
Nous avons une sortie et nous allons maintenant la tracer sur un graphique.

03:49.210 --> 03:51.830
Voilà donc notre production.

03:51.830 --> 03:57.520
Pour pouvoir apprendre, nous devons maintenant comparer la valeur de sortie à la valeur réelle que

03:57.520 --> 04:01.310
nous souhaitons que le réseau de neurones fonctionne correctement.

04:01.600 --> 04:04.520
Et c'est la valeur y.

04:04.810 --> 04:08.230
Et donc, si nous mettons cela ici, vous verrez qu'il y a une petite différence.

04:08.330 --> 04:13.510
Nous allons maintenant calculer une fonction appelée la fonction de coût qui correspond à la moitié de la différence

04:13.510 --> 04:17.200
de la différence carrée entre la valeur réelle et la valeur de sortie.

04:17.200 --> 04:20.500
Maintenant, il y a beaucoup de façons de monter en classe.

04:20.500 --> 04:23.300
Il existe de nombreuses fonctions de coût que vous pouvez utiliser.

04:23.320 --> 04:30.280
C’est probablement la fonction d’appel la plus couramment utilisée et la raison pour laquelle c’est précisément cette fonction que nous utiliserons

04:30.280 --> 04:34.900
nous renseignerons plus loin lorsque nous parlons d’un gradient décent, mais pour l’instant nous

04:34.900 --> 04:39.830
allons simplement convenir qu’il s’agit de la fonction coût En gros, la fonction de coût

04:40.420 --> 04:44.240
nous dit quelle est l'erreur que vous avez dans votre prédiction.

04:44.290 --> 04:50.770
Et notre objectif est de minimiser la fonction de coût, car plus la fonction de coût est basse, plus vous êtes

04:50.790 --> 04:51.780
près de y.

04:52.150 --> 04:54.430
OK, comme nous sommes d’accord sur ce point, poursuivons.

04:54.430 --> 05:00.760
En gros, il existe donc une fonction de coût à partir de là.

05:00.760 --> 05:08.950
Une fois que nous avons comparé, nous allons maintenant intégrer cette information dans le réseau de neurones.

05:08.980 --> 05:14.170
Nous y voilà donc, les informations sont renvoyées dans le réseau de neurones et sont transmises aux poids et les

05:14.200 --> 05:15.630
poids sont mis à jour.

05:15.700 --> 05:20.880
Fondamentalement, dans ce réseau de neurones très simple, nous ne contrôlons que les poids

05:20.900 --> 05:23.490
w 1 W2 jusqu’à W ..

05:23.980 --> 05:29.370
Et notre objectif est de minimiser la fonction de coût de sorte que tout ce que nous pouvons faire est de mettre à jour les poids.

05:29.500 --> 05:33.690
Nous mettons donc à jour les poids et les modifions un peu.

05:33.940 --> 05:39.600
Et comment exactement nous allons le découvrir, mais pour l’instant, nous convenons d’avoir les poids, puis

05:39.600 --> 05:40.320
nous continuons.

05:40.320 --> 05:48.870
Mais ici, j’ai mis en place cette capture d’écran des données pour souligner clairement que tout au long de

05:48.930 --> 05:53.990
l’expérience, tout ce que nous faisons actuellement ne concerne qu’un rôle.

05:54.000 --> 06:00.330
Nous avons donc un ensemble de données d'une ligne, où nous avons par exemple la

06:00.330 --> 06:05.720
durée pendant laquelle vous l'étudiez, comme la variable que nous prédisons.

06:06.180 --> 06:08.230
Quel est le résultat que vous allez obtenir à un examen?

06:08.430 --> 06:13.200
Et les variables indépendantes dépendantes dont nous disposons sont combien d’heures avez-vous étudiées, combien d’heures avez-vous dormies

06:13.200 --> 06:15.430
et que avez-vous eues dans le quiz?

06:15.460 --> 06:19.880
Au milieu du semestre Donc au milieu du semestre est un quiz quel pourcentage vous y êtes arrivé.

06:19.880 --> 06:26.100
Donc, sur la base de ces variables, nous essayons de prédire quel score vous obtiendrez pour les examens, et les

06:26.100 --> 06:28.010
93% correspondant à la valeur réelle.

06:28.010 --> 06:29.020
Donc c'est pourquoi.

06:29.560 --> 06:30.460
Alors.

06:30.660 --> 06:36.720
Nous introduisons donc ces trois valeurs dans un réseau de neurones pour la deuxième fois, puis nous

06:36.720 --> 06:38.980
comparons le résultat au blanc.

06:39.150 --> 06:40.690
Voyons donc comment cela fonctionne.

06:40.800 --> 06:43.710
Nous introduisons ces valeurs dans le réseau de neurones.

06:43.830 --> 06:50.160
Tout est ajusté et les poids sont pondérés de manière à ce que, comme vous pouvez le constater, nous alimentons à nouveau les valeurs. Le

06:50.190 --> 06:55.480
fait est que nous alimentons le même ballon de sorte que nous n'avons qu'un seul rouleau à essayer, nous nous entraînons

06:55.480 --> 06:56.370
sur une rangée.

06:56.370 --> 06:59.580
En effet, il ne s'agit que d'un exemple de base très simple.

06:59.640 --> 07:01.610
Ensuite, nous verrons ce qui se passe quand il y a la morale.

07:01.800 --> 07:06.180
Donc, encore une fois, nous alimentons ces lignes dans notre ajustement interfonctionnel.

07:06.180 --> 07:10.520
Comme vous pouvez le constater, tout se passe de nouveau dans ce sens.

07:10.530 --> 07:15.030
Donc, comme vous le dites chaque fois que notre chapeau blanc change parce que nous avons peaufiné les poids.

07:15.030 --> 07:20.550
Tout ce que j'avais à faire était de changer la fonction de nos vêtements, de changer tout ce look, donc nous les nourrissons.

07:20.550 --> 07:22.840
Pourquoi avoir changé de vêtements, la fonction est en train de changer.

07:22.920 --> 07:27.020
Nous recevons des informations sur les poids afin que ceux-ci soient ajustés à nouveau.

07:27.030 --> 07:31.850
Nous introduisons les mêmes valeurs chaque fois que tout est corrigé et que nous revenons aux poids.

07:31.860 --> 07:33.920
Et une fois de plus nourrir po

07:34.020 --> 07:34.990
D'ACCORD.

07:35.730 --> 07:40.720
Et une autre fois, nous avons ajusté la manière dont nous ressentons l'information.

07:40.830 --> 07:41.370
Et c'est parti.

07:41.370 --> 07:45.990
Alors maintenant, cette fois, le chapeau blanc est égal à y 0 transversal.

07:46.020 --> 07:48.410
Habituellement, la fonction de coût ne sera pas égale à zéro.

07:48.420 --> 07:50.720
Mais ceci est un exemple très simple.

07:50.820 --> 07:57.480
J'espère donc que tout cela a du sens chaque fois que nous alimentons exactement la même ligne, car dans ce cas,

07:57.480 --> 08:01.370
nous ne traitons que de cette ligne dans notre réseau de neurones.

08:01.400 --> 08:06.990
Eh bien, les poids obtiennent les valeurs deviennent des approvisionnements valides. Les méthodes d’application de la fonction

08:06.990 --> 08:12.320
d’activation sont comparées à Y, puis nous voyons comment la fonction de coût est modifiée.

08:12.430 --> 08:16.500
Commentaires et informations Bakker sur votre propre réseau, puis ajustez à nouveau

08:16.500 --> 08:17.470
les poids.

08:17.850 --> 08:21.410
Et ensuite, nous répétons le même processus avec la même ligne exacte.

08:21.570 --> 08:23.320
Nous essayons de minimiser ce coût.

08:23.520 --> 08:26.860
Donc, jusqu'à présent, nous ne nous sommes occupés que de cette rangée.

08:27.030 --> 08:29.470
Voyons ce qui se passe lorsque vous avez plusieurs rôles.

08:29.490 --> 08:31.320
Alors, voici le jeu de données complet.

08:31.350 --> 08:38.610
Nous avons huit rangées de combien d’heures vous avez dormi ou peut-être que ce sont des étudiants différents le jour qui

08:38.610 --> 08:44.070
passent le même examen, combien d’heures ils ont étudié, combien d’heures ils ont dormi avant que

08:44.070 --> 08:47.300
l’examen ne soit inséré et le résultat final obtenu.

08:47.490 --> 08:52.720
Et comme vous pouvez le voir ici à gauche, j'ai en réalité huit de ces perceptions.

08:53.100 --> 08:55.950
Ils ont tous la même perception, donc c'est aussi important.

08:56.010 --> 09:02.600
Je viens de le multiplier ou de le reproduire huit fois pour que nous puissions le faire.

09:03.330 --> 09:04.310
La conception est ça.

09:04.320 --> 09:10.010
Mais l’important ici est le même réseau de neurones que nous allons intégrer à un seul réseau

09:10.040 --> 09:10.380
Samual.

09:10.380 --> 09:11.650
Alors allons-y commençons.

09:11.650 --> 09:20.550
Ainsi, un aéroport sur lequel vous avez entendu parler d'un parc aérien, c’est lorsque nous examinons tout un ensemble

09:20.610 --> 09:27.410
de données et que nous formons notre réseau de neurones sur tous ces rôles.

09:27.420 --> 09:34.410
Donc, il y a notre premier rang et il y a Pourquoi, pour le premier rang, il y a un deuxième rôle, c'est pourquoi j'ai eu pour

09:34.410 --> 09:35.260
le deuxième tour.

09:35.280 --> 09:39.590
Encore une fois, il est chaque fois alimenté par le même réseau de neurones.

09:39.600 --> 09:45.070
Je viens de les copier plusieurs fois pour que nous puissions voir comment cela se passe.

09:45.090 --> 09:52.320
Puis, comme cela se produit à nouveau, à la troisième rangée, à la quatrième rangée, nous voyons notre tête blanche pour la quatrième

09:52.320 --> 09:53.010
rangée, etc.

09:53.010 --> 09:56.580
En gros, nous obtenons les mêmes valeurs pour les quatre lignes restantes.

09:56.580 --> 10:03.440
Ainsi, chaque fois que nous alimentons notre réseau de neurones, nous en prenons conscience.

10:03.780 --> 10:06.930
Ensuite, nous comparons à la valeur réelle.

10:06.930 --> 10:08.550
Donc, ils sont les valeurs réelles.

10:08.760 --> 10:11.340
Donc, pour chaque rouleau, nous avons une valeur réelle.

10:11.640 --> 10:18.480
Et maintenant, sur la base de toutes ces différences entre y hat et pourquoi nous pouvons calculer la

10:18.480 --> 10:27.620
fonction de coût qui est la somme de toutes ces différences au carré entre pourquoi, pourquoi et comment et comment tout cela est réduit de moitié.

10:28.230 --> 10:30.360
Et il y a notre fonction de coût.

10:30.360 --> 10:36.750
Et fondamentalement, maintenant, ce que nous faisons une fois que nous avons la fonction de coût complet, nous revenons en arrière et nous mettons à jour les pondérations

10:37.170 --> 10:39.480
que nous mettons à jour un W 1 WTW.

10:39.510 --> 10:45.810
Et la chose importante à retenir ici est que tous ces réseaux de neurones de perception sont en réalité

10:45.810 --> 10:47.340
un réseau de neurones.

10:47.340 --> 10:49.420
Donc, il n'y en a pas huit mais un seul.

10:49.680 --> 10:55.110
Et lorsque nous mettrons à jour les poids, nous mettrons à jour les poids de ce réseau de neurones afin que

10:55.110 --> 10:57.900
les poids soient globalement les mêmes pour toutes les rangées.

10:57.930 --> 11:00.560
Tous les rôles n’ont donc pas leur propre poids.

11:00.580 --> 11:07.320
Maintenant, toutes les lignes partagent les poids et c'est pourquoi nous avons examiné la fonction de coût qui est la

11:07.620 --> 11:15.270
somme des différences carrées, puis nous avons mis à jour les poids et à partir de là, il n'y avait qu'une seule itération.

11:15.270 --> 11:19.020
Ensuite, nous allons recommencer tout ça.

11:19.020 --> 11:25.440
Nous allons alimenter chaque ligne du réseau de neurones, découvrir notre fonction de coût et refaire tout

11:25.440 --> 11:26.370
ce processus.

11:26.370 --> 11:32.090
Donc, comme nous l'avons vu précédemment, nous n'avions qu'une rangée et nous faisions tout, encore et encore et encore,

11:32.140 --> 11:33.590
de la même manière.

11:33.600 --> 11:38.880
Mais maintenant, nous allons faire Pedros ou 800 lignes ou huit mille lignes, quel que soit le nombre de lignes que vous

11:38.880 --> 11:40.590
avez dans votre ensemble de données.

11:40.830 --> 11:43.700
Vous effectuez ce processus, puis vous calculez la fonction de coût.

11:44.220 --> 11:51.510
Et le but ici est de minimiser la fonction de coût et d’obtenir dès que vous avez trouvé une minute

11:51.510 --> 12:00.210
de la fonction de coût qui est votre réseau neuronal final, ce qui signifie que vos poids ont été ajustés et que vous avez trouvé

12:00.750 --> 12:08.550
les poids optimaux pour cet ensemble de données que vous avez commencé. votre formation et vous êtes prêt à passer à la phase

12:08.550 --> 12:11.130
de test ou à la phase d’application.

12:11.550 --> 12:14.920
Et tout ce processus s'appelle la propagation en arrière.

12:15.000 --> 12:21.930
Donc, quelques lectures supplémentaires que vous voudrez peut-être faire pour la fonction de coût et je sais que nous venons d'en

12:21.930 --> 12:24.840
parler, il y en a beaucoup de différentes.

12:24.840 --> 12:28.690
Un bon article est situé sur la croix validée.

12:28.740 --> 12:33.020
C'est ce qu'on appelle une liste de fonctions de cours utilisées dans les réseaux de neurones à côté d'applications.

12:33.090 --> 12:39.840
Donc, l’euro est là, mais vous pouvez simplement rechercher sur Google le terme de recherche exact ou l’expression de recherche à rechercher,

12:39.960 --> 12:42.150
ce qui sera le premier à apparaître.

12:42.150 --> 12:48.660
Il contient en fait de bons exemples et des exemples d’application ou d’utilisation pour différentes fonctions de coût. Si vous souhaitez en

12:48.660 --> 12:51.800
savoir plus sur les fonctions de coût, consultez cet article.

12:51.990 --> 12:54.380
Et sur cette note, j'espère que vous apprécierez ce tutoriel.

12:54.420 --> 12:56.070
J'ai hâte de vous voir la prochaine fois.

12:56.070 --> 12:58.020
Jusque-là, profitez d'un apprentissage en profondeur.
