【BIAI】lecture 3 - GD BP CNN Hands-on

2024-01-07 07:52
文章标签 cnn bp lecture hands gd biai

本文主要是介绍【BIAI】lecture 3 - GD BP CNN Hands-on,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GD & BP & CNN & Hands-on

专业术语

gradient descent (GD) 梯度下降
back propagation (BP) 向传播
Convolutional Neural Network (CNN) 卷积神经网络
forward propagation 前向传播
biologically symmetry 生物对称性
synaptic 突触
axon 轴突

课程大纲

在这里插入图片描述

The goal of AI: minimize the loss function

AI的任务目标就是解决优化函数,找到使得损失函数最小的参数 θ \theta θ在这里插入图片描述

Q: 什么是GD?
A: 梯度下降是一种优化算法,用于最小化或最大化目标函数。在神经网络中,我们通常希望最小化损失函数,以便使网络的预测结果与实际结果更接近。梯度下降通过迭代地更新网络参数来逐步调整模型,使损失函数逐渐减小

使用线性回归举例说明如何实现这个目标
如下图,线性回归模型y= β \beta βx,参数是 β \beta β,损失函数L( β \beta β)。
可以直接求出二次函数的最小值,如下图中(b)所示,也可以使用GD求出最小值。
在这里插入图片描述
当参数很多的时候,依旧可以使用GD,比如有两个参数,最开始初始化 θ \theta θ θ 0 {\theta}^0 θ0第一次GD:先对 θ 0 {\theta}^0 θ0求偏导,即对 θ 0 {\theta}^0 θ0中的两个参数分别求偏导,然后乘上学习率 η \eta η,得到的值用 ▽ L ( θ ) {\bigtriangledown}L(\theta) L(θ)表示, θ 0 {\theta}^0 θ0- ▽ L ( θ ) {\bigtriangledown}L(\theta) L(θ)便得到 θ 1 {\theta}^1 θ1 。一直不断地GD,直到L收敛,便找使得L最小的 θ {\theta} θ
在这里插入图片描述

Gradient Descent to train Neural networks

在神经网络中,往往有上亿个参数,如果使用GD,每一次计算,都会有上亿个参数需要做GD,那如果要做到L收敛,GD的计算量是非常大的。所以,我们借助反向传播来解决问题。
在这里插入图片描述

Q: 直接使用梯度下降有什么问题?
A:

  • 参数数量庞大:神经网络通常有大量的参数,特别是在深度神经网络中。如果直接计算每个参数对于损失函数的梯度,将需要非常大的计算开销和存储空间。
  • 计算效率:在计算梯度时,需要通过前向传播计算网络的输出,然后通过反向传播计算每个参数对于损失函数的梯度。直接通过数值计算梯度需要执行大量的重复计算,效率较低。

BG

反向传播解决了这些问题,并提供了一种高效计算梯度的方法。通过使用链式法则,反向传播可以将梯度从输出层向输入层传播,利用相同的前向传播过程中计算的中间结果,避免了重复计算。这样可以大大减少计算开销,并使得神经网络的训练更加高效。

关于为什么反向传播可以利用前向传播的计算结果,大家可以参考这篇博客:深度学习——P13 Backpropagation,是李宏毅课程内容的笔记,大家也可去看李宏毅深度学习课程视频。

最后总结一下反向传播,如下图所示,在GD中是计算 L L L w w w的偏导(等同于上文的 θ \theta θ,在反向传播中转化为 L L L z z z求偏导乘以 z z z w w w求偏导 z z z w w w的偏导结果其实就是前项传播中计算的每一层输入,因为 z = w 1 x 1 + w 2 x 2 z=w_1x_1+w_2x_2 z=w1x1+w2x2,所以对 w w w求偏导,就得到 x 1 x_1 x1 x 2 x_2 x2。这在前项传播中计算得到,不用再次计算。而 L L L z z z的偏导的计算也比较好算,因为 L L L的公式给出了,只需要根据公式计算就行,并且是一阶函数求导,这样大大简化了计算量。

在这里插入图片描述

Backpropagation (BP) in the Brain?

大脑是使用反向传播算法去学习?现在没有直接的证据证明。
在大脑中实施BP有几个困难:
在这里插入图片描述

The Architecture of CNN

这部分大家可以直接看李宏毅老师的课程,也可以参考这篇博客——【李宏毅】深度学习-CNN(影像辨识为例)

Hands-on

自己手动建立CNN网络,使用CNN实现EEG降噪。输入:原始神经信号,输出:降噪后的神经信号。
在这里插入图片描述

因为有时候采集的EEG信号存在噪声,我们可以使用神经网络来降噪,怎么做到呢?我们有许多的原始的EEG信号和这些信号降噪后的数据(label),将原始的EEG信号输入model,输出的结果和label计算loss,然后进行BP,这样我们的model就能够拟合出一个合适的参数,使得model的输出和label的差距最小,从而在训练结束后,我们可以使用这个model处理我们的数据进行降噪。

代码实现

首先,调包并读取数据
在这里插入图片描述
然后构建CNN
在这里插入图片描述开始训练
在这里插入图片描述
训练结果可视化
在这里插入图片描述
结果
在这里插入图片描述

这篇关于【BIAI】lecture 3 - GD BP CNN Hands-on的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

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

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

CNN-LSTM模型中应用贝叶斯推断进行时间序列预测

这篇论文的标题是《在混合CNN-LSTM模型中应用贝叶斯推断进行时间序列预测》,作者是Thi-Lich Nghiem, Viet-Duc Le, Thi-Lan Le, Pierre Maréchal, Daniel Delahaye, Andrija Vidosavljevic。论文发表在2022年10月于越南富国岛举行的国际多媒体分析与模式识别会议(MAPR)上。 摘要部分提到,卷积

【tensorflow CNN】构建cnn网络,识别mnist手写数字识别

#coding:utf8"""构建cnn网络,识别mnistinput conv1 padding max_pool([2,2],strides=[2,2]) conv2 x[-1,28,28,1] 卷积 [5,5,1,32] -> [-1,24,24,32]->[-1,28,

PHP 最全编译安装 gd 库

安装gd依赖库   freetype wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.gztar jxvf freetype-2.4.0.tar.gzcd freetype-2.4.0./configure --prefix=/usr/local/freetypemake && make in

震惊,从仿真走向现实,3D Map最大提升超12,Cube R-CNN使用合成数据集迁移到真实数据集

震惊,从仿真走向现实,3D Map最大提升超12,Cube R-CNN使用合成数据集迁移到真实数据集 Abstract 由于摄像机视角多变和场景条件不可预测,在动态路边场景中从单目图像中准确检测三维物体仍然是一个具有挑战性的问题。本文介绍了一种两阶段的训练策略来应对这些挑战。我们的方法首先在大规模合成数据集RoadSense3D上训练模型,该数据集提供了多样化的场景以实现稳健的特征学习。随后,

Segmentation简记-Multi-stream CNN based Video Semantic Segmentation for Automated Driving

创新点 1.RFCN & MSFCN 总结 网络结构如图所示。输入视频得到图像分割结果。 简单粗暴

CNN-LSTM用于时间序列预测,发二区5分+没问题!

为了进一步提高时序预测的性能,研究者们组合了CNN和LSTM的特点,提出了CNN-LSTM混合架构。 这种架构因为独特的结构设计,能同时处理时空数据、提取丰富的特征、并有效解决过拟合问题,实现对时间序列数据的高效、准确预测,远超传统方法。 因此,它已经成为我们应对时序预测任务离不开的模型,有关CNN-LSTM的研究也成了当下热门主题之一,高质量论文频发。 为了方便大家了解CNN-LSTM的最

40从传统算法到深度学习:目标检测入门实战 --深度学习在目标检测中的应用:R-CNN

参考视频教程:    **深度学习之目标检测常用算法原理+实践精讲  ** R-CNN 在传统的目标检测方法中,我们使用滑动窗口标记目标的位置、使用人工设计的特征和机器学习算法进行分类,此类方法虽然可以基本达到实时性的要求但是其缺点也比较明显。首先滑动窗口采用穷举的策略来找到目标,这种方法的缺陷是如果步长和窗口尺寸设置太小会导致时间复杂度过高,在检测过程中会出现过多的冗余窗口,如果窗口

Angle Between Hands of a Clock

Given two numbers, hour and minutes, return the smaller angle (in degrees) formed between the hour and the minute hand. Answers within 10-5 of the actual value will be accepted as correct. Example 1