• Pytorch学习——入门知识



    写在前面:路漫漫其修远兮

    1 机器学习和深度学习的介绍

    1. 深度学习
      是机器学习的分支,以人工神经网络为基础,对数据的特征进行学习的方法。

    2. 机器学习和深度学习的区别
      a. 特征抽取
      机器学习:人工的特征抽取过程
      深度学习:自动的进行特征抽取
      b. 数据量
      机器学习:数据量少,效果不好特别好
      深度学习:数据量多,效果更好

    3. 框架
      a. 目前企业中常用的深度学习框架有很多,比如说Tensorflow,Caffe2,Keras,Theano, Pytorch,Chainer,DyNet,MXNet,CNTK 等等
      b. Pytorch的使用和python的语法相同,整个操作类似Numpy的操作,并且Pytorch使用的是动态计算,会让代码调试变得更加简单。

    2 介绍神经网络

    2.1 概念

    人工神经网络ANN,Artificial Neural Network)简称神经网络或者类神经网络,是一种模仿生物 神经网络的结构和功能的数学模型,用于对函数进行估计或者近似。

    2.2 神经元

    神经网络的基本单元,相互连接,组成神经网络。

    如果神经元上的计算值超过“阈值”,神经元就会被“激活”,也说成是“兴奋”,在这种状态下,这个神经元就会向其他神经元发送信息。

    M-P神经网络如下图:
    在这里插入图片描述
    数学公式如下:
    t = f ( W T A + b ) t= f(W^TA+b) t=f(WTA+b)

    人工神经网络的区别就是神经元连接的不同,所以学习神经网络的关键就是神经元怎么搭。

    2.3 单层神经网络

    是最基本的神经网络形式

    由有限个神经元构成,所有神经元的输入向量都是同一个向量。

    由于每一个神经元都会产生一个标量结果,所以,单层神经元的输出是一个向量,向量的维数等于神经元的个数。

    在这里插入图片描述
    最后,要知道最常见的神经网络应该是两层的,一个是输入层,一个是隐藏层,这一种单层神经网络并不是很常见。

    2.4 感知机

    感知器是由两层神经网络组成,输入层和输出层,输出层是MP-神 经元。

    在这里插入图片描述

    2.4.1 感知机的作用

    感知器是一个非常常见的二分类模型

    把 一个n维向量空间 用一个超平面分割为两个部分。作用:给定一个输入向量,超平面可以判断这个向量是属于超平面的哪一面,也就得到了正 和 负 两种输出。

    2.5 多层神经网络

    多层神经网络就是由单层神经网络进行叠加之后得到的。

    • 输入层:神经元接收大量非线性输入消息。
    • 输出层:消息在神经元中传输、分析、权衡,形成输出结果
    • 隐藏层:输入层和输出层之间众多神经元 链接组成的各个层面。隐层有一个或多个,隐层的节点数目不确定,但是一般来说,数目越多、层数越多,神经网络的非线性拟合能力越显著,神经网络的强健性越显著。

    2.6 全连接层

    概念: 当前一层和前一层的每一个神经元相互链接,我们称当前这一层为全连接层。

    在这里插入图片描述
    全连接层,也就是在前一层的输出的基础上进行一次 Y = W x + b Y=Wx + b Y=Wx+b 的变化。(不考虑激活函数的情况下)

    • 换言之(不准确):数据shape的变化

    2.7 激活函数

    如果一层全连接层解决不了分类问题,那么就会想到再加一层全连接层。

    但是可以发现,两个线性函数是可以合并的,最后依旧只能拟合出直线,所以说,就需要引入激活函数的概念。

    • 作用:增加模型的非线性分割能力
    • 增加模型的鲁棒性、稳健性
    • 缓解梯度小时
    • 加速模型的收敛

    常见的激活函数:

    在这里插入图片描述

    2.8 总结

    深度学习的思想:

    输入的最原始、最基本的数据,通过模型来进行特征抽取,进行更加高级的特征学习,然后通过传入的数据来确定合适的参数,让模型去更好的拟合数据。

    sigmoid:不咋用了,会导致梯度爆炸,而且计算复杂
    多用relu,因为比较简单,而且可以去噪!

  • 相关阅读:
    OpenStack常用命令
    JavaScript设计模式及代码实现——单例模式
    Spark基础
    高级数字图像处理学习(一)
    js 生成随机字符串 -- chatGPT
    大数据与云计算
    ai语音机器人OKCC的空号检测
    ImageJ查看图像灰度值矩阵及像素编号从0开始
    暑假加餐|有钱人和你想的不一样(第12天)+配电网与微电网中虑需求响应的研究【基于价格型需求响应】(Python代码实现)
    SpreadJS 16.1.1 + GcExcel 6.1.0 Crack
  • 原文地址:https://blog.csdn.net/weixin_42521185/article/details/126698709