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之后加入的非线性因素(比如房价与面积就不止是线性关系,还有楼层、房间朝向等非线性因素),激活函数在神经元线性模型后,表示如下图红色部分,加入了激活函数后,叠加之后的神经网络理论上就可以构成任意复杂的函数从而解决一些复杂问题。

神经网络常用的三种激活函数(也叫激励函数):

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

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

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

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

损失函数:训练神经网络的一开始,会初始化w与b参数,那么计算出来的结果f'(x)与真实的结果f(x) 中间的差距,就是损失函数计算出的来标签和真实数据标签的差距,通常把这个函数叫做损失函数Loss。我们训练神经网络的最终目的,是找到合适的w和b,那么这个损失函数足够小的情况下,就代表神经网络计算的结果与真实结果差距足够小,也就说明w和b越可靠。

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

二、神经网络的工作过程

前向传播(forward)

反向传播(backward)

训练神经网络

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

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

四、应用场景

待补充

五、拓展

待补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/79211.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/79211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaEE-多线程实战01

Java 多线程入门:第一个多线程程序 在 Java 中,多线程编程是非常重要的一部分。本篇文章将通过示例,带你快速了解如何创建第一个多线程程序,并深入分析其运行机制。 1. 创建一个线程类并继承 Thread 在 Java 中,我们…

Android Compose 无网络状态处理全指南:从基础到高级实践

Android Compose 无网络状态界面处理全方案 引言 在移动应用开发中,网络连接不稳定是常见场景。优雅地处理无网络状态能显著提升用户体验。Jetpack Compose 提供了强大的工具来实现各种网络状态下的界面展示。本文将全面介绍在 Compose 中处理无网络状态的多种方案…

Arduino项目实战与编程技术详解

一、智能避障小车:超声波传感器与PWM电机控制 1.1 硬件需求与工作原理 智能避障小车的核心在于超声波传感器与电机驱动模块的协同工作。超声波传感器(HC-SR04)通过发射高频声波并接收回波来测量距离,而L298N电机驱动模块则负责控制两个直流电机的转向与速度。 1.1.1 超声…

Java在云计算、大数据、云原生下的应用和优势 - 面试实战

Java在云计算、大数据、云原生下的应用和优势 - 面试实战 第一轮提问 面试官:马架构,请简单介绍一下Java在云计算中的主要应用场景有哪些? 马架构:Java在云计算中的主要应用场景包括微服务架构设计、容器化部署(如D…

数据库与大数据技术教程资料

概述 无论你是刚入门的技术新人,还是寻求突破的资深工程师,这份精心整理的电子书合辑将为你打开系统性学习的大门!所有资源支持多端阅读,助力技术成长每一步资料已经整理好,喜欢的朋友请自取:https://pan.…

【Spring Boot 注解】@ConfigurationProperties

文章目录 ConfigurationProperties注解一、简介二、依赖引入三、基本用法四、主要特性五、激活方式六,优点七、与 Value 对比 ConfigurationProperties注解 一、简介 ConfigurationProperties 是 Spring Boot 提供的一个强大注解,用于将外部配置&#…

C++(初阶)(十六)——set

set setset介绍set的构造和迭代器set的增删查findlower_boundmultiset和set的差异 题目[349. 两个数组的交集 - 力扣(LeetCode)](https://leetcode.cn/problems/intersection-of-two-arrays/description/)交集差集[142. 环形链表 II - 力扣(L…

higress之:让流量通过gateway

本来想测跨域问题,结果参数配置过去之后一直没生效,经过了解说是gateway才是设置跨域参数的核心,所以需要让流量通过gateway,捣鼓了半天记录一下 第一步,测试服务是否正常 通过get svc、pod等,发现各pod都…

C盘哪些文件删除之后无影响,可以清理磁盘空间。

C盘是电脑的系统盘,存放了操作系统的重要文件和部分默认安装的软件。当C盘空间不足时,系统可能运行缓慢甚至卡顿,这时清理C盘是一个有效的解决方法。由于C盘包含许多关键数据,清理时需要格外谨慎,以免误删导致系统崩溃。将详细介绍C盘中可以安全删除的文件类型及清理方法,…

开源项目实战学习之YOLO11:ultralytics-cfg-models-fastsam(九)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 1. __init__.py2. model.py3. predict.py4. utils.py5. val.py FastSAM 是一种目标检测和图像分割模型,Ultralytics 是一个在计算机视觉领域广泛使用的库&#x…

Windows11安装Docker

本次安装环境 Windows11(23H2),CPU(12代Intel) 什么是Docker Docker 是一个软件平台,让您可以快速构建、测试和部署应用程序。Docker 将软件打包成名为容器的标准化单元,这些单元具有运行软件所…

C# 在VS2022中开发常用设置

一、基础环境配置 1. 安装必要组件 在 VS2022 安装时确保勾选以下工作负载: ​​使用 .NET 的桌面开发​​(包含 WPF/WinForms)​​ASP.NET 和 Web 开发​​​​.NET 跨平台开发​​​​Azure 开发​​​​数据存储和处理​​ 2. 主题与外…

k8s的volume

一、volume介绍 volume是Pod中能够呗多个容器访问的共享目录。Kubernetes的Volume概念、用途和目的与Docker的Volume比较类似,但两者不能等价。首先,Kubernetes中的Volume定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下;其次,Kubernetes中的Volume与Pod的生…

Java 未来技术栈:从云原生到 AI 融合的企业级技术演进路线

一、云原生架构:重构 Java 应用的运行范式 1.1 微服务架构的深度进化 Java 在微服务领域的实践正从 Spring Cloud 向服务网格(Service Mesh)演进。以 Istio 为代表的服务网格技术,通过 Sidecar 模式实现服务间通信的透明化管理&…

阿里云 ECS 服务器进阶指南:存储扩展、成本优化与架构设计

一、弹性存储架构:块存储深度解析与挂载实践 (一)块存储类型与技术特性 阿里云块存储作为 ECS 核心存储方案,提供三种主流类型: ESSD 云盘 性能等级:PL0/PL1/PL2/PL3,最高支持 100 万 IOPS …

centos 安装jenkins

centos 安装jenkins 在 CentOS 上安装 Jenkins 是一个相对直接的过程。以下是一个逐步指南,帮助你安装 Jenkins: 步骤 1:安装 Java Jenkins 需要 Java 运行环境,因此首先确保你的系统上安装了 Java。你可以使用以下命令来安装 …

十三种物联网/通信模块综合对比——《数据手册--物联网/通信模块》

物联网/通信模块 名称 功能 应用场景 USB转换模块 用于将USB接口转换为其他类型的接口,如串口、并口等,实现不同设备之间的通信。 常用于计算机与外部设备(如打印机、扫描仪等)的连接,以及数据传输和设…

【基础知识】常见的计算公式(二)

目录标题 一、ADC(模拟 - 数字转换器)相关公式1. ADC 分辨率计算2. ADC 转换结果对应的模拟电压计算 二、DAC(数字 - 模拟转换器)相关公式1. DAC 输出电压计算 三、SPI(串行外设接口)相关公式1. SPI 数据传…

DeepSeek V1:初代模型的架构与性能

DeepSeek V1(又称DeepSeek-MoE)是DeepSeek系列的首代大规模语言模型,它采用Transformer结合稀疏混合专家(MoE)的创新架构,实现了在受控算力下的大容量模型。本文将深入解析DeepSeek V1的架构设计与技术细节,包括其关键机制、训练优化策略,以及在各类NLP任务上的表现。 …

【计算机网络】面试常考——GET 和 POST 的区别

GET 和 POST 的区别 GET 和 POST 是 HTTP 协议中最常用的两种请求方法,它们的主要区别体现在 用途、数据传输方式、安全性、缓存机制 等方面。以下是详细对比: 1. 用途 GET POST 主要用于 获取数据(如查询、搜索)。 主要用于 提…