【AI前沿】深度学习:神经网络基础

news2024/11/14 14:30:36

文章目录

  • 📑引言
  • 一、神经元和感知器
    • 1.1 神经元的基本概念
    • 1.2 感知器模型
  • 二、多层感知器(MLP)
    • 2.1 MLP的基本结构
    • 2.2 激活函数的重要性
    • 2.3 激活函数
    • 2.4 激活函数的选择
  • 三、小结

image.png

📑引言

深度学习是现代人工智能的核心技术之一,而神经网络是深度学习的基础结构。神经网络通过模拟人脑的神经元工作原理,从数据中自动提取特征并进行复杂的模式识别和分类任务。在这篇博客中,我们将详细探讨神经网络的基本概念、构成单元、重要特性以及它们在深度学习中的关键作用。

一、神经元和感知器

1.1 神经元的基本概念

神经元是神经网络的基本计算单元,其灵感来源于生物神经元。生物神经元通过接收输入信号(来自其他神经元或感受器),经过处理后传递输出信号。人工神经元模拟了这一过程,主要由以下部分组成:

  • 输入(Input): 接收来自其他神经元或输入数据的信号。
  • 权重(Weight): 每个输入信号都与一个权重相乘,权重决定了该输入信号的重要性。
  • 加权求和(Weighted Sum): 所有输入信号与对应权重的乘积之和。
  • 激活函数(Activation Function): 将加权求和的结果转换为输出信号。

数学上,一个神经元的输出可以表示为:
image.png
其中,( x_i ) 是输入信号,( w_i ) 是权重,( b ) 是偏置,( f ) 是激活函数。

1.2 感知器模型

感知器(Perceptron)是最简单的人工神经元模型,由Frank Rosenblatt在1958年提出。感知器是一种线性分类器,能够将输入数据分为两个类别。其基本结构如下:

  • 输入层: 接收输入数据,每个输入与一个权重相乘。
  • 加权求和: 将所有加权后的输入信号相加,加上偏置。
  • 激活函数: 使用阶跃函数(Step Function)作为激活函数,将加权求和结果转换为输出。

阶跃函数定义为:
image.png
感知器模型可以表示为:
image.png
感知器的训练过程通过调整权重和偏置,使模型能够正确分类输入数据。感知器的局限性在于它只能处理线性可分的数据集,对于复杂的非线性数据无能为力。

二、多层感知器(MLP)

2.1 MLP的基本结构

多层感知器(Multi-Layer Perceptron,MLP)是由多个感知器层叠组成的神经网络模型。MLP通过引入隐藏层(Hidden Layer),能够处理复杂的非线性数据。MLP的基本结构包括:

  • 输入层: 接收输入数据。
  • 隐藏层: 由多个神经元组成,通过激活函数进行非线性变换。
  • 输出层: 生成最终的输出结果。

每一层的输出作为下一层的输入,层与层之间全连接(Fully Connected),即每个神经元与上一层的所有神经元相连。

2.2 激活函数的重要性

激活函数是MLP中引入非线性的关键,使得神经网络能够拟合复杂的非线性关系。
常见的激活函数包括:

  • Sigmoid函数:

image.png
Sigmoid函数将输入压缩到(0, 1)之间,适用于输出为概率的任务,但容易导致梯度消失问题。

  • Tanh函数:

image.png
Tanh函数将输入压缩到(-1, 1)之间,相比Sigmoid具有零中心,但仍有梯度消失问题。

  • ReLU函数(Rectified Linear Unit):

image.png
ReLU函数解决了梯度消失问题,计算简单,广泛应用于现代神经网络中。但其可能导致部分神经元“死亡”,即在训练过程中输出恒为零。

  • Leaky ReLU函数:

image.png
Leaky ReLU在负轴上保留一部分信息,避免了神经元死亡的问题。
MLP的训练
MLP的训练过程包括前向传播(Forward Propagation)和反向传播(Backpropagation)。前向传播计算每层的输出,反向传播计算误差梯度并更新权重。

  • 前向传播: 从输入层开始,逐层计算输出,直到输出层生成最终结果。
  • 反向传播: 从输出层开始,逐层计算误差梯度,并使用梯度下降法更新权重和偏置。

反向传播的关键是链式法则(Chain Rule),通过链式法则计算每层的梯度:
image.png
其中,( L ) 是损失函数,( y ) 是输出,( w ) 是权重。

2.3 激活函数

激活函数的作用
激活函数在神经网络中起到引入非线性的作用,使得神经网络能够学习和拟合复杂的非线性关系。不同的激活函数具有不同的特性和应用场景。
常见激活函数

  1. Sigmoid函数:

Sigmoid函数将输入值映射到(0, 1)之间,常用于二分类问题的输出层。其数学表达式为:
image.png
**优点:**平滑且连续,输出范围在(0, 1)之间。
**缺点:**容易导致梯度消失问题,训练深层网络时效果不佳。

  1. Tanh函数:

Tanh函数将输入值映射到(-1, 1)之间,常用于隐藏层的激活函数。其数学表达式为:
image.png
**优点:**零中心化,输出范围在(-1, 1)之间。
**缺点:**与Sigmoid函数类似,也容易导致梯度消失问题。

  1. ReLU函数:

ReLU函数是现代神经网络中最常用的激活函数,输出输入值与0的较大者。其数学表达式为:
image.png
**优点:**计算简单,能够有效解决梯度消失问题,提高训练速度。
**缺点:**可能导致部分神经元“死亡”,即在训练过程中输出恒为零。

  1. Leaky ReLU函数:

Leaky ReLU函数是ReLU的变种,在负轴上保留一部分信息,避免神经元死亡的问题。其数学表达式为:
image.png
**优点:**避免神经元死亡,保留负值信息。
**缺点:**需要手动调节参数 ( \alpha )。

2.4 激活函数的选择

激活函数的选择对神经网络的性能有重要影响。
一般来说,隐藏层使用ReLU或其变种(如Leaky ReLU),输出层根据具体任务选择Sigmoid或Tanh函数。对于回归问题,输出层可以直接使用线性激活函数。

三、小结

神经网络是深度学习的基础结构,通过模拟人脑的神经元工作原理,能够从数据中自动提取特征并进行复杂的模式识别和分类任务。本文详细探讨了神经元和感知器、多层感知器(MLP)、激活函数的基本概念和关键技术。希望通过这篇详细的博客,读者能够全面理解神经网络的基础知识,为深入学习和研究深度学习技术打下坚实的基础。

image.png

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

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

相关文章

p12初步认识c语言

1.初识c语言 什么是c语言 c语言是一门计算机语言 计算机语言是什么 人和计算机交流语言 c/c/JAVA/python 语言发展: 二进制语言 硬件-电-正电/负电 1010001010101010101010101010手册 科学家 1010100010-ADD -助记符-汇编语言 B语言 C语言 C、---高级…

【全面介绍语言模型的原理,实战和评估】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🥂语言模型的原理 🥂语言模型基于统计和机器学习的原理,目标…

实验1 —— 安全策略的练习

实验拓扑图 实验要求 1.DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问; 2.生产区不允许访问互联网,办公区和游客区允许访问互联网 3.办公区…

Java protobuf序列化

Protobuf概述 Protobuf(全称:Protocol Buffers)是由 Google 开发的一种语言中立、平台无关、可扩展的序列化协议。它用于高效地结构化数据的序列化和反序列化。Protobuf 的主要特点是其紧凑、高效和可扩展的编码格式,使其在各种网…

Nginx中文URL请求404

这两天正在搞我的静态网站。方案是:从思源笔记Markdown笔记,用MkOcs build成静态网站,上传到到Nginx服务器。遇到一个问题:URL含有中文会404,全英文URL则正常访问。 ‍ 比如: ​​ ‍ 设置了utf-8 ht…

mac安装配置cmake

本机是2015 macbook pro mid,已经有点老了,用homebrew下cmake老出问题 其实cmake官网安装也不麻烦 一、官网下载对应安装包 Download CMake 和所有dmg文件一样安装 二、改成命令行使用 一般来说 tutorial 给的都是命令行build 命令行的设置如下&am…

React Hooks学习笔记

一、usestate的使用方法-初始化state函数 import React, { useState } from "react"; function App() {const [count, setCount] useState(0);return (<div><p>点击{count}次</p><button onClick{() > setCount(count 1)}>点击</bu…

【TAROT学习日记】韦特体系塔罗牌学习(1)——愚者 THE FOOL 0

韦特体系塔罗牌学习&#xff08;1&#xff09;——愚者 THE FOOL 0 https://www.tarotchina.net/major-arcana0-vip/ 目录 韦特体系塔罗牌学习&#xff08;1&#xff09;——愚者 THE FOOL 0牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际关…

原生小程序生成二维码并保存到本地

需求&#xff1a;我要在一个页面中生成一个二维码&#xff0c;并且这个二维码可以长按保存到本地或者发送给好友&#xff1b; 我这里是将生成的canvas二维码转换成图片&#xff0c;利用长按图片进行保存或转发 效果图&#xff1a; 第一步先下载对应的包&#xff1a; npm instal…

Web3知识图谱,一篇读完

这张图展示了区块链生态系统的架构和主要组件。以下是对图中内容的概括总结&#xff1a; 基础层&#xff1a; 底层基础设施&#xff1a;包括光纤网络、P2P网络、非对称加密、哈希算法、默克尔树和随机数生成。共识机制&#xff1a; PoW&#xff08;工作量证明&#xff09;: 比特…

C语言笔记31 •单链表经典算法OJ题-3.反转链表•

反转链表 1.问题 给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.代码实现&#xff1a; //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …

华为模拟器ensp中USG6000V防火墙web界面使用

防火墙需要配置 新建拓扑选择USG6000V型号 在防火墙中导包 忘记截图了 启动设备 输入用户名密码 默认用户名&#xff1a;admin 默认密码&#xff1a;Admin123 修改密码 然后他会提示你是否要修改密码&#xff0c;想改就改不想改就不改 进入命令行界面 进入系统视图开启web…

【RHCE】基于用户认证和TLS加密的HTTP服务(HTTPS)

目录 一、创建用户账号 二、TLS加密 三、配置http服务子配置文件 四、创建访问http服务的文件夹以及输入重定向到文件 五、配置Linux本地仓库以及Windows下的本地仓库 六、基础操作 七、测试 一、创建用户账号 用户认证 # 创建两个账户 [rootlocalhost ~]# htpasswd -…

商业合作方案撰写指南:让你的提案脱颖而出的秘诀

作为一名策划人&#xff0c;撰写一份商业合作方案需要细致的规划和清晰的表达。 它是一个综合性的过程&#xff0c;需要策划人具备市场洞察力、分析能力和创意思维。 以下是能够帮助你撰写一份有效的商业合作方案的关键步骤和要点&#xff1a; 明确合作目标&#xff1a;设定…

网络协议(TCP三次握手,四次断开详解)

TCP的详细过程&#xff1a; TCP&#xff08;传输控制协议&#xff09;的三次握手和四次断开是其建立连接和终止连接的重要过程&#xff0c;以下是详细解释&#xff1a; 三次握手&#xff1a; 1. 第一次握手&#xff1a;客户端向服务器发送一个 SYN&#xff08;同步&#x…

深度探讨:无法恢复主文件表的困境与解救之道

在数据存储与管理的复杂世界中&#xff0c;主文件表&#xff08;Master File Table, MFT&#xff09;作为文件系统的核心组件&#xff0c;承载着至关重要的角色。一旦遭遇无法恢复主文件表的困境&#xff0c;用户将面临数据访问受限、文件丢失等严重后果。这通常是由于硬件故障…

火柴棒图python绘画

使用Python绘制二项分布的概率质量函数&#xff08;PMF&#xff09; 在这篇博客中&#xff0c;我们将探讨如何使用Python中的scipy库和matplotlib库来绘制二项分布的概率质量函数&#xff08;PMF&#xff09;。二项分布是统计学中常见的离散概率分布&#xff0c;描述了在固定次…

力扣 hot100 -- 动态规划(下)

目录 &#x1f4bb;最长递增子序列 AC 动态规划 AC 动态规划(贪心) 二分 &#x1f3e0;乘积最大子数组 AC 动规 AC 用 0 分割 &#x1f42c;分割等和子集 AC 二维DP AC 一维DP ⚾最长有效括号 AC 栈 哨兵 &#x1f4bb;最长递增子序列 300. 最长递增子序列…

GPT-4o不香了, Claude3.5 Sonnet来了,直接免费可用

大家好&#xff01;我是YUAN。 刚刚&#xff01; AI领域又迎来了一场新的风暴——Anthropic公司发布了全新的Claude 3.5 Sonnet模型&#xff0c;这一消息如同一颗重磅炸弹&#xff0c;震撼了整个科技界。 Claude 3.5 Sonnet与GPT-4o对比 性能飞跃&#xff1a;超越GPT-4o Cl…

如何修改node_modules里的代码

为什么要改node_modules&#xff1f; 在平常的开发中&#xff0c;其实是很少需要改 node_modules 里的代码的。但是如果npm包有点小问题或者不符合我们的场景。 应该怎么改才能是最好的呢&#xff1f; 方法一&#xff1a;直接改 这种很好懂&#xff0c;就是直接进 node_modu…