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

学习记录 DAY10 Tensorflow,神经网络视觉

学习视频来自B站视频:从入门到精通!不愧是公认的讲的最好的【Tensorflow全套教程】同济大佬12小时带你从入门到进阶!Tensorflow2.0/计算机视觉/神经网络与深度学习

UP主:

咕泡AI算法工程师的个人空间-咕泡AI算法工程师个人主页-哔哩哔哩视频 

Tensor :张量  有维度的,可以当做一个任意维度的矩阵

Tensorflow 计算单元在这里流动(做计算)

tensor可以是一个值(number),可以是一个向量(vector),也可以是一个矩阵(matrix)

tensor是一个可以进行GPU计算的矩阵

源数据好坏与数据处理影响了深度学习的效果

机器学习的流程:

计算机眼中看到的图像:

会是一个三维的矩阵,包含长宽和颜色通道,颜色通道为3,这里是我们平时用的最多的RGB 3通道。

K近邻学习方法,提取色素快,然后对比作差得到绝对值,这种学习方法有很严重的问题,就是它无法区分哪个是主体,由于主体基本不可能占满整个图像,导致得到的结果面临一个问题,就是背景相似的图像会被识别成一类物质。

这里就是把整个像素点集成一个矩阵,1X3072的矩阵,与另一个3072X1的权重矩阵做矩阵运算,我们知道线性代数的运算法则 这里是横着的1X3072与竖着的3072X1进行矩阵运算,得到的就是个1X1的矩阵,也可以说得到一个数值。

最后得到的权重值+b(偏置值),会计算到与之最近的参数是什么,然后对应识别出他是什么。其中权重值是起到决定作用的,因此权重矩阵的各种数值起到的就是决定性的作用,偏执值只是起到了一个微调的作用。

第一行×第一列,+猫这类的偏置值,得到了猫的得分

以此类推,得到剩下两个类的得分。

我们得到这个各个块的值所用到的算法就是梯度向量算法(Gradient Descent,简称GD),这是深度学习的核心之一。(详情可以自行搜索,我认为这个算法是必须了解和掌握的)

但是很明显,可以看到,这里得到的结果中狗的分数最高,所以错误的识别成狗了。

这里展示了损失函数,+1中的1相当于delta,相当于代表一个容忍度,如果容忍度的值越高,那么所需要做到的正确的值与其他值作差,如果作差的值全大于这个delta,那么就代表损失值为0,如果

作差的值小与delta,比如我给的delta是10,猫得分13,汽车得分8,作差是5,那么5<10.此时是有损失的 ,我们需要用一套损失函数来计算对应的LOSS值。

权重参数设置不同可能会导致过拟合,因此调整权重参数的比值非常重要。

损失函数=数据损失+正则化惩罚项

softmax分类器,这种分类方法可以用来放大差异化,比如说本来差异没这么大,我们如何放大这个差异呢?那就可以用到exp,也就是e的指数幂的操作,让数值的差异更加大,这种操作的好处就是能够放大差异,然后我们使用Log函数再归一化的处理,可以发现我们需要做到的就是让数值越来越趋近于1,趋近于1的时候LOSS的值越小,等于1的时候为0。

这里完成的内容就是前向传播。

有了x和w,如何得出损失,完成这一系列的过程叫做前向传播。

反向传播的内容:基于我的损失值,(损失值高说明w不好),往山谷下走,利用梯度下降改善w值。

豆包中关于这俩内容更细致的描述:

反向传播过程中需要逐层求偏导,利用偏导的梯度值X自身的梯度值

在运算的过程中,w1,w2,w3的好坏决定了输出结果的好坏。

理论情况下神经元越多效果越好,但是不得不需要考虑的就是过拟合的问题。

Sigmoid函数可能会有梯度消失的现象,比如某地方梯度为0,那么传播到后面的梯度都是0,也就是不会进行更新了。

Relu函数(当今百分之90都在用的函数),不会发生梯度消失的现象。

DROP-OUT训练方法,为了避免过拟合的现象,我们训练的时候会让网络不那么强大,因此在训练的时候会选择部分神经元进行训练,每次训练随机选中一定个数的神经元抛弃不进行训练,可以一定程度避免过拟合现象。

理论篇到底为止,然后就是实战篇。


http://www.kler.cn/a/554486.html

相关文章:

  • 工控自动化领域:数字量信号与模拟量信号的差异解析
  • 2024华为OD机试真题-恢复数字序列(C++/Java/Python)-E卷-100分
  • 深入理解 Rust 中的 `Box<T>`:堆上的数据与递归类型
  • Grok 3 官宣免费使用
  • 2025鸿蒙开发面试题汇总——通俗易懂
  • leetcode刷题第十三天——二叉树Ⅳ
  • ARM SOC 架构系统M系、R系、A系
  • Git使用[同一电脑多个账户ssh-key的管理]
  • 【Elasticsearch】如何获取一致的评分
  • 深入理解Zookeeper:分布式系统的协调者
  • 设计模式-Java
  • docker进阶02
  • 《AI大模型专家之路》No.1 如何利用一个小巧的语料库训练并生成一个AI大模型
  • 编写dockercompose脚本,管理redis,activemq,mysql5.7
  • 第3章 3.2 配置系统 .NET Core配置系统
  • JavaScript 性能优化进阶:CPU、内存、I/O 与 V8 优化
  • 基于Java EE“陕西农特产品”网络交易平台设计与实现(源码+文档)
  • [算法学习笔记]1. 枚举与暴力
  • 第7章:在LangChain中如何调用函数Tools (Function Calling)
  • CD3.【C++ Dev】头文件、缺省参数