当前位置: 首页 > news >正文

pytorch搭建并训练神经网络

#从小白开始学习人工智能# #学习笔记# 

工具:pytorch

一、基础概念

1.神经网络是什么?

神经网络是人类受到生物神经细胞结构启发而研究出的算法体系。又称为人工神经网络(Artificial neural network)

最简版神经网络结构图:

通俗来说,是由神经元首尾相接形成的类似网络的结构来协同计算,这个算法体系称为神经网络

输入层:在网络的最前端,直接接受输入的向量,通常不计层数

隐藏层:可以有多层,在比较深的神经网络中,可达到上百层

输出层:最后一层,用来输出计算结果,可以是某个类型值或者向量

2.神经元的结构是什么样的?

上图是一个最简单的神经元,有一个输入X或者3个输入X矩阵,一个输出,中间是参数部分,圆圈的部分表示进行某种运算。运算一般分为两个部分组成,线性部分函数 f(x) = wx+b,x是一个n*1的矩阵(n维列向量),w是1*n的权重矩阵,b是偏置项。另一个运算部分是激活函数,是跟随f(x)=wx+b之后加入的非线性因素(比如房价与面积就不止是线性关系,还有位置、开发商等非线性因素),激活函数在神经元线性模型后,表示如下图红色部分

训练神经网络的过程,也就是我们得到精度极高的w和b的过程,通过大量的数据演算推导,获得精度极高的w和b的值,从而确定f(x),这样就能用确定的f(x)来预测新的数据是什么标签类型

损失函数:训练神经网络的一开始,会初始化w与b参数,那么计算出来的结果f'(x)与真实的结果f(x) 中间的差距,就是损失函数计算出的来标签和真实数据标签的差距,通常把这个函数叫做损失函数Loss。我们训练神经网络的最终目的,是找到合适的w和b,那么这个损失函数足够小的情况下,就代表神经网络计算的结果与真实结果差距足够小,也就说明w和b越可靠。加入了激活函数后,叠加之后的神经网络理论上就可以构成任意复杂的函数从而解决一些复杂问题。

神经网络常用的三种激活函数:

sigmoid:将线性模型计算结果投射到0~1之间

TanH: 将线性模型计算结果投射到-1~1之间  

ReLU: 将线性模型结果小于0的部分投射为0,大于0的部分投射为计算结果本身

神经元通过神经网络结构进行数据传递,数据经过前一个神经元的计算,输出给下一个神经元作为输入,因为前一个神经元节点连接了下一层的所有节点,因此这种前后层相互连接的网络也叫“全连接神经网络”

二、神经网络的工作过程

前向传播(forward)

反向传播(backward)

训练神经网络

三、神经网络构建和训练流程

  • 数据预处理
  • 构建模型
  • 定制模型损失函数和优化器
  • 训练并观察超参数

四、应用场景

待补充

五、拓展

待补充

http://www.xdnf.cn/news/168625.html

相关文章:

  • C++ 基于多设计模式下的同步异步⽇志系统-2项目实现
  • 【网络原理】从零开始深入理解TCP的各项特性和机制.(二)
  • git回退commit
  • 如何打包一个QT 程序
  • rockermq多线程消费者配置
  • Android——RecyclerView
  • Qt 中 QSQLITE 和 QODBC 数据库连接的区别
  • CentOS7.9安装OpenSSL 1.1.1t和OpenSSH9.9p1
  • 常用描述性统计 - AxureMost
  • 【网络原理】从零开始深入理解TCP的各项特性和机制.(三)
  • Linux命令#文件操作
  • 基于Pytest接口自动化的requests模块项目实战以及接口关联方法详解
  • ubuntu 安装ollama后,如何让外网访问?
  • 《代码整洁之道》第4章 注释 - 笔记
  • Android开发中svg转xml工具使用
  • 微服务基础-Ribbon
  • 2.脚本文件初识
  • 基于单片机的智能药盒系统
  • 【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
  • 贪心算法-860.柠檬水找零-力扣(LeetCode)
  • 关于OCP认证:有Oracle和MySQL两种
  • 【vue3】购物车实战:从状态管理到用户体验的全流程实现
  • 996引擎-人物模型(UIModel):创建内观时装备偏移问题
  • 「Mac畅玩AIGC与多模态02」部署篇01 - 在 Mac 上部署 Ollama + Open WebUI
  • 云原生--核心组件-容器篇-4-认识Dockerfile文件(镜像创建的基础文件和指令介绍)
  • 深度解析:TextRenderManager——Cocos Creator艺术字体渲染核心类
  • Golang 遇见 Kubernetes:云原生开发的完美结合
  • Kotlin中的also、apply、invoke用法详解
  • 泛型的诗意——深入C++模板的艺术与科学(模版进阶)
  • 【MySQL】数据类型和表的操作