多层感知机(二)

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 多层感知机(二)

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):多层感知机(二)

课程地址:https://edu.aliyun.com/course/3112108/lesson/19267

 

多层感知机(二)

三、BP神经网络算法概述


BP 神经网络算法,BP 是 back propagation,BP 算法是神经网络深度学习里面最重要的算法之一,了解这个算法可以让我们更加了解神经网络深度学习模型训练的本质。

BP 神经网络是在 1986 年的时候就提出来的概念,它是一种按照误差命传播算法训练的多层神经网络,是应用会最广泛的神经网络模型之一。


BP 神经网络算法其实它的这个思想就已经写在这里,就是正向传播求损失,反向传播求误差,回传误差,它是根据误差的信号来修正每一层的权重。


比如你去投篮,打篮球的时候去投篮,把球扔向篮筐的时候可能力气大了,可能力气小了,我们目标就是把篮球投进去,每次投篮的时候,如果投不进,就要进行调整,这个调整就是学习的过程,神经网络的训练跟你去打篮球,这个投篮训练是很像的,你去训练的时候很重要的就是你需要有这个反馈,就是要知道你这个投篮的时候问题在哪里?是这个力气大了,还是力气小了还是这个方向不对正向传播求损失,就是按照现在的模式去投篮,投篮之后你需要去观察这个损失,你的力气大了还是小了,这个差别就是这个损失。


比如我这次投篮力气大了,那损失就是力气大了,这个投篮投过了,那我要把这个学习进来。我知道大了很多,我下一次就要修正,下次出手的力量要少一点,这个就是反向传播,我看到,我学习,我要调整,我下一次的动作就小一点,他可能就进。


这个根据误差信号来修正其实也是你投篮力气大了很多,你就是小多一点,力气小得多一点,如果下次力气小了,小了一点点,你下次调整就稍微大一点,这个修正误差的时候是根据上修正这个权重的时候,是根据上一次的误差来做这个调整的。


所以这里面有几个关键词,一个是损失,损失就是投篮的时候离这个投进差了多少,然后这个怎么样去修正这个权重,也就是你根据这个损失大小,回来去调整权重,这样就达到一个训练的目

BP 神经网络就是这样,就是正向传播,正向传播来了一个数据,就相当于你去投篮,开始有一个输入的值,它穿过隐层,比如这里用 sigmoid 的这个函数,然后输出,得到一个预测值,预测值就是你扔出去的那个,真实值就好像篮框真正的这个位置一样,他们可能差有差别,这个差别其实就是差别大了之后说明这个训练的不够,但是他们两个可以得到损失值,就根据预测值和真实值,就知道损失值是怎样。


根据这个损失值再反向的回去调整,根据损失值来调节这个参数,调节完之后下一次再输入训练得到预测值,再根据这个输入的训练的真实值来调整,然后再改变这个权重。你训练的时候要先知道我们在这个训练这个神经网络的时候是有训练数据的,其实已经预先知道这个输入值和这个真实值,你经过这种不断的训练,用数据不断的去训练,然后不断地去调节这个参数,这个神经网络就会被训练到这个误差,这个损失值会越来越小。


有可能是设定误差损失值小到什么程度之后就停止,或者我训练多少次之后停止。这个像打球时,我可能连续投进 10 个球就停止训练,或者是我今天要投进 200 个球,投完 200 个球,然后才能完成这个训练,就是按照训练次数或者是训练目标来决定什么时候完成。


这个算法的思想就是这个 BP 神经网络算法,这里在调节这个权重去进行修正的时候,就可以用我们之前有提到的这个梯度下降的方式去调节,这里面还有很多技术可以调优的地方。 BP 神经网络算法,我们就介绍到这里。

图片518.png

 

四、本节回顾

 

通过本节的学习,我们学到了:

1、感知机的概述

感知机是一种有监督的二分类算法,只能解决线性问题

2、多层感知机的层级结构与激活函数

多层感知机的层级结构主要包含输入层、隐藏层和输出层,可以用于拟合非线性函数

激活函数是一种在人工智能神经网络的神经单元上运行的函数,旨在帮助网络学习数据中的复杂模式,负责将神经元节点的输入映射到输出端

常见激活函数:Sigmoid函数、Tanh函数、ReLU函数等等

3、BP神经网络算法

BP神经网络是一种按误差逆传播算法训练的多层神经网络,正向传播求损失,反向传播回传误差,根据误差信号修正每层的权重

相关文章
|
3月前
|
缓存 IDE 开发工具
Dev C++ 5.11开发编辑器 安装教程:详细步骤+自定义安装路径(附简体中文设置)
本文详解Dev-C++ 5.11的下载、解压、安装及首次配置全流程,涵盖自定义安装路径与简体中文设置,步骤清晰、图文对应,零基础初学者也能轻松上手,快速搭建C/C++开发环境。(239字)
|
11月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
2月前
|
SQL 存储 监控
避坑必看!MySQL 三大日志(redo/undo/binlog)底层原理全拆解,事务一致性再也不懵
MySQL事务ACID的基石是redo、undo、binlog三大日志:redo log保障持久性(宕机不丢数据),undo log保障原子性(支持回滚与MVCC),binlog保障可追溯与主从同步。三者协同工作,缺一不可。
509 4
|
2月前
|
缓存 监控 关系型数据库
击穿 MySQL 性能天花板:InnoDB Buffer Pool 核心架构、LRU 优化与生产调优全解
本文深入解析MySQL InnoDB Buffer Pool核心机制:涵盖缓冲池定位、内存架构(控制块/缓存页/多实例/Chunk)、三大链表(Free/Flush/LRU)工作原理,重点剖析原生LRU缺陷及InnoDB冷热分离优化方案,并提供参数调优、避坑指南与监控实战。
243 1
|
4月前
|
机器学习/深度学习 人工智能 JSON
让ChatGPT更懂你:深入浅出解析大模型微调中的强化学习(PPO/DPO篇)
本文深入浅出解析大模型对齐人类偏好的两大核心方法:PPO(需训练奖励模型、在线优化,强但复杂)与DPO(直接学习“好vs差”对比数据、离线高效、更易用)。对比原理、流程与实践,揭示为何DPO正成为主流选择,并强调高质量偏好数据与平台化工具的关键价值。(239字)
672 9
让ChatGPT更懂你:深入浅出解析大模型微调中的强化学习(PPO/DPO篇)
|
缓存 Java
Java本地高性能缓存实践问题之使用Caffeine的Cache接口来查找一个缓存元素的问题如何解决
Java本地高性能缓存实践问题之使用Caffeine的Cache接口来查找一个缓存元素的问题如何解决
437 0
|
数据采集 传感器 算法
数据采集与预处理
【6月更文挑战第21天】数据采集与预处理。
656 4
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
1186 1
|
SQL 监控 关系型数据库
MySQL如何查看每个分区的数据量
通过本文的介绍,您可以使用MySQL的 `INFORMATION_SCHEMA`查询每个分区的数据量。了解分区数据量对数据库优化和管理具有重要意义,可以帮助您优化查询性能、平衡数据负载和监控数据库健康状况。希望本文对您在MySQL分区管理和性能优化方面有所帮助。
1309 1
UE5使用Dash插件实现程序化地形场景制作
本文介绍了如何在Unreal Engine 5中使用Dash插件来实现程序化地形场景制作,包括插件激活、基本使用、资产导入路径和练习成果展示。
739 1
UE5使用Dash插件实现程序化地形场景制作