【机器学习】第11章 神经网络与深度学习(重中之重)

一、概念

1.神经元模型

(1)神经网络的基本组成单位

(2)生物上,每个神经元通过树突接受来自其他被激活神经元的信息,通过轴突释放出来的化学递质改变当前神经元内的电位。当神经元内的电位累计到一个水平时(这个过程不一定就是持续的,线性的,而这使我们需要的松弛感)就会被激活,产生动作电位,然后通过轴突释放化学物质。

(人话就是这个做出反应的功能就是我们要的让机器具有“反应”的能力,人类的记忆之本,而记忆又是智慧之本。)

(3)常用的激活函数(牢记!!!!!注意x,y的取值范围!!!!!):

激活函数的目的是进行非线性变换(就是刺激/反应)。

Sigmoid:优点易于求导;输出区间固定,训练过程不易发散;可作为二分类问题的概率输出函数。

ReLU:是目前广泛使用的一种激活函数。

优点:计算速度快:减少梯度消失问题:稀疏激活性:实现简单:

缺点:输出不是严格的范围限定:输出可能不稳定:不适合所有情况:

Tanh:使用Tanh的神经网络往往收敛更快。

Softmax:常用于将函数的输出转化为概率分布。其可以看作是arg max的平滑近似。

2.多层感知机

输入层输入数据,隐藏层处理数据(其中包含激活函数),输出层输出数据(其中包含激活函数)。

3.损失函数:

(1)被用对于神经网络模型的性能进行度量,其评价的是模型预测值与真实值之间的差异程度。

(2)不同的任务往往对应不同的损失函数,常用的包括:

交叉熵损失函数: 主要用于分类任务当中,如图像分类、行为识别等;

平方误差损失函数: 主要用于回归任务中。

4.反向传播算法(BP算法)

本质:对各连接权值的动态调整

(1)是一种按照误差逆向传播算法训练的多层前馈神经网络,具有高度的非线性映射能力。

(2)算法包括信号的前向传播和误差的反向传播。

即计算误差输出时,按从输入到输出的方向进行;

而调整权值和阈值时,按从输出到输入的方向进行。

(3)正向传播:输入信号通过隐藏层作用于输出结点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。

(4)误差的反向传播:将输出误差通过隐藏层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值w_ij的依据

(5)优点:

很好的逼近特性。   具有较强的泛化能力。     具有较好的容错性。

(6)缺点:

 收敛速度慢。      局部极值。    难以确定隐层和隐层结点的数目。

(7) 层与层的连接是单向的,信息的传播是双向的。

5.梯度下降法:

(1)反向学习(BP)算法又叫梯度下降法,由于BP 神经网络权值参数的运算量过大,一般采用梯度下降法来实现。

(2)是一种迭代优化方法,每一步主要的操作是求解目标函数的梯度向量,将当前位置的负梯度方向作为搜索方向(因为在该方向上目标函数下降最快)。

(3)神经网络训练过程中,使用梯度下降技术来最小化代价函数。

(4)特点:越接近目标值,步长越小,下降速度越慢。

6.梯度消失

(1)其实就是斜率消失,在BP算法中使用链式法则进行连乘时,靠近输入层的参数梯度几乎为0,即几乎消失的情况。如sigmod。

(2)解决方法:

a.更换激活函数,如选择ReLU这种梯度不易饱和的函数;

b.调整神经网络的结构,减少神经网络的层数等。

7.梯度爆炸

(1)参数的初始化不合理,由于每层的梯度与其函数形式、参数、输入均有关系,当连乘的梯度均大于1时,就会造成底层参数的梯度过大。

(2)解决方法:

a.模型参数初始化

b.梯度裁剪

c.参数正则化

8.深度学习

(1)深层神经网络在神经元数目一定的情况下,相比于传统浅层神经网络来说,具有更强大的学习能力,能够从原始输入中自动提取出具有高度抽象含义的特征(即脑补能力极其nb)。

(2)是非监督的特征学习。

(3)与传统的区别:

9.卷积神经网络(重点)

人工智能已经学过考过,但仍是这学期还是重点,甚至题目都跟上学期一模一样,我的评价是XX,跟软件项目管理靠软件经济一样,没有提前做好教学规划。

(1)是深度神经网络中的一种,受生物视觉认知机制启发而来。

(2)原理很简单,就是用卷积核在样本矩阵上移动求出来一个新的矩阵:

就是对应位置相加再相乘,不会的可以看看后面的习题

(3)卷积核每次移动的单位,可设定为不同长度,称之为步长(stride)。

(4)丢失部分边界信息,为解决这些问题,通常会为原始数据填补上一圈或几圈元素,这一操作称之为填充(padding)。

(就是有的数据太少了,或者不够凑出来一个移动矩阵,就在周围补一圈0)

10.池化(Pooling)

(1)用于卷积之后,发现得出来的特征矩阵还是不太行之后。

(2)目的在于降低特征图的维度。

(3)池化需要一个池化核,池化核的概念类似于卷积核。

(4)所对应的池化操作分别称之为最大池化最小池化均值池化

11.生成对抗网络

(1)包含两个部分:生成器G(Generator)和判别器D(Discriminator)。

(2)生成器G:从给定数据分布中进行随机采样并生成一张图片。

(3)判别器D:用来判断生成器生成的数据的真实性。

(4)例如:生成器负责生成一张鸟的图片,而判别器的作用就是判断这张生成的图片是否真的像鸟。

二、习题

单选题:

4、对神经网络(Neural Network)而言,下面哪一项对过拟合和欠拟合影响最大( A )。

A 隐藏层节点数量

B 初始权重

C 学习速率

D 每一次训练的输入个数

5、完成下图的卷积运算,即图像Image与滤波器Filter卷积获得Feature map,其中步长s=2,给出feature map值(C)。

6、下列不属于常见的池化方式的是(B)。

A 平均池化

B 随机池化

C 最小池化

D 最大池化

20. 关于反向传播算法的说法错误的是(C )。

A、之所以称为反向传播是由于在深层神经网络中,需要通过链式法则将梯度逐层传递到底层。  

B、反向传播算法又叫做梯度下降法。  

C、函数值沿着梯度的方向下降最快。  

D、优化过程中容易出现梯度消失和梯度爆炸。

注意是负梯度方向

多选题:

5. 下列属于常用的激活函数的是(ABCD )

A、ReLU  

B、Sigmoid  

C、Tanh  

D、Softmax  

判断题:

20. 卷积神经网络通常由多个输入层和一个输出层以及多个隐藏层组成。隐藏层包括卷积层、激活层、池化层以及全连接层等。(Í )

通常由一个输入一个输出,多个隐藏

计算题:

1.完成下图的卷积和池化运算。

输入图像为5*5,卷积核3*3,步长为1,池化窗口2*2

求卷积后的特征图(5分)

对卷积后的特征图做小池化运算,求最终特征图,(5分)

输入图像 5*5

1

0

1

2

3

0

1

2

1

0

2

3

0

1

0

0

1

2

0

1

1

0

1

2

1

卷积核 3*3, bias=0

1

0

1

0

1

0

1

0

1

解:(1)卷积结果:

比如这里的5就是红字的地方就是

1*1 + 0*0 + 1*1

+ 0*0 + 1*1 + 0*2

+ 2*1 + 3*0 + 0*1 = 5

然后8这个就是中间三列,那几个数和卷积核相乘再相加。

5

8

5

7

3

6

5

8

2

(2)池化结果

这里用的2*2(题目说了)的池化核,还说了最小池化法,就是选最小的就行,更简单,比如红字部分,最小的是3,所以第一个3就是这么来的,简单的一批。

3

3

3

2

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

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

相关文章

Kubernetes Dashboard

Dashboard Dashboard 的项目网站,可以查看说明文档和基本的使用情况。 下载yaml wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/recommended.yaml注意需要修改镜像,不然可能会拉去不下来镜像 cat recommended.yaml…

人工智能--自然语言处理NLP概述

欢迎来到 Papicatch的博客 目录 🍉引言 🍈基本概念 🍈核心技术 🍈常用模型和方法 🍈应用领域 🍈挑战和未来发展 🍉案例分析 🍈机器翻译中的BERT模型 🍈情感分析在…

函数(下) C语言

函数下 嵌套调用和链式访问1. 嵌套调用2. 链式访问 函数的声明和定义1. 单个文件2. 多个文件3. static 和 extern3.1 static 嵌套调用和链式访问 1. 嵌套调用 嵌套调用就是函数之间的互相调用,每个函数就像⼀个乐高零件,正是因为多个乐高的零件互相无缝…

Nginx缓存之代理缓存配置

Nginx 的缓存功能是集成在代理模块中的,当启用缓存功能时,Nginx 将请求返回的响应数据持久化在服务器磁盘中,响应数据缓存的相关元数据、有效期及缓存内容等信息将被存储在定义的共享内存中。当收到客户端请求时,Nginx 会在共享内…

当同时绑定mousedown和mouseup时,不执行mouseup

问题描述: 当我同时给一个标签添加mousedown和mouseup两个鼠标事件,点击span的时候会触发mousedown事件,但是不会执行mouseup事件;但是注释图二中的setCloudControl方法又能触发mouseup。 后来查阅资料,发现是在封装a…

[算法刷题积累] 两数之和以及进阶引用

两数之和很经典,通常对于首先想到的就是暴力的求解,当然这没有问题,但是我们如果想要追求更优秀算法,就需要去实现更加简便的复杂度。 这里就要提到我们的哈希表法: 我们可以使用unordered_map去实现,也可以根据题目&a…

【Gradio】Chatbots 如何用 Gradio 创建聊天机器人

Creating A Chatbot Fast 简介 聊天机器人是大型语言模型的一个流行应用。使用 gradio ,您可以轻松构建您的聊天机器人模型的演示,并与您的用户分享,或者使用直观的聊天机器人用户界面自己尝试。 本教程使用 gr.ChatInterface() ,…

SpringMVC系列四: Rest-优雅的url请求风格

Rest请求 💞Rest基本介绍💞Rest风格的url-完成增删改查需求说明代码实现HiddenHttpMethodFilter机制注意事项和细节 💞课后作业 上一讲, 我们学习的是SpringMVC系列三: Postman(接口测试工具) 现在打开springmvc项目 💞Rest基本介…

基于Spark3.3.4版本,实现Standalone 模式高可用集群部署

目录 一、环境描述 二、部署Spark 节点 2.1 下载资源包 2.2 解压 2.3 配置 2.3.1 配置环境变量 2.3.2 修改workers配置文件 2.3.3 修改spark.env.sh文件 2.3.4 修改spark-defaults.conf 2.4 分发 2.5 启动服务 2.5.1 启动zookeeper 2.5.2 启动hdfs 2.5.3 启动spar…

归并排序 (递归实+非递归)

前言 归并排序是一种逻辑很简单,但是实现有点难度的排序,尤其是非递归,对于区间的把握更是需要一点逻辑的推导,但是没有关系,轻松拿捏 归并排序gif 归并排序单趟实现 1,创建tmp数组, 2&#xff…

javaWeb项目-在线考试系统详细功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、Java简介 Java语…

「Qt Widget中文示例指南」如何实现一个滑动条(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 滑动条示例展示了如…

轻轻松松上手的LangChain学习说明书

本文为笔者学习LangChain时对官方文档以及一系列资料进行一些总结~覆盖对Langchain的核心六大模块的理解与核心使用方法,全文篇幅较长,共计50000字,可先码住辅助用于学习Langchain。 一、Langchain是什么? 如今各类AI…

昇思25天学习打卡营第1天|快速入门

学AI还能赢奖品?每天30分钟,25天打通AI任督二脉 (qq.com) 本节通过MindSpore的API来快速实现一个简单的深度学习模型。若想要深入了解MindSpore的使用方法,请参阅各节最后提供的参考链接。 import mindspore from mindspore import nn from …

项目训练营第一天

项目训练营第一天 springboot后端环境搭建 1、首先需要找文章下载好tomcat、JDK、maven、mysql、IDEA。(软件下载及环境变量配置略) 2、在下载好的IDEA中,选择新建spring initial项目,选定java web,即可新建一个spri…

win11 之下载安装 allure

1. 下载 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.25.0/allure-commandline-2.25.0.zip 2. 配置系统变量 path 下添加解压后的bin目录 3. 验证是否安装成功 输入 allure

Mac 安装HomeBrew(亲测成功)

1、终端安装命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"执行后,没有安装git,会先安装,安装后再执行一下命令。 2、根据中文选择源安装 3、相关命令 查看版本号&a…

python flask使用flask_migrate管理数据库迁移

🌈所属专栏:【Flask】✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的点…

一篇文章了解常用排序算法

排序 文章目录 排序直接(插入)排序InsertSort思想实现方法: 希尔排序ShellSort(可过OJ)思想预排序gap的作用整体代码 选择排序SelectSort思想完整代码 堆排序HeapSort(可过OJ)思想大根堆向下调整 完整代码 冒泡排序BubbleSort快速排序(快排&a…

Unity URP 仿原神角色渲染过程记录

想学一下NPR渲染,话不多说,先搞一只芙再说,边做边学 一、资源整理 终于是把东西全都集齐了 1、纹理设置 首先要把将Diffuse和Lightmap的压缩改成"无"或"高质量"。 法线贴图的纹理类型改成"法线贴图"。 除颜…