随笔分类 -  神经网络

摘要:详解残差网络为什么有用? 为什么ResNets能有如此好的表现,来看个例子,它解释了其中的原因,至少可以说明,如何构建更深层次的ResNets网络的同时还不降低它们在训练集上的效率。通常来讲,网络在训练集上表现好,才能在Hold-Out交叉验证集或dev集和测试集上有好的表现,所以至少在训练集上训练 阅读全文
posted @ 2024-10-16 10:28 Oten 阅读(467) 评论(0) 推荐(0)
摘要:详解残差网络 ResNets是由残差块(Residual block)构建的,首先解释一下什么是残差块。 这是一个两层神经网络,在\(L\)层进行激活,得到\(a^{\left\lbrack l + 1 \right\rbrack}\),再次进行激活,两层之后得到\(a^{\left\lbrack 阅读全文
posted @ 2024-10-15 10:43 Oten 阅读(3229) 评论(0) 推荐(0)
摘要:详解经典网络 首先看看LeNet-5的网络结构,假设有一张32×32×1的图片,LeNet-5可以识别图中的手写数字,比如像这样手写数字7。LeNet-5是针对灰度图片训练的,所以图片的大小只有32×32×1。实际上LeNet-5的结构和上篇博客的最后一个范例非常相似,使用6个5×5的过滤器,步幅为 阅读全文
posted @ 2024-10-12 10:42 Oten 阅读(427) 评论(0) 推荐(0)
摘要:详解为什么使用卷积? 来分析一下卷积在神经网络中如此受用的原因,然后对如何整合这些卷积,如何通过一个标注过的训练集训练卷积神经网络做个简单概括。和只用全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接,举例说明一下。 假设有一张32×32×3维度的图片,假设用了6个大小为5×5的过滤器,输出维 阅读全文
posted @ 2024-09-25 09:51 Oten 阅读(610) 评论(0) 推荐(1)
摘要:详解卷积神经网络示例 假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,想做手写体数字识别。32×32×3的RGB图片中含有某个数字,比如7,想识别它是从0-9这10个数字中的哪一个,构建一个神经网络来实现这个功能。 用的这个网络模型和经典网络LeNet-5非常相似,灵感也来源于 阅读全文
posted @ 2024-09-05 10:48 Oten 阅读(652) 评论(0) 推荐(0)
摘要:详解池化层 除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,来看一下。 先举一个池化层的例子,然后再讨论池化层的必要性。假如输入是一个4×4矩阵,用到的池化类型是最大池化(max pooling)。执行最大池化的树池是一个2×2矩阵。执行过程非常简单, 阅读全文
posted @ 2024-09-04 10:07 Oten 阅读(4456) 评论(0) 推荐(1)
摘要:详解单层卷积网络 如何构建卷积神经网络的卷积层,下面来看个例子。 已经写了如何通过两个过滤器卷积处理一个三维图像,并输出两个不同的4×4矩阵。假设使用第一个过滤器进行卷积,得到第一个4×4矩阵。使用第二个过滤器进行卷积得到另外一个4×4矩阵。 最终各自形成一个卷积神经网络层,然后增加偏差,它是一个实 阅读全文
posted @ 2024-08-20 12:30 Oten 阅读(327) 评论(0) 推荐(0)
摘要:详解三维卷积 从一个例子开始,假如说不仅想检测灰度图像的特征,也想检测RGB彩色图像的特征。彩色图像如果是6×6×3,这里的3指的是三个颜色通道,可以把它想象成三个6×6图像的堆叠。为了检测图像的边缘或者其他的特征,不是把它跟原来的3×3的过滤器做卷积,而是跟一个三维的过滤器,它的维度是3×3×3, 阅读全文
posted @ 2024-08-15 10:02 Oten 阅读(4105) 评论(0) 推荐(0)
摘要:详解卷积步长 卷积中的步幅是另一个构建卷积神经网络的基本操作,让向展示一个例子。 如果想用3×3的过滤器卷积这个7×7的图像,和之前不同的是,把步幅设置成了2。还和之前一样取左上方的3×3区域的元素的乘积,再加起来,最后结果为91。 只是之前移动蓝框的步长是1,现在移动的步长是2,让过滤器跳过2个步 阅读全文
posted @ 2024-08-14 09:58 Oten 阅读(2206) 评论(0) 推荐(0)
摘要:详解Padding 为了构建深度神经网络,需要学会使用的一个基本的卷积操作就是padding,让来看看它是如何工作的。 如果用一个3×3的过滤器卷积一个6×6的图像,最后会得到一个4×4的输出,也就是一个4×4矩阵。那是因为3×3过滤器在6×6矩阵中,只可能有4×4种可能的位置。这背后的数学解释是, 阅读全文
posted @ 2024-08-13 09:55 Oten 阅读(2217) 评论(1) 推荐(1)
摘要:详解更多边缘检测内容 已经见识到用卷积运算实现垂直边缘检测,在本博客中,将看到如何区分正边和负边,这实际就是由亮到暗与由暗到亮的区别,也就是边缘的过渡。还能了解到其他类型的边缘检测以及如何去实现这些算法,而不要总想着去自己编写一个边缘检测程序。 这张6×6的图片,左边较亮,而右边较暗,将它与垂直边缘 阅读全文
posted @ 2024-08-08 09:49 Oten 阅读(433) 评论(0) 推荐(0)
摘要:详解边缘检测示例 卷积运算是卷积神经网络最基本的组成部分,使用边缘检测作为入门样例。在这个博客中,会看到卷积是如何进行运算的。 在之前的博客中,说过神经网络的前几层是如何检测边缘的,然后,后面的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体,这个例子中就是人脸。在这个博客中,会看到 阅读全文
posted @ 2024-08-07 09:45 Oten 阅读(803) 评论(0) 推荐(0)
摘要:详解计算机视觉 计算机视觉是一个飞速发展的一个领域,这多亏了深度学习。深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们。还使得人脸识别技术变得更加效率和精准,即将能够体验到或早已体验过仅仅通过刷脸就能解锁手机或者门锁。当解锁了手机,猜手机上一定有很多分享图片的应用。在上面, 阅读全文
posted @ 2024-07-31 10:08 Oten 阅读(229) 评论(0) 推荐(0)
摘要:TensorFlow 先提一个启发性的问题,假设有一个损失函数\(J\)需要最小化,在本例中,将使用这个高度简化的损失函数,\(Jw= w^{2}-10w+25\),这就是损失函数,也许已经注意到该函数其实就是\({(w -5)}^{2}\),如果把这个二次方式子展开就得到了上面的表达式,所以使它最 阅读全文
posted @ 2024-02-22 10:21 Oten 阅读(328) 评论(0) 推荐(2)
摘要:深度学习框架 一小点作者内心os:24年春节已过完,从熟悉的地方又回到陌生的地方谋生,愿新的一年都得偿所愿,心想事成。 学到这会儿会发现,除非应用更复杂的模型,例如卷积神经网络,或者循环神经网络,或者当开始应用很大的模型,否则它就越来越不实用了,至少对大多数人而言,从零开始全部靠自己实现并不现实。 阅读全文
posted @ 2024-02-21 09:47 Oten 阅读(231) 评论(0) 推荐(0)
摘要:如何训练一个 Softmax 分类器 回忆一下之前举的的例子,输出层计算出的\(z^{[l]}\)如下,\(z^{[l]} = \begin{bmatrix} 5 \\ 2 \\ - 1 \\ 3 \\ \end{bmatrix}\)有四个分类\(C=4\),\(z^{[l]}\)可以是4×1维向量 阅读全文
posted @ 2024-02-05 09:53 Oten 阅读(319) 评论(0) 推荐(0)
摘要:Softmax 回归 有一种logistic回归的一般形式,叫做Softmax回归,能让在试图识别某一分类时做出预测,或者说是多种分类中的一个,不只是识别两个分类,来一起看一下。 假设不单需要识别猫,而是想识别猫,狗和小鸡,把猫加做类1,狗为类2,小鸡是类3,如果不属于以上任何一类,就分到“其它”或 阅读全文
posted @ 2024-02-04 09:49 Oten 阅读(1285) 评论(0) 推荐(0)
摘要:Batch归一化将的数据以mini-batch的形式逐一处理,但在测试时,可能需要对每个样本逐一处理,来看一下怎样调整的网络来做到这一点。 回想一下,在训练时,这些就是用来执行Batch归一化的等式。在一个mini-batch中,将mini-batch的\(z^{(i)}\)值求和,计算均值,所以这 阅读全文
posted @ 2024-02-02 09:53 Oten 阅读(473) 评论(0) 推荐(0)
摘要:Batch Norm 为什么奏效? 为什么Batch归一化会起作用呢? 一个原因是,已经看到如何归一化输入特征值\(x\),使其均值为0,方差1,它又是怎样加速学习的,有一些从0到1而不是从1到1000的特征值,通过归一化所有的输入特征值\(x\),以获得类似范围的值,可以加速学习。所以Batch归 阅读全文
posted @ 2024-02-01 10:05 Oten 阅读(425) 评论(0) 推荐(0)
摘要:将 Batch Norm 拟合进神经网络 假设有一个这样的神经网络,之前说过,可以认为每个单元负责计算两件事。第一,它先计算z,然后应用其到激活函数中再计算a,所以可以认为,每个圆圈代表着两步的计算过程。同样的,对于下一层而言,那就是\(z_{1}^{[2]}\)和\(a_{1}^{[2]}\)等。 阅读全文
posted @ 2024-01-31 13:56 Oten 阅读(117) 评论(0) 推荐(0)