热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

深度学习之pytorch(三)

神经网络的结构最常见的神经网络是全连接神经网络,其中两个相邻层中每一个层的所有神经元和另外一个层的所有神经元都是相连的,每个层内部的神经元不相连。N层神

神经网络的结构
最常见的神经网络是全连接神经网络,其中两个相邻层中每一个层的所有神经元和另外一个层的所有神经元都是相连的,每个层内部的神经元不相连。
在这里插入图片描述
N层神经网络是不会把输入层算进去的,因此一个一层的神经网络是指没有隐藏层,只有输入和输出层的神经网络,就像logistic回归就是一个一层的神经网络。

模型的表示能力与容量
这里出现了一个名词叫做:过拟合:在忽略了潜在的数据关系的前提之下,将噪音的干扰放大了。

深度学习的基石:反向传播算法
它是一个有效地求解梯度的算法,本质上其实就是一个链式求导法则的应用。

链式法则:
对于一个简单的函数,除了可以直接求出这个函数的微分以外,还可以使用链式法则,对两个式子分别求微分,核心就是;对需求求导的元素进行求导的时候,可以一层一层求导,然后把结果乘起来。

在这里插入图片描述
对于一些优化算法的变式
1.梯度下降法:
在这里插入图片描述
1.1SGD
随机梯度下降法是梯度下降法的一个小变形。
1.2.Momentum
这就是增加动量,来自于物理的概念
1.3.Adagrad
是一种自适应学习率的方法
1.4RMSprop
是一种非常有效的自适应学习率的改进方法
1.5Adam
是一种综合型的学习方法,可以看成是RMSprop加上动量的学习方法,达到比RMSProp更好的效果。

处理数据和训练模型的技巧
1.数据预处理
1.1中心化
数据预处理中一个最常见的处理办法就是每个特征维度都减去相应的均值实现中心化,使得变成0均值。
1.2标准化
在使得数据都变成0均值之后,还需要使用标准化的做法让数据不同的特征维度都有着相同的规模,有两种比较常见的方法,第一种是除以标准差,也就是让新数据的分布接近标准高斯分布,还有一种做法是让每一个特征维度的最大值和最小值按比例缩放到-1和1之间
1.3PCA
pca是另外一种处理数据的方法,在这一步之前,会将数据中心化,在计算数据的协方差矩阵。
1.4白噪声
这也是一种处理数据的方式,首先会和PCA一样,将数据投影到一个特征空间当做,再对每一个维度 除以特征值来标准化这些数据,直观上就是一个多元高斯分布转换到一个0均值,协方差矩阵为1的多元高斯分布。

权重初始化
在对数据进行预处理之后,进入网络训练之前,需要对参数进行预处理,以下是对应的策略。
1.全0 初始化
这个是比较简单直接的一种,直接把参数全都初始化为0,但是这种方法不是一个很好的方法,因为把权重全都初始化为相同的值,每个神经元就都会计算出相同的结果,在反向传播的时候也会计算出相同的梯度,最后导致所有的权重都会有相同的更新,权重之间就失去了不对称性。
2.随机初始化
因为我们希望权重的初始化是尽量靠近0,但是不能全都等于0,所有可以将权重初始化为靠近0 的一些随机数,通过“随机初始化”就可以打破对称性。
一般有 高斯随机化,均匀随机化等
3.稀疏初始化
他将权重全都初始化为0,然后为了打破对称性,在里面随机挑选一些参数附上一些随机值,这这方法的好处就是参数占用的内存较少,因为里面有较多的0
4.初始化偏置
对于偏置来说,初始化为0,因为权重已经打破了对称性,所以使用0来初始化是最简单的
5.批标准化
他的核心想法就是标准化这个过程是可微的,减少很多不合理初始化的问题,所以我们可以将标准化过程应用到神经网络的每一层中做前向和反向传播。

以下是一些具体的防止过拟合的办法
1.正则化
他是比较常见的形式,想法就是对于权重过大的部分进行惩罚,也就是直接在损失函数中增加权重的二范数量级。
2.Dropout
这个是使用最广泛的一个,核心想法就是在训练网络的时候,依概率P保留每一个神经元,也就是说每一次训练的时候有些神经元会被设置成0
在这里插入图片描述


推荐阅读
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
  • 图像分类算法的优化策略与实践
    本文探讨了《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文中的多项技术,旨在通过具体实例和实验验证,提高卷积神经网络在图像分类任务中的性能。文章详细介绍了从模型训练加速、网络结构调整到训练参数优化等多个方面的改进方法。 ... [详细]
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 如何用GPU服务器运行Python
    如何用GPU服务器运行Python-目录前言一、服务器登录1.1下载安装putty1.2putty远程登录 1.3查看GPU、显卡常用命令1.4Linux常用命令二、 ... [详细]
  • 本文详细介绍了 TensorFlow 的入门实践,特别是使用 MNIST 数据集进行数字识别的项目。文章首先解析了项目文件结构,并解释了各部分的作用,随后逐步讲解了如何通过 TensorFlow 实现基本的神经网络模型。 ... [详细]
  • 图神经网络模型综述
    本文综述了图神经网络(Graph Neural Networks, GNN)的发展,从传统的数据存储模型转向图和动态模型,探讨了模型中的显性和隐性结构,并详细介绍了GNN的关键组件及其应用。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
author-avatar
手机用户2502902843
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有