首页 后端开发 Python教程 深度学习要点

深度学习要点

Nov 15, 2024 am 10:53 AM

它是机器学习的一个子集,专注于使用多层神经网络来建模和理解数据中的复杂模式。

神经网络是一种机器学习算法,旨在通过根据预测误差调整神经元之间的连接权重来从数据中学习。

神经元

神经网络的基本单元是人工神经元,通常简称为神经元。人工神经元受到人脑生物神经元的启发,负责在网络中执行小型的特定计算。

1) 每个神经元接收一个或多个输入,处理它们(通常通过应用数学函数),然后产生输出。

2)神经元通常应用其输入的加权和,然后使用激活函数来引入非线性。然后,该函数的输出会传递到网络的下一层,或者如果位于输出层,则作为最终输出。

感知器(单层网络)

输入: 感知器接收多个输入,每个输入由一个浮点数表示。

权重:每个输入乘以相应的权重,权重也是一个浮点数。权重决定了决策过程中输入的重要性。

求和:然后将加权输入相加以生成单个值。

阈值(或偏差):感知器将求和结果与阈值进行比较

输出:

如果总和大于0(或阈值),感知器输出 1(或在某些版本中为1)。

如果总和小于或等于0,感知器输出-1(或在某些版本中为0)。

(注意:感知器仅限于解决线性可分离的问题,这意味着它们只能对可以由直线分离的数据进行分类)

大多数有趣的问题,甚至一些非常简单的问题,都被证明超出了感知器解决的能力。这一时期大约持续 1970 年代到 1990 年代,被称为人工智能冬天

人工智能的冬天

这一时期的特点是对专家系统等早期人工智能技术的失望,这些技术在可扩展性和实际应用方面遇到了困难。结果,政府和组织的资金枯竭,人工智能研究速度显着放缓。

AI寒冬后的现代神经网络

1) 更改 1:
它是添加一个称为偏差的额外输入。与其他输入不同,偏差不依赖于任何外部数据或先前神经元的输出。

偏差是一个常数值,直接添加到加权输入的总和中。它充当每个神经元具有的单独参数,并且有助于独立于输入值调整输出。

2) 更改 2:
我们可以将总和(包括偏差)通过数学函数传递,而不是仅仅将总和与阈值进行比较并输出-1或1。该函数将输出一个新的浮点值,该值可以是一定范围内的任何位置

激活/数学/传递函数
它根据神经元接收到的输入确定神经元的“活跃”程度。许多激活函数引入了非线性,使网络能够学习非线性关系,这对于解决更复杂的问题至关重要。
例如

Sigmoid 函数: 输出 0 到 1 之间的值。对于二元分类问题很有用。

Tanh(双曲正切)函数: 输出 -1 到 1 之间的值。它与 sigmoid 类似,但以 0 为中心。

ReLU(整流线性单元):如果输入为正则输出,否则输出 0。

Leaky ReLU:与 ReLU 类似,但当输入为负时允许小的非零梯度,有助于避免“垂死的 ReLU”问题。

Deep Learning Essentials

激活函数的类型:

1) 直线函数

a.身份函数:
恒等函数是一个直线函数,其输出完全等于输入。
f(x)=x

b.线性函数:
线性函数是任何可以表示为直线的函数。
f(x) = mx b

2) 步进函数

a.阶梯函数:
阶梯函数由多个线性段组成,这些线性段在某些输入值处会突然变化。它的特点是离散的跳跃而不是平滑的曲线。
例如
该函数对于 0 到略小于 0.2 之间的输入输出 0,对于从 0.2 到略小于 0.4 之间的输入输出 0.2,依此类推。

Deep Learning Essentials

b.单位阶跃函数:
对于小于阈值的输入值输出 0,对于等于或大于阈值的输入值输出 1。

Deep Learning Essentials

c.海维赛函数:

3) 分段线性函数

a. ReLU(修正线性单元)

函数定义:
对于 x≥0:
f(x)=x
对于 x f(x)=0

Deep Learning Essentials

b.泄漏 ReLU

函数定义:
对于 x≥0:
f(x)=x
对于 x f(x)=αx(其中 α 是一个小常数,例如 0.01)

Deep Learning Essentials

c.参数化 ReLU (PReLU)
函数定义:
对于 x≥0:
f(x)=x
对于 x f(x)=αx(其中 α 是可学习参数)

4) 平滑的激活功能

a. Softplus功能
它是 ReLU 函数的平滑逼近。它通过提供连续且可微的替代方案来解决零处的急剧过渡。
Softplus(x) = ln(1 ex)

b. S 型函数
sigmoid 函数将输入值压缩到 0 到 1 之间的范围
σ(x)= 1 / 1 e−x

c.双曲正切 (tanh) 函数
tanh 函数与 sigmoid 类似,但将输入值压缩到 [−1,1] 范围内。它以零为中心,因此对于标准化数据非常有用。
tanh(x)=ex e−x
/ex−e−x

Softmax函数

softmax 函数是神经网络分类任务中的关键组成部分,特别是当目标是预测多个类别的概率时。

Softmax 将输出神经元的原始输出分数(通常称为 logits)转换为各个类别的概率分布。每个输出值都会转换为所有类中总和为 1 的概率。

Deep Learning Essentials

Deep Learning Essentials

多层神经网络

1) 前馈神经网络
前馈网络是一种人工神经网络,其中神经元之间的连接不形成循环。换句话说,数据从输入到输出单向流动,不会循环返回。

结构:
前馈网络分为多个层:输入层、一个或多个隐藏层以及输出层。

每个神经元接收来自前一层的输入,对这些输入应用权重,将它们相加,添加偏差项,并将结果传递给激活函数以产生输出。

前馈网络的类型:

单层感知器:
最简单形式的前馈网络,只有输入层和输出层
前任。用于数据线性可分的二元分类问题。

多层感知器(MLP):
它在输入层和输出层之间包含一个或多个隐藏层。
前任。它用于分类、回归和函数逼近等任务。

径向基函数(RBF)网络
它使用径向基函数作为隐藏层中的激活函数。
前任。它用于函数逼近和模式识别。

应用:
图像识别
语音识别
医学诊断

网络深度

它是数据从输入传递到输出所经过的层数。这些是输入层和输出层之间的层(不包括输入层)。网络的深度由这些隐藏层的数量决定。

全连接层(FC/线性/密集):

这些是一组神经元,每个神经元接收来自前一层的每个神经元的输入。如果拼了一层
仅由密集层组成,有时称为全连接网络

Deep Learning Essentials

神经网络中的输出形状

零维数组
例如
如果神经网络层只有一个神经元,则其输出是单个标量值。从数学上来说,这个输出可以表示为一个零维数组。

一维数组(1D Array)
例如
当神经网络中的层具有多个神经元时,输出可以描述为值列表或向量。例如,如果一个层包含 12 个神经元,则输出是一个包含 12 个元素的一维数组。

(注意:无论我们的神经网络有多大或多复杂,如果它没有激活函数并且它们是线性函数,例如加法、减法等;那么它将始终相当于单个神经元。)

Deep Learning Essentials

Deep Learning Essentials

张量

一个通用术语,用于表示以任意维数排列成盒状形状的数字数组。它包含一维(向量)、二维(矩阵)、三维(体积)和更高维数组。

训练神经网络的高级概述

训练神经网络涉及调整网络的权重以最大限度地减少预测错误。这是通过迭代更新网络参数以降低成本或损失函数的过程来完成的

自动编码器

它们是一种用于无监督学习的神经网络。关键思想是将输入压缩为低维代码,然后根据该代码重建原始输入。

结构

编码器:
这部分将输入数据压缩为紧凑的表示形式。
示例:对于图像,编码器可能会将其尺寸从 128x128 像素 减少到更小的向量,例如 32 维

解码器:
这部分从压缩表示中重建原始输入数据。
示例:解码器将采用 32 维向量并尝试重新创建 128x128 像素图像。

培训流程

它们经过训练,可以最小化输入和重建输出之间的差异。这通常使用损失函数来完成,例如用于连续数据的均方误差(MSE)或用于二进制数据的二进制交叉熵。目标是调整网络的权重,使重建尽可能接近原始输入。

变种:

1) 去噪自动编码器
2) 变分自编码器
3)稀疏自编码器

压缩类型:

1) 无损:
它是一种数据压缩,可以从压缩数据完美地重建原始数据。这意味着压缩过程中不会丢失任何信息,解压后的数据与原始数据相同。
算法:使用熵编码和基于字典的技术等方法。示例包括:霍夫曼编码:使用较短的代码对频繁出现的符号进行编码,使用较长的代码对出现频率较低的符号进行编码。Lempel-Ziv-Welch (LZW):根据数据构建序列字典,并对常见序列使用较短的代码。游程编码(RLE):通过存储字符及其计数来压缩重复字符的序列。 PNG、FLAC、ZIP

2) 有损:
它通过删除一些数据来减小文件大小,通常以人类感官不太明显的方式,但会导致保真度有所损失。目标是显着减小文件大小,同时保持预期用途可接受的质量。
前任。 JPEG、H.264 或 HEVC、MP3 转换编码:将数据转换到不同的域(如频域)并对其进行量化。示例包括:离散余弦变换 (DCT):用于 JPEG 图像压缩。离散小波变换 (DWT):用于 JPEG 2000。

应用:

1) 降维
2) 去噪

不同之处

优化器:调整权重以最小化损失函数。
损失函数:衡量模型的预测与实际值的匹配程度。
激活函数:为模型添加非线性,使其能够学习复杂的模式。

保持联系!
如果您喜欢这篇文章,请不要忘记在社交媒体上关注我以获取更多更新和见解:

推特: madhavganesan
Instagram:madhavganesan
领英: madhavganesan

以上是深度学习要点的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1671
14
CakePHP 教程
1428
52
Laravel 教程
1331
25
PHP教程
1276
29
C# 教程
1256
24
Python与C:学习曲线和易用性 Python与C:学习曲线和易用性 Apr 19, 2025 am 12:20 AM

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

Python和时间:充分利用您的学习时间 Python和时间:充分利用您的学习时间 Apr 14, 2025 am 12:02 AM

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

Python在开发效率上优于C ,但C 在执行性能上更高。1.Python的简洁语法和丰富库提高开发效率。2.C 的编译型特性和硬件控制提升执行性能。选择时需根据项目需求权衡开发速度与执行效率。

学习Python:2小时的每日学习是否足够? 学习Python:2小时的每日学习是否足够? Apr 18, 2025 am 12:22 AM

每天学习Python两个小时是否足够?这取决于你的目标和学习方法。1)制定清晰的学习计划,2)选择合适的学习资源和方法,3)动手实践和复习巩固,可以在这段时间内逐步掌握Python的基本知识和高级功能。

Python vs. C:了解关键差异 Python vs. C:了解关键差异 Apr 21, 2025 am 12:18 AM

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

Python标准库的哪一部分是:列表或数组? Python标准库的哪一部分是:列表或数组? Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

Python:自动化,脚本和任务管理 Python:自动化,脚本和任务管理 Apr 16, 2025 am 12:14 AM

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

科学计算的Python:详细的外观 科学计算的Python:详细的外观 Apr 19, 2025 am 12:15 AM

Python在科学计算中的应用包括数据分析、机器学习、数值模拟和可视化。1.Numpy提供高效的多维数组和数学函数。2.SciPy扩展Numpy功能,提供优化和线性代数工具。3.Pandas用于数据处理和分析。4.Matplotlib用于生成各种图表和可视化结果。

See all articles