从0开始学习计算机视觉--Day07--神经网络

当我们输入的变量是一个比较大的向量(比如有4096项),函数是求返回输入的最大值,要求的权重矩阵的梯度就是4096 * 4096的大小,而实际上我们的输入往往都不只有一个向量,那如果向量有一百个的话,是否就意味着要求的矩阵达到了409600 * 409600的大小呢?其实不然,从梯度里求偏导的角度出发,求的第一个值的自变量实际上是输出的第一个元素(即最大的那个元素),其他的元素都算做无关变量,可以当做是常数来对待,所以在实际的应用中的计算量依然只是4096 * 4096的计算量,也就是只需要写出每个元素的偏导即可。

神经网络

简单来说,神经网络是由简单函数构成的一组函数,只是以层次化的方式将他们堆叠起来,从俄日选哪个策划那个一个更复杂的非线性函数。以之前的分类函数为例,第一层是,第二层是

我们在第一层根据输入的向量,得到了这张图片在各个类别的初始得分,然后通过第二个我们根据梯度下降得到的权重矩阵加权后,选择各个类别中最大的得分作为输出,从而判断输入图片的类别。这里只有简单的两层,在实际应用中可以根据需求堆叠多层网络去迭代、优化输出值。

从概念上来理解就是,我们想对一张图片进行识别分类,为了让模型可以理解它,用第一层线性层对图片的数据进行降维,变成了向量,在第二层非线性层用激活函数(在这个例子里是max函数)来对值进行变换,使得整体函数形式变为任意的目标函数,例子中这种我们叫做单隐藏层神经网络(在实际应用中我们通常比较关注的是有多少层隐藏层,而不是做了多少次矩阵乘法,即多少个线性层或全连接层)

学习来自斯坦福教程:Stanford University CS231n: Deep Learning for Computer Vision

相关推荐
做cv的小昊18 分钟前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论
星恒随风19 分钟前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
硅谷秋水1 小时前
HumanEgo:基于人类第一人称视角数分钟视频的零样本机器人学习
人工智能·机器学习·计算机视觉·机器人
gis分享者2 小时前
OpenCV 新手入门与实战部署指南
人工智能·opencv·计算机视觉
sensen_kiss2 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.8 软件测试 (Software Testing)(上)
学习·软件工程
力学与人工智能2 小时前
PPT分享 | 洛桑联邦理工学院魏震:深度几何学习在工业设计优化中的应用
学习·优化·工业设计·深度几何学习·洛桑联邦理工学院
OpenBayes贝式计算2 小时前
教程上新丨16GB 笔记本跑出接近 26B MoE 性能,Gemma 4 12B 基于创新架构统一处理文本 / 图像 / 声音三种模态
计算机视觉·google·agent
湘美书院--湘美谈教育3 小时前
湘美谈教育AI系列经验集锦:赋能整理聊斋志异大寓言
大数据·人工智能·深度学习·神经网络·机器学习
sensen_kiss4 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.9 软件测试 (Software Testing)(下)
学习·软件工程
双翌视觉4 小时前
工业AI视觉检测中的“小样本困境”
人工智能·计算机视觉·视觉检测