CNN感性认识(一)——BP神经网络

2023-11-10 03:40

本文主要是介绍CNN感性认识(一)——BP神经网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【作者数学捉鸡,本博客不作公式推导,只是提纲挈领地描述BP神经网络的操作过程】
参考资料:http://neuralnetworksanddeeplearning.com/index.html

一、神经网络的基本单元:感知器
感知器接受若干个二元输入x1,x2,……,生成单一的二元输出。
感知器:
这里写图片描述

每个输入对应一个权重,w,当w和x的乘积的和加上偏置大于阈值时,输出为1,当乘积的和加上偏置小于阈值时,输出为0.
适当组合并选取合适的权重,可以代替门运算。
值得一提的是,二层的感知器可以代替与门或门非门运算,但是不能代替异或运算。
这里写图片描述
这是神经网络的学习过程,当输出的output与实际值有偏差时,不断改变权重和偏置,使输出的结果越来越好,但是为了迁就一个结果而修改的权重可能对网络整体造成巨大的影响(可能造成输出的突变)。为了克服这个问题,引入了一种虚拟的神经元:sigmoid神经元。sigmoid神经元的输入可以使0到1间的任意值,它的输出可以用sigmoid函数表示:这里写图片描述
这里写图片描述
这里写图片描述
与原来的神经元相比,sigmod神经元更加平滑,这样,权重的微小改变就可以造成输出的微小改变。
这里写图片描述

神经网络的结构为:
输入层(输入神经元)—–> 隐藏层 ——> 输出层(输出神经元)
隐藏层可以有很多层。
这种多层神经网络有时被称为多层感知器,由sigmod神经元组成。
以上讨论的神经网络被称为前馈神经网络,网络中没有回路,层与层之间全连接,每层之间无连接。
这里写图片描述

二、训练神经网络
为了判断网络的表现,定义价值函数(cost function,也称损失函数,目标函数),用C表示。下面的式子就是当C是均方误差时的结果损失函数:
这里写图片描述
用w表示网络中所有权重的集合,b表示所有的偏置,n是训练样本的总数,a表示当x是输入样本时,网络给出的输出向量。
我们希望C尽可能小,用梯度下降法(gradient descent)达到目的。
这里写图片描述
从这张图上看,如果有一个球固定在这个曲面上方的某处,希望让这个球到达曲面的洼地。梯度下降法的策略就是分别从v1和v2两个方向上让这个球慢慢下降。
这里写图片描述
梯度为:这里写图片描述
这里写图片描述
这里只是求出了梯度的表示,我们的目的是用梯度更新权重。这时,我们就要考虑到小球下降速度的问题,如果在当前方向上更新梯度更新得过了头,小球就越过了洼地,这显然不是我们想看到的。因此,需要一个参数:学习率这里写图片描述,来控制梯度下降的速度。学习率是一个很小的正参数,一般训练神经网络的时候,随着损失函数变小,会将学习率调整得小一点。
v的更新为:这里写图片描述
回到神经网络,最靠近输出层的神经元就是这样更新的:
这里写图片描述
这种做法的一个缺点是,每次更新权重都要读取全部的训练数据,在训练数据比较庞大的时候,这非常耗时,因此采取随机坐标下降法(stochastic gradient descent)加速学习。这个方法的策略是,每次更新只用一部分样本。
我们不断随机选择输入,直到所有训练数据都被遍历,就完成了一轮(epoch)训练,开始下一轮训练。

现在我们知道了如何训练最后一层的神经元,那么前面几层的神经元怎么办呢?接下来就要详细介绍反向传播算法(backpropagation)。反向传播算法的核心是计算损失函数关于权重(或偏置)的偏导数这里写图片描述
这里写图片描述表示在第l-1层的第k个神经元到第l层的第j个神经元的权重。用这里写图片描述表示第j个神经元在第l层的偏置,用这里写图片描述表示第j个神经元在第l层的激励。
这里写图片描述
这样激励,权重和偏置之间的关系就是:这里写图片描述
写成向量就是:这里写图片描述
第l层的加权输入为:这里写图片描述

引入阿尔玛内积(Hadamard product)这里写图片描述
也就是相同纬度向量对应位置相乘
这里写图片描述

接下来介绍几个关于反向传播的重要方程,证明过程略(有兴趣可以移步英文原文查阅)
引入中间量这里写图片描述来表示第j个神经元在第l层上的误差。
反向传播算法可以计算 这里写图片描述,然后把它与损失函数关于w和b的偏导数联系起来。
定义:这里写图片描述
① 输出层误差方程:这里写图片描述
写成矩阵形式:这里写图片描述
这里的L表示是针对最后一层。
这里写图片描述关于这里写图片描述的方程:这里写图片描述
这个公式告诉了我们误差从后往前传播的方式,通过①和②的结合,我们可以求出网络中任意层的误差。
③ 网络中损失函数关于偏置的公式:这里写图片描述
这个公式可以简写为:这里写图片描述
④ 网络中损失函数关于权重的公式:这里写图片描述
这个公式可以简写为:这里写图片描述
从这个公式可以看出:激励小的神经元的权重学习得慢。
当激活函数是sigmoid时,如果输入的值在很左或者很右的位置,输出神经元产生的激励非常小或者非常大,这时认为输出神经元已经饱和,几乎停止学习,这样就会造成权重学习缓慢,这也是sigmoid的一个缺点

反向传播算法的具体步骤为:
① 输入x:为输入层设置相应的激励这里写图片描述
② 前馈:对每个这里写图片描述,计算这里写图片描述
③ 输出误差这里写图片描述:计算向量这里写图片描述
④ 反向传播误差:对每个这里写图片描述,计算这里写图片描述
⑤ 输出:损失函数的梯度为这里写图片描述
最后只要用这个公式更新偏置和权重就可以了:
这里写图片描述

如果用随机坐标下降法加速:
这里写图片描述
这里写图片描述
m表示一个batch里样本的个数

这篇关于CNN感性认识(一)——BP神经网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380207

相关文章

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

机器学习之监督学习(三)神经网络

机器学习之监督学习(三)神经网络基础 0. 文章传送1. 深度学习 Deep Learning深度学习的关键特点深度学习VS传统机器学习 2. 生物神经网络 Biological Neural Network3. 神经网络模型基本结构模块一:TensorFlow搭建神经网络 4. 反向传播梯度下降 Back Propagation Gradient Descent模块二:激活函数 activ

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

基于深度学习 卷积神经网络resnext50的中医舌苔分类系统

项目概述 本项目旨在通过深度学习技术,特别是利用卷积神经网络(Convolutional Neural Networks, CNNs)中的ResNeXt50架构,实现对中医舌象图像的自动分类。该系统不仅能够识别不同的舌苔类型,还能够在PyQt5框架下提供一个直观的图形用户界面(GUI),使得医生或患者能够方便地上传舌象照片并获取分析结果。 技术栈 深度学习框架:采用PyTorch或其他

图神经网络(2)预备知识

1. 图的基本概念         对于接触过数据结构和算法的读者来说,图并不是一个陌生的概念。一个图由一些顶点也称为节点和连接这些顶点的边组成。给定一个图G=(V,E),  其 中V={V1,V2,…,Vn}  是一个具有 n 个顶点的集合。 1.1邻接矩阵         我们用邻接矩阵A∈Rn×n表示顶点之间的连接关系。 如果顶点 vi和vj之间有连接,就表示(vi,vj)  组成了

自然语言处理系列六十三》神经网络算法》LSTM长短期记忆神经网络算法

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十三神经网络算法》LSTM长短期记忆神经网络算法Seq2Seq端到端神经网络算法 总结 自然语言处理系列六十三 神经网络算法》LSTM长短期记忆神经网络算法 长短期记忆网络(LSTM,Long S

神经网络训练不起来怎么办(零)| General Guidance

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。关键词:模型性能,Model Bias, Optimization, Overfitting。 零,领域背景 如果我们的模型表现较差,那么我们往往需要根据 Training l

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构

临床基础两手抓!这个12+神经网络模型太贪了,免疫治疗预测、通路重要性、基因重要性、通路交互作用性全部拿下!

生信碱移 IRnet介绍 用于预测病人免疫治疗反应类型的生物过程嵌入神经网络,提供通路、通路交互、基因重要性的多重可解释性评估。 临床实践中常常遇到许多复杂的问题,常见的两种是: 二分类或多分类:预测患者对治疗有无耐受(二分类)、判断患者的疾病分级(多分类); 连续数值的预测:预测癌症病人的风险、预测患者的白细胞数值水平; 尽管传统的机器学习提供了高效的建模预测与初步的特征重