神经网络基础知识

article/2025/10/8 21:21:50

一、课程来源:

深度之眼神经网络基础知识

二、主要内容:

主要分为三个部分,分别是

1.神经网络基础与多层感知机:基础知识、激活函数、反向传播、损失函数、权值初始化和正则化

2.卷积神经网络:统治图像领域的神经网络结构,发展历史、卷积操作和池化操作

3.循环神经网络:统治序列数据的神经网络结构,RNN、GRU和LSTM

三、神经网络基础与多层感知机

(1)人工神经元:第一个神经网络模型是科学家Rosenblatt提出的Perceptron(感知机模型)

但是这个模型无法解决异或问题,因为他是用一条直线进行拟合,然后将一个平面分割为两个平面,对异或问题无法解决。

(2)多层感知机(Multi layer Perceptron)

因为感知机模型不能解决异或问题,所以出现了多层感知机,多层感知机的核心是:在隐藏层引入了激活函数,这个激活函数一般是非线性的函数,从而避免因为矩阵乘法变化导致的网格退化。

(3)激活函数(Activation Function)

激活函数的作用是:

1.让多层感知机成为真正的多层,否则等价为一层;

2.引入非线性函数,使网络可以逼近任意非线性函数。(万能逼近定理)

激活函数需要具备以下几点性质:

1 . 连续并可导(允许少数点上不可导),便于利用数值优化的方法来学习网络参数

2 . 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率

3 . 激活函数的导函数的值域要在合适区间内,不能太大也不能太小,否则会影响训练的效率和稳定性

常见的激活函数:Sigmoid、Tanh、ReLU

 (4)反向传播

 前向传播:输入层数据开始从前向后,数据逐步传递至输出层

反向传播:损失函数开始从后向前,梯度逐步传递至第一层(梯度是不是指求导?)

反向传播能够更新权重,使网络输出更接近标签

(5)损失函数

损失函数:衡量模型输出与真是标签之间的差距

损失函数(Loss Function):是指单样本差距

代价函数(Cost Function):是指总体样本差距

目标函数(Objective Function):代价函数加正则项

两种常见的损失函数:分类和回归任务

(6)权值初始化

权值初始化:训练前对权值参数赋值,良好的权值初始化有利于模型训练

简便但错误的方法:初始化为全0

随机初始化、Xavier初始化、Kaiming初始化

(7)正则化

Regularization:减小方差的策略,通俗理解为减轻过拟合的策略

误差可分解为:偏差,方差与噪声之和。即误差 = 偏差 + 方差 + 噪声之和

偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力

方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响

噪声:则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界

方法:L2权值衰减、Dropout随机失活等

四、卷积神经网络(convolutional neural networks, CNN)

(1)概述

CNN是针对图像领域任务提出的神经网络, 经历数代人的发展, 在2012年之后大部分图

像任务被CNN统治, 例如图像分类, 图像分割, 目标检测, 图像检索等

1.第一个卷积神经网络——新认知机(Neocognitron)

1980年, 日本学者福岛邦彦借鉴猫视觉系统实验结论, 提出具有层级结构的神经网络——新认知机,堆叠使用类似于S 细胞和C 细胞的两个结构。

S 细胞和C 细胞可类比现代CNN的卷积和池化

缺点: 没有反向传播算法更新权值, 模型性能有限

2.第一个大规模商用卷积神经网络——Lenet-5

1989年,Lecun等人已开始研究Lenet。1998年,Lecun 等人提出Lenet-5, 并成功在美国邮政系统中大规模应用于手写邮政编码识别

缺点: 无大量数据和高性能计算资源

3.第一个技惊四座的卷积神经网络——AlexNet

2012年,AlexNet以超出第二名10.9%的成绩夺得ILSVRC分类任务冠军, 从此拉开卷积神经网络统治图像领域序幕

 (2)卷积层

 

 多通道卷积: RGB图像是3*h*w的三维的数据,第一个维度3,表示channel(通道数)

一个卷积核是3-D张量,第一个维与输入通道有关

注:卷积核尺寸通常指高、宽

 

(3)池化层 

池化作用:

1. 缓解卷积层对位置的过度敏感

2. 减少冗余

3. 降低图像分辨率,从而减少参数量

(4)Lenet-5

 五、循环神经网络(Recurrent Neural Network, RNN)

(1)序列数据:是指数据前后具有关联性。比如基因数据,文本数据等。

(2)语言模型:

语言模型是自然语言处理(NLP)重要技术。

需要不断考虑前面出现过的词,所以计算量很大。

(3)循环神经网络(RNN) 

RNN是针对序列数据而生的神经网络结构, 核心在于循环使用网络层参数, 避免时间步增大带来的参数激增, 并引入隐藏状态( Hidden State ) 用于记录历史信息, 有效的处理数据的前后关联性。

左边是没有展开的,在输入和输出之间不断循环

右边是展开的:会考虑上一阶段的h隐藏状态

循环神经网络在每一个隐藏状态都会考虑上一隐藏状态的值  Whh是指从Wh到Wh,下标是指从哪到哪。

RNN特性:

1 . 循环神经⽹络的隐藏状态可以捕捉截至当前时间步的序列的历史信息

2 . 循环神经⽹络模型参数的数量不随时间步的增加⽽增长

穿越时间反向传播:因为RNN需要有时间关联,所以在反向传播的时候需要通过时间来进行

梯度随时间t 呈指数变化, 易引发梯度消失或梯度爆炸(梯度变为0或梯度无穷大)

(4)门控循环单元 

让模型记住重要的东西,遗忘不重要的东西,这样在下一次更新梯度的时候不用更新所有的内容

候选隐藏状态主要用于对历史信息进行遗忘,记住有用的。

GRU——引入门控机制的循环网络

重置门: 哪些信息需要遗忘,用于遗忘上一时间步隐藏状态

更新门: 哪些信息需要注意,用于更新当前时间步隐藏状态 

 (5)长短期记忆网络(Long short-term memory, LSTM)

输出门让输出,记忆细胞信息才能流入隐藏状态。

LSTM模型整体如下图:


http://chatgpt.dhexx.cn/article/mUnEneDL.shtml

相关文章

计算机网络基础知识

计算机网络 上帝视角 如上图就是一张简单的计算机网络,那么什么是计算机网络呢? 百度百科的定义: 网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。 在我看来计算机网络通俗地讲就是通过传输介质将分布在…

【Kubernetes】容器网络基础

文章目录 一、前言二、Kubernetes 容器网络基础2.1 容器网络基础知识回顾2.2 Kubernetes 容器网络概览2.3 CNI 插件介绍2.3.1 使用 CNI 插件创建并连接容器网络的操作步骤 三、Kubernetes 容器网络模型3.1 容器网络模型简介3.2 容器网络模型实现3.3 容器网络模型与 CNI 插件的关…

数通基础-网络基础知识

OSI参考模型 OSI 概念 Open System Interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。它是个灵活的、稳健的和可互操作的模型,并不是协议,而是一个伟大的模型。常用来分析和设计网络体系结构。​ O…

计算机网络基础 (一) —— 概念、组成、功能、分类

1、基本概念 1.1、计算机网络的概念 网络包含了计算机网络: 概念 1.2、计算机功能 1.3、计算机网络组成 1.4、计算机网络的分类 1.5、标准化工作的相关组织 1.6、速率相关的性能指标 1.6.1、速率 数据是1个比特1个比特的传递的,下图中将10个数字传送给…

计算机网络基础知识大全

🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 ,专注Java硬核干货分享,立志做到Java赛道全网Top N。 🏆本文收录于,Java基础教程系…

浅谈网络基础架构

浅谈网络基础架构 背景看一次网络请求主要过程1.URL解析2.DNS解析解析顺序服务器层次划分 3.建立TCP连接HTTP请求为什么要用TCP协议建立连接?TCP 三次握手 4.服务器处理请求5.浏览器接受响应6.渲染页面 部署架构总览结构组成相关术语 负载均衡(LB/SLB&am…

网络基础知识详解(图解版)

网络基础知识详解(图解版) 1.网络协议: 我们用手机连接上网的时候,会用到许多网络协议。从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议; 手机自动获取网络配置,使用的是 DHCP 协议。 这…

网络知识(入门)

目录 二、基本网络通信原理 网络基础概念:IP地址 IP地址的格式: 由什么来决定网络位的长度? 三、IP地址如何配置 如何看自己电脑IP地址? 另一种命令式查看 手机地址如何查看 IP地址如何配置 疑问:为什么没有配…

网络基础知识

Net Basic 一、网络分层 1. OSI七层模型 物理层:确保原始数据在各种物理媒介上的传输。 有两个重要设备:中继器(放大器)和集线器 数据链路层:为网络层提供数据传输服务;基本数据单位是帧;以太…

【网络入门】详解常用的基础网络知识(面试笔试常考内容)

目录 1、概述 2、OSI七层模型和TCP/IP四层模型 3、数据进入TCP/IP协议栈时的封装过程 4、端口的概念 5、TCP建立连接时的三次握手 5.1、TCP头的构成 5.2、三次握手的流程说明 5.3、为什么必须使用三次握手,不能用两次握手去建立连接 5.4、SYN包攻击简介 …

面试官都震惊,你这网络基础可以啊!

目录 网络1.对网络的基础认识<1>.组网方式<2>.OSI七层模型<3>.TCP/IP五层&#xff08;四层模型&#xff09;<4>.对封装分用的理解 2.网络数据传输<1>局域网(1)认识IP和MAC(2)网络数据传输的特性(3)网络数据传输流程1)网络互联的方式2).局域网交换…

用matlab做bp神经网络预测,matlab神经网络怎么预测

1、请问MATLAB中神经网络预测结果应该怎么看&#xff1f;求大神解答 从图中Neural Network可以看出&#xff0c;你的网络结构是两个隐含层&#xff0c;2-3-1-1结构的网络&#xff0c;算法是traindm&#xff0c;显示出来的误差变化为均方误差值mse。经过482次迭代循环完成训练&…

matlab神经网络应用设计,神经网络及其matlab实现

Matlab里的神经网络是什么意思啊&#xff0c;我是新手&#xff0c;谁能简单通俗地解释下啊&#xff1f;谢谢了&#xff01;&#xff01;&#xff01; 。 所谓神经网络算法顾名思义是模拟生物神经网络而产生的一种算法&#xff0c;首先需要用一些已知的数据输入到神经网络中&a…

matlab神经网络训练方法,matlab神经网络模型导出

1、MATLAB神经网络中&#xff0c;多次训练后NET怎么保存&#xff1f; 它不过是个结构体&#xff0c;你在当前变量那个框框里找到它->右击->保存为.mat&#xff0c;下次用的时候点load再加载回来就成了&#xff08;以上操作亦可用 save load 命令在代码里实现&#xff09…

人工神经网络matlab代码,matlab神经网络30例代码

如何在matlab中建立多层bp神经网络 当你用newff的时候&#xff0c;里面有一个参数可以控制层数&#xff0c;比如说&#xff1a;P [0 1 2 3 4 5 6 7 8 9 10];T [0 1 2 3 4 3 2 1 2 3 4];net newff(P,T,5); %这样表示有1个隐藏层&#xff0c;里面那个5表示神经元的个数net n…

matlab中的神经网络怎么用,matlab神经网络训练方法

如何利用matlab进行神经网络预测 matlab 带有神经网络工具箱&#xff0c;可直接调用&#xff0c;建议找本书看看&#xff0c;或者MATLAB论坛找例子。 核心调用语句如下&#xff1a;%数据输入%选连样本输入输出数据归一化[inputn,inputps]mapminmax(input_train);[outputn,out…

Matlab神经网络基础

一、newp 设计一 newp函数用于生成一个感知器神经网络&#xff0c;以解决线性可分的分类问题&#xff0c;后两个输入参数是可选的&#xff0c;如果采用默认值&#xff0c;可以简单地采用 n e t n e w p ( P , T ) netnewp(P,T) netnewp(P,T)的形式来调用。 netnewp(P, T, T…

matlab神经网络构建

newff()函数构建神经网络 net newff(data,label,[8,8],{tansig,purelin},trainlm)data&#xff1a;训练时网络的输入数据。newff函数会把data的一列当作一个样本&#xff0c;如果你的数据集是一行当作一个样本&#xff0c;记得将你的输入数据矩阵转置data.‘label&#xff1a…

matlab神经网络结果怎么看,matlab神经网络实验报告

如何利用matlab进行神经网络预测 matlab带有神经网络工具箱&#xff0c;可直接调用&#xff0c;建议找本书看看&#xff0c;或者MATLAB论坛找例子。 核心调用语句如下&#xff1a;%数据输入%选连样本输入输出数据归一化[inputn,inputps]mapminmax(input_train);[outputn,outp…

matlab实现神经网络算法,matlab神经网络训练函数

如何用matlab软件实现神经网络应用 给你一个实例&#xff0c;希望通过该例子对实现神经网络应用有一定的了解。 %x,y分别为输入和目标向量x1:5;y[639646642624652];%创建一个前馈网络netnewff(minmax(x),[20,1],{tansig,purelin});%仿真未经训练的网络net并画图y1sim(net,x);…