diff --git "a/Textbook/\347\254\2544\347\253\240-\347\237\251\351\230\265\350\277\220\347\256\227\344\270\216\350\256\241\347\256\227\346\234\272\344\275\223\347\263\273\347\273\223\346\236\204/4.1-\346\267\261\345\272\246\345\255\246\344\271\240\347\232\204\350\256\241\347\256\227\346\250\241\345\274\217.md" "b/Textbook/\347\254\2544\347\253\240-\347\237\251\351\230\265\350\277\220\347\256\227\344\270\216\350\256\241\347\256\227\346\234\272\344\275\223\347\263\273\347\273\223\346\236\204/4.1-\346\267\261\345\272\246\345\255\246\344\271\240\347\232\204\350\256\241\347\256\227\346\250\241\345\274\217.md" index 16f710ba..cc3eda6e 100644 --- "a/Textbook/\347\254\2544\347\253\240-\347\237\251\351\230\265\350\277\220\347\256\227\344\270\216\350\256\241\347\256\227\346\234\272\344\275\223\347\263\273\347\273\223\346\236\204/4.1-\346\267\261\345\272\246\345\255\246\344\271\240\347\232\204\350\256\241\347\256\227\346\250\241\345\274\217.md" +++ "b/Textbook/\347\254\2544\347\253\240-\347\237\251\351\230\265\350\277\220\347\256\227\344\270\216\350\256\241\347\256\227\346\234\272\344\275\223\347\263\273\347\273\223\346\236\204/4.1-\346\267\261\345\272\246\345\255\246\344\271\240\347\232\204\350\256\241\347\256\227\346\250\241\345\274\217.md" @@ -50,7 +50,7 @@ $. 为了高效的计算上述过程,卷积层的计算可以通过对输入矩阵的重组而等价变化成一个矩阵相乘的形式,即通过将滤波器滑动窗口对应的每一个输入子矩阵作为新的矩阵的一列,也就是img2col的方法。图4-1-2的右图所示就是对应左图的卷积层通过对输入矩阵重组后的矩阵乘的形式。通过这样的变化,卷积层的计算就可以高效的利用到不同硬件平台上的矩阵加速库了。值得注意的是,这样的矩阵实现在实际中并不一定是最高效的,因为重组的输入矩阵的元素个数比原始矩阵变多了,也就意味着计算过程中要读取更多的数据,同时重组的过程也会引入一次内存复制的开销。为了优化后者,一种隐式矩阵乘法的实现就是在计算过程中在高级存储层中重组矩阵,从而减少对低级内存的访问量。 ``` -思考:请计算一下通过将卷积算子变化成矩阵乘法后,需要要读取的数据量和卷积算子的形状之前的关系,并思考一下,隐式矩阵乘法是如何减少数据访问量的。 +思考:请计算一下通过将卷积算子变化成矩阵乘法后,需要读取的数据量和卷积算子的形状之前的关系,并思考一下,隐式矩阵乘法是如何减少数据访问量的。 ``` @@ -65,7 +65,7 @@ $.