【深度学习之神经网络】PyTorch入门神经网络

目录

前言

一、机器学习简介

二、深度学习简介

三、神经元

1、逻辑斯底回归模型

2、神经元多输出

3、目标函数

4、梯度下降


前言

目前主流的深度学习框架有Pytorch和TensorFlow。其中,PyTorch的优势在于简洁性(编程同Python几乎一致),而TensorFlow编程思路相对会更复杂一些。另外,PyTorch采用了动态图的计算方式,而TensorFlow采用静态图(TensorFlow2.0引入了动态图,但不够稳定)。简单来说,动态图就是一边编程一边执行,而静态图需要现先将网络结构设计好再去运行网络。但是,PyTorch也有一定的弱势,比如在可视化上Pytorch使用visdom(Python可视化库)实现,TensorFlow可视化使用第三方工具Tensorboard。并且,TensorFlow提供一套公共框架TF serving,可以很容易部署模型,而PyTorch是没有这样一个框架的,因此部署服务相对麻烦。

综上所述,Pytorch对于新手入门深度学习是比较友好的。本系列学习文章运行环境为:win64+cuda11.1+pytorch1.9.1+python3.9+pycharm。


一、机器学习简介

机器学习就是将无序数据转化为价值的方法,即从数据中抽取规律,并预测未来数据趋势。机器学习主要应用如下:

  • 分类问题:图像识别、垃圾邮件识别
  • 回归问题:股价预测、房价预测
  • 排序问题:点击率预估、推荐
  • 生成问题:图像生成、图像风格转换、图像文字描述生成

机器学习应用流程:

机器学习岗位职责:

  • 数据处理(采集+去噪)
  • 模型训练(特征+模型)
  • 模型评估与优化(MSE、F1-score、AUC+调参)
  • 模型应用(A/B测试)

二、深度学习简介

机器学习是实现人工智能的方法,深度学习是实现机器学习算法的技术。它包含了:

  • 卷积神经网络(CNN)
  • 循环神经网络(RNN)
  • 自动编码器
  • 稀疏编码
  • 深度信念网络
  • 限制波尔兹曼机
  • 深度强化学习(DRL):深度学习+强化学习

三、神经元

1、逻辑斯底回归模型

神经元是最小的神经网络。如下图所示,在二分类的逻辑斯底回归模型中,一个神经元有多个输入和一个输出,这些输入经过加权求和得到一个数值,然后将该数值放进函数中,最后得到输出。

在公式中, W^{T} 代表权重,W越大,代表W1*X1的值越大,相应的作用也更大;x 为问题中抽取的具体特征; f(\sum_{i=1}^{3}W_{i}x_{i})   代表激活函数;b代表偏值,假如在一个二维平面中,与y轴相交的值就为b,在三维平面中b就是一个平面。

在神经元结构中,当激活函数sigmoid确定后,那么模型也可以随之确定。

2、神经元多输出

对于多分类的逻辑斯底回归模型,只需要添加神经元。如下图所示,加一个神经元  W1*X ,这时W从向量扩展成矩阵,那么对应输出则变成向量(n个输出结果)。

同时,输出向量(输出层)通常会经过归一化处理,以确保各个类别的概率之和为1。

举例如下:

  • Y=[y0,y1]=[2.8,1.3]    ,假设Y为输出的两个权重向量
  • e^{y}=[e^{-2.8},e^{-1.3}]=[0.06,0.27]   ,假设激活函数为 e^{-x}
  • sum = 1 + 0.06 + 0.27 = 1.33  ,  求出归一化需要除以的分母
  • p(Y=0|x)=0.01/1.33=0.045   ,输出结果
  • p(Y=1|x)=0.27/1.33=0.203   , 输出结果
  • p(Y=2|x)=1.00/1.33=0.752   , 输出结果

3、目标函数

目标函数(也称为损失函数或代价函数)用于衡量模型的预测输出与实际标签之间的差异。在回归任务和分类任务中常见的损失函数有:

  • 平方差损失: \frac{1}{n}\sum_{xy}\frac{1}{2} (y_i-\hat{y}_i )^2 ,衡量了模型预测值与真实值之间的差异。
  • 交叉熵损失: \frac{1}{n}\sum_{xy} y_i \log(\hat{y}_i)  ,衡量了模型的输出概率分布与真实标签之间的差异。

通常可以调整参数是模型在训练集上的损失函数最小。

4、梯度下降

梯度下降算法公式为  : \theta = \theta - \alpha \frac{\partial L(x,y)}{\partial \theta }    ,其中 \theta 代表参数,\alpha 代表学习率 。在这个公式中,影响最大的参数是 \alpha ,\alpha 是一个预先设定好的值,可以在模型中不断地去调整它来使模型达到最优效果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值