Python 全栈体系【四阶】(十六)

第五章 深度学习

请添加图片描述

一、基本理论

2. 深度神经网络结构

2.1 感知机
2.1.1 生物神经元

感知机(Perceptron),又称人工神经元(Artificial neuron),它是生物神经元在计算机中的模拟。下图是一个生物神经元示意图:
请添加图片描述

2.1.2 生物神经网络

更多的生物神经元相互连接,形成复杂的神经网络。人类神经元数量在 1011 数量级。
请添加图片描述

2.1.3 什么是感知机

感知机(Perceptron),又称神经元(Neuron,对生物神经元进行了模仿)是神经网络(深度学习)的起源算法,1958 年由康奈尔大学心理学教授弗兰克·罗森布拉特(Frank Rosenblatt)提出,它可以接收多个输入信号,产生一个输出信号。

请添加图片描述

2.1.4 感知机的功能

作为分类器/回归器,解决线性分类(逻辑和、逻辑或)、回归问题

  • 神经元作为回归器 / 分类器
    请添加图片描述
  • 逻辑和(线性分类)
    请添加图片描述
  • 逻辑或(线性分类)
    请添加图片描述

组成神经网络

2.1.5 如何实现感知机

实现逻辑和

在这里插入图片描述

实现逻辑或

在这里插入图片描述

2.1.6 感知机的局限

感知机的局限在于无法处理“异或”问题(非线性问题)
请添加图片描述

2.1.7 多层感知机

1975 年,感知机的“异或”难题才被理论界彻底解决,即通过多个感知机组合来解决该问题,这种模型也叫多层感知机(Multi-Layer Perceptron,MLP)。如下图所示,神经元节点阈值均设置为 0.5
请添加图片描述

多层感知机解决异或门实现

在这里插入图片描述

2.2 神经网络
2.2.1 什么是神经网络

感知机由于结构简单,完成的功能十分有限。可以将若干个感知机连在一起,形成一个级联网络结构,这个结构称为“多层前馈神经网络”(Multi-layer Feedforward Neural Networks)。所谓“前馈”是指将前一层的输出作为后一层的输入的逻辑结构。每一层神经元仅与下一层的神经元全连接。但在同一层之内,神经元彼此不连接,而且跨层之间的神经元,彼此也不相连。

在这里插入图片描述

2.2.2 神经网络的功能

1989 年,奥地利学者库尔特·霍尼克(Kurt Hornik)等人发表论文证明,对于任意复杂度的连续波莱尔可测函数(Borel Measurable Function)f,仅仅需要一个隐含层,只要这个隐含层包括足够多的神经元,前馈神经网络使用挤压函数(Squashing Function)作为激活函数,就可以以任意精度来近似模拟 f。如果想增加 f 的近似精度,单纯依靠增加神经元的数目即可实现。

这个定理也被称为通用近似定理(Universal Approximation Theorem),该定理表明,前馈神经网在理论上可近似解决任何问题。

2.2.3 通用近似定理几何解释

现有目标函数 f ( x ) = x 3 + x 2 − x − 1 f(x) = x^3 + x^2 - x - 1 f(x)=x3+x2x1,可以使用 6 个神经元进行模拟:
在这里插入图片描述
请添加图片描述
请添加图片描述

2.2.4 神经网络为什么要足够深

其实,神经网络的结构还有另外一个“进化”方向,那就是朝着“纵深”方向发展,也就是说,减少单层的神经元数量,而增加神经网络的层数,也就是“深”而“瘦”的网络模型。

微软研究院的科研人员就以上两类网络性能展开了实验,实验结果表明:增加网络的层数会显著提升神经网络系统的学习性能。

在这里插入图片描述

2.2.5 多层神经网络计算公式

神经网络涉及很多层权重,每一层又由多个权重组成,符号表示规则如下所示:
在这里插入图片描述
以下是一个多层神经网络及其计算公式:
请添加图片描述

2.3 激活函数
2.3.1 什么是激活函数

在神经网络中,将输入信号的总和转换为输出信号的函数被称为激活函数(activation function)。
请添加图片描述

2.3.2 为什么使用激活函数

激活函数将多层感知机输出转换为非线性,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

如果一个多层网络,使用连续函数作为激活函数的多层网络,称之为“神经网络”,否则称为“多层感知机”。所以,激活函数是区别多层感知机和神经网络的依据。

2.3.3 常见激活函数

阶跃函数

  • 阶跃函数(Step Function)是一种特殊的连续时间函数,是一个从 0 跳变到 1 的过程,函数形式与图像:
    请添加图片描述

sigmoid 函数

  • sigmoid 函数也叫 Logistic 函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类,表达式: σ ( x ) = 1 / ( 1 + e − x ) σ(x) = 1 / (1 + e^{-x}) σ(x)=1/(1+ex)
    在这里插入图片描述

  • 优点:平滑、易于求导

  • 缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练

tanh 双曲正切函数
请添加图片描述

  • 优点:平滑、易于求导;输出均值为 0,收敛速度要比 sigmoid 快,从而可以减少迭代次数
  • 缺点:梯度消失
  • 用途:常用于 NLP 中

ReLU(Rectified Linear Units,修正线性单元)
请添加图片描述

  • 优点:

    • 更加有效率的梯度下降以及反向传播,避免了梯度爆炸和梯度消失问题
    • 计算过程简单
  • 缺点:小于等于 0 的部分梯度为 0

  • 用途:常用于图像

Softmax

  • Softmax 函数定义如下,其中 V i V_i Vi 是分类器前级输出单元的输出。i 表示类别索引,总的类别个数为 C。 S i S_i Si 表示的是当前元素的指数与所有元素指数和的比值。通过Softmax 函数就可以将多分类的输出数值转化为相对概率,而这些值的累和为 1,常用于神经网络输出层。表达式:
    在这里插入图片描述 请添加图片描述
2.3.4 案例:实现常见激活函数

请添加图片描述

2.4 小结

感知机

  • 接收多个输入信号,产生一个输出信号,无法解决异或问题

多层感知机

  • 将多个感知机组合

多层前馈网络

  • 若干个感知机组合成若干层的网络,上一层输出作为下一层输入

激活函数

  • 将计算结果转换为输出的值,包括阶跃函数、sigmoid、tanh、ReLU

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

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

相关文章

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载带光照信息的材质文件Mtl 实现光照贴图的最简实例(十七)

文章目录 前言一、3d 立方体 model 属性相关文件1. cube1.obj2. cube1.Mtl3. 纹理图片 cordeBouee4.jpg二、实现光照贴图的效果1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube1.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell…

小程序跨端组件库 Mpx-cube-ui 开源:助力高效业务开发与主题定制

Mpx-cube-ui 是一款基于 Mpx 小程序框架的移动端基础组件库,一份源码可以跨端输出所有小程序平台及 Web,同时具备良好的拓展能力和可定制化的能力来帮助你快速构建 Mpx 应用项目。 Mpx-cube-ui 提供了灵活配置的主题定制能力,在组件设计开发阶…

【计算机视觉】Gaussian Splatting源码解读补充

本文旨在补充gwpscut创作的博文学习笔记之——3D Gaussian Splatting源码解读。 Gaussian Splatting Github地址:https://github.com/graphdeco-inria/gaussian-splatting 论文地址:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gauss…

Minio的安装和Java使用示例

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Minio 是个基于 Go…

三段提交的理解

三阶段提交是在二阶段提交上的改进版本,3PC 最关键要解决的就是协调者和参与者同时挂掉的问题,所以3PC把2PC的准备阶段再次一分为二,这样三阶段提交。 处理流程如下 : 阶段一 协调者向所有参与者发出包含事务内容的 canCommit …

【MySQL】知识点 + 1

# (1)查询当前日期、当前时间以及到2022年1月1日还有多少天,然后通过mysql命令执行命令。 select curdate() AS 当前日期,curtime() AS 当前时间,datediff(2022-01-01, curdate()) AS 距离2022年1月1日还有天数;# (2)利…

Windows10蓝屏报错 inaccess boot device

当Windows 10操作系统启动时出现蓝屏错误“INACCESSIBLE_BOOT_DEVICE”时,这通常表明系统在尝试启动过程中无法识别或访问引导设备上的基本系统文件。这个问题可能是由以下几个原因引起的: 硬件兼容性问题: 硬盘控制器驱动不正确或丢失&#…

Go语言学习04~05 函数和面向对象编程

Go语言学习04-函数 函数是一等公民 <font color"Blue">与其他主要编程语言的差异</font> 可以有多个返回值所有参数都是值传递: slice, map, channel 会有传引用的错觉函数可以作为变量的值函数可以作为参数和返回值 学习函数式编程 可变参数 func s…

三种方式,浅谈 Cocos Creator 的动画添加

前言 虽然 Cocos 的官方文档对动画系统做了较详细的介绍&#xff0c;但是对于刚接触的同学&#xff08;比如我&#xff09;来说还是不太友好。尽管如此&#xff0c;我就按文档加社区帖子一起实践了一下。为了方便忘记后能快速捡起&#xff0c;所以就用我的方式结合使用场景&am…

python内存管理和垃圾回收一文详解(基于c语言源码底层逻辑)

引用计数器 首先我们大概回忆一下C语言中的环状双向链表&#xff0c;如图&#xff0c;在双向链表中对于一个结点来说会有前驱和后继&#xff1a; C语言中基本的定义方式如下&#xff1a; typedef struct {ElemType data; // 数据域Lnode* prior; // 前驱指针域Lnode* next;…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Hyperlink)

超链接组件&#xff0c;组件宽高范围内点击实现跳转。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。该组件仅支持与系统浏览器配合使用。 需要权限 使用网络时&#xff0c;需要申请权限ohos.per…

【PyTorch][chapter 22][李宏毅深度学习][ WGAN]【实战三】

前言&#xff1a; 本篇主要讲两个WGAN的两个例子&#xff1a; 1 高斯混合模型 WGAN实现 2 MNIST 手写数字识别 -WGAN 实现 WGAN 训练起来蛮麻烦的,如果要获得好的效果很多超参数需要手动设置 1&#xff1a; 噪声的维度 2: 学习率 3&#xff1a; 生成器&#xff0c;鉴别器…

【深度学习与神经网络】MNIST手写数字识别1

简单的全连接层 导入相应库 import torch import numpy as np from torch import nn,optim from torch.autograd import Variable import matplotlib.pyplot as plt from torchvision import datasets, transforms from torch.utils.data import DataLoader读入数据并转为ten…

[Python人工智能] 四十三.命名实体识别 (4)利用bert4keras构建Bert+BiLSTM-CRF实体识别模型

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现中文命名实体识别研究,构建BiGRU-CRF模型实现。这篇文章将继续以中文语料为主,介绍融合Bert的实体识别研究,使用bert4keras和kears包来构建Bert+BiLSTM-CRF模型。然而,该代码最终结…

vue2 实战:模板模式与渲染模式代码互切

显示效果 模板模式 <template><tr ><td class"my-td" v-if"element.isInsert1"><el-button type"danger" circle size"mini" class"delete-btn" title"删除" click"deleteItem()&quo…

KMM初探

什么是KMM&#xff1f; 在开始使用 KMM 之前&#xff0c;您需要了解 Kotlin。 KMM 全称&#xff1a;Kotlin Multiplatform Mobile&#xff09;是一个用于跨平台移动开发的 SDK,相比于其他跨平台框架&#xff0c;KMM是原生UI逻辑共享的理念,由KMM封装成Android(Kotlin/JVM)的aar…

AI大模型智能大气科学探索之:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作

本文深度探讨人工智能在大气科学中的应用&#xff0c;特别是如何结合最新AI模型与Python技术处理和分析气候数据。课程介绍包括GPT-4等先进AI工具&#xff0c;旨在帮助大家掌握这些工具的功能及应用范围。本文内容覆盖使用GPT处理数据、生成论文摘要、文献综述、技术方法分析等…

Java 学习和实践笔记(41):API 文档以及String类的常用方法

JDK 8用到的全部类的文档在这里下载&#xff1a; Java Development Kit 8 文档 | Oracle 中国

docker入门(一)—— docker概述

docker 概述 docker 官网&#xff1a;http://www.docker.com 官网文档&#xff1a; https://docs.docker.com/get-docker/ Docker Hub官网&#xff1a;https://hub.docker.com &#xff08;仓库&#xff09; 什么是 docker docker 是一个开源的容器化平台&#xff0c;可以…

FSP40罗德与施瓦茨FSP40频谱分析仪

181/2461/8938产品概述&#xff1a; 频率范围:9千赫至40千兆赫 分辨率带宽:1赫兹至10兆赫 显示的平均噪音水平:-155分贝&#xff08;1赫兹&#xff09; 相位噪声:10 kHz时为-113 dB&#xff08;1Hz&#xff09; 附加滤波器:100 Hz至5 MHz的通道滤波器和RRC滤波器、1 Hz至3…