当前位置:网站首页>Introduction à la méthode de descente par Gradient - document d'apprentissage automatique pour les programmeurs de chevaux noirs
Introduction à la méthode de descente par Gradient - document d'apprentissage automatique pour les programmeurs de chevaux noirs
2022-06-24 04:36:00 【Black Horse programmeur officiel】
Objectifs d'apprentissage
- Connaître le principe de l'algorithme de descente en gradient complet
- Connaître le principe de l'algorithme de descente par Gradient aléatoire
- Connaître le principe de l'algorithme de descente par Gradient moyen stochastique
- Connaître le principe de l'algorithme de descente par Gradient à petite échelle
Dans la section précédente, nous avons décrit le processus de mise en oeuvre de la méthode de descente par Gradient la plus élémentaire.,Les algorithmes courants de descente par Gradient sont les suivants::
- Algorithme de descente en gradient complet(Full gradient descent),
- Algorithme de descente par Gradient aléatoire(Stochastic gradient descent),
- Algorithme de descente par Gradient en petits lots(Mini-batch gradient descent),
- Algorithme de descente par Gradient moyen aléatoire(Stochastic average gradient descent)
Ils sont conçus pour ajuster correctement les vecteurs de poids,En calculant un gradient pour chaque poids,Pour mettre à jour les poids,Réduire au minimum la fonction objective.La différence réside dans la façon dont les échantillons sont utilisés..
1 Algorithme de descente en gradient complet(FG)
Calculer toutes les erreurs d'échantillonnage de l'ensemble de formation,Additionnez - le et prenez la moyenne comme fonction objective.
Le vecteur de poids se déplace dans la direction opposée à son gradient,Cela réduit au minimum la fonction cible actuelle.
Parce que chaque fois que vous effectuez une mise à jour,Nous devons calculer tous les gradients sur l'ensemble des données,Donc la méthode de descente par gradient de lot est lente,En même temps,La méthode de descente par gradient de lot ne peut pas traiter les ensembles de données qui dépassent la limite de capacité de mémoire.
La méthode de descente par gradient de lot ne peut pas non plus mettre à jour le modèle en ligne.,C'est - à - dire qu'en cours d'exécution,,Impossible d'ajouter un nouvel échantillon.
Il calcule la fonction de perte sur l'ensemble des données de formation θLe gradient de:

2 Algorithme de descente par Gradient aléatoire(SG)
Parce queFG Toutes les erreurs d'échantillonnage doivent être calculées pour chaque itération de mise à jour des poids. , Et il y a souvent des centaines de millions d'échantillons de formation dans les problèmes réels , Donc l'efficacité est faible , Et facile à tomber dans la solution optimale locale , Par conséquent, un algorithme de descente par Gradient aléatoire est proposé. .
La fonction objective de chaque cycle de calcul n'est plus l'erreur totale de l'échantillon , Et une seule erreur d'échantillon ,C'est - à - dire: Mettre à jour les poids en n'ajoutant qu'un gradient pour calculer une fonction objective d'échantillon à la fois , Répéter le processus en prenant un autre échantillon , Jusqu'à ce que la valeur de la fonction de perte cesse de diminuer ou que la valeur de la fonction de perte soit inférieure à un seuil tolérable .
Ce processus est simple ,Efficace, Il est généralement préférable d'éviter les itérations de mise à jour convergeant vers la solution optimale locale . Sa forme itérative est

Parmi eux,x(i) Représente la valeur caractéristique d'un échantillon d'entraînement ,y(i) Valeur de l'étiquette représentant un échantillon d'entraînement
Mais parce que,SG Une seule itération d'échantillon à la fois , Il est facile de tomber dans la solution optimale locale en cas de bruit .
3 Algorithme de descente par Gradient en petits lots(mini-batch)
L'algorithme de descente par Gradient en petits lots est FGEtSGUn compromis, Dans une certaine mesure, les avantages des deux méthodes susmentionnées ont été pris en compte. .
Un petit ensemble d'échantillons est sélectionné au hasard à partir de l'ensemble d'échantillons d'entraînement à la fois. , Utilisé sur un petit échantillon extrait FGMise à jour itérative des poids.
Le nombre de points d'échantillonnage contenus dans le petit ensemble d'échantillons extrait est appelé batch_size,Normalement réglé à2Puissance de,Plus favorableGPUTraitement accéléré.
Spécial,Sibatch_size=1,Est devenuSG;Sibatch_size=n,Est devenuFG. Sa forme itérative est

4 Algorithme de descente par Gradient moyen aléatoire(SAG)
InSGDans la méthode, Bien qu'il évite le coût élevé de l'informatique , Mais pour la formation aux mégadonnées ,SG Les résultats sont souvent insatisfaisants , Parce que chaque cycle de mise à jour du gradient est complètement indépendant des données et du gradient du cycle précédent .
L'algorithme de gradient moyen stochastique surmonte ce problème , Maintenir un ancien Gradient en mémoire pour chaque échantillon ,Sélection aléatoirei Échantillons pour mettre à jour le gradient de cet échantillon , Les gradients des autres échantillons restent inchangés , Et ensuite obtenir la moyenne de tous les gradients , Mise à jour des paramètres .
Voilà., Le Gradient d'un seul échantillon doit être calculé pour chaque cycle de mise à jour. , Le coût calculé est égal à SG, Mais la convergence est beaucoup plus rapide .
5 Résumé
- Algorithme de descente en gradient complet(FG)【Je sais】
- Au moment du calcul,Calculer la moyenne des erreurs pour tous les échantillons,En tant que fonction objective
- Algorithme de descente par Gradient aléatoire(SG)【Je sais】
- Un seul échantillon est sélectionné à la fois pour l'évaluation.
- Algorithme de descente par Gradient en petits lots(mini-batch)【Je sais】
- Sélectionner une partie de l'échantillon pour l'évaluation
- Algorithme de descente par Gradient moyen aléatoire(SAG)【Je sais】
- Une moyenne est maintenue pour chaque échantillon ,Après le calcul,Voir cette moyenne
边栏推荐
- Cadence OrCAD Capture 批量修改网络名称的两种最实用的方法图文教程及视频演示
- How does the VPS server upload data? Is the VPS server free to use?
- 博士申请 | 香港科技大学(广州)刘浩老师招收数据挖掘方向全奖博士/硕士
- 华为云GaussDB(for Redis)揭秘第19期:GaussDB(for Redis)全面对比Codis
- Abnova膜蛋白脂蛋白体解决方案
- How to monitor the operation of easygbs service in real time?
- 2020年Android面试题汇总(初级)
- 梯度下降法介绍-黑马程序员机器学习讲义
- 集成阿里云短信服务以及报签名不合法的原因
- 2020年Android面试题汇总(中级)
猜你喜欢

SAP MTS/ATO/MTO/ETO专题之七:ATO模式1 M+M模式策略用82(6892)

开源之夏2022中选结果公示,449名高校生将投入开源项目贡献

What is the data center

External network access SVN server (external network access SVN server deployed on the cloud)

Application practice | Apache Doris integrates iceberg + Flink CDC to build a real-time federated query and analysis architecture integrating lake and warehouse

Kubernetes 资源拓扑感知调度优化

apipost接口断言详解

How can the new generation of HTAP databases be reshaped in the cloud? Tidb V6 online conference will be announced soon!

C语言自定义类型的介绍(结构体,枚举,联合体,位段)

Opengauss version 3.0 source code compilation and installation guide
随机推荐
Go language Chanel memory model
How does the VPS server upload data? Is the VPS server free to use?
Application practice | Apache Doris integrates iceberg + Flink CDC to build a real-time federated query and analysis architecture integrating lake and warehouse
[hot promotion] Tencent cloud enterprise cloud disk solution
How to open the port of ECS what are the precautions for using ECS
Methods of creating and modifying shell script files in batch
3. go deep into tidb: perform optimization explanation
Pycharm from installation to full armament
What is an ECS? What is the difference between ECs and traditional servers?
我与物联有个约定
Easyanticheat uses to inject unsigned code into a protected process (2)
apipost接口断言详解
Apipost interface assertion details
The results of the 2022 open source summer were announced, and 449 college students will contribute to open source projects
External network access SVN server (external network access SVN server deployed on the cloud)
Summary of the activation function sigmoid relu tanh Gelu in machine learning and deep learning
web渗透测试----5、暴力破解漏洞--(5)SMB密码破解
Worthington脱氧核糖核酸酶I特异性和相关研究
TCPIP协议详解
2022年二级造价工程师备考攻略,你准备好了吗?