Apprentissage Automatique et Réseaux Neuronaux - page 28

 

Cours 21 : Minimiser une fonction étape par étape



Conférence 21 : Minimiser une fonction étape par étape

Cette conférence vidéo traite des algorithmes de base utilisés pour minimiser une fonction et de leurs taux de convergence, en particulier la méthode de Newton et la descente la plus raide. Il met également en évidence l'importance de la convexité, qui garantit que la fonction a un minimum, et introduit le concept d'ensembles convexes et de fonctions convexes. L'enseignant explique comment tester la convexité d'une fonction, qui détermine si elle a des points de selle ou des minimums locaux, par opposition à un minimum global. La vidéo se termine par une discussion sur Levenberg Marquardt, une version moins chère de la méthode de Newton qui n'est pas entièrement de second ordre.

  • 00:00:00 Dans cette section, le conférencier aborde les bases de l'optimisation, qui est l'algorithme fondamental qui entre dans l'apprentissage en profondeur. Le cours commence par expliquer la série de Taylor et montre ensuite comment étendre la série de Taylor lorsque la fonction est de plus d'une variable. Le professeur introduit ensuite le gradient de F, qui est les dérivées partielles de F par rapport à chaque variable X. Enfin, le terme quadratique est expliqué, et la conférence se termine par une discussion sur les dérivées secondes et comment elles changent avec plus de variables.

  • 00:05:00 Dans cette section de la conférence, le concept de matrice hessienne est introduit, qui est la matrice des dérivées secondes d'une fonction. La matrice hessienne est symétrique et son calcul est réalisable pour des valeurs petites à modérément grandes de n. Il existe une image parallèle pour la fonction vectorielle, qui est la matrice jacobienne, les entrées étant les dérivées de la fonction par rapport à différentes variables. Ce sont des faits de calcul multivariable, qui sont utilisés pour résoudre des équations dans des problèmes d'optimisation.

  • 00:10:00 Dans cette section, le conférencier présente la méthode de Newton pour résoudre des systèmes d'équations à n inconnues, qui consiste à minimiser une fonction donnée. La méthode de Newton est la meilleure façon de résoudre n équations dans n inconnues, qui peuvent être exprimées comme F égal à 0, où F de un est égal à zéro, et il y a n équations au total. L'enseignant montre comment utiliser la méthode de Newton pour résoudre l'équation x au carré moins 9 égal 0, qui peut être écrite comme une fonction, et montre comment appliquer la méthode étape par étape.

  • 00:15:00 Dans cette section, le conférencier explique comment la méthode de Newton est utilisée pour minimiser une fonction et comment déterminer à quelle vitesse elle converge. Ils commencent par simplifier la formule qui détermine X sous K + 1 et montrent que si X sous K est exactement 3, alors X sous K + 1 sera également 3. Ils se concentrent ensuite sur la vitesse à laquelle l'erreur s'approche de zéro et soustraient 3 des deux côtés pour factoriser 1 sur X sous K. La simplification de l'équation montre que l'erreur à l'étape K + 1 est élevée au carré à chaque étape, ce qui prouve pourquoi la méthode de Newton est fantastique si elle est exécutée suffisamment près.

  • 00:20:00 Dans cette section, le conférencier discute de l'utilisation de la méthode de Newton pour l'optimisation et comment elle est applicable à des fonctions de perte très compliquées avec des milliers voire des centaines de milliers de variables. La conférence couvre deux méthodes - la descente la plus raide et la méthode de Newton - dans lesquelles la descente la plus raide implique un déplacement dans la direction du gradient de F, mais avec la liberté de décider de la taille du pas. D'autre part, la méthode de Newton prend en compte la dérivée seconde de F et permet une convergence plus rapide, mais pourrait également converger vers des solutions indésirables ou exploser pour certains points de départ. Cela conduit au concept de régions d'attraction, où certains points de départ conduisent à la solution souhaitée, tandis que d'autres conduisent à des solutions indésirables ou à l'infini.

  • 00:25:00 Dans cette section, le conférencier discute de deux méthodes pour minimiser une fonction pas à pas : la descente la plus raide et la méthode de Newton. Les deux impliquent de choisir itérativement une direction dans un espace à n dimensions et de se déplacer sur une certaine distance le long de cette direction, mais la descente la plus raide utilise le gradient de la fonction pour choisir la direction, tandis que la méthode de Newton utilise la hessienne, ou dérivée seconde. La conférence explique également le concept d'une recherche de ligne exacte et l'importance de choisir un taux d'apprentissage approprié dans ces méthodes.

  • 00:30:00 Dans cette section, le conférencier aborde les algorithmes de base utilisés pour minimiser une fonction et leurs taux de convergence. Le conférencier explique que la méthode de Newton a un taux de convergence quadratique, ce qui la rend super rapide si elle est lancée assez près. En revanche, l'algorithme de descente la plus raide a un taux de convergence linéaire, ce qui le rend moins efficace. Le conférencier souligne que le point de départ pour résoudre ces problèmes doit être la convexité, qui garantit que la fonction a un minimum. Le conférencier définit les ensembles et les fonctions convexes et explique leur importance dans la minimisation d'une fonction pour les points d'un ensemble convexe. La conférence se termine par une discussion de Levenberg Marquardt, une version moins chère de la méthode de Newton qui n'est pas entièrement du second ordre.

  • 00:35:00 Dans cette section de la vidéo, l'orateur explique comment minimiser une fonction. Les contraintes de la fonction sont définies par un ensemble convexe, ce qui signifie que toute ligne tracée entre deux points dans l'ensemble doit rester dans l'ensemble. L'orateur donne l'exemple de deux triangles superposés, qui ne forment pas un ensemble convexe lorsqu'ils sont combinés.

  • 00:40:00 Dans cette section, le concept d'ensembles convexes et de fonctions convexes est introduit. On note que l'intersection de deux ensembles convexes est toujours convexe, et l'ensemble vide est considéré comme un ensemble convexe. Les notes de la vidéo soulignent l'importance de comprendre ces concepts lors de la minimisation des fonctions, car le problème du prototype consiste à trouver des fonctions avec une image convexe. La vidéo relie également la définition d'une fonction convexe à la définition d'un ensemble convexe, notant que le graphique d'une fonction convexe ressemble à un bol, tandis que les points sur cette surface ne sont pas des ensembles convexes. Cependant, l'ensemble des points sur le graphique est un ensemble convexe.

  • 00:45:00 Dans cette section de la conférence, l'orateur discute d'un test de fonction convexe. Il explique que deux fonctions convexes peuvent être utilisées pour créer une fonction minimum et maximum, et l'une d'elles sera convexe tandis que l'autre ne le sera pas. La fonction minimale aura un coude et ne sera donc pas convexe, tandis que la fonction maximale sera convexe. L'orateur mentionne également que ce test peut être étendu à un maximum de 1500 fonctions, et si toutes les 1500 fonctions sont convexes, leur maximum sera également convexe.

  • 00:50:00 Dans cette section, l'orateur explique comment tester la convexité dans une fonction. Pour une fonction avec une seule variable dans le calcul, une fonction convexe peut être prouvée en vérifiant si la dérivée seconde est positive ou nulle. Lorsqu'il s'agit d'une fonction vectorielle à plusieurs variables, une matrice symétrique F serait ajoutée à la fonction. Le test de convexité ici serait positif semi-défini pour la Hessienne, car les dérivées secondes donnent une matrice. Les problèmes convexes n'ont pas de points de selle ou de minimums locaux, seulement le minimum global, ce qui les rend souhaitables.
 

Cours 22. Descente en gradient : descente au minimum



22. Descente en pente : Descente au minimum

Dans la vidéo "Gradient Descent : Downhill to a Minimum", le conférencier discute de l'importance de la descente de gradient dans l'optimisation et l'apprentissage en profondeur, où l'objectif est de minimiser une fonction. L'orateur introduit le gradient et le Hessian, et illustre les étapes de descente les plus raides à l'aide d'une fonction quadratique. L'orateur discute également de la façon d'interpréter le gradient et le Hessian, ainsi que leur rôle dans la mesure de la convexité. L'orateur se penche sur le choix du taux d'apprentissage approprié, soulignant l'importance du nombre de conditions dans le contrôle de la vitesse de convergence. La vidéo fournit également des exemples pratiques et des formules pour aider à comprendre le concept de descente de gradient, y compris la méthode de la balle lourde.

  • 00:00:00 Dans cette section, l'orateur discute de la descente de gradient en tant qu'algorithme central dans les réseaux de neurones, l'apprentissage en profondeur, l'apprentissage automatique et l'optimisation en général. Le but est de minimiser une fonction, et s'il y a trop de variables pour prendre des dérivées secondes, l'accent est mis sur les dérivées premières de la fonction. L'orateur introduit l'idée de gradient et de hessien, et le rôle de la convexité avant de plonger dans un exemple crucial d'une fonction quadratique pure à deux inconnues. À travers l'exemple, l'orateur montre les étapes de la descente la plus raide et la rapidité avec laquelle elles convergent vers la réponse, qui est le point minimum. L'orateur explique également l'importance du nombre conditionnel dans la vitesse de convergence, et comment interpréter et calculer le gradient d'une fonction.

  • 00:05:00 Dans cette section, l'orateur explique comment interpréter le gradient et le Hessien d'une surface. En utilisant l'exemple d'une surface où le gradient est constant et le Hessian ne contient que des dérivées secondes de zéro, l'orateur illustre comment visualiser la surface et interpréter le gradient et le Hessian en termes d'ascension ou de descente la plus raide et d'ensembles de niveaux. L'orateur souligne que la matrice hessienne des dérivées secondes nous renseigne sur la forme d'une surface et sur la rapidité avec laquelle elle change dans différentes directions.

  • 00:10:00 Dans cette section, le concept de Hessian est présenté comme un outil pour mesurer la convexité d'une fonction. Le hessien d'une fonction nous dit si une surface est convexe ou non, avec des hessiens semi-définis positifs ou définis positifs indiquant la convexité. Une fonction linéaire est convexe mais pas strictement convexe, tandis qu'une fonction strictement convexe se courberait vers le haut. Un exemple de fonction strictement convexe est donné, à savoir 1/2 x transposé x, qui a une valeur minimale lorsque le gradient est la moitié de sx au carré.

  • 00:15:00 Dans cette section, l'orateur discute du concept de recherche de la valeur minimale d'une fonction quadratique à l'aide de la descente de gradient. Le minimum est atteint en un point où le gradient est nul, et ce point est noté argh men. L'orateur souligne que cela est différent de la valeur minimale réelle de la fonction et que l'accent est souvent mis sur la recherche du point où le minimum est atteint plutôt que sur la valeur minimale elle-même. Dans cet exemple particulier, la valeur minimale est zéro en raison de l'absence de terme linéaire.

  • 00:20:00 Dans cette section, l'orateur discute de la question fondamentale de la minimisation consistant à trouver le minimum d'une fonction quadratique. La fonction passe par zéro et touche le fond à un certain point, et en branchant ce point, nous pouvons déterminer son niveau le plus bas. L'orateur mentionne une fonction convexe remarquable et note que la convexité est ce qui fait vraiment fonctionner les choses. Cette fonction est une fonction d'une matrice et contient N variables au carré.

  • 00:25:00 Dans cette section, l'orateur discute d'une fonction convexe obtenue en prenant le déterminant d'une matrice, puis en prenant son logarithme avec un signe négatif. La fonction résultante est convexe et, pour une matrice donnée, les dérivées partielles fonctionnent comme les entrées de l'inverse de cette matrice. L'orateur approfondit ensuite la dérivée du déterminant d'une matrice par rapport à ses entrées, en soulignant l'importance du calcul de ces dérivées dans les algorithmes de descente de gradient.

  • 00:30:00 Dans cette section, l'orateur explique le déterminant et sa propriété fondamentale, qui stipule qu'il est linéaire dans la rangée 1. Il entre également dans la formule d'expansion du cofacteur d'un déterminant et la relie au fait que le gradient est les entrées de X inverse. L'orateur introduit ensuite la descente de gradient et fournit sa formule, qui implique la taille du pas et le gradient de s en X. La seule entrée restante pour la prise de décision est la taille du pas.

  • 00:35:00 Dans cette section, l'instructeur discute de l'importance de choisir le taux d'apprentissage approprié en descente de gradient. Si le taux d'apprentissage est trop important, la fonction oscillera et sera difficile à optimiser. D'autre part, si le taux d'apprentissage est trop faible, il faudra trop de temps pour que l'algorithme converge. Une façon de choisir le taux d'apprentissage optimal consiste à effectuer une recherche de ligne exacte, mais cela peut prendre du temps pour les problèmes importants. Au lieu de cela, les gens estiment généralement un taux d'apprentissage approprié et l'ajustent au besoin grâce à une recherche de ligne de retour en arrière. L'instructeur insiste sur l'importance du numéro de condition dans le contrôle de la vitesse de convergence et pose la question de savoir dans quelle mesure une recherche de ligne exacte réduirait la fonction.

  • 00:40:00 Dans cette section, l'orateur discute d'un exemple pour mieux comprendre la descente de gradient. Une fonction particulière est introduite là où les réponses exactes sont connues, permettant de faire des comparaisons. En partant d'un point à la surface de cette fonction, le locuteur applique la formule de descente de gradient et calcule les itérations pour cette fonction particulière. Le conférencier présente ensuite une belle formule qui sera prise comme le meilleur exemple possible pour aider à comprendre la descente de gradient.

  • 00:45:00 Dans cette section, l'orateur explique comment le rapport (1-B)/(1+B) est crucial pour déterminer la vitesse de convergence lors de la descente de gradient. Si B est proche de zéro, le rapport est proche de un, ce qui conduit à une convergence lente, et si B est proche de un, le rapport est proche de zéro, ce qui conduit à une convergence rapide. L'orateur utilise l'exemple des ensembles de niveaux et des ellipses pour expliquer comment la vallée étroite peut provoquer une convergence lente à l'approche du minimum. L'orateur insiste sur l'importance d'un bon numéro d'état pour l'optimisation.

  • 00:50:00 Dans cette section, l'orateur explique comment la descente en gradient approche une courbe avec une trajectoire en zigzag pour finalement atteindre un point spécifique. Il souligne que le multiplicateur 1 - B/ (1 + B) joue un rôle critique, et pour une fonction convexe, cette quantité est cruciale pour déterminer la convergence de la descente la plus raide. La prochaine conférence discutera de l'élan ou de la balle lourde, ce qui implique l'ajout d'un terme supplémentaire qui permet au mouvement d'accélérer au lieu de simplement le diriger par la descente la plus raide à chaque point. L'idée est de laisser l'élan d'une balle lourde prendre le dessus et rouler, comme dans la vraie vie.
 

Cours 23. Accélérer la descente de gradient (utiliser l'élan)



23. Accélérer la descente de gradient (utiliser Momentum)

Cette vidéo traite du concept d'élan dans l'accélération de la descente de gradient. Le présentateur explique la formule de base de la descente en gradient et montre comment l'ajout d'élan peut entraîner une descente plus rapide que la méthode ordinaire, entraînant finalement des améliorations significatives. Ils discutent également d'un modèle continu de descente la plus raide et expliquent comment il peut être analysé comme une équation différentielle du second ordre avec un terme de quantité de mouvement. Le présentateur souligne l'importance de minimiser les deux valeurs propres lors de l'utilisation de la quantité de mouvement pour minimiser la plus grande valeur propre en choisissant des valeurs pour s et bêta pour rendre les valeurs propres de la matrice aussi petites que possible. Ils discutent également de la méthode de Nesterov et suggèrent qu'il peut être possible d'obtenir d'autres améliorations en remontant deux ou trois étapes ou plus.

  • 00:00:00 Dans cette section, l'orateur discute de la formule de descente de gradient de base, où le nouveau point est l'ancien point moins la taille du pas multipliée par le gradient négatif à XK, qui est la direction de la descente. L'ajout d'élan pour éviter les zigzags dans la descente en gradient entraîne une descente plus rapide que la méthode ordinaire. Il existe également une alternative à l'élan qui accélère la descente, développée par un mathématicien russe du nom de Nestoroff. Pour les problèmes d'apprentissage automatique avec des centaines de milliers de variables, la descente de gradient stochastique est utilisée, où un mini-lot de données d'apprentissage est choisi au hasard ou systématiquement pour faire un lot d'échantillons d'apprentissage à chaque étape.

  • 00:05:00 Dans cette section, l'orateur discute de la descente de la direction la plus raide et des ensembles de niveaux pour un problème modèle avec une fonction de X et Y au carré égale à une constante, formant des ellipses. Ils expliquent que le point d'arrêt optimal est l'endroit où vous êtes tangent à l'ellipse la plus éloignée et recommencez à monter. L'orateur introduit le terme d'impulsion pour améliorer la formule de descente la plus raide et suit sa descente avec un motif en zig-zag, montrant une amélioration de la valeur des vecteurs propres. L'orateur conclut que l'expression avec élan est un miracle et apporte des améliorations significatives.

  • 00:10:00 Dans cette section de la vidéo, l'orateur discute de l'utilisation de l'élan pour accélérer la descente de gradient. Le terme de décroissance en quantité de mouvement vous indique à quelle vitesse la décroissance est plus petite, et avec la quantité de mouvement, ce terme de 1 moins B sur 1 plus B se transforme en un moins racine carrée de B sur 1 plus racine carrée de B. L'orateur prend l'exemple de B étant 1 sur 100, et le nouveau X est l'ancien X moins le gradient avec un terme supplémentaire qui nous donne un peu de mémoire. Ce terme implique de prendre une nouvelle quantité Z avec une taille de pas, et au lieu de prendre Z comme simple gradient, ce qui serait la descente la plus raide, le locuteur ajoute un bêta multiple du Z précédent, qui est la direction de recherche.

  • 00:15:00 Dans cette section, l'orateur discute du concept d'élan dans l'accélération de la descente de gradient. Plutôt que d'utiliser un point pour représenter la fonction, l'orateur suggère d'utiliser une boule lourde qui se déplace plus rapidement dans la vallée de la fonction de coût. Ceci est réalisé en impliquant l'étape précédente dans les calculs, ce qui donne une méthode à trois niveaux au lieu d'une méthode à deux niveaux. L'orateur relie ensuite cela à un modèle continu de descente la plus raide et explique comment il peut être analysé comme une équation différentielle du second ordre avec un terme de quantité de mouvement. Ils montrent ensuite comment écrire cela sous la forme d'un système de deux équations du premier ordre, qui peut être utilisé pour créer un algorithme de descente de gradient plus efficace et plus rapide.

  • 00:20:00 Dans cette section, l'orateur explique comment analyser ce qui se passe lorsque k avance dans l'algorithme de descente de gradient accéléré. Ils expliquent qu'à chaque étape, il y a un problème de coefficient constant puisque la variable XZ est multipliée par une matrice. L'orateur mentionne également que pour suivre chaque vecteur propre de s, ils suivent chaque valeur propre, ce qui leur permet de réécrire la formule en termes de scalaires plutôt que de vecteurs.

  • 00:25:00 Dans cette section, l'orateur explique comment suivre un vecteur propre et l'utiliser pour rendre l'ensemble du problème scalaire. En choisissant la taille du pas et le coefficient d'impulsion, ils peuvent créer une matrice capable de multiplier les coefficients du vecteur propre à chaque pas pour le mettre à jour. En rendant s et bêta aussi petits que possible, ils peuvent s'assurer que l'algorithme minimise la fonction de perte sur toute la gamme des lambdas possibles. Le but est de choisir ces valeurs pour rendre le processus aussi efficace que possible.

  • 00:30:00 Dans cette section, l'orateur explique le concept du nombre conditionnel, qui est le rapport de la plus grande valeur propre à la plus petite valeur propre d'une matrice définie positive symétrique. Un numéro de condition plus élevé signifie un problème plus difficile, et un numéro inférieur signifie un problème plus facile. L'orateur explique comment utiliser la quantité de mouvement pour accélérer la descente du gradient et minimiser la plus grande valeur propre en choisissant des valeurs pour s et bêta pour rendre les valeurs propres de la matrice aussi petites que possible. L'orateur souligne qu'il est essentiel de minimiser les deux valeurs propres, car avoir une petite valeur propre mais une grande peut s'avérer mortel.

  • 00:35:00 Dans cette section de la vidéo, l'orateur discute d'un problème de recherche des paramètres optimaux s et bêta pour une matrice deux par deux, basée sur les valeurs propres dépendant de lambda, m et capya. L'objectif est de choisir des paramètres qui donnent la valeur propre la plus grande possible, ce qui conduira à une convergence plus rapide. L'orateur présente la formule des s et bêta optimaux, qui dépendent du rapport entre le petit m et le grand M, et explique comment calculer la valeur propre minimale résultante à partir de cette formule. En fin de compte, l'orateur conclut que ce choix optimal de s et bêta se traduit par des valeurs propres inférieures à un certain nombre, conduisant à une convergence plus rapide.

  • 00:40:00 Dans cette section, l'orateur parle d'utiliser l'élan pour améliorer le taux de convergence dans l'apprentissage automatique. Ils mentionnent la méthode de Nesterov pour utiliser une idée légèrement différente qui implique la valeur de temps précédente et l'évaluation du gradient à un point différent. L'orateur note qu'il existe actuellement des méthodes très populaires pour l'apprentissage automatique qui impliquent une formule simple pour ajouter les valeurs précédentes, telles que ADA grad. Ils suggèrent également qu'il peut être possible d'obtenir d'autres améliorations en remontant deux ou trois étapes ou plus, comme cela se fait dans les formules de différence en arrière utilisées dans le logiciel MATLAB et dans les calculs planétaires.

  • 00:45:00 Dans cette section, le présentateur parle du terme d'impulsion et de Nesterov, qui consiste à évaluer le gradient à un point entre XK et XK moins 1. Le point d'évaluation du gradient de F est à un point non entier, ce qui est inattendu et bizarre car ce n'est pas un point de maillage. Cela implique XK plus 1, XK et XK moins 1, c'est donc une méthode de second ordre. Pour l'analyser, le processus d'écriture en deux étapes de premier ordre est suivi pour optimiser les coefficients de Nesterov. Ce processus implique de l'écrire comme un système couplé en une seule étape qui a une matrice, de trouver la matrice, de trouver les valeurs propres de la matrice et de rendre ces valeurs propres aussi petites que possible.
 

Cours 24. Programmation linéaire et jeux à deux



24. Programmation linéaire et jeux à deux

Cette vidéo YouTube couvre le sujet de la programmation linéaire et des jeux à deux. La programmation linéaire est le processus d'optimisation d'une fonction de coût linéaire soumise à un ensemble de contraintes linéaires, et elle est utilisée dans des domaines tels que l'économie et l'ingénierie. La vidéo explique les algorithmes utilisés dans la programmation linéaire, y compris la méthode du simplexe et les méthodes des points intérieurs, ainsi que le concept de dualité, où le problème primal et son problème dual sont étroitement liés et peuvent être résolus à l'aide de la méthode du simplexe. La vidéo explique également comment la programmation linéaire peut être appliquée aux jeux à deux, y compris le processus de recherche d'une limite supérieure sur le débit maximal dans un réseau et la résolution d'un jeu avec une matrice. Enfin, la vidéo discute brièvement des limites de l'application de ces techniques à des jeux à trois personnes ou plus et mentionne que la prochaine conférence couvrira la descente de gradient stochastique.

  • 00:00:00 Dans cette section, le conférencier présente le sujet de la programmation linéaire dans le cadre de l'optimisation et explique ce que c'est et comment cela fonctionne. Il définit la programmation linéaire comme le processus d'optimisation d'une fonction de coût linéaire soumise à un ensemble de contraintes linéaires. Il note que les équations du vecteur de coût et des contraintes sont toutes deux linéaires. Cependant, lorsque des contraintes sont impliquées, le problème n'est pas réellement linéaire, car les équations de contraintes peuvent le rendre plus complexe. Malgré cela, la programmation linéaire est une partie importante de l'optimisation et est souvent utilisée dans des domaines comme l'économie et l'ingénierie.

  • 00:05:00 Dans cette section, l'orateur discute de la programmation linéaire et des jeux à deux. Ils expliquent le concept d'ensemble réalisable X, qui est un ensemble de contraintes en langage d'algèbre linéaire, et dessinent une visualisation pour montrer le concept. Ils utilisent un exemple de minimisation d'une fonction avec des contraintes simples et des inégalités pour expliquer comment l'un des trois coins d'un triangle est le gagnant, qui est résolu en trouvant la valeur minimale au point d'intersection du plan avec l'octant. Le coût est linéaire et la solution est soit l'un des trois coins, soit lorsque des valeurs égales le long de ces coins se produisent. Dans l'exemple donné, trois zéro zéro est le coin gagnant.

  • 00:10:00 Dans cette section, la vidéo explique les deux algorithmes utilisés en programmation linéaire : la méthode du simplexe et les méthodes des points intérieurs. La méthode du simplexe se déplace le long des bords de l'ensemble des possibles pour atteindre le coin optimal, tandis que les méthodes des points intérieurs vont à l'intérieur de l'ensemble des possibles pour obtenir les dérivées et les minimiser. La méthode intérieure est l'idée la plus récente, et bien que l'algorithme exact proposé par Karmarkar n'ait pas survécu, l'idée est toujours utilisée et étudiée aujourd'hui. Les deux algorithmes sont toujours en concurrence l'un avec l'autre.

  • 00:15:00 Dans cette section, l'orateur discute de la programmation linéaire et de ses différents types tels que la programmation non linéaire, la programmation quadratique, la programmation semi-définie et les méthodes de points intérieurs. L'orateur introduit l'idée de dualité, où un problème dual du problème de programmation linéaire est créé, et le problème primal est transformé en un problème de maximisation avec un coût linéaire et des contraintes d'inégalité linéaires. L'orateur explique ensuite que le problème primal et son problème dual sont étroitement liés et peuvent être résolus à l'aide de la méthode du simplexe. De plus, l'orateur introduit l'idée clé de la dualité, qui stipule que la valeur maximale est toujours inférieure ou égale à toute valeur autorisée réalisable. Enfin, le locuteur donne une preuve en une ligne de l'inégalité B transpose Y est inférieur ou égal à C transpose X.

  • 00:20:00 Dans cette section, l'orateur discute de l'importance de X supérieur ou égal à zéro dans la programmation linéaire et de son rôle dans la réalisation de la dualité faible. Le fait que X soit supérieur ou égal à zéro garantit que les inégalités souhaitées sont satisfaites et que le résultat obtenu à partir du système est correct. L'orateur mentionne le concept de dualité et son lien avec la programmation linéaire et les jeux à deux, soulignant l'importance de prêter attention à l'algorithme dans les deux cas. Le conférencier fournit également un exemple de débit maximal égal à la coupe minimale pour démontrer les concepts abordés.

  • 00:25:00 Dans cette section, l'orateur aborde le problème de la programmation linéaire et des jeux à deux dans le contexte de la maximisation du débit à travers un réseau avec des contraintes sur les capacités de périphérie. Ils expliquent que l'objectif est de maximiser le débit au puits tout en veillant à ce que la variable de débit ne dépasse pas la quantité de débit autorisée par les capacités des bords. Le problème peut être résolu en utilisant la programmation en nombres entiers, mais peut être assoupli en toute sécurité pour autoriser des variables non entières. L'orateur fournit des exemples de la façon de résoudre ce problème et discute de l'importance de choisir des capacités de bord appropriées.

  • 00:30:00 Dans cette section, le conférencier aborde la programmation linéaire et les jeux à deux. Plus précisément, il explore la recherche d'une limite supérieure sur le débit maximal dans un réseau, en se concentrant sur une coupure dans le réseau qui sépare les bords qui vont avec une source et ceux qui vont avec une cible. Le débit maximum pour cet exemple est de 14, ce qui correspond à la coupe minimum. Le concept de dualité est également introduit pour trouver une borne supérieure lors de l'optimisation d'un problème.

  • 00:35:00 Dans cette section, l'orateur discute de la programmation linéaire et des jeux à deux. Le problème de coupe maximale dans un grand réseau peut être résolu rapidement avec la programmation linéaire, bien que la coupe maximale puisse ne pas être visible avec des milliers d'arêtes. La méthode du simplexe, qui a presque toujours un cas moyen, est polynomiale en temps à résoudre. L'orateur parle aussi de dualité dans la programmation linéaire où aucun flux ne peut dépasser la capacité de la coupe. Enfin, l'orateur parle de jeux à deux et d'une matrice de gains utilisée pour prendre des décisions basées sur les gains pour minimiser et maximiser les joueurs. Le jeu est un jeu à somme nulle, ce qui signifie que tous les gains X vont à Y.

  • 00:40:00 Dans cette section, la vidéo traite de la programmation linéaire et des jeux à deux en utilisant un exemple où X veut faire un petit nombre et Y veut le faire grand. Il en résulte un jeu simple avec un point de selle où Y choisit la colonne deux à chaque fois et X choisit la ligne un à chaque fois. Cependant, lorsque l'exemple change et que Y vise la colonne deux, X doit choisir une stratégie mixte car un point de selle n'est pas présent. Y adopte également une stratégie mixte, que X finit par comprendre, conduisant à une compétition pour trouver le meilleur choix entre 0 et 1.

  • 00:45:00 Dans cette section, l'orateur discute du processus de résolution d'un jeu à deux en utilisant la programmation linéaire et donne un exemple de résolution d'un jeu avec une matrice. La stratégie optimale pour Y s'avère être 2/3 sur la première colonne et 1/3 sur la deuxième colonne. Le meilleur q4 pour X est déterminé compte tenu de cette stratégie Y optimale. L'orateur explique qu'il pourrait y avoir d'autres colonnes ou lignes pour X qui n'entrent pas dans le mélange pour l'optimum.

  • 00:50:00 Dans cette section, le conférencier discute des liens entre la programmation linéaire et les jeux à deux. Il note l'importance du théorème de dualité et son lien avec la résolution de problèmes d'optimisation, ainsi que les limites de l'application de ces techniques à des jeux à trois personnes ou plus. Il raconte également brièvement l'histoire de John Nash et ses contributions sur le terrain, y compris son amélioration et sa mort tragique. Enfin, l'orateur mentionne que le prochain cours portera sur la descente de gradient stochastique.
 

Cours 25. Descente de gradient stochastique



25. Descente de gradient stochastique

Dans cette vidéo, le concept de descente de gradient stochastique (SGD) est présenté comme une méthode d'optimisation pour résoudre des problèmes d'apprentissage automatique à grande échelle souvent posés sous la forme d'un problème de somme finie. L'orateur explique comment SGD sélectionne des points de données aléatoires pour calculer le gradient afin d'accélérer le calcul et comment il se comporte différemment de la descente de gradient par lots lorsqu'il s'approche de l'optimum en raison de la nature fluctuante de la méthode. La propriété clé de SGD est que l'estimation du gradient stochastique est une version non biaisée du vrai gradient dans l'attente et la variance du gradient stochastique doit être contrôlée pour réduire le bruit. L'utilisation de mini-lots est discutée comme un moyen de parallélisme bon marché dans la formation GPU d'apprentissage en profondeur, mais la sélection de la bonne taille de mini-lots reste une question ouverte qui peut avoir un impact sur la robustesse de la solution en présence de données invisibles. Les défis de l'optimisation de SGD incluent la détermination de la taille des mini-lots et le calcul des gradients stochastiques, mais les chercheurs tentent de comprendre l'efficacité de SGD dans les réseaux de neurones en développant une théorie de la généralisation.

  • 00:00:00 Dans cette section, le conférencier présente le concept de descente de gradient stochastique en tant qu'ancienne méthode d'optimisation encore utilisée pour former des systèmes d'apprentissage automatique à grande échelle. Ils expliquent que la résolution de problèmes d'optimisation est cruciale en science des données, et que ces problèmes sont souvent assez importants. L'orateur fournit une implémentation de la descente de gradient dans MATLAB et montre qu'une seule ligne doit être modifiée pour piloter toutes les boîtes à outils d'apprentissage en profondeur et l'apprentissage automatique à grande échelle. L'orateur décrit ensuite les problèmes d'optimisation en apprentissage automatique, qui consistent à trouver un x sur une fonction de coût écrite sous forme de somme. Ces problèmes sont appelés problèmes à somme finie et sont généralement résolus à l'aide de méthodes d'optimisation stochastique.

  • 00:05:00 Dans cette section, l'orateur discute de l'apprentissage automatique à grande échelle, ce qui signifie que le nombre de points de données d'apprentissage (n) et la dimensionnalité des vecteurs (d) peuvent être importants. Un grand n peut atteindre des millions ou des milliards, et un grand d peut comprendre jusqu'à un milliard de caractéristiques. Cela entraîne de nombreuses recherches sur les méthodes d'optimisation pour l'apprentissage automatique à grande échelle, y compris la recherche d'algorithmes temporels sous-linéaires dans les structures de données et les astuces de hachage pour gérer ces mégadonnées. L'orateur donne des exemples de la question la plus classique en algèbre linéaire, le problème de régression des moindres carrés et une autre méthode largement utilisée appelée la sol, qui sont tous deux écrits en termes de perte sur les données d'apprentissage avec un format de somme finie. Enfin, l'orateur note que les réseaux de neurones profonds sont encore un autre exemple de ce problème de somme finie avec n points de données d'apprentissage.

  • 00:10:00 Dans cette section, l'orateur explique comment les procédures d'optimisation sont nécessaires pour résoudre les problèmes de somme finie qui se posent dans l'apprentissage automatique et les statistiques. En effet, la plupart des problèmes dans ce domaine peuvent être exprimés sous la forme d'un problème à somme finie et des procédures d'optimisation spécialisées sont nécessaires pour les résoudre. L'orateur introduit la méthode de descente de gradient mais note que le calcul du gradient d'un seul point dans un grand ensemble de données peut prendre des heures ou des jours, ce qui est un inconvénient majeur. L'orateur demande des suggestions au public pour contrer cet inconvénient, et certaines idées présentées incluent l'utilisation de la descente de gradient stochastique et l'échantillonnage d'un sous-ensemble de l'ensemble de données complet.

  • 00:15:00 Dans cette section, l'orateur aborde le concept de descente de gradient stochastique, qui consiste à sélectionner au hasard certains points de données à chaque itération et à calculer le gradient d'un seul point, ce qui accélère considérablement le processus. Cependant, l'orateur note que la question clé est de savoir si cette idée a un sens mathématique. La descente de gradient stochastique a été proposée pour la première fois par Robbins à Monroe en 1951, et elle est comparée à la méthode de descente de gradient. L'orateur note que la descente de gradient stochastique est plus sensible à la taille des pas et montre une simulation d'un problème de jouet pour illustrer comment la ligne fluctue. La méthode semble encore progresser vers l'optimum, malgré les fluctuations.

  • 00:20:00 Dans cette section, l'orateur discute du concept de descente de gradient stochastique (SGD), qui calcule le gradient du point de données choisi au hasard multiplié par une valeur alpha (taille de pas) pour approcher une solution. Le processus est très sensible au paramètre de taille de pas et est plus sensible que la descente de gradient. Au fur et à mesure qu'il fait varier le paramètre, l'orateur observe la progression vers la solution et explique le comportement typique de SGD. Il explique pourquoi les gens aiment SGD car il fait des progrès rapides au début dans de grands ensembles de données et on peut obtenir des progrès rapides et sales tout en évitant le surajustement. Cependant, lorsqu'il se rapproche de la solution, il fluctue davantage et il peut être difficile de trouver le meilleur optimum en raison d'un comportement chaotique.

  • 00:25:00 Dans cette section, l'orateur explique comment les méthodes de gradient stochastique fonctionnent dans un simple problème d'optimisation unidimensionnel où des fonctions quadratiques sont utilisées. L'objectif est de minimiser ces fonctions quadratiques, et l'orateur montre comment utiliser les gradients des composants individuels pour ce faire. Ils expliquent que la méthode fonctionne bien au début car elle utilise le gradient complet, mais une fois qu'elle se rapproche de l'optimum, tout peut arriver et cela devient déroutant. L'orateur montre également comment trouver la solution de forme fermée, et où le vrai minimum peut être trouvé dans une plage spécifique de mins et de maxs individuels.

  • 00:30:00 Dans cette section, l'orateur explique le comportement de la descente de gradient stochastique (SGD) lorsque le scalaire X est en dehors de la région de confusion, ce qui signifie que le point est très éloigné de l'endroit où se trouve la solution. Dans ce régime lointain, un gradient stochastique d'une composante a exactement le même signe que le gradient complet, qui est la direction dans laquelle marcher pour diminuer la fonction de perte. L'orateur utilise cela pour expliquer pourquoi SGD peut faire de solides progrès à grande distance et comment il peut fournir une vitesse initiale impressionnante, permettant des millions d'étapes stochastiques dans le temps qu'il faudrait pour effectuer une seule itération de descente de gradient par lots. Une fois à l'intérieur de la région de confusion, la descente de gradient stochastique devient moins efficace dans l'optimisation, mais dans l'apprentissage automatique, les fluctuations peuvent rendre la méthode plus robuste et meilleure pour la généralisation. Les conférenciers notent qu'il s'agit d'une idée répandue dans l'apprentissage automatique, l'informatique théorique et les statistiques, où la randomisation est utilisée pour accélérer le calcul de quantités coûteuses.

  • 00:35:00 Dans cette section, l'orateur discute de la propriété clé de la descente de gradient stochastique (SGD). L'idée principale derrière SGD est d'utiliser un gradient estimé au hasard pour économiser sur le calcul. La propriété clé de SGD est que, dans l'attente, l'estimation du gradient stochastique est une version non biaisée du vrai gradient. Au-delà de cette absence de biais, la quantité de bruit ou la quantité de stochasticité est contrôlée de sorte que la variance du gradient stochastique soit réduite. Plus la variance est petite, meilleur est votre gradient stochastique en remplacement du vrai gradient, et plus la convergence est rapide.

  • 00:40:00 Dans cette section, l'orateur discute de la méthode de descente de gradient stochastique et de son comportement sur les problèmes convexes et non convexes. L'orateur mentionne également deux variantes de la méthode, l'une sans contrainte où un vecteur aléatoire est choisi et l'autre avec des contraintes où un point de données d'apprentissage est choisi au hasard avec ou sans remplacement. L'orateur explique que bien que la méthode existe depuis 1951 et soit largement utilisée dans les boîtes à outils d'apprentissage en profondeur, il existe encore des écarts entre les applications théoriques et pratiques. Les toolkits utilisent la version sans remplacement même si la version que nous savons analyser est la version aléatoire uniforme, qui est un problème ouvert majeur dans le domaine du gradient stochastique. L'orateur mentionne également l'idée du mini-lot, qui utilise un lot de points pour réduire la variance, ce qui entraîne moins de bruit.

  • 00:45:00 Dans cette section de la vidéo, l'orateur discute du concept de mini-lots et de la façon dont ils sont exploités par les gens pour donner une version bon marché du parallélisme dans la formation de style GPU d'apprentissage en profondeur. Plus le mini-lot est grand, plus il est possible de faire des choses en parallèle. Cependant, il existe également une énigme dans la mesure où l'utilisation de très grands mini-lots implique que le gradient stochastique commence à ressembler davantage à une descente de gradient de lot, ce qui réduit le bruit à un point où la région de confusion se rétrécit trop. Cela est préjudiciable à l'apprentissage automatique car cela peut entraîner un surajustement du réseau de neurones, ce qui rend difficile la prédiction de données invisibles. Par conséquent, la sélection de la bonne taille de mini-lot reste une question ouverte dans le processus d'optimisation des réseaux de neurones profonds.

  • 00:50:00 Dans cette section, l'orateur discute des défis associés à l'optimisation de la descente de gradient stochastique (SGD), notamment en déterminant quel mini-lot utiliser et comment calculer les gradients stochastiques. L'algorithme de rétropropagation est présenté comme une méthode populaire de calcul d'un gradient stochastique unique, et les boîtes à outils d'apprentissage automatique peuvent avoir différentes façons d'automatiser le calcul d'un gradient. Les défis théoriques pour prouver l'efficacité de SGD sont discutés, y compris la question de savoir pourquoi SGD fonctionne si bien pour les réseaux de neurones malgré ses supposées qualités sous-optimales. Des chercheurs tentent actuellement de comprendre ce mystère en développant une théorie de la généralisation.
 

Cours 26. Structure des réseaux de neurones pour l'apprentissage en profondeur



26. Structure des réseaux de neurones pour l'apprentissage en profondeur

Cette vidéo traite de la structure des réseaux de neurones pour l'apprentissage en profondeur. L'objectif est de classer les données de manière binaire en construisant un réseau neuronal avec des vecteurs de caractéristiques qui ont m caractéristiques, créant une fonction d'apprentissage qui peut classer les données dans l'une des deux catégories. La non-linéarité est essentielle dans la création de ces fonctions, car les classificateurs linéaires sont incapables de séparer les données non linéaires. La vidéo traite également de l'importance du nombre de poids et de couches dans le réseau neuronal et fournit des ressources telles que le terrain de jeu TensorFlow pour que les utilisateurs s'exercent à créer des fonctions. Enfin, la vidéo traite de la récursivité utilisée pour prouver la formule du nombre de pièces plates obtenues en coupant un gâteau et de son lien avec le problème d'optimisation consistant à minimiser la perte totale dans l'apprentissage en profondeur.

  • 00:00:00 Dans cette section, le professeur présente la structure centrale des réseaux de neurones profonds, qui est la construction de la fonction d'apprentissage f qui apprend les données d'apprentissage et peut être appliquée aux données de test. L'objectif est de classer les données de manière binaire en construisant un réseau de neurones avec des vecteurs de caractéristiques qui ont m caractéristiques. Le réseau créera une fonction d'apprentissage qui peut classer les données dans l'une des deux catégories, telles que garçon ou fille, chat ou chien, ou camion ou voiture. Le professeur mentionne également que cette structure est disponible sur le site mascotte mit.edu/learning from data depuis des mois et sera ajoutée à la plateforme Stellar.

  • 00:05:00 Dans cette section, le conférencier explique comment créer une fonction f de X qui renvoie la bonne réponse pour la classification à deux classes. L'enseignant précise que la fonction doit être négative pour la classification moins un et positive pour la classification plus un. Cependant, le conférencier reconnaît que nous n'avons pas besoin d'obtenir chaque échantillon correctement, car un surajustement peut se produire, et la règle que nous découvrons devrait couvrir presque tous les cas, mais pas tous les cas "étranges". Le conférencier recommande ensuite de visiter le site playground.tensorflow.org, où un problème modèle simple peut aider les individus à se familiariser avec l'apprentissage en profondeur. Le terrain de jeu offre quatre exemples, et l'un d'eux consiste à trouver une fonction qui est positive sur certains points et négative sur d'autres points.

  • 00:10:00 Dans cette section, l'orateur discute de l'importance de la non-linéarité dans les réseaux de neurones, soulignant que si des classificateurs linéaires comme les machines à vecteurs de support étaient utilisés, il ne serait pas possible de créer une fonction non linéaire qui pourrait séparer les données. Il montre ensuite un exemple de problème de classification 2D avec une spirale où le système essaie de trouver une fonction qui est positive sur une spirale et négative sur l'autre spirale, et cela prend un peu de temps, de nombreuses époques. Le conférencier explique également ce qu'est une époque et mentionne la différence entre les mini-lots avec remplacement et les mini-lots sans remplacement en descente de gradient stochastique.

  • 00:15:00 Dans cette section, l'orateur discute d'un site Web appelé le terrain de jeu de TensorFlow, qui permet aux utilisateurs de créer une fonction f de X à l'aide d'une fonction non linéaire. Le site Web trace l'ensemble zéro pour la fonction, qui sépare les ensembles positifs et négatifs, zéro étant entre les deux. Le site Web permet aux utilisateurs de décider du nombre de couches et de neurones dans chaque couche, car ceux-ci sont essentiels pour trouver une fonction f qui apprend les données. L'orateur note également l'importance des fonctions linéaires dans ce processus et demande des recommandations pour de bons sites Web de réseaux neuronaux convolutifs sur lesquels s'exercer. La fonction f a la forme d'un vecteur de X à cinq composantes, une couche à six neurones et une couche de sortie à un nombre.

  • 00:20:00 Dans cette section, l'orateur discute de la structure des réseaux de neurones pour l'apprentissage en profondeur. Ils commencent par expliquer la structure de base d'un réseau de neurones, qui implique une matrice de poids pour calculer la sortie Y. Cependant, le processus devient plus complexe lors de l'ajout de plusieurs couches pour un apprentissage en profondeur. Chaque couche est censée en savoir plus sur les données, la première couche apprenant les faits de base et chaque couche suivante apprenant plus de détails. Enfin, l'orateur explique comment le réseau de neurones implique une carte fine et l'application d'une fonction sur chaque composant pour obtenir la sortie finale.

  • 00:25:00 Dans cette section, le conférencier discute de la structure des réseaux de neurones dans l'apprentissage en profondeur. Ils expliquent que les réseaux de neurones consistent en une fonction d'apprentissage qui dépend des poids et des entrées, qui est créée à travers une chaîne de fonctions ou une composition de fonctions, chacune consistant en une carte linéaire ou affine suivie d'une fonction non linéaire. Il en résulte une fonction complexe qui est continue et linéaire par morceaux. L'orateur note qu'une telle fonction s'appuie sur des matrices et des vecteurs à créer et dépend du nombre de poids dans le modèle.

  • 00:30:00 Dans cette section, l'orateur parle de la structure des réseaux de neurones pour l'apprentissage en profondeur, en particulier de l'idée d'une "chaîne" de fonctions linéaires suivies de fonctions ReLu. Ils discutent de la question de savoir si une fonction peut être obtenue de cette manière et concluent que seules les fonctions linéaires continues par morceaux sont possibles. L'orateur utilise également le concept d'origami pour aider à visualiser le graphique d'une fonction linéaire par morceaux à deux variables, qui se compose de pièces plates connectées le long de bords droits. La question du comptage du nombre de pièces est posée comme aide à la visualisation.

  • 00:35:00 Dans cette section, l'orateur discute du problème du nombre de pièces plates pouvant être obtenues en pliant un plan avec n plis. Ce problème est essentiel pour comprendre la liberté de la fonction, f, et si elle peut approximer n'importe quelle fonction continue en prenant suffisamment de plis. L'orateur note que la réponse est oui, et cette classe de fonctions est universelle. De plus, la section aborde l'importance de comprendre ce concept dans le domaine plus large de l'informatique, en particulier dans les réseaux de neurones.

  • 00:40:00 Dans cette section, l'orateur discute d'un problème mathématique impliquant le nombre de pièces plates dans une feuille de papier pliée. Ils demandent combien de pièces seraient formées s'ils pliaient le papier plusieurs fois et essaient de créer une formule de récurrence pour résoudre le problème. L'orateur présente les nombres qu'ils ont trouvés jusqu'à présent et explique qu'ils doivent trouver une formule pour le nombre de pièces plates dans une feuille de papier pliée en n avec une surface à m dimensions. Ils prévoient ensuite d'ajouter à la formule récursive une fois qu'ils l'ont trouvée.

  • 00:45:00 Dans cette section, l'orateur utilise un exemple visuel pour aider à expliquer la formule du nombre de pièces créées en faisant des coupes dans des espaces de dimension supérieure. En utilisant des nombres binomiaux, la formule peut être appliquée à n'importe quelle dimension M et N donnée. L'orateur donne un exemple dans lequel N est égal à 3 et M est égal à 2 pour montrer comment utiliser la formule. Enfin, la formule est présentée comme R de avec se plie en M dimensions, équivalant à des nombres binomiaux, et de 0 à M.

  • 00:50:00 Dans cette section, l'orateur discute de la récursivité utilisée pour prouver la formule des pièces plates qui résultent de la découpe d'un gâteau. Ils expliquent que le nombre qu'ils recherchent est le nombre précédent de pièces plates plus le nombre de pièces coupées. La règle de la récursivité est prouvée dans la section 7.1 de l'article de Kleinberg et d'autres. La prochaine étape après avoir trouvé cette famille de fonctions est de choisir les A et les poids. Il en résulte un problème de minimisation de la perte totale, qui peut être résolu en utilisant la descente de gradient et la rétropropagation.
 

Cours 27. Rétropropagation : trouver des dérivées partielles



27. Rétropropagation : trouver des dérivées partielles

Cette vidéo couvre plusieurs sujets liés à la rétropropagation et à la recherche de dérivées partielles. L'orateur démontre l'utilisation de la règle de la chaîne pour les dérivées partielles et souligne l'importance de l'ordre des calculs dans la multiplication matricielle. La rétropropagation est mise en évidence comme un algorithme efficace pour calculer les gradients, et divers exemples sont donnés pour démontrer son efficacité. La convergence de la descente de gradient stochastique est brièvement discutée, ainsi qu'une idée de projet liée à l'utilisation d'un ordre aléatoire d'échantillons de fonction de perte dans la descente de gradient stochastique. Dans l'ensemble, la vidéo donne un aperçu complet de la rétropropagation et de ses applications.

  • 00:00:00 Dans cette section, l'orateur aborde deux sujets d'intérêt. Tout d'abord, la convergence de la descente de gradient stochastique est discutée, l'accent étant davantage mis sur la logique et les hypothèses de l'algorithme que sur la preuve elle-même. Deuxièmement, l'orateur propose une idée de projet liée à l'utilisation d'un ordre aléatoire d'échantillons de fonction de perte dans la descente de gradient stochastique. Plus précisément, le projet consisterait à calculer les moyennes d'une liste de 100 nombres aléatoires en utilisant à la fois des méthodes de remplacement et sans remplacement pour déterminer la différence d'approche.

  • 00:05:00 Dans cette section, l'orateur discute de la rétro-propagation comme moyen de calculer le gradient dans les algorithmes de descente les plus raides. La rétropropagation est le calcul clé qui a rendu les réseaux de neurones populaires et implique de calculer rapidement les gradients et les dérivés en utilisant la différenciation automatique en mode inverse. L'orateur suggère également d'explorer des exemples de convergence de la moyenne au fur et à mesure des remplacements, ainsi que du bon début et de la mauvaise fin de la descente de gradient stochastique, les mots magiques dans les calculs étant l'arrêt précoce.

  • 00:10:00 Dans cette section, l'orateur discute de la rétropropagation et de son utilisation pour trouver des dérivées partielles. La rétropropagation avait déjà été étudiée sous le nom de différenciation automatique, et l'orateur attribue au leader du développement des réseaux de neurones profonds la réalisation de son efficacité. L'orateur donne un exemple simple d'une fonction pour illustrer le calcul de f(x) et des dérivées, et met l'accent sur l'utilisation de la règle de la chaîne pour trouver les dérivées partielles. La rubrique mentionne également un blog de Christopher Olah, qui fournit des explications claires sur le sujet.

  • 00:15:00 Dans cette section, le présentateur discute du calcul des dérivées partielles à l'aide de la règle de la chaîne. Ils utilisent un exemple de fonction à deux variables pour montrer comment calculer les dérivées partielles de la fonction, en commençant par trouver F et en créant un graphique de calcul. Ils expliquent que pour utiliser la règle de la chaîne, il faut différencier chacun des facteurs trouvés dans le calcul de F et les évaluer de manière appropriée. Ce graphique de calcul est utilisé pour démontrer le calcul des dérivées partielles pour l'apprentissage en profondeur, pour lequel de nombreuses variables sont évaluées.

  • 00:20:00 Dans cette section, l'orateur discute du processus de recherche de dérivées partielles à l'aide de la différenciation automatique en mode direct. Ils commencent par calculer la dérivée partielle de F DX, en décomposant le calcul en éléments simples et en remplaçant les étapes intermédiaires par des dérivées. Ils utilisent le fait que la dérivée de X au cube par rapport à X est 3X au carré, ce qui donne une valeur de 12 lorsque X est égal à 2. Ils reconnaissent alors que la méthode directe est inutile car ils devront faire un autre graphique pour la dérivée Y aussi. Le locuteur utilise également la règle du produit pour trouver la dérivée partielle du produit. Le processus nécessite un peu d'organisation, mais le but est de décomposer le calcul en éléments simples pour simplifier les dérivées.

  • 00:25:00 Dans cette section, l'orateur explique comment utiliser la règle du produit pour trouver des dérivées partielles à l'aide d'un graphe de calcul. L'orateur utilise l'exemple de la recherche de la dérivée X d'un produit et attribue des noms aux deux termes du produit. Il calcule ensuite les valeurs nécessaires pour la règle du produit et les utilise pour calculer la dérivée. Cependant, il a du mal à trouver la réponse finale et admet qu'il devrait refaire le calcul s'il veut trouver le FD. L'orateur suggère que l'utilisation du mode inverse serait plus efficace car elle permet de calculer les deux dérivées partielles à la fois.

  • 00:30:00 Dans cette section, l'orateur explique comment la technique de rétropropagation permet de calculer efficacement les gradients en suivant tous les chemins vers l'arrière. Cette technique aide à trouver toutes les dérivées grâce à la règle de la chaîne appliquée à quelques-unes qui ont déjà été élaborées en détail. L'orateur note que le calcul a tendance à sembler simple après avoir regardé en arrière ce qui a été réellement fait. L'approche en mode inverse est utilisée pour calculer n premières dérivées avec seulement quatre ou cinq fois le coût, ce qui est étonnant selon l'orateur. L'orateur donne également un exemple de la façon dont l'ordre dans lequel les calculs sont effectués peut faire une différence en termes d'efficacité, en utilisant la multiplication de deux matrices comme exemple.

  • 00:35:00 Dans cette section de la vidéo, l'orateur discute de l'importance de l'ordre des calculs dans la multiplication matricielle car il peut affecter de manière significative la vitesse des calculs. Il passe ensuite à l'exemple 1 de la rétropropagation et montre comment utiliser la règle de la chaîne et diverses autres règles dérivées pour trouver des dérivées partielles tout en remontant dans un graphe de calcul. Il met en évidence le fait qu'en réutilisant les éléments de la chaîne, une chaîne plus large peut être créée sans coûts importants, ce qui se traduit par des calculs plus rapides même lorsque la fonction dépend de centaines de variables.

  • 00:40:00 Dans cette section de la vidéo, l'orateur explique comment utiliser la rétropropagation pour trouver des dérivées partielles. Ils montrent un exemple où ils trouvent des dérivées partielles par rapport à X et Y en utilisant la règle de la chaîne, et soulignent que la rétropropagation permet de trouver toutes les dérivées à partir d'une chaîne, plutôt que de séparer les chaînes pour chaque variable. L'orateur note que ce processus peut être appliqué à un système de n'importe quelle taille et mentionne brièvement la convergence de la descente de gradient stochastique, qu'il couvrira dans de futures conférences.

  • 00:45:00 Dans cette section, l'orateur discute de deux manières différentes de multiplier trois matrices - A, B et C - et du nombre d'opérations nécessaires pour le faire. La première consiste à multiplier A par BC, ce qui coûte M x N x PQ opérations, où P et Q sont respectivement le nombre de lignes et de colonnes de B et C. La seconde consiste à multiplier AB par C, ce qui coûte M x P x Q opérations. L'orateur souligne qu'il est important d'être conscient du nombre d'opérations nécessaires lors de la multiplication de matrices, en particulier dans le cas où C est un vecteur colonne, car cela peut potentiellement conduire à de très grandes matrices difficiles à manipuler.

  • 00:50:00 Dans cette section, l'orateur discute des dérivées partielles et de la rétropropagation. L'orateur démontre comment la rétropropagation est le bon ordre pour les dérivées partielles car elle permet la multiplication de deux grandes matrices et d'obtenir un vecteur colonne, ce qui est beaucoup plus rapide que de multiplier un vecteur colonne par une matrice pour obtenir un nouveau vecteur colonne, puis de le multiplier. par une autre matrice pour obtenir un autre vecteur colonne. La rétropropagation simplifie le processus et permet des calculs plus rapides d'un ordre de grandeur.
 

Cours 30 : Remplir une matrice de rang un, circulants !



Cours 30 : Remplir une matrice de rang un, circulants !

Dans la leçon 30, le conférencier discute de la réalisation d'une matrice de rang un et de matrices circulantes. Ils commencent par un déterminant 2x2 et l'utilisent pour affiner les valeurs qui peuvent être remplies dans une matrice pour lui donner le premier rang. Le conférencier passe ensuite à un problème combinatoire pour une matrice 4x4 et introduit des matrices circulantes qui présentent des motifs cycliques qui peuvent être créés avec seulement quatre nombres donnés. Le cours couvre également la convolution cyclique, les valeurs propres et les vecteurs propres des matrices circulantes, qui sont importants dans le traitement du signal.

  • 00:00:00 Dans cette section, le conférencier donne un exemple de question d'une session de laboratoire précédente sur la complétion d'une matrice en une matrice de rang un. La question est centrée sur les postes qui peuvent être pourvus et ceux qui ne peuvent pas être pourvus pour obtenir une matrice de rang un. Le conférencier explique comment choisir des nombres non nuls et pose la question de savoir s'il est possible de compléter une matrice avec cinq nombres non nuls en une matrice de rang un.

  • 00:05:00 Dans cette section, le conférencier discute de la réalisation d'une matrice de rang un et des circulants. Ils commencent par examiner un déterminant 2x2, où deux par deux doivent être de rang 1 et donc avoir un déterminant de 0. Ils utilisent cette idée pour préciser quel serait le nombre manquant dans une matrice et comment remplir le reste. des valeurs. Le conférencier passe ensuite à un exemple 4x4 et introduit un problème combinatoire, déterminant quelles 5 positions fonctionneront et lesquelles ne fonctionneront pas. Enfin, ils parlent de circulants, qui présentent des modèles cycliques dans la matrice où chaque ligne devient la ligne précédente décalée vers la droite d'un élément. Ils expliquent comment créer des matrices circulantes et leurs propriétés, y compris la diagonalisation.

  • 00:10:00 Dans cette section, le conférencier discute de la réalisation d'une matrice de rang un et de graphes bipartis. Ils commencent par prescrire des nombres dans une matrice 4x4 et dessinent un graphique bipartite avec des lignes et des colonnes pour représenter les connexions entre les nombres. Le conférencier explique que remplir la matrice au rang un nécessite d'éviter un carré 2x2 où trois entrées ont été spécifiées. Si les quatre entrées sont données, il ne sera pas possible de créer un déterminant nul et la matrice n'aura pas le rang un. Le conférencier convertit le graphe bipartite en une représentation matricielle pour illustrer comment déterminer quelles entrées peuvent être remplies pour créer une matrice de rang un.

  • 00:15:00 Dans cette section, le professeur discute de la réalisation d'une matrice de rang un, en précisant s'il est toujours possible ou non de la compléter s'il n'y a pas de 2x2 sur le chemin. Il démontre par des exemples que deux par deux ne sont pas toujours le problème et qu'il pourrait y avoir des cycles plus longs qui entraveraient l'achèvement. L'essentiel à retenir est qu'une matrice ne peut être complétée au rang un que s'il n'y a pas de cycles, ce qui peut être identifié dans le graphique bipartite correspondant.

  • 00:20:00 Dans cette section, le conférencier discute de la réalisation d'un cycle à six arêtes et de son lien avec l'idée de cycles dans les matrices. Il convertit une image dessinée d'un cycle en une matrice et explique comment les cycles dans les matrices montrent que certaines exigences doivent être satisfaites par des valeurs non nulles. Il pose une question sur la réalisation d'une matrice de rang 2 et discute de l'importance des convolutions dans l'apprentissage automatique.

  • 00:25:00 Dans cette section, le conférencier introduit le concept de matrices circulantes, qui sont un type spécial de matrices de convolution qui ont des diagonales constantes qui tournent autour pour être complétées. Les matrices circulantes sont une partie essentielle du traitement du signal et leurs propriétés algébriques en font un moyen efficace de connecter un ensemble de poids. En effet, la matrice clé ici est la matrice de décalage cyclique, qui aide à produire la matrice circulante à partir de P et P². En spécifiant la première colonne d'une matrice circulante, MATLAB, par exemple, peut faire décaler cycliquement toutes les autres colonnes, ce qui signifie que nous n'avons besoin que de quatre nombres pour définir une matrice circulante quatre par quatre.

  • 00:30:00 Dans cette section du cours, le concept de matrices circulantes est introduit. On montre que toute matrice circulante est un polynôme en P, où P représente un seul décalage. Il est également prouvé que si deux matrices sont circulantes, les multiplier ensemble donne une autre matrice circulante. De plus, la matrice d'identité est circulante, et si une matrice circulante est au carré, la matrice résultante est également circulante. L'objectif lors de la multiplication de matrices circulantes est de s'assurer que le degré polynomial ne dépasse pas le nombre de termes souhaité.

  • 00:35:00 Dans cette section, le conférencier discute des matrices et des circulants de rang un. Lors de la multiplication d'une matrice de décalage circulaire 4x4 avec le degré trois, il y a une question de savoir pourquoi le produit n'est pas le degré six. La clé est que le P au quatrième terme est vraiment un P au terme 0, donc le produit est une convolution cyclique. L'enseignant explique ensuite la différence entre convolution et convolution cyclique, en donnant un exemple de calcul de convolution entre deux vecteurs. Il rappelle également aux téléspectateurs que la convolution non cyclique n'utilise pas de symbole circulaire, contrairement à la convolution cyclique.

  • 00:40:00 Dans cette section, le conférencier discute de la convolution cyclique et de la façon dont elle peut être utilisée pour multiplier des polynômes de manière cyclique, ce qui correspond à la multiplication de matrices circulantes. La somme des chiffres d'un facteur multiplie la somme des chiffres de l'autre facteur pour donner la somme des chiffres de la convolution. L'enseignant aborde également brièvement les valeurs propres et les vecteurs propres de ces matrices. Le vecteur de tous les uns est un vecteur propre avec une valeur propre, et cela a une somme polynomiale de puissances de P. La conférence se termine par une discussion sur des sujets plus avancés dans le domaine.

  • 00:45:00 Dans cette section du cours, l'orateur explique que les vecteurs propres de la matrice C sont les mêmes que les vecteurs propres de la matrice P. Les vecteurs propres de la matrice P sont 1 et -1, et i et -i. Le monde circulant a plusieurs valeurs propres et vecteurs propres pour chaque circulant, et ce sont des règles importantes dans le traitement du signal.
 

Cours 31. Vecteurs propres des matrices circulantes : matrice de Fourier



31. Vecteurs propres des matrices circulantes : matrice de Fourier

Dans cette vidéo sur les vecteurs propres des matrices circulantes, le conférencier explique comment les matrices circulantes sont liées au traitement d'image et à l'apprentissage automatique, ainsi que sa connexion à la matrice de Fourier. Le conférencier insiste sur l'importance de comprendre les matrices de convolution et de circulation en relation avec la transformée de Fourier discrète (DFT) et les transformées de Fourier. L'orateur discute des vecteurs propres des matrices circulantes, en particulier la matrice de Fourier, et comment ils sont tous construits à partir du même ensemble de huit nombres qui sont aussi les valeurs propres. L'orateur parle également des propriétés de la matrice de Fourier, y compris la façon dont les colonnes sont orthogonales mais pas orthonormées et comment ses vecteurs propres s'additionnent à zéro en raison de la symétrie de la matrice circulante, ce qui les rend orthogonaux les uns aux autres. Enfin, l'orateur démontre le concept du vecteur Argan en tant que vecteur propre de la matrice de Fourier avec des exemples.

  • 00:00:00 Dans cette section, le professeur introduit le sujet des matrices circulantes et fournit des mises à jour sur les échéances et la notation des projets. Il mentionne également la connexion des matrices circulantes à la transformée de Fourier discrète, qui est un algorithme important en ingénierie et en mathématiques. La forme spéciale des matrices circulantes, avec seulement n entrées nécessaires pour définir une matrice de taille n par n, est utile dans de nombreuses applications, y compris l'apprentissage automatique pour les images.

  • 00:05:00 Dans cette section, l'orateur explique que les images sont généralement décrites par leurs pixels et peuvent avoir des vecteurs de caractéristiques avec des millions de composants, ce qui rendrait impossible le calcul des poids nécessaires à l'apprentissage en profondeur avec descente de gradient. Cependant, les matrices utilisées dans l'apprentissage en profondeur sont spéciales et ne dépendent pas du nombre de caractéristiques, similaires aux matrices circulantes avec des caractéristiques cycliques. Ces matrices sont appelées invariantes de décalage linéaire ou invariantes de temps linéaires, matrices de convolution, matrices de triplets ou matrices diagonales constantes et sont utilisées dans l'apprentissage automatique et le traitement d'images. Essentiellement, ils aident à optimiser l'apprentissage en profondeur en réduisant la taille du calcul de poids requis pour chaque couche du réseau profond.

  • 00:10:00 Dans cette section, le conférencier discute de l'utilisation des matrices circulantes dans le traitement d'images et l'apprentissage automatique. Il explique que pour opérer sur une grande image avec de nombreux pixels, on peut utiliser le max pooling pour réduire la taille du système. Cependant, pour les opérations convolutives, nous devons choisir des poids pour mettre en évidence les points importants. Par conséquent, nous utilisons des filtres pour simplifier l'image, comme un filtre passe-bas. L'orateur note que des réseaux de neurones plus larges dans l'apprentissage automatique sont utilisés lorsqu'il s'agit d'échantillons d'images, car une matrice diagonale constante est plus naturelle et plus efficace à utiliser.

  • 00:15:00 Dans cette section, le présentateur parle des valeurs propres et des vecteurs propres des matrices circulantes, en particulier la matrice de permutation qui a un effet de décalage cyclique. Les valeurs singulières d'une matrice de permutation sont toutes un, et les valeurs propres peuvent être trouvées en prenant P moins lambda I et en mettant le déterminant à zéro, ce qui donne lambda à la quatrième puissance. Le présentateur insiste également sur l'importance de comprendre les matrices de convolution et de circulation en relation avec la DFT et les transformées de Fourier.

  • 00:20:00 Dans cette section, l'orateur discute des vecteurs propres des matrices circulantes, en se concentrant spécifiquement sur la matrice de Fourier. Les valeurs propres de la matrice de Fourier sont trouvées en mettant le déterminant à zéro, ce qui donne les quatrièmes racines de un. Les valeurs propres d'une matrice circulante 8x8 ont également été discutées, qui sont les huit solutions de l'équation lambda à la puissance 8 égale un. Ces solutions se présentent sous la forme des nombres un, moins un et des quatrième et huitième racines de l'unité, et sont importantes car elles entrent en jeu en tant que vecteurs propres. Les vecteurs propres des matrices orthogonales ont également été introduits en tant que famille de matrices avec des vecteurs propres orthogonaux.

  • 00:25:00 Dans cette section, l'orateur discute de différentes familles de matrices qui ont des vecteurs propres orthogonaux. Les matrices symétriques ont des vecteurs propres orthogonaux et des valeurs propres réelles, tandis que les matrices diagonales ont des vecteurs propres qui entrent dans la matrice d'identité. Les matrices orthogonales ont des valeurs propres d'une magnitude de 1 et les vecteurs propres des matrices de permutation sont orthogonaux. Les matrices anti-symétriques ont des valeurs propres qui ne peuvent être que complexes, ce qui les rend incapables d'avoir de vraies valeurs propres.

  • 00:30:00 Dans cette section, l'orateur parle des matrices avec des vecteurs propres orthogonaux et de leur relation avec les matrices normales. Les matrices avec des vecteurs propres orthogonaux ont des valeurs propres complexes et le locuteur écrit une matrice diagonale qui contient n'importe quelle valeur propre. Il établit ensuite une équation matricielle qui montre comment reconnaître les matrices normales, qui sont en fait assez rares. Pour les reconnaître, il faut tester si une matrice est égale à sa transposée conjuguée.

  • 00:35:00 Dans cette section, l'orateur discute des vecteurs propres des matrices circulantes, en particulier la matrice de Fourier. La permutation P est orthogonale, donc ses vecteurs propres sont orthogonaux, mais ces matrices circulantes commutent également, ce qui en fait des matrices normales. Cela signifie qu'une fois que nous avons trouvé les vecteurs propres de P, nous avons trouvé les vecteurs propres de n'importe quelle matrice circulante, et ils sont tous spéciaux car ils sont connectés à Fourier. Les vecteurs propres sont trouvés pour diverses valeurs propres, y compris lambda étant 1, -1, i et -i.

  • 00:40:00 Dans cette section, l'orateur discute des vecteurs propres des matrices circulantes et souligne que tous les vecteurs propres sont construits à partir du même ensemble de huit nombres, qui sont également les valeurs propres. La matrice de vecteurs propres pour toutes les matrices circulantes de taille n est la matrice de Fourier, qui est une matrice complexe importante permettant la transformée de Fourier rapide. Toutes les entrées de la matrice sont des puissances d'un nombre complexe W sur le cercle unitaire en l'un de ses huit points. Le premier vecteur propre est composé uniquement de uns, tandis que les autres sont des puissances de W, de sorte que la matrice a une taille de 8x8. Globalement, les matrices circulantes ont des propriétés similaires grâce à leur matrice de vecteurs propres commune.

  • 00:45:00 Dans cette section de la vidéo, l'orateur explique les propriétés de la matrice de Fourier, qui est une matrice circulante composée de vecteurs propres qui sont des puissances de la racine huitième de un. Les colonnes de la matrice sont orthogonales, mais pas orthonormées, ce qui signifie qu'elles doivent être divisées par la racine carrée de huit pour les rendre orthonormées. La matrice est une matrice normale et ses vecteurs propres s'additionnent à zéro en raison de la symétrie de la matrice circulante, ce qui les rend orthogonaux les uns aux autres. L'orateur démontre cette propriété en utilisant une matrice trois par trois où la somme des vecteurs propres s'additionne à zéro, ce qui les rend orthogonaux.

  • 00:50:00 Dans cette section, l'orateur explique comment le vecteur Argan est un vecteur propre de la matrice de Fourier. Il montre comment, lorsque le produit scalaire des composants du vecteur Argan est ajouté, le résultat est 1. Il montre ensuite comment, lorsque le vecteur Argan est multiplié par e à la puissance (2π/3), les composants des vecteurs résultants totalisent 0. Ces démonstrations illustrent le concept selon lequel les vecteurs propres d'une matrice circulante sont orthogonaux. L'orateur conclut en mentionnant qu'il continuera à discuter du sujet de la matrice de Fourier dans la prochaine conférence et qu'il ne reste qu'une semaine et demie de cours en 1806.
 

Cours 32: ImageNet est un réseau de neurones convolutifs (CNN), la règle de convolution



Cours 32: ImageNet est un réseau de neurones convolutifs (CNN), la règle de convolution

Dans la conférence 32 d'un cours d'apprentissage en profondeur, la puissance des réseaux de neurones convolutifs (CNN) dans la classification d'images est discutée, avec l'exemple du concours ImageNet remporté par un grand CNN profond comprenant des couches de convolution, des couches normales et des couches de regroupement maximales. Le cours porte également sur la règle de convolution, qui relie multiplication et convolution, avec des exemples de convolutions bidimensionnelles, l'utilisation du produit de Kronecker pour une transformée de Fourier bidimensionnelle et dans le traitement du signal, et la différence entre périodique et non périodique. cas en ce qui concerne la convolution. Le conférencier discute également des vecteurs propres et des valeurs propres d'une matrice circulante et de l'opération de somme de Kronecker.

  • 00:00:00 Dans cette section de la vidéo, l'importance des réseaux de neurones convolutifs (CNN) est discutée en relation avec l'apprentissage en profondeur et la classification des images. Un article de Hinton et Skipper est mentionné qui a formé un grand CNN profond pour classer 1,2 million d'images haute résolution dans ImageNet. La compétition a été remportée avec un taux d'erreur de test de 15 % dans le top 5, contre 26 % pour l'équipe classée deuxième. Le CNN avait des couches de convolution, des couches normales et des couches de regroupement maximales, la moitié des échantillons allant sur un GPU et l'autre moitié sur un autre. L'abandon a également été utilisé dans les couches entièrement connectées pour réduire le surajustement. Cela démontre la puissance des CNN dans la gestion de l'énorme problème de calcul de la classification des images.

  • 00:05:00 Dans cette section de la vidéo, l'orateur discute de la règle de convolution, qui est un aspect essentiel des réseaux de neurones convolutifs (CNN). Il explique que la convolution résulte de la multiplication de polynômes et comment la formule des coefficients du contenu C*D dans la convolution peut être écrite d'une manière différente pour voir comment la convolution fonctionne. Il poursuit en donnant un exemple de la convolution de deux fonctions et explique que ce concept se rapporte à la convolution de deux vecteurs dans un CNN. Comprendre la convolution est crucial pour comprendre le fonctionnement interne d'un CNN, qui est un type de réseau de neurones qui compte 60 millions de paramètres et est utilisé pour des tâches de reconnaissance d'images.

  • 00:10:00 Dans cette section, le conférencier explique la règle de convolution pour les fonctions et comment elle se connecte à la transformée de Fourier des deux fonctions. Il mentionne que si F est 2 pi périodique et G est 2 pi périodique, alors on pourrait vouloir faire une convolution périodique et obtenir une réponse qui a aussi une période de 2 pi. Il explique comment rendre la convolution cyclique affecte la multiplication et que W est utilisé à la place de X pour X cyclique.

  • 00:15:00 Dans cette section de la vidéo, le conférencier discute de la différence entre les cas périodiques et non périodiques en ce qui concerne la convolution. Dans le cas périodique, le facteur W est défini comme ayant la propriété que W au N est 1, et les vecteurs supérieurs à n peuvent être repliés en un vecteur de longueur n. Le cas cyclique ne considère que K allant de 0 à n-1, et les sommes ne vont que de 0 à n-1. Dans le cas non périodique, la convolution a P plus Q moins 1 composants, et ce nombre est calculé dans le premier laboratoire.

  • 00:20:00 Dans cette section, le conférencier discute des vecteurs propres et des valeurs propres d'une matrice circulante, en particulier la matrice de permutation. Les vecteurs propres sont les colonnes de la matrice de vecteurs propres, qui est notée "F", et il y a quatre valeurs propres dérivées de la multiplication de F et C. Le conférencier démontre cette formule, expliquant que si C est une combinaison de P, alors le même combinaison de vecteurs propres donnera les valeurs propres de la matrice C.

  • 00:25:00 Dans cette section, le conférencier discute de la règle de convolution qui est un lien entre la multiplication et la convolution. La règle de convolution relie la multiplication des matrices à la convolution des matrices. Par la convolution cyclique, si l'enseignant multiplie la matrice C par la matrice D, il obtiendra une autre matrice circulante. Les coefficients des convolutés C et D représentent les coefficients diagonaux de la matrice C fois D. L'enseignant conclut que les valeurs propres de CD sont égales aux valeurs propres de C multipliées par les valeurs propres de D parce que C et D commutent et ont les mêmes vecteurs propres. Les valeurs propres se multiplient composante par composante, donnant la relation pour la règle de convolution.

  • 00:30:00 Dans cette section de la vidéo, le conférencier discute de la règle de convolution, qui stipule que l'on peut convoluer une image et lui appliquer une transformée de Fourier (FT), ou appliquer une FT pour séparer des images, puis les multiplier point -sage. Cette règle est utile car elle permet la transformée de Fourier rapide (FFT), qui est très efficace. Le conférencier considère ensuite le coût de chaque méthode - la méthode de convolution nécessite N^2 étapes, tandis que la méthode de transformation séparée ne nécessite que 2NlogN étapes.

  • 00:35:00 Dans cette section, l'orateur discute des convolutions bidimensionnelles et de l'opération à effectuer pour convoluer deux fonctions en deux dimensions. Ils expliquent comment dans MATLAB, la commande nécessaire pour effectuer cette opération est "cron" et comment elle peut être utilisée pour créer une matrice bidimensionnelle avec N pixels au carré en multipliant deux matrices unidimensionnelles A et B. L'orateur aborde également l'idée que si l'on veut multiplier deux entiers longs en cryptographie, l'utilisation de la règle de convolution peut être une méthode plus rapide et plus efficace.

  • 00:40:00 Dans cette section, l'utilisation du produit de Kronecker pour produire une grande matrice pour une transformée de Fourier bidimensionnelle est discutée. Le produit de Kronecker est une opération qui prend des matrices unidimensionnelles N par n et produit une matrice N au carré par N au carré. En multipliant de manière appropriée les deux matrices à l'aide du produit de Kronecker, une grande matrice peut être créée pour une transformée de Fourier bidimensionnelle. Le laplacien, qui est couramment utilisé dans les équations différentielles, est également discuté, où la matrice bidimensionnelle qui prend un schéma à cinq points avec cinq poids pour chaque point peut être produite à l'aide du produit de Kronecker.

  • 00:45:00 Dans cette section, l'orateur discute du produit Kronecker et comment il peut être utilisé dans le traitement du signal. Il explique qu'il souhaite utiliser le produit de Kronecker pour ajouter un effet bidimensionnel aux données, puis ajouter la dérivée verticale. Ensemble, cela s'appelle la somme de Kronecker, qui est une opération importante dans le traitement du signal. Il encourage également les étudiants à lui envoyer un courriel s'ils souhaitent se porter volontaires pour un projet dans lequel ils peuvent discuter de ce qu'ils ont appris et obtenir des commentaires du public.