深度学习基础回顾
深度学习基础
- 浅层网络 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 中,空格会被解析为一个普通字符,而不会产生实际的空白间距。而 是一种特殊的字符实体,它被解析为一个不可见的空格,可以在页面上产生真正的空…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
