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

神经网络知识讨论

  • AI 核心任务与数据类型
    • 特征提取核心:AI 的核心是从原始输入数据中提取特征,CV 是将图像数据转换为计算机可识别的特征,NLP 是将文本数据转换为特征,数据挖掘是将结构化数据转换为特征。
    • 数据类型特点:图像数据在计算机眼中是矩阵,每个值是像素点,可直接计算;文本数据如字符串,较难直接处理成矩阵。
  • 神经网络基础概念
    • 映射概念:映射可看作 y = wx + b 的方程,w 和 b 组成映射方程。通过权重参数对输入数据进行组合变换,将原始数据投影到特征空间,得到新特征,目的是让数据更好被认识和识别。
    • 输入与权重矩阵:以图像数据为例,输入数据可拉成向量,如 32×32×3 的图像有 3072 个像素点。权重参数与特征一一对应,做矩阵乘法,横向量乘列向量得一个值,在分类任务中,该值代表数据属于各个类别的概率。
    • 偏置参数:偏置用于对结果做微调,偏置个数与输出结果个数相同,如 10 分类任务就有 10 个偏置。
    • 权重初始化:权重一开始是随机初始化的,后续根据预测结果与真实标签的一致性进行更新。
  • 损失计算方法
    • 回归任务损失:回归任务预测一个值,通过计算预测值与真实值的差异来衡量损失,如计算错误类别和真实类别得分的差值,差值越大损失越大。
    • 分类任务损失:分类任务要得到数据属于各个类别的概率,二分类使用 ZMOD 函数将输入值映射到 0 - 1 之间,大于 0.5 为正例,小于 0.5 为负例;多分类通过 Softmax 函数,先将得分值进行 e 的幂运算放大差异,再进行归一化得到概率值,最后用对数计算损失,只考虑正确类别的概率,概率越高损失越小。
  • 权重更新方法
    • 梯度下降原理:神经网络由前向传播和反向传播组成。前向传播通过输入数据和权重参数得到预测值,计算损失;反向传播通过求梯度找到权重更新方向,梯度是损失对权重参数的偏导数,沿梯度反方向更新权重可使损失变小。
    • 学习率:学习率控制每次更新的步长,一般较小且适中,学习率有 warm up 阶段,先缓慢上升到基础学习率,再进行衰减。
    • 批量处理:有随机梯度下降、批量梯度下降和小批量梯度下降。随机梯度下降用一个样本更新,速度快但结果可能不稳定;批量梯度下降用所有样本求平均,结果稳定但计算量大;小批量梯度下降用一批样本,batch 越大越好,可使求平均更准确。
    • 动量概念:引入动量(惯性),考虑前一步的梯度方向,通过求合力方向更新权重,可使模型更新更快,多数模型都会引入。
  • 网络结构与特征提取
    • 特征提取本质:神经网络通过权重参数对输入数据进行线性组合,将原始数据转换为新特征,权重参数越多,可得到的特征个数越多。
    • 深度学习不可解释性:深度学习得到的特征难以解释其具体含义。
    • 网络结构示例:输入数据通过多组权重和偏置参数得到中间特征和最终预测结果,如输入 1×3 矩阵,通过 3×4 矩阵的 W1 和 4 个偏置 B1 得到 1×4 的中间特征,再经过 4×4 矩阵的 W2 和 4 个偏置 B2,最后通过 4×1 矩阵的 W3 和 1 个偏置 B3 得到预测值。
  • 网络效果与优化
    • 神经元个数影响:神经元个数越多,可切分数据集的 “刀数” 越多,能更好地对数据进行分类,但可能出现过拟合问题。
    • 过拟合问题:模型为了识别离群点开辟过大区域,导致测试时预测错误,数据预处理很重要,数据质量和数量都会影响模型效果。
    • 非线性变换:神经网络的线性变换只能解决线性问题,通过引入激活函数(如 SoftReLU)进行非线性变换,可使模型解决非线性问题。SoftReLU 函数小于 0 时 y = 0,大于 0 时 y = x,能去除不好的特征。
http://www.xdnf.cn/news/16370.html

相关文章:

  • 网易大模型算法岗面经80道
  • 【学习笔记】MimicGen: 基于人类演示的可扩展机器人学习数据生成系统
  • 批量重命名带编号工具,附免费地址
  • idea打开后project窗口未显示项目名称的解决方案
  • k8s的权限
  • tlias智能学习辅助系统--Filter(过滤器)
  • Ansible列出常见操作系统的发行版,Ansible中使用facts变量的两种方式
  • CH341 Linux驱动 没有 /dev/ttyCH341USB0
  • Linux文件系统管理——NFS服务端的安装配置与NFS客户端的安装与挂载实操教程
  • 【AI】联网模式
  • Scrapy分布式爬虫数据统计全栈方案:构建企业级监控分析系统
  • GPU运维常见问题处理
  • 【C++】stack和queue的模拟实现
  • Java基础day17-LinkedHashMap类,TreeMap类和集合工具类
  • 基于POD和DMD方法的压气机叶片瞬态流场分析与神经网络预测
  • 基于遗传算法的多无人车协同侦察与安全保护策略优化
  • CUDA杂记--FP16与FP32用途
  • Redis面试精讲 Day 5:Redis内存管理与过期策略
  • 汇编语言中的通用寄存器及其在逆向工程中的应用
  • 计划任务(at和cron命令介绍及操作)
  • MySQL事务原理
  • 应用程序 I/O 接口
  • 【MySQL 数据库】MySQL基本查询(第二节)
  • 系统性学习C语言-第二十三讲-文件操作
  • 谷歌无法安装扩展程序解决方法(也许成功)
  • Kubernetes 与 Docker的爱恨情仇
  • STM32-定时器的基本定时/计数功能实现配置教程(寄存器版)
  • 【工具】好用的浏览器AI助手
  • 用unity开发教学辅助软件---幼儿绘本英语拼读
  • 【深度学习新浪潮】什么是GUI Agent?