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

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

神经网络

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

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

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

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

相关推荐
-dzk-2 小时前
【3DGS复现】Autodl服务器复现3DGS《简单快速》《一次成功》《新手练习复现必备》
运维·服务器·python·计算机视觉·3d·三维重建·三维
七芒星20233 小时前
多目标识别YOLO :YOLOV3 原理
图像处理·人工智能·yolo·计算机视觉·目标跟踪·分类·聚类
今天只学一颗糖3 小时前
Linux学习笔记--insmod 命令
linux·笔记·学习
charlie1145141913 小时前
精读C++20设计模式:行为型设计模式:中介者模式
c++·学习·设计模式·c++20·中介者模式
楼田莉子3 小时前
Qt开发学习——QtCreator深度介绍/程序运行/开发规范/对象树
开发语言·前端·c++·qt·学习
Learn Beyond Limits3 小时前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达
byzy3 小时前
【论文笔记】VisionPAD: A Vision-Centric Pre-training Paradigm for Autonomous Driving
论文阅读·深度学习·计算机视觉·自动驾驶
ACERT3334 小时前
5.吴恩达机器学习—神经网络的基本使用
人工智能·python·神经网络·机器学习
Le1Yu4 小时前
2025-10-7学习笔记
java·笔记·学习
im_AMBER4 小时前
Web 开发 21
前端·学习