@@ -24,7 +24,7 @@ math: true
2424
2525### K-近邻算法(KNN)
2626
27- ![ KnnClassification.svg ] ( ../assets/img/deep-learning-note-caolvchong_assets/KNN.png )
27+ ![ KnnClassification] ( ../assets/img/deep-learning-note-caolvchong_assets/KNN.png )
2828
2929k近邻算法,也称为KNN 或k-NN,是** 一种非参数、有监督的学习分类器,KNN 使用邻近度对单个数据点的分组进行分类或预测** 。 虽然k近邻算法(KNN) 可以用于回归或分类问题,但它通常用作分类算法,假设可以在彼此附近找到相似点。 对于分类问题,** 根据多数票分配类别标签** ,也就是使用在给定数据点周围最常表示的标签。
3030
8989 \$ $
9090 \text{MSE} = \frac{1}{n} \sum_ {i=1}^{n} (y_i - \hat{y}_ i)^2
9191 $$
92- 其中,\$$ y_i $$ 是实际值,\$$ \hat{y}_i $$ 是预测值。
92+
93+ 其中,$$ y_i $$ 是实际值,$$ \hat{y}_i $$ 是预测值。
9394
9495- **交叉熵损失 (Cross-Entropy Loss)**:用于分类任务,公式为:
9596 \ $$
9697 \text{Cross-Entropy} = -\sum_ {i=1}^{n} y_i \log(\hat{y}_ i)
9798 $$
98- 其中,\$$ y_i $$ 是实际类别的指示函数,\$$ \hat{y}_i $$ 是预测的概率值。
99+
100+ 其中,$$ y_i $$ 是实际类别的指示函数,$$ \hat{y}_i $$ 是预测的概率值。
99101
100102#### 5. 反向传播 (Backpropagation)
101103
@@ -134,15 +136,19 @@ W = 0.01 * np.random.randn(D, H)
134136Dropouts can be used with most types of neural networks. It is a great tool to reduce overfitting in a model. It is far better than the available regularisation methods and can also be combined with max-norm normalisation which provides a significant boost over just using dropout.
135137Dropout 可用于大多数类型的神经网络。它是减少模型过度拟合的好工具。它比可用的正则化方法要好得多,并且还可以与最大范数归一化相结合,这比仅使用 dropout 提供了显着的提升。
136138
137- **Ref:** https://towardsdatascience.com/dropout-in-neural-networks-47a162d621d9
139+ **Ref:** [ https://towardsdatascience.com/dropout-in-neural-networks-47a162d621d9](https://towardsdatascience.com/dropout-in-neural-networks-47a162d621d9)
138140
139141### 线性函数(得分函数)
140142
141143从输入到输出的映射。
142144
143145
144146
145- $$ x $$: image,行数代表特征数量 $$ W $$: parameter,每行代表一个类别,列与 $$ x $$ 相同 $$ b $$: 偏置,微调对象
147+ $$ x $$: image,行数代表特征数量
148+
149+ $$ W $$: parameter,每行代表一个类别,列与 $$ x $$ 相同
150+
151+ $$ b $$: 偏置,微调对象
146152
147153函数结果为 $$ 10 \times 1 $$ 矩阵,每个元素代表一个类别的得分。
148154
@@ -337,8 +343,10 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
337343##### 定义
338344
3393451. **卷积核的结构**:
340- - 卷积核通常是一个小的矩阵,比如 \(\$$3 \times 3$$\), \(\$$5 \times 5$$\) 或者 \(\$$7 \times 7$$\) 等。对于彩色图像,卷积核的深度与输入图像的通道数相同(例如,对于RGB图像,深度为\$$3$$)。
341- - 例如,一个 \(\$$3 \times 3$$\) 的卷积核在RGB图像上的形状是 \(\$$3 \times 3 \times 3$$\)。
346+
347+ 卷积核通常是一个小的矩阵,比如 \($$3 \times 3$$\), \($$5 \times 5$$\) 或者 \($$7 \times 7$$\) 等。对于彩色图像,卷积核的深度与输入图像的通道数相同(例如,对于RGB图像,深度为$$3$$)。
348+
349+ 例如,一个 \($$3 \times 3$$\) 的卷积核在RGB图像上的形状是 \($$3 \times 3 \times 3$$\)。
342350
3433512. **卷积操作**:
344352 - 卷积核在输入数据上滑动(也称为卷积),在每个位置上与输入数据的对应区域进行逐元素相乘,然后求和,得到一个单一值,这个过程称为点积(Dot Product)。
@@ -368,7 +376,6 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
3683763. **提高泛化能力**:
369377 - 由于参数共享,卷积核能够捕捉到输入图像的局部特征,这些特征在图像的不同位置具有相似性,从而提高了模型的泛化能力。
370378
371- > [!TIP]
372379>
373380> 假设输入图像是一个 \($$5 \times 5$$\) 的灰度图像(单通道),卷积核是一个 \($$3 \times 3$$\) 的矩阵。以下是一个具体的卷积操作例子:
374381>
@@ -416,12 +423,12 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
416423> $$
417424>
418425> 通过在输入图像上重复这个过程,可以生成一个输出特征图。
426+ {: .prompt-tip }
419427
420428##### 区分卷积核的个数与深度
421429
422- > [!CAUTION]
423- >
424430> 卷积核的数目和输入数据的层数不一定相同。这里需要区分的是卷积核的**数目**和卷积核的**深度**。卷积核的数目是指一个卷积层中使用的不同卷积核的数量,而卷积核的深度是指每个卷积核在处理输入数据时所涉及的通道数。
431+ {: .prompt-tip }
425432
426433在卷积神经网络中,卷积核的数目和输入数据的层数(通道数)不是相同的概念:
427434
@@ -447,9 +454,9 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
447454
448455卷积神经网络通过一系列卷积层、激活函数和池化层的操作,逐步提取输入数据的特征,并生成特征图。**特征图是卷积操作后的结果,包含了输入数据中被滤波器检测到的特征**。通过多层特征图的传递和处理,CNN能够从原始输入数据中提取出有用的特征,并完成各种任务如图像分类、目标检测等。特征图在CNN中起到了信息传递和特征表示的重要作用,是理解和设计卷积神经网络的核心概念之一。
449456
450- > [!NOTE]
451- >
457+
452458> 如果在卷积层中使用多个滤波器(filters),每个滤波器会生成一个特征图。因此,一个卷积层会产生多个特征图,这些特征图堆叠在一起形成该层的输出。
459+ {: .prompt-tip }
453460
454461
455462
@@ -498,23 +505,22 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
498505
499506#### 卷积层参数
500507
501- > [!IMPORTANT]
502- >
503508> - **滑动窗口步长**:影响特征图的尺寸和计算成本。较大的步长减少特征图尺寸,较小的步长保留更多细节。
504509> - **卷积核尺寸**:决定每次卷积操作的覆盖区域。较小的卷积核捕捉细节,较大的卷积核捕捉全局特征。
505510> - **边缘填充**:控制特征图尺寸和边缘信息的处理。填充可以使特征图尺寸与输入相同或更接近。
506511> - **卷积核个数**:决定输出特征图的深度。更多的卷积核提取更多样化的特征,提高模型的表示能力。
512+ {: .prompt-info }
507513
508514##### 1. 滑动窗口步长(Stride)
509515
510516
511517
512518步长是卷积核在输入数据上滑动时每次移动的像素数。步长可以是水平和垂直方向上的不同值,通常为一个标量(如 1, 2 等)或一个元组(如 (2, 2) 表示在两个方向上都移动 2 个像素)。
513519
514- > [!TIP]
515- >
516- > - 如果输入图像的尺寸为 \ $$ 32 \times 32 $$,卷积核尺寸为 \$$ 3 \times 3 $$,没有填充且步长为 \$$ 1 $$, 则输出特征图的尺寸为 \ $$ 30 \times 30 $$
517- > - 若步长为 \$ $ 2 $$ ,则输出特征图的尺寸为 \ $$ 15 \times 15 $$。
520+ > 如果输入图像的尺寸为 $$ 32 \times 32 $$,卷积核尺寸为 $$ 3 \times 3 $$,没有填充且步长为 $$ 1 $$,则输出特征图的尺寸为 $$ 30 \times 30 $$
521+ >
522+ > 若步长为 $$ 2 $$ ,则输出特征图的尺寸为 $$ 15 \times 15 $$ 。
523+ {: .prompt-tip }
518524
519525** 作用**
520526
@@ -526,23 +532,21 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
526532
527533卷积核的尺寸是一个表示卷积核高度和宽度的标量或元组(如 $$ 3 \times 3 $$ , $$ 5 \times 5 $$ 等),深度省略是因为卷积核的深度必须与输入数据的层数(即通道数)相同。
528534
529- > [ !TIP]
530- >
531535> 一个 $$ 3 \times 3 $$ 的卷积核在输入图像上进行卷积操作时,每次覆盖 $$ 3 $$ 行 $$ 3 $$ 列的像素区域。
536+ {: .prompt-tip }
532537
533538** 作用**
534539
535540- 卷积核的尺寸决定了每次卷积操作覆盖的输入区域大小。较大的卷积核能够捕捉更大的局部特征,但计算量也更大。
536541
537- - 不同的卷积核尺寸适用于不同类型的特征提取需求。例如,较小的卷积核(如 $$ 3 \times 3 $$ )常用于捕捉细节特征,而较大的卷积核(如 $$ 7 \times 7 $$ )则用于捕捉更全局的特征。
542+ - 不同的卷积核尺寸适用于不同类型的特征提取需求。例如,较小的卷积核如( $$ 3 \times 3 $$ )常用于捕捉细节特征,而较大的卷积核(如 $$ 7 \times 7 $$ )则用于捕捉更全局的特征。
538543
539544##### 3. 边缘填充(Padding)
540545
541546填充是在输入数据的边缘添加额外的像素。常见的填充方式有 "valid"(无填充)和 "same"(填充使得输出特征图尺寸与输入相同)。
542547
543- > [ !TIP]
544- >
545548> 对于 $$ 3 \times 3 $$ 的卷积核,输入图像尺寸为 $$ 32 \times 32 $$ ,若使用 "same" 填充(填充 1 像素),则输出特征图尺寸仍为 $$ 32 \times 32 $$ 。
549+ {: .prompt-tip }
546550
547551** 作用**
548552
@@ -554,9 +558,8 @@ Ref: [Introduce to Loss Function](https://www.datarobot.com/blog/introduction-to
554558
555559卷积核个数是指卷积层中使用的滤波器数量。每个滤波器生成一个特征图。
556560
557- > [ !TIP]
558- >
559- > 如果卷积层有 64 个 $$ 3 \times 3 $$ 的卷积核,输入图像尺寸为 $$ 32 \times 32 \times 3 $$ ,则输出特征图的尺寸为 $$ 32 \times 32 \times 64 $$ (假设步长为 $$ 1 $$ ,填充为 "same")。
561+ > 如果卷积层有 $$ 64 $$ 个 $$ 3 \times 3 $$ 的卷积核,输入图像尺寸为 $$ 32 \times 32 \times 3 $$ ,则输出特征图的尺寸为 $$ 32 \times 32 \times 64 $$ (假设步长为 $$ 1 $$ ,填充为 "same")。
562+ {: .prompt-tip }
560563
561564** 作用**
562565
586589
587590** 公式中的符号解释**
588591
589- - \( \$ $H$$ \) :输入图像的高度。
590- - \( \$ $W$$ \) :输入图像的宽度。
591- - \( \$ $D$$ \) :输入图像的深度(通道数)。
592- - \( \$ $K_H$$ \) :卷积核的高度。
593- - \( \$ $K_W$$ \) :卷积核的宽度。
594- - \( \$ $S_H$$ \) :垂直方向的步长。
595- - \( \$ $S_W$$ \) :水平方向的步长。
596- - \( \$ $P_H$$ \) :垂直方向的填充大小。
597- - \( \$ $P_W$$ \) :水平方向的填充大小。
598- - \( \$ $N$$ \) :卷积核的数量(即输出特征图的深度)。
599- - \( \$ $\left\lfloor x \right\rfloor$$ \) :表示对 \( x\) 进行下取整操作。
592+ $$ H $$ :输入图像的高度。
593+
594+ $$ W $$ :输入图像的宽度。
595+
596+ $$ D $$ :输入图像的深度(通道数)。
597+
598+ $$ K_H $$ :卷积核的高度。
599+
600+ $$ K_W $$ :卷积核的宽度。
601+
602+ $$ S_H $$ :垂直方向的步长。
603+
604+ $$ S_W $$ :水平方向的步长。
605+
606+ $$ P_H $$ :垂直方向的填充大小。
607+
608+ $$ P_W $$ :水平方向的填充大小。
609+
610+ $$ N $$ :卷积核的数量(即输出特征图的深度)。
611+
612+ $$ \left\lfloor x \right\rfloor $$ :表示对 \( x\) 进行下取整操作。
600613
601614> ### 例子
602615>
@@ -772,7 +785,7 @@ LeNet-5是由Yann LeCun等人于1998年提出的,用于手写数字识别。
772785
773786AlexNet由Alex Krizhevsky等人于2012年提出,在ILSVRC 2012竞赛中取得了巨大成功。其结构如下:
774787
775- ![ ] ( ../assets/img/deep-learning-note-caolvchong_assets/Comparison_image_neural_networks.svg )
788+ ![ alexnet ] ( ../assets/img/deep-learning-note-caolvchong_assets/Comparison_image_neural_networks.svg ) {: width="900" }
776789
7777901 . ** 输入层** :227x227x3的彩色图像
7787912 . ** 卷积层1** :96个11x11卷积核,步长为4,输出尺寸55x55x96
@@ -889,7 +902,7 @@ ResNet由He等人于2015年提出,以其残差连接(skip connections)而
889902
890903###### 残差块(Residual Block)
891904
892- ![ residual-block] ( ../assets/img/deep-learning-note-caolvchong_assets/residual-block.svg )
905+ ![ residual-block] ( ../assets/img/deep-learning-note-caolvchong_assets/residual-block.svg ) {: width="900" }
893906
894907残差块是ResNet的基本构建单元,包含一个或多个卷积层和一个直接的短路连接。具体来说,残差块的输出是输入的恒等映射与卷积层输出的相加。
895908
0 commit comments