【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
在这里插入图片描述开始训练
在这里插入图片描述
训练结果可视化
在这里插入图片描述
结果
在这里插入图片描述

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

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

相关文章

BUUCTF crypto做题记录(6)新手向

一、Unencode 得到的密文&#xff1a;89FQA9WMD<V1A<V1S83DY.#<W3$Q,2TM] 看题目名字&#xff0c;我们可以知道这是一个解码的题目&#xff0c;但是unencode 好像是不可解码的意思&#xff0c;我们可以对照着解码方式看一下哪个更适合&#xff0c;可以进行尝试一下C…

RocketMQ 投递消息方式以及消息体结构分析:Message、MessageQueueSelector

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

腾讯云取消免费10G CDN流量包:免费CDN时代结束

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 免费送了7-8年的腾讯云10G免费流量包&#xff0c;从2024年开始&#xff0c;停止赠送了!自此&#xff0c;国内绝大多数互联网大厂的CDN都开收费了! 大概从2016年开始&#xff0c;腾讯云为了抢夺CDN客户&#xff0…

基于Spring-boot-websocket的聊天应用开发总结

目录 1.概述 1.1 Websocket 1.2 STOMP 1.3 源码 2.Springboot集成WS 2.1 添加依赖 2.2 ws配置 2.2.1 WebSocketMessageBrokerConfigurer 2.2.2 ChatController 2.2.3 ChatInRoomController 2.2.4 ChatToUserController 2.3 前端聊天配置 2.3.1 index.html和main.j…

mnn-llm: 大语言模型端侧CPU推理优化

在大语言模型(LLM)端侧部署上&#xff0c;基于 MNN 实现的 mnn-llm 项目已经展现出业界领先的性能&#xff0c;特别是在 ARM 架构的 CPU 上。目前利用 mnn-llm 的推理能力&#xff0c;qwen-1.8b在mnn-llm的驱动下能够在移动端达到端侧实时会话的能力&#xff0c;能够在较低内存…

MySQL之视图外连接、内连接和子查询的使用

一、视图 1.1 含义 虚拟表&#xff0c;和普通表一样使用 1.2 操作 创建视图 create view 视图名 as 修改视图 方式一&#xff1a; create or replace view 视图名 as 【查看视图相关字段】 方式二&#xff1a; alter view 视图名 as 【查看的SQL语句】 查看视图 方式一&…

Nginx快速入门:Nginx实现高可用|结合keepalived实现主备节点(九)

0. 引言 在生产中我们要尽可能避免单点故障&#xff0c;nginx也不例外&#xff0c;因此搭建主备节点必不可少&#xff0c;今天我们来学习下如何利用keepalived实现主备 1. keepalived简介 keepalived 是一个LINUX系统中开源的负载均衡和故障转移软件&#xff0c;它主要用于高…

2024年阿里云、腾讯云、华为云、LightNode、硅云服务器如何选?怎么买最划算?[最新价格表]

很多小伙伴都有一颗上云的心&#xff0c;包括我自己 有事没事的折腾一下自己的小破站&#xff0c;也挺有意思的&#xff01; 那么&#xff0c;云服务器哪家好&#xff1f;优惠力度哪家大&#xff1f;活动入口哪里进&#xff1f;云服务器如何配置&#xff1f;如何选型&#xf…

K8S集群部署解决工作节点couldn‘t get current server API group list问题

最近在自己电脑上装了VMWare Player&#xff0c;在上面装了两个Ubuntu虚拟机&#xff0c;为了方便学习云原生技术&#xff0c;决定在上面装一个2个节点&#xff08;一个控制面&#xff0c;一个工作节点&#xff09;的K8S集群。 参考这篇文章&#xff1a; Ubuntu 22.04 搭建K8…

kubectl的插件安装工具krew

最近得知一个kubectl插件安装工具&#xff0c;叫做krew。 官网地址是&#xff1a;Krew – kubectl plugin manager 安装krew 按照官网的做法&#xff0c;一直安装失败&#xff0c;于是拆解步骤&#xff0c;一步一步下载离线安装。 1、下载krew.yaml 地址&#xff1a;https:…

Proteus 各版本安装指南

Proteus下载链接 https://pan.baidu.com/s/1vHgg8jK9KSHdxSU9SDy4vQ?pwd0531 1.鼠标右击【Proteus8.15(64bit&#xff09;】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到Proteus8.15(64bit&#xff09; 】。 2.打开解压后的文件夹&#…

适用于生物行业的生信云平台

随着基因检测技术的不断发展&#xff0c;生物信息云平台在基因检测行业的应用越来越广泛。生物信息云平台是一种基于云计算的技术&#xff0c;可以将基因检测数据存储在云端&#xff0c;并通过数据分析、挖掘等技术手段&#xff0c;对基因数据进行处理、分析和解读。 这种技术的…

Linux安装nginx(带http ssl)

nginx安装 nginx文件 以及gcc pcre zlib openssl 网盘下载 1.安装gcc yum -y install gcc gcc-c 2.安装pcre rpm -ivh pcre-8.32-17.el7.x86_64.rpm --force --nodeps rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm --force --nodeps 3.安装zlib tar -zxvf zlib-1.2.11.ta…

metaSPAdes,megahit,IDBA-UB:宏基因组装软件安装与使用

metaSPAdes,megahit,IDBA-UB是目前比较主流的宏基因组组装软件 metaSPAdes安装 GitHub - ablab/spades: SPAdes Genome Assembler #3.15.5的预编译版貌似有问题&#xff0c;使用源码安装试试 wget http://cab.spbu.ru/files/release3.15.5/SPAdes-3.15.5.tar.gz tar -xzf SP…

C++ 给父类带参构造函数的赋值

在类的使用中&#xff0c;默认的构造函数不带任何参数&#xff0c;但是也会因为需要而使用带参数的构造函数。 在带参的构造函数中&#xff0c;是如何继承的呢&#xff0c;这里我们通过使用基类&#xff0c;子类&#xff0c;孙类的两重继承来观察&#xff0c;如何给带参构造函数…

完美版视频网站模板 – 苹果CMS v10大橙子vfed主题

源码下载&#xff1a; https://download.csdn.net/download/m0_66047725/88700504 这次提供的大橙子 vfed 模板 已经完美&#xff0c;只去除了授权验证和正版主题神秘后门&#xff0c;不影响任何功能体验性。主题优化&#xff1a;全站响应式自带主题设置面板自带联盟资源库大全…

【C/C++】开源串口库 CSerialPort 应用

文章目录 1、简述2、效果图2.1、命令行&#xff08;不带GUI&#xff09;2.2、GUI&#xff08;这里用的Qt&#xff09; 3、串口硬件知识普及4、核心实现4.1、Qt的pro文件4.2、main文件4.3、SSerialPort类4.3.1、头文件4.3.2、源文件 4.4、Linux下的CMakeLists.txt 1、简述 本文…

设计模式之单例模式的懒饿汉

懒汉式 说白了就是你不叫我我不动&#xff0c;你叫我我才动。 类初始化模式&#xff0c;也叫延迟占位模式。在单例类的内部由一个私有静态内部类来持有这个单例类的实例。因为在 JVM 中&#xff0c;对类的加载和类初始化&#xff0c;由虚拟机保证线程安全。 public class Singl…

cesium键盘控制模型

效果&#xff1a; 由于对添加模型和更新位置api进行二次了封装&#xff0c;下面提供思路 1.添加模型 const person reactive({modelTimer: null,position: {lon: 104.07274,lat: 30.57899,alt: 1200,heading: 0,pitch: 0,roll: 0,}, }); window.swpcesium.addEntity.addMo…

SSH 无密登录配置

1)配置 ssh (1)基本语法 ssh 另一台电脑的 IP 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 [yuxuan@yuxuan102 ~]$ ssh yuxuan103 ➢ 如果出现如下内容 Are you sure you want to continue connecting (yes/no)? ➢ 输入 yes,并回车 (3)退回到 …