[PYTHON] Un mémorandum d'étude et de mise en œuvre du Deep Learning

Personne cible

Les personnes qui ont étudié l'apprentissage automatique et l'apprentissage profond, mais ne savent pas comment ils sont liés lors de la mise en œuvre. Quelqu'un qui veut organiser son esprit. Je ne donnerai pas d'explication mathématique détaillée. Voir le didacticiel du chainer pour une explication mathématique.

Ce qui est devenu un modèle d'apprentissage profond

L'apprentissage profond a été créé en imitant le mécanisme de transmission de l'information dans les cellules nerveuses humaines. Cela a considérablement amélioré la précision.

Comment fonctionne le réseau neuronal

Modélisation des neurones

Dans le réseau neuronal, un modèle mathématique qui reproduit le mouvement des cellules nerveuses humaines sur un ordinateur est créé. Bien que les cellules nerveuses individuelles n'aient qu'une puissance de calcul simple, elles peuvent effectuer une reconnaissance et un jugement avancés en se connectant et en s'imbriquant les unes les autres. Le mécanisme de transmission de l'information est reproduit par des formules mathématiques lors du calcul de matrices et de fonctions spéciales.

Modèle de neurone

image.png

image.png

Le neurone a plusieurs entrées et une sortie. Une couche du réseau neuronal se compose de plusieurs neurones. ** Poids **: Coefficient pour multiplier chaque entrée. Il correspond à l'efficacité de transmission à la synapse, et plus la valeur est élevée, plus il y a d'informations transmises. Puisqu'il est automatiquement mis à jour pendant l'apprentissage, seule la valeur initiale est requise. ** Biais **: Une constante ajoutée à la somme de l'entrée multipliée par le poids. C'est pour ajuster l'excitation des neurones. Puisqu'il est automatiquement mis à jour pendant l'apprentissage, seule la valeur initiale est requise. ** Fonction d'activation **: une fonction qui représente l'état excité des neurones. Sans la fonction d'activation, les opérations du neurone ne seraient que la somme des produits, et le réseau neuronal perdrait la capacité d'exprimer des expressions complexes. Il existe diverses fonctions telles que la fonction sigmoïde et ReLU, et la fonction optimale est déterminée dans une certaine mesure en fonction du problème à traiter. Vous devez choisir pour chaque couche. Voir [Types de fonction d'activation](# Types de fonction d'activation) pour une description des fonctions. À propos, ** w ** est représenté comme un poids et ** b ** est représenté comme un biais.

(Jabashi) La bibliothèque de reconnaissance d'image yolo peut être reconnue dès que vous importez un fichier de poids entraîné (poids ajusté automatiquement, biais, nombre de couches, etc.). Cependant, si l'environnement appris n'est pas pris en compte, il peut être mal compris, ou même si un apprentissage supplémentaire est effectué, il peut ne pas bien converger. Par exemple, comme indiqué dans cet article, «sushi» est reconnu comme «hot dog» dans le modèle d'apprentissage appris aux États-Unis. En d'autres termes, on peut dire que la personnalité (résultat du calcul) change en fonction de l'environnement (ensemble de données) dans lequel elle a été élevée.

Mise en réseau des neurones (réseau neuronal)

Un réseau de neurones est construit en connectant plusieurs neurones pour former un réseau. (x, v, y sont des neurones) Disposez-les en couches comme indiqué sur la figure. news012_network1.jpg Figure Modèle de réseau neuronal (tiré de l'apprentissage automatique commençant par python)

Les couches du réseau neuronal sont classées en une couche d'entrée, une couche intermédiaire et une couche de sortie. Il n'y a qu'une couche d'entrée et une couche de sortie, mais la couche intermédiaire peut être augmentée. Il est nécessaire d'ajuster car le comportement du calcul change en augmentant le nombre de couches intermédiaires. Dans un réseau neuronal normal, la sortie d'un neurone est connectée à l'entrée de tous les neurones de la couche suivante. ** Propagation vers l'avant ** cette information est transmise de l'entrée à la sortie. Le fait que les informations remontent de la sortie vers l'entrée s'appelle ** rétropropagation **. La rétropropagation est effectuée lorsque le poids et le biais sont mis à jour en retournant au résultat de sortie. Normalement, cela se fait automatiquement, donc si vous connaissez les paramètres et le mécanisme de réglage, vous pourrez l'utiliser. La valeur de sortie est comparée à l'étiquette correcte de l'ensemble de données, l'erreur est calculée et le poids et le biais sont automatiquement ajustés de sorte qu'il s'approche de l'étiquette correcte.

Deux problèmes à résoudre dans un réseau de neurones

Les problèmes traités par le réseau neuronal peuvent être divisés en problèmes de classification et problèmes de régression.

Types de réseaux de neurones

** Entièrement connecté **: Un modèle dans lequel tous les neurones entre les couches sont connectés comme dans la "Figure Modèle de réseau neuronal". ** Pliable **: Souvent utilisé dans le domaine du traitement d'image. En convoluant l'image, il est possible de renforcer ou d'affaiblir les caractéristiques de l'image. ** Récursif **: type de réseau neuronal capable de gérer le contexte. Souvent utilisé pour le traitement du langage naturel et les données de série.

Revenir

Le problème de la régression est de prédire des valeurs numériques continues à partir de la tendance des données. L'utilisation de base consiste à collecter des données discrètes, à créer une fonction d'approximation à partir de ces données et à calculer la valeur prédite des données inconnues. Comme exemple principal ・ Prédire le poids à partir de la taille ・ Prédire quoi acheter ensuite à partir de la tendance d'achat de l'utilisateur ・ Prédire le cours de l'action de demain à partir des tendances passées du cours des actions ・ Prédire le loyer à partir des informations sur la propriété

Régression simple

Prédire un résultat à partir d'une entrée. Il est utilisé pour exprimer deux relations telles que la taille au poids.

Régression multiple

Celui qui prédit un résultat à partir de plusieurs entrées telles que la prédiction du loyer à partir de diverses informations de la propriété. Ceci est plus souvent utilisé.

Classification

Un problème de classification est un problème de classification des données en plusieurs cadres fixes. Contrairement au problème de régression, il existe plusieurs sorties. Le résultat montre la probabilité d'être classé tel quel. Comme exemple principal ・ Classer les plantes à partir d'images de feuilles ・ Classer les caractères manuscrits ・ Déterminez quel véhicule est montré sur l'image

Flux lors de l'apprentissage

1 Préparation du jeu de données

Qu'est-ce qu'un jeu de données?

Il s'agit d'un groupe de données dans lequel les données d'apprentissage x et l'étiquette de réponse correcte y forment un ensemble. L'ensemble de données est divisé en ** données d'entraînement ** et ** données de test **. Les données d'entraînement sont utilisées pour l'entraînement du réseau, tandis que les données de test sont utilisées pour évaluer les performances des modèles créés à partir des données d'entraînement. Les données d'entraînement sont généralement plus volumineuses que les données de test. Si le réseau appris à partir des données d'apprentissage donne de bons résultats même avec des données de test, cela signifie que le réseau peut gérer des données inconnues. Si les données de test ne donnent pas de bons résultats, il y a un problème avec le réseau lui-même ou la méthode d'apprentissage. La capacité du réseau à gérer des données inconnues est appelée ** performances de généralisation **.

1.1 Obtention de données

Les données d'entraînement sont collectées manuellement ou automatiquement par grattage. Il peut être collecté automatiquement, mais c'est la tâche la plus difficile car il est déterminé manuellement si les données sont appropriées. Pour savoir comment collecter des données, reportez-vous à cet article.

1.2 Créer un jeu de données

Les ensembles de données sont créés manuellement ou utilisent des bibliothèques. Vous pouvez le trouver en recherchant "comment créer un ensemble de données". Dans le cas d'une image, créez-la à l'aide de ** l'outil d'annotation **. Une grande partie du temps de l'utilisateur est consacrée à la création de cet ensemble de données. Les images nécessitent généralement des milliers de feuilles pour obtenir les bons résultats, mais elles sont difficiles à collecter et sont généralement rembourrées.

Structure de l'ensemble de données

Les données d'entraînement et l'étiquette de réponse correcte de l'ensemble de données sont chacune un vecteur. Par exemple, l'étiquette de réponse correcte pour la hauteur est représentée par un vecteur dans lequel les valeurs numériques suivantes sont organisées. [146.2 170.4 169.3 154.5 179.2]  Dans ce cas, il y a 5 neurones dans la couche de sortie, et les gradients de polarisation et de poids sont ajustés de sorte que chaque valeur de sortie s'approche de la valeur de réponse correcte. Dans le cas d'un problème de classification, l'étiquette de réponse correcte est un vecteur dans lequel la bonne réponse est 1 et toutes sauf la bonne réponse sont 0, comme indiqué ci-dessous. [0 0 1 0 0] Une séquence de nombres avec un 1 et un 0 restant est appelée ** expression one-hot **.

1.3 Prétraitement des données

Formatez les données dans un format facile à utiliser tel que la normalisation et la normalisation. Par exemple, la normalisation a pour effet de stabiliser et d'accélérer l'apprentissage.

1.4 (Conversion en représentation One-Hot)

Dans le cas d'un problème de classification, la valeur de réponse correcte est exprimée en expression onoe-hot. Par conséquent, lors de l'implémentation, insérez un programme de conversion en une expression one-hot. Lorsque le nombre de neurones dans la couche de sortie est de 3, cela devient comme suit. [1 0 0] [0 1 0] [0 0 1]

1.5 Séparation des données d'entraînement et des données de test

Enfin, il est divisé en données d'entraînement et données de test. Les données d'apprentissage sont utilisées pour l'apprentissage, tandis que les données de test sont utilisées pour évaluer les performances de généralisation des résultats d'apprentissage obtenus à partir des données d'apprentissage. Il n'y a pas de différence dans la formation des deux, mais les résultats après apprentissage sont comparés graphiquement. Il semble que 20% à 30% des données d'entraînement soient bonnes pour les données de test.

2 Implémentation de chaque couche

Travaillez à fabriquer des moules pour la couche intermédiaire et la couche de sortie utilisées pour l'apprentissage. Définissez respectivement la ** fonction d'activation ** et la ** fonction de perte ** de la couche intermédiaire et de la couche de sortie. C'est une bonne idée de l'écrire en utilisant la classe pour pouvoir la réutiliser. Les paramètres doivent être déclarés en tant que variables afin de pouvoir être modifiés de l'extérieur. Si vous ne voulez pas comprendre, mais voulez simplement apprendre rapidement, copier et coller d'autres personnes suffit.

3 Réglage de la valeur initiale du paramètre

** Définissez le poids initial et le biais **. Concernant le type de fonction d'activation, [Quelle est la fonction d'activation que je ne comprends pas bien](https://newtechnologylifestyle.net/%E3%82%84%E3%81%A3%E3%81%B1%E3%82%8A % E3% 82% 88% E3% 81% 8F% E5% 88% 86% E3% 81% 8B% E3% 82% 89% E3% 81% AA% E3% 81% 84% E6% B4% BB% E6 % 80% A7% E5% 8C% 96% E9% 96% A2% E6% 95% B0% E3% 81% A8% E3% 81% AF /) est utile.

4 Hyper réglage des paramètres

Réglez-le avec une canette pour la première fois et modifiez les quatre valeurs suivantes en fonction du résultat d'apprentissage. Ceux-ci sont ajustés plusieurs fois par l'utilisateur en fonction de la sortie évaluée par les données de test. Chaque explication est [ici](# hyper paramètre) ·époque · Taille du lot ・ Coefficient d'apprentissage ・ Algorithme d'optimisation

5 apprentissage

L'apprentissage est le processus d'ajustement des connexions entre les neurones. L'apprentissage passe par les trois processus suivants.

5.1 Dérivation de l'erreur à partir de la bonne réponse

Utilisez la ** fonction de perte ** pour dériver l'erreur.

5.2 Dérivation du gradient

La ** méthode de descente de gradient ** est utilisée pour déterminer le gradient. La fonction de perte résultante $ L $ est partiellement différenciée par $ w $ pour obtenir le gradient $ \ frac {∂L} {∂w} $. image.png (Citation: tutoriel chaier)

5.3 Rétropropagation (méthode de rétropropagation)

L'erreur entre la sortie obtenue par propagation directe et la bonne réponse préparée à l'avance se propage dans le sens opposé couche par couche. Sur la base de l'erreur propagée, la quantité de mise à jour du poids et du biais est calculée pour chaque couche. Le poids après la mise à jour est calculé comme suit.


w←w−η\frac{∂L}{∂w}

6 Évaluation du taux de réponse correcte

À la suite de l'apprentissage, vérifiez quel pourcentage des données d'entraînement peut être évalué correctement. Le pourcentage des données de test qui peut être correctement évalué est un indice important pour juger du succès ou de l'échec de l'apprentissage. Produisez un graphique des époques (nombre d'apprentissage) et des pertes (nombre de réponses incorrectes), et l'utilisateur peut le vérifier visuellement. Estimez ce qui ne va pas grâce au mouvement du graphique, ajustez les hyper paramètres et réapprenez.

Problèmes dus à l'apprentissage profond multicouche

Piège vers la solution localement optimale

Un problème dans lequel la solution optimale ne peut pas être atteinte dans son ensemble car la solution optimale locale est piégée lors de la recherche du gradient. Dans certains cas, le gradient devient extrêmement réduit et il y a un problème que l'apprentissage ne se poursuit pas. Afin de trouver la solution optimale dans son ensemble, il est nécessaire de laisser les meilleures conditions localement une fois. image.png (Citation: tutoriel de chainer)

Superapprentissage

Il existe un réseau de neurones ** Il est optimisé et appris uniquement pour une plage de données spécifique, et il devient impossible de gérer des données inconnues. ** En apprentissage automatique, il est également impossible d'estimer les données d'entrée qui sont trop inconnues pour correspondre aux données d'entraînement. On peut dire que seul un modèle spécifique est tombé dans une solution optimale locale optimisée. Le réseau généré doit être un peu bâclé pour pouvoir gérer une variété de données. Afin de supprimer ce surapprentissage, l'utilisateur ajuste divers paramètres décrits plus loin. ** S'il y a trop de couches intermédiaires ou de neurones, un surapprentissage se produira en raison d'une expressivité excessive. ** Cela peut également se produire en raison d'une ** taille d'échantillon insuffisante de données d'entraînement **.

Disparition de gradient

Problèmes principalement causés par l'utilisation de la fonction sigmoïde comme fonction d'activation. Le gradient de la fonction sigmoïde a une valeur maximale de 0,25 et s'approche de 0 lorsque la distance de 0 augmente. Lors de la rétropropagation, la différenciation de la fonction d'activation est appliquée à chaque dégradé chaque fois que le calque est retracé. Dans le cas de la fonction sigmoïde, chaque dégradé devient plus petit à chaque fois que le calque est tracé et le dégradé disparaît. Par conséquent, dans l'apprentissage profond, ReLU est souvent utilisé comme fonction d'activation.

Il faut du temps pour apprendre

Dans l'apprentissage profond multicouche, le nombre de pondérations et de biais est énorme. Par conséquent, l'apprentissage peut prendre des jours ou des semaines. Pour résoudre ce problème, utilisez un GPU, utilisez une machine aux spécifications élevées, ne compliquez pas le réseau plus que nécessaire et ajustez les paramètres.

Paramètres ajustés par l'utilisateur

Le problème avec le multicouche ne peut pas être réglé automatiquement par la machine, donc l'utilisateur doit l'ajuster en fonction du résultat. Par conséquent, les ajustements et l'apprentissage doivent être répétés plusieurs fois pour obtenir de meilleurs résultats. Il y a les sept éléments suivants à régler. Il faut une certaine expérience pour décider lequel ajuster. Les ajustements fréquents sont les hyperparamètres, l'expansion des données et le prétraitement des données.

1 Hyper paramètre

époque

L'apprentissage de toutes les données d'entraînement une fois compte pour une époque. Même si le nombre d'époques est trop grand, une suradaptation aux données d'apprentissage se produira, alors arrêtez-vous à un nombre approprié de fois.

Taille du lot

Il fait référence au nombre de données contenues dans chacun de plusieurs sous-ensembles de l'ensemble de données. Paramètres qui affectent le temps d'apprentissage et les performances. Pour plus de détails, reportez-vous à l'explication ici.

Coefficient d'apprentissage

Le coefficient à appliquer au gradient de la méthode de descente de gradient. Cela vous permet d'ajuster la quantité de dégradé. Si le coefficient d'apprentissage est trop grand, la valeur de la fonction de perte fluctuera ou divergera lorsque les paramètres sont mis à jour à plusieurs reprises. En revanche, s'il est trop petit, il faudra du temps pour converger. La valeur optimale de cette valeur n'ayant pas été déterminée, il est nécessaire d'effectuer une recherche empirique.

Algorithme d'optimisation

Dans la méthode de descente de gradient, le poids et le biais sont ajustés petit à petit en fonction du gradient, et le réseau est optimisé pour minimiser l'erreur. Il existe différents algorithmes pour cette optimisation. [Cliquez ici] pour une description de chaque algorithme (#Liste des algorithmes d'optimisation)

2 Valeurs initiales de poids et biais

Un hyper paramètre important lié au succès ou à l'échec de l'apprentissage. Il est souhaitable d'avoir une variation aléatoire avec une petite valeur.

3 Résiliation anticipée

Une méthode pour arrêter d'apprendre au milieu. Au fur et à mesure que l'apprentissage progresse, l'erreur des données de test augmente à partir du milieu, et un surapprentissage peut se produire. Même si l'erreur stagne et que l'apprentissage ne se poursuit pas, il sera interrompu pour gagner du temps.

4 Expansion des données

Si le nombre d'échantillons de données d'entraînement est petit, un surentraînement est susceptible de se produire. Dans ce cas, il est courant de gonfler l'échantillon pour le traiter. La formation de divers types d'échantillons permet d'améliorer les performances de généralisation du réseau. Dans cet article, il est écrit que lorsque vous entraînez réellement l'image, vous êtes surappris en raison du manque d'échantillons, veuillez donc vous y référer.

5 Prétraitement des données

Traitez les données d'entrée à l'avance pour faciliter leur manipulation. On peut s'attendre à ce que le prétraitement améliore les performances du réseau et accélère l'apprentissage. Une grande partie du temps d'apprentissage automatique sera consacrée à cela. Si vous utilisez python, vous pouvez facilement prétraiter en utilisant une bibliothèque appelée "pandas". Il existe différents types de prétraitement tels que la normalisation et la standardisation. Pour la méthode, reportez-vous à cet article.

6 abandons

Technique de suppression de superapprentissage. Une technique qui efface au hasard les neurones autres que la couche de sortie avec une certaine probabilité. Les grands réseaux sont plus sujets au surapprentissage, de sorte que les abandons peuvent être utilisés pour réduire la taille du réseau.

7 Régularisation

Limitez le poids. En limitant les poids, les poids prennent des valeurs extrêmes et ** évitent d'être piégés dans la solution localement optimale. ** **

Types de fonctions d'activation

ReLU La sortie est 0 pour les entrées inférieures à 0. Une fonction qui produit la même sortie que l'entrée pour les entrées supérieures à 0. ** Souvent utilisé pour les problèmes de classification **. Étant donné que l'entrée de 0 ou moins ne peut pas être prise en compte dans le problème de classification, elle est souvent utilisée pour l'élimination du bruit. Lors de son implémentation par programme, il peut être implémenté en tronquant 0 ou moins dans l'instruction if. image.png

Fonction Sigmaid

Lorsque la valeur d'entrée devient grande, elle converge vers une valeur constante, elle n'est donc pas utilisée pour les grandes valeurs d'entrée. image.png (wikipedia)

Fonction Softmax

** Une fonction adaptée pour traiter les problèmes de classification. ** Souvent utilisé pour la couche de sortie des problèmes de classification. La somme de toutes les sorties de cette fonction de K = 1 à n donne 1. Par conséquent, la fonction softmax a la propriété de normaliser afin que la somme de toutes les sorties soit ** quelle que soit la valeur prise par le vecteur X constitué de plusieurs valeurs d'entrée. ** Par conséquent, il est compatible avec le problème de classification qui traite la valeur de sortie totale des neurones dans la couche de sortie comme 1.

y=\frac{e^{x}}{\sum_{k=1}^{N}e^{x_k}}

fonction égale

Une fonction qui renvoie l'entrée telle qu'elle est en tant que sortie. ** Souvent utilisé comme fonction d'activation pour la couche de sortie des problèmes de régression. ** **

Liste des fonctions de perte

Erreur quadratique moyenne

Fonction de perte souvent utilisée lorsque vous souhaitez résoudre un ** problème de régression **.

L= \frac{1}{N}\sum_{n=1}^{N}(t_n-y_n)^2

Erreur d'entropie croisée

Fonction de perte souvent utilisée lors de la résolution de ** problèmes de classification **. L'avantage est que la vitesse d'apprentissage est rapide lorsque la séparation entre la sortie et la valeur de réponse correcte est grande.

L=\sum_{k=1}^{K}t_k(-\log(y_k))

Liste des algorithmes d'optimisation

Ce qui suit est une note de ceux typiques. Pour d'autres algorithmes d'optimisation, cliquez ici [https://qiita.com/ZoneTsuyoshi/items/8ef6fa1e154d176e25b8#%E7%A2%BA%E7%8E%87%E7%9A%84%E5%8B%BE% E9% 85% 8D% E9% 99% 8D% E4% B8% 8B% E6% B3% 95sgd-stochastic-gradient-descente).

SGD (méthode de descente de gradient probabiliste)

Un algorithme qui appelle au hasard un échantillon pour chaque mise à jour. Il a la particularité qu'il est difficile de se laisser entraîner dans la solution optimale locale. Bien qu'il puisse être implémenté avec un code simple, son apprentissage prend souvent du temps car le nombre de mises à jour ne peut pas être ajusté en fonction de la progression de l'apprentissage. AdaGard Le montant de la mise à jour est ajusté automatiquement. Au fur et à mesure que l'apprentissage progresse, le taux d'apprentissage diminue progressivement. Puisque la seule constante à définir est le coefficient d'apprentissage, il ne faut pas de temps pour s'ajuster. RMSProp AdaGrad surmonte la faiblesse de la stagnation de l'apprentissage due à une diminution du nombre de mises à jour. Adam Une version améliorée de RMSprop. Cela semble être le plus utilisé.

référence

Tutoriel Chainer Introduction à l'apprentissage automatique à partir de python Premier apprentissage en profondeur: réseau neuronal et rétro-propagation appris avec Python Principes de base de Kikagaku Deep Learning https://www.sbbit.jp/article/cont1/33345 https://qiita.com/nishiy-k/items/1e795f92a99422d4ba7b https://qiita.com/Lickey/items/b97c3450d7def207bfbf

Recommended Posts

Un mémorandum d'étude et de mise en œuvre du Deep Learning
Mémorandum d'apprentissage profond
Signification des modèles et paramètres d'apprentissage en profondeur
Deep learning 1 Pratique du deep learning
Apprentissage parallèle du deep learning par Keras et Kubernetes
Créez un environnement python pour apprendre la théorie et la mise en œuvre de l'apprentissage profond
Bibliothèque DNN (Deep Learning): Comparaison de chainer et TensorFlow (1)
Collecte et automatisation d'images érotiques à l'aide du deep learning
Deep running 2 Réglage de l'apprentissage profond
Un petit mémorandum d'openpyxl
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
Un mémorandum d'utilisation de eigen3
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
Examen de la méthode de prévision des échanges utilisant le Deep Learning et la conversion en ondelettes - Partie 2
Mémorandum de sauvegarde et modèle de chargement
[Python] Un mémorandum de belle soupe4
Mémorandum de dossiers sous conf.d
Organisez des plateformes d'apprentissage automatique et d'apprentissage en profondeur
Un mémorandum du contenu de l'enquête de clôture
J'ai recherché une carte similaire de Hearthstone avec Deep Learning
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 4)
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 5)
Résumé des pages utiles pour étudier le framework d'apprentissage profond Chainer
Graphique de l'historique du nombre de couches de deep learning et du changement de précision
Une compréhension approximative de python-fire et un mémo
Un mémorandum sur l'utilisation de la fonction d'entrée de Python
Introduction au Deep Learning ~ Pliage et mise en commun ~
Un mémorandum de la vitesse de diagonalisation arbitraire des degrés
Un petit examen minutieux de Pandas 1.0 et Dask
Une collection de conseils pour accélérer l'apprentissage et le raisonnement avec PyTorch
Connectez beaucoup de Python ou et et
Mémorandum sur le QueryDict de Django
Essayez l'apprentissage profond de la génomique avec Kipoi
Visualisez les effets de l'apprentissage profond / de la régularisation
L'histoire d'un débutant en apprentissage profond essayant de classer les guitares avec CNN
Analyse émotionnelle des tweets avec apprentissage en profondeur
Créez rapidement un environnement python pour le Deep Learning / Data Science (Windows)
L'apprentissage en profondeur
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
Examen de la méthode de prévision des échanges utilisant le Deep Learning et la conversion en ondelettes
Othello-De la troisième ligne de "Implementation Deep Learning" (2)
Mémorandum du processus de suppression de chaîne python
Un mémorandum de problème lors du formatage des données
[Pour les débutants en intelligence artificielle] Parcours d'apprentissage et de référence en apprentissage automatique / programmation en profondeur
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
Un mémorandum de méthode souvent utilisé dans l'apprentissage automatique utilisant scikit-learn (pour les débutants)
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
L'histoire de l'apprentissage profond avec TPU
Chainer et deep learning appris par approximation de fonction
Apprentissage profond / rétropropagation d'erreur de la fonction sigmoïde
Tournoi Numerai - Fusion de quants traditionnels et apprentissage automatique -
Un mémorandum sur l'appel de Python à partir de Common Lisp
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Mémorandum d'extraction par requête python bs4
Compréhension de base de l'estimation de la profondeur stéréo (Deep Learning)
Développez et gonflez votre propre ensemble de données Deep Learning
Introduction à l'apprentissage profond ~ Fonction de localisation et de perte ~
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2
Touchons une partie de l'apprentissage automatique avec Python
Implémentation du modèle Deep Learning pour la reconnaissance d'images