首页 > 其他分享 >人工智能入门-第一周

人工智能入门-第一周

时间:2024-06-16 23:44:46浏览次数:32  
标签:输出 函数 第一周 人工智能 入门 神经网络 激活 输入 神经元

人工智能入门-第一周

神经网络

什么是神经网络?

神经网络(Neural Network)是一种模拟生物神经系统的计算模型由大量相互连接的人工神经元组成

这些神经元通过权重连接成多个层次,从而可以学习和处理复杂的非线性关系。

神经网络的基本结构

神经元通常包含三层:

  1. 输入层(Input Layer):接受外部输入数据,每一个输入对应一个神经元。
  2. 隐藏层(Hidden Layers):位于输入层和输出层之间,可以有一个或多个隐藏层,每一层的每一个神经元都接收前一层所有神经元的输出信号,并且通过激活函数进行非线性变换。
  3. 输出层(Output Layer):生成最终输出结果,每个输出对应一个神经元。

神经元

什么是神经元?

神经元(Neuron)是神经网络的基本构建单元,模拟了生物神经系统的神经细胞。每一个神经元接收其他神经元的输出信号,通过计算生成输出信号,并传递给下一个神经元或网络的输出层。

神经元的基本结构

典型的人工神经元包含以下部分:

  1. 输入(Inputs):
    1. 接收前一层神经元的输出,或者从神经网络的输入层直接获得原始数据
    2. 输入通常用向量表示,如\(x=\left[x_1,x_2,...,x_n\right]\)。
  2. 权重(Weights):
    1. 每一个输入连接都有一个权重,与输入信号进行加权求和。
    2. 权重用向量表示,如\(w=\left[w_1,w_2,...,w_n\right]\)。
  3. 偏置(Bias):
    1. 每个神经元还有一个偏置项(bias),用于调整加权和的输出
    2. 偏置通常表示为\(b\)。
  4. 加权和(Weighted Sum):
    1. 神经元对输入信号和权重进行加权求和,加上偏置项。
    2. 计算公式:\(z=w\bullet x+b\)
  5. 激活函数(Activation Function):
    1. 加权和通过激活函数进行非线性变换,生成神经元输出。
    2. 常见激活函数有Sigmoid,Tanh和ReLU
  6. 输出(Output):
    1. 激活函数的输出即为神经元的输出信号
    2. 输出可以作为下一层神经元的输入,或作为最终输出结果。

神经元工作流程

  1. 接收输入信号:接收上一层神经元的输入或从输入层接收输入信号。
  2. 加权求和:将输入信号与对应的权重相乘,然后求和,并加上偏置。
  3. 激活函数:将加权和传递给激活函数,生成非线性输出。
  4. 传递输出信号:将激活函数的输出传递给下一层神经元或输出层。

神经元的数学表示

一个神经元的数学表示如下

\(z=w\bullet x+b\)

\(a = \sigma(z)\)

其中\(z\)是加权和,\(w\)是权重向量,\(x\)是输入向量,\(b\)是偏置,\(\sigma\)是激活函数,\(a\)​是激活函数的输出。

单个神经元简易计算过程的示例代码

示例代码

激活函数

什么是激活函数?

激活函数(Activation Function)是神经网络中的一个重要组成部分。

主要作用是引入非线性变换,使神经网络能够学习和表示复杂的非线性关系。

激活函数通过将线性组合的输入信号转变为非线性输出,从而使得神经网络可以逼近任意复杂函数。

常见的激活函数

Sigmoid函数

  • 特点:输出范围为 (0, 1),常用于二分类问题的输出层。
  • 优点:输出值在 (0, 1) 之间,适合处理概率问题。
  • 缺点:容易导致梯度消失问题,特别是在深层网络中。

Tanh(双曲正切)函数

  • 特点:输出范围为 (-1, 1),常用于隐藏层。
  • 优点:输出均值为0,相对于Sigmoid,梯度消失问题有所减缓。
  • 缺点:仍然可能导致梯度消失问题。

ReLU(Rectified Linear Unit)函数

  • 特点:输出范围为 [0, ∞),常用于隐藏层。

  • 优点:计算简单,不会出现梯度消失问题。

  • 缺点:可能导致神经元“死亡”问题,即某些神经元可能永远不会被激活(输出为0)。

Leaky ReLU函数

特点:输出范围为 (-∞, ∞)。

优点:解决ReLU的“死亡”问题,通过引入一个很小的负斜率。

缺点:需要手动调整负斜率参数。

Softmax函数

  • 特点:将输入向量转换为概率分布,常用于多分类问题的输出层。
  • 优点:输出为概率分布,所有值之和为1。
  • 缺点:计算量较大,特别是在大规模分类任务中。

激活函数简单使用代码

示例代码

全连接神经网络

什么是全连接神经网络?

全连接神经网络(Fully Connected Neural Network,FCNN),是一种基础的神经网络模型。

特点是每一层中的每一个神经元都与下一层中的每一个神经元相连。

典型的神经网络训练过程

  1. 生成标签数据
  2. 将标签数据数值化
  3. 将数值化后的标签数据标准化(一般用归一化),构成数据向量
  4. 权重矩阵与数据向量(+偏置)做矩阵乘法,得到结果向量
  5. 将结果向量通过激活函数(Sigmod、Relu、Tanh)得到logits
  6. 对logits做oftmax,得到概率分布
  7. 如果预测错误,使用损失函数计算损失(LOSS)
  8. 再通过求梯度等方法,使用损失去调整权重矩阵

PS

  1. 神经网络的计算只有浮点数的加减乘除

卷积神经网络

标签:输出,函数,第一周,人工智能,入门,神经网络,激活,输入,神经元
From: https://www.cnblogs.com/tnxts/p/18251494

相关文章

  • 音频信号处理入门-第一周
    音频信号处理学习-第一周音频掩蔽效应音频掩蔽效应(AudioMaskingEffect)是指在特定条件下,一个声音(通常称为掩蔽声,Masker)能够掩盖另一个声音(通常称为被掩蔽声,Maskee),使得后者在听觉上不容易被听到或完全听不到的现象。音频掩蔽效应在听觉处理的过程中十分常见,并且在音频压缩和......
  • JS逆向入门
    C级通关第一题打开页面https://www.aqistudy.cn/实现接口https://www.aqistudy.cn/apinew/aqistudyapi.php的正常请求并获取明文响应分析开着F12进页面遇到无限debugger一个neverpausehere下去关闭所有断点Activatebreakpoint(Ctrl+F8),随便逛逛网站找找目标接口......
  • 自学编程Java入门基础教学
    (首先下载typora/15天免费使用)MARKDOWN标题(符号必须英文输入法)标题#(#个数分级别)空格文案二级标题三级标题文字world!(前后两个*加粗)world!(1斜体*)world!(3*斜体加粗)world!(两个~波浪号删除线)引用吗喽小帆船自学Java寻大厂offer(>空格)分割线(三个-获三个*分割线)......
  • Kettle 数据抽取工具使用教程:从入门到实战
    一、简介Kettle是PentahoDataIntegration(PDI)的一个组成部分,是一个开源的数据集成工具。它被广泛用于数据的抽取、转换和加载(ETL)过程。Kettle提供了一个易于使用的图形界面,可以轻松设计和执行ETL流程。github源码地址:https://github.com/pentaho/pentaho-......
  • JDBC入门
    JDBC简介JDBC概念JDBC就是使用Java语言操作关系型数据库的一套API全称:(JavaDataBaseConnectivity)Java数据库连接JDBC是一套标准接口,实现同一套Java代码,操作不同的关系型数据库JDBC本质官方(sun)公司定义的一套操作所有关系型数据库的规则,即接口各个数据库厂商去实现这套接口......
  • FASTAPI从入门到进阶
    fastapi框架fastapi,一个用于构建API的现代、快速(高性能)的web框架。fastapi是建立在Starlette和Pydantic基础上的,Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理性选择。快速:可与......
  • 人工智能和机器学习的应用日益广泛,在医疗健康领域的具体应用是什么?
    人工智能(AI)和机器学习(ML)在医疗健康领域的应用日益广泛,涵盖了从疾病预测、辅助诊断、药物研发到健康管理等多个方面。以下是一些具体的应用实例和成功案例:疾病预测与辅助诊断:机器学习算法,如决策树、贝叶斯网络、人工神经网络等,被用于疾病的早期预测和辅助诊断。这些技术能够分......
  • 德语语法白话入门
    碎碎念先前留学的原因,报班学习了一段时间的德语语法。下面的笔记是当时梳理的,尝试用最合理的方式串联起德语的知识点。不过嘛,目前看来,应该不会继续学习德语了。但谁说的准呢,所以发在这里,以作备忘。引言对于一个语言来说,最重要的三个要素是:“主谓宾”。比如,一个简单的中文句子就......
  • 生成式人工智能在军事中的作用
    2023年以来,以大语言模型为代表的生成式人工智能技术取得突破性进展,新产品、新技术陆续亮相,引发新一轮人工智能发展热潮。随着生成式人工智能系统在商用领域的成功应用,美军意识到生成式人工智能在指挥控制、情报分析、作战规划、辅助决策等军事领域具有巨大的应用潜力,因此已经开......
  • 大数据开发语言Scala入门
    Scala是一种多范式编程语言,它结合了面向对象编程和函数式编程的特点,运行在Java虚拟机(JVM)上。这使得Scala能够与Java库无缝集成,并利用JVM的性能优化。Scala的这些特性,特别是其函数式编程的特性,使其在大数据处理领域非常受欢迎,特别是作为ApacheSpark的主要编程语言。Scala......