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

神经网络基础知识

神经网络基础知识

文章目录

  • 神经网络基础知识
    • 一、人工神经网络
      • 1.激活函数
        • sigmod函数
        • Tanh函数
        • Leaky Relu函数
        • 分析
      • 2.过拟合和欠拟合
    • 二、学习与感知机
      • 1.损失函数与代价函数
      • 2. 线性回归和逻辑回归
      • 3. 监督学习与无监督学习
    • 三、优化
      • 1.梯度下降法
      • 2.随机梯度下降法(SGD)
      • 3. 批量梯度下降法(BGD)
      • 4.小批量梯度下降法(MBGD)
      • 5.Momentum动量法
      • 6.优化学习率/步长
      • 7.反向传播算法
    • 四、卷积神经网络
      • 1.感受野
      • 2.下采样(池化)
      • 3.Flattening平整化
      • 4.举例
    • 五、循环神经网络
      • 1. RNN的基本概念
      • 2.LSTM长短期记忆网络
      • 3.GRU
      • 4.Attention注意力机制
      • 5.Transformer模型

一、人工神经网络

1.激活函数

sigmod函数

在这里插入图片描述

Tanh函数

在这里插入图片描述

Leaky Relu函数

在这里插入图片描述

分析

  1. sigmod和Tanh函数为饱和函数,leaky Relu函数为非饱和函数,使用非饱和激活函数的优势在于:
  • 非饱和函数能解决深度神经网络(层数非常多)的梯度消失问题,浅层网络才能使用sigmod作为激活函数。
  • 非饱和函数能够加快收敛速度
  1. 激活函数的作用是将ANN模型中一个节点的输入信号转换成一个输出信号,若不运用激活函数的话,则输出信号将仅仅是一个简单的线性函数。

2.过拟合和欠拟合

  • 欠拟合是指模型在训练集、验证集和测试集上均表现不佳的情况;
  • 过拟合是指模型在训练集上表现很好,到了验证和测试阶段就很差,即模型的泛化能力很差。

二、学习与感知机

1.损失函数与代价函数

  1. 代价(目标)函数是损失函数的平均值
  2. 输入x通过模型预测输出y,此过程称为向前传播,而将预测与真实值的差值减小需要更新模型中的参数,这个过程称为向后传播
  • 损失函数

在这里插入图片描述

  1. 代价函数C(x),若是有多个样本可以将所有代价函数的取值求均值,记作J(x)。优化参数x,最常用的方法就是梯度下降,就是对代价函数J(x)的偏导数。
  • 代价函数

在这里插入图片描述

  1. 均方误差通常用在线性回归问题中,交叉熵代价函数通常用在分类问题中。

  2. 损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。

    代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

    目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。

2. 线性回归和逻辑回归

  1. 线性回归是回归问题(预测数值是连续型的),逻辑回归是分类问题(预测数值是离散型的)
  2. 逻辑回归就是将线性回归的值映射到sigmod函数当中,两者的求解步骤是类似的。

3. 监督学习与无监督学习

  1. 监督学习的学习方法是分类和回归,常用的算法是K-近邻算法、决策树、朴素贝叶斯、逻辑回归。
  2. 无监督学习的学习方法是:
  • 聚类:K-均值聚类、BIRCH聚类、高斯混合聚类
  • 降维:主成分分析(PCA)(通过线性变换将原始数据变换为一组各维度线性无关的表示,可以用于提取数据的主要特征分量。)
  1. 监督学习是根据已有数据集,知道输入和输出结果之间的关系,然后根据这种已知关系训练得到一个最优模型。训练数据应该既有特征(x)又有标签(y),然后通过训练,找到特征和标签之间的联系。

  2. 监督学习中的数据是带有一系列标签的,在无监督学习中,需要用某种算法去训练无标签的训练集从而能够让我们找到这组数据的潜在结构。

  3. 监督式学习中的分类和回归:回归指利用训练数据预测输出值,例如利用回归从训练数据中预测股票价格。分类指将输出分组到某一类。例如使用分类预测数据样本的年龄。

  4. 监督学习中的支持向量机(SVM)

  • 支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,可以将问题化为一个求解凸二次规划的问题。

在这里插入图片描述

三、优化

1.梯度下降法

  • 求解损失函数的最小值时,可以通过梯度下降法来迭代求解,得到最小化的损失函数和模型参数值。

  • 梯度下降的分类

在这里插入图片描述

2.随机梯度下降法(SGD)

  • 每次从训练集中随机选择一个样本来进行学习,Batch_size = 1
  • 优点:每次只随机选择一个样本更新参数,所以学习是非常快速的,并且可以在线更新;最终收敛于一个较好的局部极值点。
  • 缺点:每次更新可能不会按正确的方向进行,因此会带来优化波动,使得迭代次数增多,即收敛速度变慢。

3. 批量梯度下降法(BGD)

  • 每次使用全部的训练样本来更新模型参数
  • 优点:每次更新都会朝着正确的方向进行,最后能够保证收敛于极值点。
  • 缺点:每次学习时间过长,并且如果训练集很大以至于需要消耗大量的内存,不能进行在线模型参数更新。

4.小批量梯度下降法(MBGD)

  • 综合以上两种方法,在每次更新速度与更新次数中间的一个平衡,其每次更新从训练集中随机选择k个样本进行学习。

5.Momentum动量法

  • 参数更新时在一定程度上保留之前更新的方向,同时又利用当前batch的梯度微调最终的更新方向,简言之就是通过积累之前的动量来加速当前的梯度
  • Nesterov 动量法往标准动量中添加了一个校正因子,具体做法就是在当前的梯度上添加上一时刻的动量。(更好的修正过程)
  • Nesterov动量法中的β

6.优化学习率/步长

  1. Adagrad
  • 对于经常更新的参数,我们已经积累了大量关于它的知识,不希望被单个样本影响太大,希望学习速率慢一些;对于偶尔更新的参数,我们了解的信息太少,希望能从每个偶然出现的样本身上多学一些,即学习速率大一些。(梯度平缓时加大步长)
  1. rmsprop
  • rmsprop算法修改了AdaGrad的梯度平方和累加为指数加权的移动平均,使得其在非凸设定下效果更好。

7.反向传播算法

  1. BP算法的学习过程由正向传播过程和反向传播过程组成。

四、卷积神经网络

1.感受野

  • 就是指输出feature map上某个元素受输入图像上影响的区域。

  • 内核(kernel)是滤波器(filter)的基本元素,多张kernel组成一个filter。

  • 输入通道是3个特征时,则每一个filter中包含3张kernel。

2.下采样(池化)

  • 作用:保留主要特征的同时减少参数和计算量,防止过拟合,提高模型的泛化能力。

  • 最大池化和平均池化:保留像素值最大或取平均。

3.Flattening平整化

  • Flatten层:把多维的输入一维化,常用在从卷积层到全连接层的过渡。

在这里插入图片描述

4.举例

  1. AlexNet使用ReLU激活函数
  2. LetNet5使用sigmod激活函数

在这里插入图片描述

在这里插入图片描述

博客来源:https://blog.csdn.net/wait_ButterFly/article/details/81872706

五、循环神经网络

1. RNN的基本概念

  • 他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。

2.LSTM长短期记忆网络

在这里插入图片描述

3.GRU

  • 为了解决长期记忆和反向传播中的梯度等问题而提出来的

在这里插入图片描述

4.Attention注意力机制

  • Attention机制就是对输入的每个元素考虑不同的权重参数,从而更加关注与输入的元素相似的部分,而抑制其它无用的信息。

5.Transformer模型

  • 相比 RNN 网络结构,其最大的优点是可以并行计算。
  • Self-Attention(自注意力),也称为Intra-Attention(内部注意力),是关联单个序列的不同位置的注意力机制,以便计算序列的交互表示。

相关文章:

神经网络基础知识

神经网络基础知识 文章目录神经网络基础知识一、人工神经网络1.激活函数sigmod函数Tanh函数Leaky Relu函数分析2.过拟合和欠拟合二、学习与感知机1.损失函数与代价函数2. 线性回归和逻辑回归3. 监督学习与无监督学习三、优化1.梯度下降法2.随机梯度下降法(SGD)3. 批量梯度下降法…...

SpringBoot开发规范部分通用模板+idea配置【项目通用-1】

SpringBoot开发规范通用模板 1 分页插件使用 通过MybatisPlus配置分页插件拦截器 Configuration MapperScan("com.xuecheng.content.mapper") //拦截的mapper层 public class MybatisPlusConfig {//定义分页的拦截器Beanpublic MybatisPlusInterceptor getMybatisPl…...

程序的机器级表示part3——算术和逻辑操作

目录 1.加载有效地址 2. 整数运算指令 2.1 INC 和 DEC 2.2 NEG 2.3 ADD、SUB 和 IMUL 3. 布尔指令 3.1 AND 3.2 OR 3.3 XOR 3.4 NOT 4. 移位操作 4.1 算术左移和逻辑左移 4.2 算术右移和逻辑右移 5. 特殊的算术操作 1.加载有效地址 指令效果描述leaq S, DD…...

基于YOLOV5的钢材缺陷检测

数据和源码见文末 1.任务概述 数据集使用的是东北大学收集的一个钢材缺陷检测数据集,需要检测出钢材表面的6种划痕。同时,数据集格式是VOC格式,需要进行转化,上传的源码中的数据集是经过转换格式的版本。 2.数据与标签配置方法 在数据集目录下,train文件夹下有训练集数据…...

Session与Cookie的区别(三)

中场休息 让我们先从比喻回到网络世界里,HTTP 是无状态的,所以每一个 Request 都是不相关的,就像是对小明来说每一位客人都是新的客人一样,他根本不知道谁是谁。 既然你没办法把他们关联,就代表状态这件事情也不存在。…...

七大设计原则之接口隔离原则应用

目录1 接口隔离原则介绍2 接口隔离原则应用1 接口隔离原则介绍 接口隔离原则(Interface Segregation Principle, ISP)是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。这个原则指导我们在设计接口时…...

【Shell1】shell语法,ssh/build/scp/upgrade,环境变量,自动升级bmc

文章目录1.shell语法:shell是用C语言编写的程序,是用户使用Linux的桥梁,硬件>内核(os)>shell>文件系统1.1 变量:readonly定义只读变量,unset删除变量1.2 函数:shell脚本传递的参数中包含空格&…...

JavaScript HTML DOM - 改变CSS

JavaScript 是一种动态语言,它可以动态地修改网页的外观,并且使用HTML DOM(文档对象模型)可以更方便地控制HTML元素的样式。 JavaScript 通过在HTML DOM中更改CSS属性来更改样式,这些CSS属性包括颜色、位置、字体大小…...

mycat连接mysql 简单配置

mycat三个配置文件位于conf下 可通过Notepad操作 首先配置service.xml中的user标签&#xff0c;设置用户名&#xff0c;密码&#xff0c;查询权限&#xff0c;是否只读等 只是设置了root用户&#xff0c;有所有权限 配置schema.xml <?xml version"1.0"?&g…...

Spring常用注解

文章目录一、Bean交给Spring管理1、Component2、Bean3、Controller4、Service5、Repository6、Configuration7、ComponentScan二、作用域1、Lazy(false)Scope三、依赖注入1、Autowired2、Resource3、Qualifier四、读取配置文件值1、Value一、Bean交给Spring管理 1、Component …...

I.MX6ULL内核开发9:kobject-驱动的基石

目录 一、摘要 二、重点 三、驱动结构模型 四、关键函数分析 kobject_create_and_add()函数 kobject_create()函数 kobject_init&#xff08;&#xff09;函数 kobject_init_internal(&#xff09;函数 kobject_add&#xff08;&#xff09;函数 kobject_add_varg&am…...

Docker-harbor私有仓库

一、Harbor概述 1、Harbor的概念 • Harbor是VMware公司开源的企业级Docker Registry项目&#xff0c;其目标是帮助用户迅速搭建一个企业级的Docker Registry服务 • Harbor以 Docker 公司开源的Registry 为基础&#xff0c;提供了图形管理UI、基于角色的访问控制(Role Base…...

Java之动态规划之子序列问题

目录 0.动态规划问题 一.最长递增子序列 1.题目描述 2.问题分析 3.代码实现 二.最长递增子序列 1.题目描述 2.问题分析 3.代码实现 三.最长重复子数组 1.题目描述 2.问题分析 3.代码实现 4.代码的优化(滚动数组) 四.最长公共子序列 1.题目描述 2.问题分析 3.代…...

java ArrayList

目录 一.简单介绍 二.ArrayList的底层结构 2.1ArrayList的底层结构和操作分析 2.ArrayList 底层源码分析 三.ArrayList 方法 四.代码使用方法 一.简单介绍 ArrayList 类是一个可以动态修改的数组&#xff0c;与普通数组的区别就是它是没有固定大小的限制&#xff0c;我们…...

前端——周总结系列四

1 JS变量与常量 概述 变量&#xff1a;在后续编码过程中会被重新赋值&#xff0c;是不断变化的。常量&#xff1a;固定不变的数据&#xff0c;日常生活比如性别男&#xff0c;代码层面是在编码过程中不会变化的固定数据。 命名规则 变量 可以包含数字&#xff0c;字母&…...

Linux重定向符、管道符讲解

目录 重定向 将命令与文件进行互动 输出重定向 输入重定向 管道符 将命令与命令互动起来 重定向 将命令与文件进行互动 重定向分类 一般情况下&#xff0c;Linux命令运行时都会打开一下三个文件 标准输入文件&#xff1a;stdin文件&#xff0c;文件描述符为0&#xff0c;Li…...

【C++】多态

多态一、多态的概念及定义1.1 虚函数1.2 虚函数重写的特殊情况1.3 override 和 final二、抽象类2.1 概念2.2 用处三、多态的原理3.1 虚函数表3.1.1 虚函数与虚表的位置3.2 多态的原理3.3 静态绑定和动态绑定四、单/多继承的虚函数表4.1 单继承的虚函数表4.2 多继承的虚函数表一…...

分布式项目-品牌管理(5、6)

【今日成果】&#xff1a; //使用阿里云OSS服务&#xff1a; //使用v-if如果地址没有就不显示 &#xff0c; 如果地址错误图片就显示不出来&#xff1b; 【快速回顾】&#xff1a; 任何数据的删除都不要使用物理上的删除&#xff0c;应当使用逻辑上的删除&#xff01;&…...

自定义ESLint规则开发与使用

自定义eslint及使用 项目结构 |-eslint-plugin-demo //自定义eslint插件项目 | |-demo-app // 使用自定义eslint的测试应用 |-README.md 项目效果&#xff1a; github项目地址 自定义ESLint环境准备 安装脚手架 执行下列命令来安装开发eslint的脚手架。 yo(y…...

【JavaScript】35_包装类与垃圾回收机制

10、包装类 在JS中&#xff0c;除了直接创建原始值外&#xff0c;也可以创建原始值的对象 通过 new String() 可以创建String类型的对象 通过 new Number() 可以创建Number类型的对象 通过 new Boolean() 可以创建Boolean类型的对象 但是千万不要这么做 包装类&#xff1…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...