【七篇文章从零速通transformer】01 从零开始解密神经网络:深度学习基础全解析

文章简介

本系列文章旨在帮助零基础的读者系统地掌握深度学习,最终能够理解 Transformer 架构。本篇文章是第一篇,我们将从深度学习最核心的知识——神经网络——开始讲解,深入浅出地带你了解神经网络的结构、如何让神经网络工作,激活函数、损失函数、优化器和反向传播等关键概念。这些内容是理解深度学习的基础,如果你完全没有编程或数学背景,也不用担心,文章中的例子和讲解都会尽可能简单易懂。


1. 什么是神经网络

深度学习中,神经网络是我们用来处理数据的模型,它模仿人脑的工作方式,能自动学习并识别数据中的模式。

神经网络的结构:输入层、隐藏层和输出层

我们可以把神经网络看作是一个“输入数据 -> 处理数据 -> 输出结果”的机器。它的结构主要分为三部分:

  1. 输入层(Input Layer):负责接收数据,比如一张图片的像素值,或者一段文字的编码。输入层只是“传递”数据到网络的下一层。
  2. 隐藏层(Hidden Layers):这里是神经网络真正处理数据的地方。隐藏层包含“神经元”,这些神经元会对输入数据做数学运算(加权求和,激活等),从中提取特征。网络的复杂性体现在隐藏层的数量和它们内部的结构上。
  3. 输出层(Output Layer):生成预测结果。对于分类问题,输出层的结果是一个概率分布,告诉我们输入属于每个类别的可能性。
神经网络的工作方式

神经网络的工作方式其实很像“加法器”,它把输入的数据“加起来”,然后决定输出什么。

例如,假设输入层有 3 个值(像素值),我们可以简单地给它们加上不同的权重(也就是加权求和)。每个输入会被乘以一个权重值,再加上一个偏置(相当于一个修正值),最后再通过激活函数转化为输出。

图示

css输入层          隐藏层         输出层
[x1, x2, x3]  -->  [h1, h2]  -->  [y1, y2]

在隐藏层中,每个神经元接收输入数据,通过一系列数学运算产生输出,这样一步步往后推,最终输出层给出结果。


2. 激活函数:让神经网络更强大

如果我们只是简单地把输入“加权求和”,这会限制神经网络的表现能力,因为这样的模型是“线性的”,无法处理复杂的问题。激活函数的作用就是引入“非线性”,让网络可以解决复杂问题,比如识别图片中的猫和狗。

常见的激活函数
  1. ReLU(Rectified Linear Unit)
    ReLU 是目前最常用的激活函数。它的计算非常简单:如果输入小于 0,输出为 0;如果输入大于 0,输出为原值。

    例子

    • 输入:-2,输出:0
    • 输入:3,输出:3

    公式:f(x) = max(0, x)
    它可以帮助神经网络学习更快,并且避免一些计算上的问题。

  2. Sigmoid
    Sigmoid 会把输入压缩到 0 和 1 之间。你可以把它想象成一个“开关”,输入越大,结果越接近 1,输入越小,结果越接近 0。

    公式:f(x) = 1 / (1 + exp(-x))
    这意味着输入越大,输出越接近 1;输入越小,输出越接近 0。Sigmoid 常用于二分类问题(例如,判断一封邮件是否是垃圾邮件)。

  3. Tanh(双曲正切函数)
    Tanh 和 Sigmoid 类似,不过它的输出范围是 -1 到 1,输入越大,输出接近 1;输入越小,输出接近 -1。它在需要处理正负值的任务中比较常用。

    公式:f(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))

激活函数如何帮助神经网络

激活函数通过将线性输入转换为非线性输出,赋予神经网络


http://www.niftyadmin.cn/n/5664884.html

相关文章

Mybatis中sql数组为空判断

一、Mybatis xml中的sql通过if语句判定是否为空 <if test"arrays ! null"> </if>上述示例只能判断arrays数组不为null&#xff0c;那如果是个空数组呢 二、Mybatis xml中的sql通过if语句判定数组非空数组 <if test"arrays ! null and arrays.l…

【系统架构设计师】设计模式的分类

设计模式概述 设计模式(Design Pattern)是软件开发中的最佳实践,旨在解决常见的设计问题。它们可以分为三大类:创建型模式、结构型模式、行为型模式,每个类别都提供了解决特定问题的模式。下面将详细介绍每个类别及其包含的所有设计模式,并提供简要的说明,帮助区分不同…

【Kubernetes】常见面试题汇总(二十三)

目录 69.考虑一家拥有分布式系统的跨国公司&#xff0c;拥有大量数据中心&#xff0c;虚拟机和许多从事各种任务的员工。您认为这样公司如何以与 Kubernetes 一致的方式管理所有任务&#xff1f; 70.考虑一种情况&#xff0c;即公司希望通过维持最低成本来提高其效率和技术运营…

统信服务器操作系统【1050e版】安装手册

统信服务器操作系统1050e版本的安装 文章目录 功能概述一、准备环境二、安装方式介绍安装步骤步骤一:制作启动盘步骤二:系统的安装步骤三:安装引导界面步骤四:图形化界面安装步骤五:选择安装引导程序语言步骤六:进入安装界面步骤七:设置键盘步骤八:设置系统语言步骤九:…

硬件体系架构的学习

硬件体系架构的学习 RISC全称Reduced Instruction Set Compute&#xff0c;精简指令集计算机&#xff1b; CISC全称Complex Instruction Set Computers&#xff0c;复杂指令集计算机。 SOC片上系统概念 System on Chip&#xff0c;简称Soc&#xff0c;也即片上系统。从狭义…

数据结构——(java版)Map与Set

文章目录 二叉搜索树&#xff08;1&#xff09; 二叉搜索树的概念&#xff1a;&#xff08;2&#xff09;二叉搜索树的意义&#xff1a;&#xff08;3&#xff09;二叉搜索树的实现&#xff1a;实现的方法与属性实现二叉搜索树的查询&#xff1a;实现二叉搜索树的插入&#xff…

【原型设计】支持私有化部署到服务器的原型设计程序、原型设计预览程序

根据您的需求&#xff0c;以下是一些可以部署到服务器上的原型设计图预览开源程序&#xff1a; Axure&#xff1a;虽然Axure本身不是开源软件&#xff0c;但它支持将原型图导出为HTML文件&#xff0c;并通过Git进行版本控制和部署。您可以使用Coding.net的Pages功能来托管这些H…

亲测有效,长期有效的RTSP流地址公网RTSP地址,各种类型的视频源

我们经常需要做一些实时视频流的测试&#xff0c;但是手边又没有办法及时弄到一个摄像机&#xff0c;我们经常会去搜索一下“公网RTSP地址”&#xff0c;但是大部分现在都失效了&#xff0c;有什么办法能够让我们快速构建一个RTSP流&#xff0c;点几下就能直接用&#xff1f; …