当前位置: 首页 > article >正文

《深度学习》—— 神经网络基本结构

前言

深度学习是一种基于神经网络机器学习算法,其核心在于构建由多层神经元组成的人工神经网络,这些层次能够捕捉数据中的复杂结构和抽象特征。神经网络通过调整连接各层的权重,从大量数据中自动学习并提取特征,进而实现预测或分类等任务。

一、神经网络结构

  • 神经网络的基本组成包括输入层、隐藏层和输出层。
    • 输入层:接收外部数据输入,每个节点(神经元)代表数据的一个特征。
    • 隐藏层:神经网络中的中间层,可能有一个或多个。每个隐藏层由若干神经元组成,每个神经元接收前一层所有神经元的输出,经过权重和偏置的线性组合后,通过激活函数处理产生输出。
    • 输出层:产生神经网络的最终输出,输出节点的数量取决于问题的类型。例如,在分类问题中,输出层的节点数通常等于类别的数量
  • 如下图所示:
    在这里插入图片描述

二、权重和激活函数

  • 权重(Weights):权重是神经网络中连接神经元(节点)的参数的集合。在神经网络的前向传播过程中,权重与输入数据相乘(并可能加上一个偏置项bias),然后将结果传递给激活函数。权重在网络的学习过程中(即训练过程中)会被更新,以最小化网络的实际输出与期望输出之间的差异。

    • 初始化:在开始训练之前,权重通常会被初始化为小的随机数,以避免网络陷入局部最优解或训练过程中的数值问题。
    • 学习:在训练过程中,通过反向传播算法和某种优化算法(如梯度下降)来更新权重。权重更新的目的是最小化网络的损失函数。
  • 激活函数(Activation Functions):激活函数是神经网络中神经元的一种非线性变换函数,用于将神经元的输入(即加权和)映射到输出。激活函数的作用是引入非线性因素,使得神经网络能够学习和表示复杂的数据模式。

  • 所以神经网络的本质其实是:通过参数与激活函数来拟合特征与目标之间的真实函数关系

  • 下面是加权求和的推到过程和神经网络实现的过程图:
    在这里插入图片描述

    • 这里的每个连接上的w值就是权重的值
    • 每个特征值与各自连接上的权重值相乘再求和便是加权和
    • 加权和的结果传输给每个神经元,再映射到神经元中的激活函数中,得到输出结果
    • 实际上如果只有单个的神经元,那么这样的实现过程与线性回归的过程基本一致
    • 当我们在输入层和输出层中加入隐藏层,引入多个神经元,则可以实现多维度的非线性回归和分类问题

三、注意

  • 1、设计一个神经网络时,输入层与输出层的节点数往往是固定的;中间层(隐藏层)则可以自由指定,较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。
    • 输入层的节点数:与特征的维度匹配
    • 输出层的节点数:与目标的维度匹配
  • 2、神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
  • 3、结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的

http://www.kler.cn/a/303356.html

相关文章:

  • 阿里云centos7.9服务器磁盘挂载,切换服务路径
  • STM32问题集
  • 深度学习中的感受野:从基础概念到多层次特征提取
  • Axure网络短剧APP端原型图,竖屏微剧视频模版40页
  • 前端--> nginx-->gateway产生的跨域问题分析
  • 普通电脑上安装属于自己的Llama 3 大模型和对话客户端
  • Java 之 Lambda表达式
  • 刚接触无处下手?水下航行器AUV/UUV六自由度模型/控制器设计matlab/simulink参考代码,基础的/进阶的,入门到顺利毕业/完成课题/发表论文。
  • Java微服务架构最佳实践:如何设计高可用的分布式系统
  • 华为 HCIP 认证费用和报名资格
  • Java 开发中锁的选择与使用
  • MVC设计模式与delegate,tablview,Appdelegate,SceneDelegate
  • 【逐行注释】自适应观测协方差R的AUKF(自适应无迹卡尔曼滤波,MATLAB语言编写),附下载链接
  • 小程序给对象赋值(双向绑定)方法之一
  • 企业客户|基于springboot的企业客户管理系统设计与实现(附项目源码+论文+数据库)
  • 一次开发,多端部署--实例二
  • RK3568 android11 usb摄像头预览分辨率添加多分辨率---解除1080p限制
  • 实现绑定UDP端口的Server程序
  • 大模型微调 - 基于预训练大语言模型的对话生成任务 训练代码
  • 计算机二级自学笔记(选择题1部分)
  • git的快速合并fast-forward merge详解
  • 机器学习和深度学习存在显著区别
  • LeetCode 热题 100 回顾11
  • 【系统架构设计师】ATAM(Architecture Tradeoff Analysis Method)
  • 【免费刷题】实验室安全第一知识题库分享
  • 简单了解深度学习