mask矩阵是一个由0和1组成的矩阵。一个例子是,在自然语言处理(NLP)中,句子的长度是不等长的,但因为我们经常将句子组成mini-batch用以训练,因此那些长度较短的句子都会在句尾进行填充0,也即padding的操作。一个mask矩阵即用以指示哪些是真正的数据,哪些是padding。
为什么要使用mask矩阵?使用mask矩阵是为了让那些被mask掉的tensor不会被更新。考虑一个tensor T的size(a,b),同样大小的mask矩阵M,相乘后,在反向回传的时候在T对应mask为0的地方,0的梯度仍为0。因此不会被更新。
矩阵的掩膜操作根据掩膜重新计算每个像素的像素值
1、掩膜的定义
用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。光学图像处理中,掩模可以是胶片、滤光片等。数字图像处理中,掩模为二维矩阵数组,有时也用多值图像。
数字图像处理中,图像掩模主要用于:
- 提取感兴趣区,用预先制作的感兴趣区掩模与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0。
- 掩膜是一种图像滤镜的模板,实用掩膜经常处理的是遥感图像。当提取道路或者河流,或者房屋时,通过一个n*n的矩阵来对图像进行像素过滤,然后将我们需要的地物或者标志突出显示出来。这个矩阵就是一种掩膜。
- 屏蔽作用,用掩模对图像上某些区域作屏蔽,使其不参加处理或不参加处理参数的计算,或仅对屏蔽区作处理或统计。
- 结构特征提取,用相似性变量或图像匹配方法检测和提取图像中与掩模相似的结构特征。
- 特殊形状图像的制作。
- 实现图像对比度调整