深度学习基础回顾
深度学习基础
- 浅层网络 VS 深层网络
- 深度学习常用的激活函数
- Sigmoid 函数
- ReLU 函数
- Softplus 函数
- tanh函数
- 归纳偏置
- CNN
- 适用数据
- 归纳偏置
- RNN
- 适用数据
- 归纳偏置
浅层网络 VS 深层网络
浅层神经网络参数过多,导致模型的复杂度和计算量很高,难以训练。而深层网络利用多层的线性变换和共享权重的方式,使其可以用更少的参数来表示更复杂的函数,大大减少参数的数量和计算量。
同时,深层网络可以通过层次化的方式,从低层到高层,逐渐提取数据中的抽象和语义信息,从而增强了模型的泛化能力和解释能力。例如,CNN 通过使用多层的卷积核,来形成一个特征的层次结构,从边缘、角点、纹理等低层特征,到物体、场景、语义等高层特征;RNN 通过使用循环结构,来形成一个内部的记忆机制,从而捕捉数据中的长期依赖关系和动态变化规律。
深度学习常用的激活函数
Sigmoid 函数
具体形式: f ( x ) = 1 1 + e − x f(x) = \frac{1}{1+e^{-x}} f(x)=1+e−x1
- 输出范围
(0, 1)
,可以用于表示概率或二分问题 - 缺点:容易出现梯度消失等问题,影响模型的收敛速度和效果
ReLU 函数
具体形式: R e L U ( x ) = m a x ( 0 , x ) ReLU(x) = max(0, x) ReLU(x)=max(0,x)
- 输出范围
[0, +∞)
,可以用于解决梯度消失的问题,提高模型的训练速度 - 缺点:部分神经元的输出可能永远为零,导致模型的表达能力下降
Softplus 函数
具体形式: S o f t p l u s ( x ) = l o g ( 1 + e x ) Softplus(x) = log(1 + e^x) Softplus(x)=log(1+ex)
- 输出范围
(0, +∞)
,是 ReLU 函数的平滑版本,避免神经元输出恒为零的问题 - 缺点:涉及指数和对数运算,计算量比 ReLU 大。且存在输出不以零为中心的问题。
tanh函数
具体形式: t a n h ( x ) = e x − e − x e x + e − x tanh(x) = \frac{e^x-e^{-x}}{e^x+e^{-x}} tanh(x)=ex+e−xex−e−x
- 输出范围
(-1, 1)
,可以用于解决输出不以零为中心的问题。 - 缺点:仍然存在梯度消失的问题,尤其是当输入的绝对值较大时,梯度会接近于零。
归纳偏置
归纳偏置可以理解为,从现实生活中观察到的现象中,归纳出一定的规则,然后对模型做一定的约束,从而起到模型选择的作用。
CNN
适用数据
CNN 擅长捕捉图像或文本中的显著特征,适合处理具有空间结构和局部相关性的数据。
归纳偏置
CNN 的归纳偏置:认为信息具有空间局部性,可用滑动卷积共享权重的方式降低参数空间
- 局部性:数据中的某些特征或模式,只与它们周围的一部分数据相关,而与远处的数据无关。例如 CNN 通过使用小尺寸的卷积核来实现局部性,即只用卷积核覆盖输入的一小部分,从而提取出局部的特征。【就好比你拿一个放大镜,不断扫描一张图片,提出图片的局部特征】
- 空间不变性:数据中的某些特征或模式,无论出现在哪个位置,都是相同或相似的。例如图像中的猫脸,不论是出现再图像的左上角还是右下角,都是一个猫的练。CNN 通过使用共享权重的卷积核,来实现空间不变性,即用同样的卷积核来扫描整个输入,从而提取出相同或相似的特征。
- 平移等效性:这个假设是指数据中的某些特征或模式,经过平移变换后,仍然保持不变。比如,图像中的一个猫的脸,无论它向左或向右平移一定的距离,仍然是一个猫的脸。CNN 通过使用池化层,来实现平移等效性,即用池化层来降低输入的分辨率,从而减少平移变换对特征的影响。
RNN
适用数据
RNN 能够把握历史信息,适合处理具有时序结构和上下文依赖性的数据。
归纳偏置
RNN 的归纳偏置:将时序信息纳入考虑,强调顺序重要性
- 时序性:指数据中的某些特征或模式,是随着时间的推移而发生变化的,而且变化的方式是有一定的规律的。比如,语音中的一个单词,是由多个音素按照一定的顺序组成的,而且每个音素的发音受到前后音素的影响。RNN通过使用循环结构,来实现时序性,即将上一时刻的输出或隐藏状态作为下一时刻的输入,从而形成一个内部的记忆机制,使得它能够捕捉数据中的长期依赖关系和动态变化规律。
- 时间不变性:指数据中的某些特征或模式,无论它们出现在哪个时间点,都是相同或相似的。比如,文本中的一个句子,无论它出现在文本的开头还是结尾,都是一个句子。RNN通过使用共享权重,来实现时间不变性,即用同样的参数来处理每一个时刻的输入,从而提取出相同或相似的特征。
相关文章:
深度学习基础回顾
深度学习基础 浅层网络 VS 深层网络深度学习常用的激活函数Sigmoid 函数ReLU 函数Softplus 函数tanh函数 归纳偏置CNN适用数据归纳偏置 RNN适用数据归纳偏置 浅层网络 VS 深层网络 浅层神经网络参数过多,导致模型的复杂度和计算量很高,难以训练。而深层…...

【Vue】修改组件样式并动态添加样式
文章目录 目标修改样式动态添加/删除样式样式不生效 注意:类似效果el-step也可以实现,可以不用手动实现。这里只是练习。 目标 使用组件库中的组件,修改它的样式并动态添加/删除样式。 修改样式 组件中的一些类可能添加样式无法生效。如Ele…...
GO设计模式——12、外观模式(结构型)
目录 外观模式(Facade Pattern) 外观模式的核心角色: 优缺点 使用场景 代码实现 外观模式(Facade Pattern) 外观模式(Facade Pattern)又叫作门面模式,是一种通过为多个复杂的子…...

一.初始typescript
什么是ts 首先我们要确认typescript是一个语言,是等同于JavaScript层级得,并不是一些人认为得是JavaScript得类型规范工具或者插件。 ts与js的差异 从type script这个名字就可以看出,ts其实是JavaScript的一个类型化超集,它增…...

mp3的播放
1.这段vue代码会播放声音,但是会有audio标签 <template><div><audio id"myAudio" controls><source src"./test.mp3" type"audio/mp3" />Your browser does not support the audio tag.</audio></…...

mixamo根动画导入UE5问题:滑铲
最近想做一个跑酷游戏,从mixamo下载滑铲动作后,出了很多动画的问题。花了两周时间,终于是把所有的问题基本上都解决了。 常见问题: 1.【动画序列】人物不移动。 2.【动画序列】人物移动朝向错误。 3.【蒙太奇】人物移动后会被拉回…...
容器资源视图隔离 —— 筑梦之路
先做个记录,抽空再整理 K8s 部署 Lxcfs 准入控制器,实现容器中资源单独可见 - 「Johny」PlayGround Kubernetes 中利用 LXCFS 控制容器资源可见性 - 码农教程 容器资源可视化隔离的实现方法_51CTO博客_容器隔离技术 Lxcfs在容器集群中的使用-腾讯云开…...

浅析嵌入式GUI框架-LVGL
LVGL (Light and Versatile Graphics Library) 是最流行的免费开源嵌入式图形库,可为任何 MCU、MPU 和显示类型创建漂亮的 UI 嵌入式GUI框架对比 Features/框架LVGLFlutter-elinuxArkUI(鸿蒙OS)AWTKQTMIniGUIemWinuC/GUI柿饼UI跨平台是是鸿蒙OS平台是是是是是是设备…...

Unity 关于SetParent方法的使用情况
在设置子物体的父物体时,我们使用SetParent再常见不过了。 但是通常我们只是使用其中一个语法: public void SetParent(Transform parent);使用改方法子对象会保持原来位置,跟使用以下方法效果一样: public Transform tran; ga…...

Linux系统上RabbitMQ安装教程
一、安装前环境准备 Linux:CentOS 7.9 RabbitMQ Erlang 1、系统内须有C等基本工具 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz socat2、下载安装包 1)首先&a…...

ES通过抽样agg聚合性能提升3-5倍
一直以来,es的agg聚合分析性能都比较差(对应sql的 group by)。特别是在超多数据中做聚合,在搜索的条件命中特别多结果的情况下,聚合分析会非常非常的慢。 一个聚合条件:聚合分析请求的时间 search time a…...

c++详解栈
一.什么是栈 堆栈又名栈(stack),它是一种运算受限的数据结构(线性表),只不过他和数组不同,数组我们可以想象成一个装巧克力的盒子,你想拿一块巧克力,不需要改变其他巧克…...

Zabbix结合Grafana打造高逼格监控系统
📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...
Linux设备树
一、起源 减少垃圾代码 减轻驱动开发工作量 驱动代码和设备信息分离 参考Open Fireware设计 用来记录硬件平台中各种硬件设备的属性信息 二、基本组成 两种源文件: xxxxx.dts dts是device tree source的缩写xxxxx.dtsi dtsi是device tree source include的缩…...

计算机方向的一些重要缩写和简介
参考: 深度学习四大类网络模型 干货|机器学习超全综述! 机器学习ML、卷积神经网络CNN、循环神经网络RNN、马尔可夫蒙特卡罗MCMC、生成对抗网络GAN、图神经网络GNN——人工智能经典算法 MLP(Multi Layer Perseption)用在神经网络中…...

ardupilot开发 --- git 篇
一些概念 工作区:就是你在电脑里能看到的目录;暂存区:stage区 或 index区。存放在 :工作区 / .git / index 文件中;版本库:本地仓库,存放在 :工作区 / .git 中 关于 HEAD 是所有本地…...

Linux基础命令练习2
案例2:创建命令练习 请在/root创建三个目录分别为student、file、stu18 请在/opt创建三个文本文件分别为1.txt、a.txt、stu.txt 案例3:复制、删除、移动 在目录/opt下创建一个子目录 etime 在目录/opt/etime/创建文件readme.txt,利用vim写入内容 …...

Vue阶段笔记(有js包)
目录 1.要先上传Vue的js包,包的路径在这: 2.获取 3.定义Vue接管的区域和他所要实现的内容 #整体代码如下: Vue的指令(被绑定得必须有声明) #v-bind #v-model #v-on #V-ifV-else-ifV-elseV-show #v-show #v-for 1.要先上传Vue的js包&…...

执行npm run dev报Error: error:0308010C:digital envelope routines::unsupported问题
vue2element-ui项目,在执行npm run dev的时候突然报错: (node:19424) [DEP0111] DeprecationWarning: Access to process.binding(http_parser) is deprecated. (Use node --trace-deprecation ... to show where the warning was created) Er…...

解决微信小程序中 ‘nbsp;‘ 空格不生效的问题
在微信小程序开发中,我们经常会使用 来表示一个空格。这是因为在 HTML 中,空格会被解析为一个普通字符,而不会产生实际的空白间距。而 是一种特殊的字符实体,它被解析为一个不可见的空格,可以在页面上产生真正的空…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...