深度学习—神经网络基本概念

一,神经元

1.生物神经元与人工神经元

1.1神经元是人脑的基本结构和功能单位之一。人脑中有数1000亿个神经元,其功能是接受(树突),整合(细胞体),传导(轴突)和输出(轴突末梢)信息实现信息转换。

1.2生物神经元特性:兴奋性,传导性

1.3神经元的类型(按功能划分):感觉神经元,运动神经元,联络神经元。

1.4人工神经元

人工神经元单元由线性函数和激活函数构成

3.人工神经网络

3.1生物神经细胞功能比较简单,需要通过很多神经元一起协作完成复杂功能,通过一定的连接方式或信息传递方式进行协作的神经元可以看做是一个网络,就是人工神经网络,简称神经网络ANN

3.2人工神经网络包括输入层,隐藏层和输出层。

3.3根据不同神经元之间的连接关系,我们可以将神经网络分为:前馈网络,反馈网络和图网络

二,感知机

1.感知机是Frank 在1957年所发明的一种最简单的人工神经网络。单层感知机本质上是一个二分类器。

2.1969年,美国数学家及人工智能先驱Minsky在其著作中证明了感知器本质上是一种线性模型,只能处理线性分类问题,无法处理非线性数据。

3.隐藏层越多,神经网络的分辨能力越强(分类能力的特征表达能力)

4.神经网络在感知器的模型上做了以下三点的扩张:

加入隐藏层,隐藏层可以有多层,增强模型的表达能力。输出层的神经元也可以不止一个,可以有多个输出,模型就可以灵活的应用于分类回归,以及其他的机器学习领域比如将维和聚类等。

对激活函数做扩展,包括Sigmoid函数,Softmax和ReLU等。

三,激活函数

1.激活函数

在这里插入图片描述
在这里插入图片描述

1,Sigmoid函数
是传统神经网络中常用的激活函数,输出值是0-1.
对中央区信号增益比较强(兴奋状态),两侧比较弱(抑制状态)
优点:单调连续,求导连续,输出是有界的网络比较容易收敛
缺点:在远离中心点的两侧导数趋于0,就会造成当网咯比较深时,越来越多的反向传播梯度会落入这个饱和区,梯度的模就会越来越小,难以训练,构成梯度消失.e5da4d989cb5fa6bfe8b9857.png)2.TanH函数
优点:输出值在-1到1之间,是关于0点对称,它比Sigmoid在中间区是变化比较敏感的,接近超出这个区,就会失去敏感性,处于饱和状态,输出输入能保持非线性单调上升下降,容错性比较好
3,Softsign函数
优点在于比Tanh相比更加平坦,更慢,能更好的解决梯度消失问题.导数比Tanh的导数更复杂.
4,ReLU函数
优点;在于梯度下降过程中能快速收敛,导数恒为1,有效缓解梯度消失问题
缺点:没有上界,训练结果会比较发散,在0点处是不可导,如果想要导数需要添加一个定义,转折点处在某些问题上显的不平滑.
5.SoftPlus函数
跟ReLU很像,可以看做是ReLU函数的平滑,根据神经科学家研究,ReLU和Softplus跟脑神经元激活模型很像.
6.SoftMax函数
将向量中的元素介于0-1之间,各个元素和为1,可以经常作用于多分类的输出.

2.如何选择激活函数?
  • 非线性:引入激活函数就是要引入神经网络中的非线性
  • 连续可微性:对于梯度优化方法很必要,如果选择局部不可微的函数,我们就要强行定义此处的函数,比如ReLU.
  • 有界性:如果激活函数有界,基于梯度训练会比较稳定,如果是无界训练会更有效应,但是会比较发散.
  • 单调性:激活函数是单调的话,单层模型相关损失函数会是凸的.
  • 平滑性:有单调导数平滑函数在某些情况下泛化效果是比较好的
3.前向传播

输入信号从输入层传输到输出层的一整个过程
神经网络分为三层:输入层,隐藏层,输出层

四,损失函数

1.损失函数的含义

1.1当我们给网络一个输入,乘以w的初值,然后经过激活函数得到一个输出。然后根据输出值和label相减,得到一个差。然后根据差值做反向传播。这个差我们一般就叫损失,而损失函数,就是损失的函数。

1.2, 损失函数是用来估量你的模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,f(x))来表示,损失函数越小,模型的鲁棒性就越好.

2.深度学习中常用的损失函数
  • 均方误差:一般均方误差更多的用于回归问题,而交叉熵误差更多的用于分类问题.
  • 交叉熵误差:交叉熵误差刻画了两个概率分布之间的距离.是分类问题中使用较多的一种损失函数
3.损失函数的极值

1.目的:损失函数E(W)是定义在权值空间上的函数。我们的目的是搜索使得E(W)最小的权值向量W.
限制:在数学上,尚没有求极值有效方法。
解决思路:负梯度方向是函数下降最快的方向,那我们可以从某点开始,沿着方向一路前行,期望最终可以找到极小值点,这就是梯度下降的核心思想。
4.梯度下降
4.1.全局梯度下降算法:收敛过程非常慢,因为每次更新权值都需要计算所有的训练样例。
4.2,随机梯度下降算法:难以收敛到极值
4.3,小批量梯度下降:兼顾了效率和梯度的稳定性,容易冲过局部极小值,是实际工作中最常用的梯度下降算法

五,反向传播算法

1.误差反向传播算法是神经网络的重要算法。它使用链式求导法则将输出层的误差反向传回给网络,使神经网络的权重有了较简单的梯度计算实现方法。
2.步骤:将损失函数值反向传播给每个计算单元。
每个计算单元根据获得的误差更新权重。

六,卷积神经网络

卷积神经网络是一种前馈神经网络,它的人工神经元可以相应一部分覆盖范围内的周围单元,对于图像处理有出色表现。
1.它包括卷积层,池化层和全连接层
2.CNN避免了对图像的复杂前期预处理而可以直接输入原始图像,因而得到了更为广泛的应用。
2.CNN核心思想—局部感知
2.1,一般认为人对外界的认知是从局部到全局的,图像像素点的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。
2.2,在CNN中,每个神经元只需要收集局部信息。
2.3,优点:减少内存需求模拟视觉皮层中的神经元,每个神经元一次只收集局部信息。
3.CNN核心思想—参数共享
优点:解决图像不变性问题,解决计算和内存需求

七,循环神经网络

1.循环神经是一种通过隐藏层节点周期性的连接,来捕捉序列化数据中动态信息的神经网络,可以对序列化的数据进行分类。
2为何需要RNN
2.1神经网络都智只能单独的去处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。
3.RNN的训练
RNN有着非常深的时间维度
4.RNN的问题
4.1,基本的循环神经网络存在梯度爆炸和梯度消失问题,并不能真正的处理好长距离的依赖。
4.2,反向训练时,对于RNN来说,要横向往前推,一直往前推到序列开始的地方。
4.3,梯度消失,梯度爆炸都与距离长度太长有关,前面的权重都基本固定不变,没有训练效果。
5,RNN适用场景
5.1,不太长的相关信息和位置信息。
5.2适用于需要连接前面短期内的信息到当前任务上。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑usb接口封禁如何实现?5种禁用USB接口的方法分享!(第一种你GET了吗?)

“防患于未然,安全始于细节。”在信息技术飞速发展的今天,企业的信息安全问题日益凸显。 USB接口作为数据传输的重要通道,在带来便利的同时,也成为了数据泄露和安全风险的高发地。 因此,对电脑USB接口进行封闭管理&a…

【OceanBase 诊断调优】—— GC问题根因分析

GC 流程涉及到 RS 的状态切换和 LS 的资源安全回收,流程上较长。且 GC 线程每个租户仅有一个,某个日志流 GC Hang 死时会卡住所有其余日志流的 GC,进而造成更大的影响。 本文档会帮助大家快速定位到 GC 故障的模块,直达问题核心。…

Redis篇(环境搭建)

目录 一、安装包 1. Windows版下载地址 2. Linux版下载地址 二、安装Redis 1. 在Linux中安装Redis 2. 在Windows中安装Redis 3. 细节问题 三、Redis服务启动 1. 默认启动 2. 指定配置启动 3. 开机自启 四、Redis服务停止 1. Linux系统中启动和停止Redis 2. Window…

SLF4J报错log4j又报错

项目场景: 搭建一个spirngboot项目,启动运行时,SLF4J报错 解决后 ~ log4j又报错了。 问题描述 首先是SLF4J报错了,解决完SL4J报错问题后,再次启动项目,log4j又报错了 。。。 报错信息: SLF4J…

Go语言匿名字段使用与注意事项

1. 定义 Go语言支持一种特殊的字段只需要提供类型而不需要写字段名的字段,称之为匿名字段或者嵌套字段。 所谓匿名字段实际上是一种结构体嵌套的方式,所以也可以称作嵌套字段。 这种方式可以实现组合复用,即通过匿名字段,结构体…

说说海外云手机的自动化功能

在全球社交媒体营销中,通过自动化功能,企业不再需要耗费大量时间和精力手动监控和操作每台设备。这意味着,企业可以显著提升效率、节省成本,同时减少对人力资源的依赖。那么,海外云手机的自动化功能具体能带来哪些优势…

使用ucharts写的小程序页面柱状图上方没有数字

使用uCharts官网 - 秋云uCharts跨平台图表库写的柱状图如何让柱子上放没有数据 更改前 更改后 使用uCharts官网 - 秋云uCharts跨平台图表库 写的小程序图表,无论是柱状图还是折线图添加一个 dataLabel: false, // 不显示数据 九可以实现不显示数据 const opts …

IDEA Dependency Analyzer 分析 maven 项目包的依赖

一、场景分析 javax.validation 是我们 SpringMVC 常用的数据校验框架。但是 javax.validation 是一个规范(Java Bean Validation,简称 JSR 380),它并没有具体的实现,它的常用实现,是hibernate-validator。…

数据结构 - 数组

今天我们将开始第一个数据类型-数组的学习。 经常会看到这样的问题,怎么学习数据结构,我的答案是搞清楚具体数据结构对应的抽象数据类型ADT,抛开语言层面自带的数据类型,然后自己从头 实现一遍。 其实数据结构没多复杂&#xff…

基于SSM+小程序的医院核酸检测服务管理系统(医院2)(源码+sql脚本+视频导入教程+文档)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序的医院核酸检测服务管理系统实现了管理员、用户管理、普通管理员、医护人员。 1、管理员实现了首页、用户管理、医护人员管理、普通管理员、通知公告管理、疫苗接种管理、核…

华为GaussDB数据库(单机版)在ARM环境下的安装指南

一、软件版本 机器配置:8核16G,CPU: Huawei Kunpeng 920 2.9GHz操作系统:EulerOS 2.8 64bit with ARM数据库版本:GaussDB Kernel 505.1.0 build 44f4fa53 二、部署流程 2.1 新建用户 ① 以omm用户为例,添加一个omm用…

11. Map和Set

一、二叉搜索树 1. 概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根…

IvorySQL 3.4 来了

9 月 26 日,IvorySQL 3.4 发版。本文将带大家快速了解新版本特性。 IvorySQL 3.4 发版说明 IvorySQL 3.4 基于 PostgreSQL 16.4,修复了多个问题,并增强多项功能。 PostgreSQL 16.4 的变更 在未经授权时防止 pg_dump 执行,并引入一…

Qt-QTableWidget多元素控件(37)

目录 描述 QTableWidget 方法 QTableWidgetItem 信号 QTableWidgetItem 方法 使用 图形化界面操作 代码操作 描述 这是一个表格控件,表格中的每一个单元格,都是一个 QTableWidgetItem 对象 QTableWidget 方法 item(int row,int column)根据⾏数…

Snap AR眼镜Spectacles的技术揭秘:通往真正AR体验的道路

Snap公司自2010年成立以来,一直致力于探索增强现实(AR)技术的边界。经过多年的研发与迭代,Snap终于在最新一代Spectacles中实现了重大突破,为用户带来了前所未有的沉浸式AR体验。本文将深入探讨Spectacles的发展历程、…

【docker】debian中配置docker(2024年9月)

首先Follow了一下菜鸟教程,然后遇到了curl的问题。 curl存在的问题 参见这篇文章。其中用到了vim进行编辑,笔者的环境是windows10putty,vim的粘贴操作参考这篇文章。 修改之后的curl没有问题了,成功把脚本下载下来了。 但是在…

即插即用篇 | DenseNet卷土重来! YOLOv8 引入全新密集连接卷积网络 | ECCV 2024

本改进已同步到YOLO-Magic框架! 本文重新审视了密集连接卷积网络(DenseNets),并揭示了其在主流的ResNet风格架构中被低估的有效性。我们认为,由于未触及的训练方法和传统设计元素没有完全展现其能力,DenseNets的潜力被忽视了。我们的初步研究表明,通过连接实现的密集连接…

工作安排 - 华为OD统一考试(E卷)

2024华为OD机试(C卷+D卷)最新题库【超值优惠】Java/Python/C++合集 题目描述 小明每周上班都会拿到自己的工作清单,工作清单内包含n项工作,每项工作都有对应的耗时时长(单位h)和报酬,工作的总报酬为所有已完成工作的报酬之和。那么请你帮小明安排一下工作,保证小明在指定…

基于微信小程序的智能汽车充电站系设计与实现(源码+定制+文档)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

Java线程池和原子性

文章目录 前言1 线程池1.1 线程池概述1.1.1 线程池存在的意义1.1.2 Executors默认线程池 1.2 线程状态介绍1.2.1 线程状态源码1.2.2 线程状态含义1.2.3 线程状态转换图 2 原子性2.1 volatile关键字2.2 synchronized解决2.3 原子性2.4 AtomicInteger类2.5 悲观锁和乐观锁 前言 …