范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

何为神经网络卷积层

  本文分享自华为云社区《神经网络基础部件-卷积层详解-云社区-华为云》,作者: 嵌入式视觉 。前言
  在全连接层构成的多层感知机网络中,我们要通过将图像数据展平成一维向量来送入模型,但这会忽略了每个图像的空间结构信息。理想的策略应该是要利用相近像素之间的相互关联性,将图像数据二维矩阵送给模型中学习。
  卷积神经网络(convolutional neural network,CNN  )正是一类强大的、专为处理图像数据(多维矩阵)而设计的神经网络,CNN   的设计是深度学习中的一个里程碑式的技术。在 Transformer   应用到 CV   领域之前,基于卷积神经网络架构的模型在计算机视觉领域中占主导地位,几乎所有的图像识别、目标检测、语义分割、3D目标检测、视频理解等任务都是以 CNN   方法为基础。
  卷积神经网络核心网络层是卷积层,其使用了卷积(convolution)这种数学运算,卷积是一种特殊的线性运算。另外,通常来说,卷积神经网络中用到的卷积运算和其他领域(例如工程领域以及纯数学领域)中的定义并不完全一致。一,卷积
  在理解卷积层之前,我们首先得理解什么是卷积操作。
  卷积与傅里叶变换有着密切的关系。例如两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,利用此一性质,能简化傅里叶分析中的许多问题。
  operation 视语境有时译作"操作",有时译作"运算",本文不做区分。 1.1,卷积运算定义
  为了给出卷积的定义, 这里从现实世界会用到函数的例子出发。
  假设我们正在用激光传感器追踪一艘宇宙飞船的位置。我们的激光传感器给出 一个单独的输出
  x(t),表示宇宙飞船在时刻t 的位置。x 和t 都是实值的,这意味着我们可以在任意时刻从传感器中读出飞船的位置。
  现在假设我们的传感器受到一定程度的噪声干扰。为了得到飞船位置的低噪声估计,我们对得到的测量结果进行平均。显然,时间上越近的测量结果越相关,所 以我们采用一种加权平均的方法,对于最近的测量结果赋予更高的权重。我们可以采用一个加权函数w(a) 来实现,其中a 表示测量结果距当前时刻的时间间隔。如果我们对任意时刻都采用这种加权平均的操作,就得到了一个新的对于飞船位置的平滑估计函数s :
  这种运算就叫做卷积(convolution  )。更一般的,卷积运算的数学公式定义如下:
  以上卷积计算公式可以这样理解:先对函数g(t) 进行反转(reverse  ),相当于在数轴上把g(t) 函数从右边褶到左边去,也就是卷积的"卷"的由来。然后再把g(t) 函数向左平移x 个单位,在这个位置对两个函数的对应点相乘,然后相加,这个过程是卷积的"积"的过程。1.2,卷积的意义
  对卷积这个名词,可以这样理解:所谓两个函数的卷积(f g),本质上就是先将一个函数翻转,然后进行滑动叠加。在连续情况下,叠加指的是对两个函数的乘积求积分,在离散情况下就是加权求和,为简单起见就统一称为叠加。
  因此,卷积运算整体来看就是这么一个过程:
  翻转—>滑动—>叠加—>滑动—>叠加—>滑动—>叠加…
  多次滑动得到的一系列叠加值,构成了卷积函数。
  这里多次滑动过程对应的是t 的变化过程。
  那么,卷积的意义是什么呢?可以从卷积的典型应用场景-图像处理来理解:为什么要进行"卷"?进行"卷"(翻转)的目的其实是施加一种约束,它指定了在"积"的时候以什么为参照。在空间分析的场景,它指定了在哪个位置的周边进行累积处理。在图像处理的中,卷积处理的结果,其实就是把每个像素周边的,甚至是整个图像的像素都考虑进来,对当前像素进行某种加权处理。因此,"积"是全局概念,或者说是一种"混合",把两个函数进行时间(信号分析)或空间(图像处理)上进行混合。
  卷积意义的理解来自知乎问答,有所删减和优化。 1.3,从实例理解卷积
  一维卷积的实例有 "丢骰子" 等经典实例,这里不做展开描述,本文从二维卷积用于图像处理的实例来理解。
  一般,数字图像可以表示为如下所示矩阵:
  而卷积核g 也可以用一个矩阵来表示,如:
  按照卷积公式的定义,则目标图片的第(u,v) 个像素的二维卷积值为:
  展开来分析二维卷积计算过程就是,首先得到原始图像矩阵中(u,v) 处的矩阵:
  然后将图像处理矩阵翻转(两种方法,结果等效),如先沿x 轴翻转,再沿y 轴翻转(相当于将矩阵g 旋转 180 度):
  最后,计算卷积时,就可以用f 和g′ 的内积:
  计算过程可视化如下动图所示,注意动图给出的是g 不是g′。
  以上公式有一个特点,做乘法的两个对应变量a,b 的下标之和都是(u,v),其目的是对这种加权求和进行一种约束,这也是要将矩阵g 进行翻转的原因。上述计算比较麻烦,实际计算的时候,都是用翻转以后的矩阵,直接求矩阵内积就可以了。1.4,图像卷积(二维卷积)
  在机器学习和图像处理领域,卷积的主要功能是在一个图像(或某种特征) 上滑动一个卷积核(即滤波器),通过卷积操作得到一组新的特征。一幅图像在经过卷积操作后得到结果称为特征映射(Feature Map  )。如果把图像矩阵简写为I,把卷积核 Kernal   简写为K,则目标图片的第(i,j) 个像素的卷积值为:
  可以看出,这和一维情况下的卷积公式 2 是一致的。因为卷积的可交换性,我们也可以把公式 3 等价地写作:
  通常,下面的公式在机器学习库中实现更为简单,因为m 和n 的有效取值范围相对较小。
  卷积运算可交换性的出现是因为我们将核相对输入进行了翻转(flip  ),从m 增 大的角度来看,输入的索引在增大,但是卷积核的索引在减小。我们将卷积核翻转的唯一目 的是实现可交换性。尽管可交换性在证明时很有用,但在神经网络的应用中却不是一个重要的性质。相反,许多神经网络库会实现一个互相关函数(corresponding function  ),它与卷积相同但没有翻转核:
  互相关函数的运算,是两个序列滑动相乘,两个序列都不翻转。卷积运算也是滑动相乘,但是其中一个序列需要先翻转,再相乘。1.5,互相关和卷积
  互相关和卷积运算的关系,可以通过下述公式理解:
  其中  表示互相关运算,  表示卷积运算,rot180( ) 表示旋转 180   度,Y 为输出矩阵。从上式可以看出,互相关和卷积的区别仅仅在于卷积核是否进行翻转。因此互相关也可以称为不翻转卷积.
  离散卷积可以看作矩阵的乘法,然而,这个矩阵的一些元素被限制为必须和另外一些元素相等。
  在神经网络中使用卷积是为了进行特征抽取,卷积核是否进行翻转和其特征抽取的能力无关(特别是当卷积核是可学习的参数时),因此卷积和互相关在能力上是等价的。事实上,很多深度学习工具中卷积操作其实都是互相关操作,用来减少一些不必要的操作或开销(不反转 Kernal)。
  总的来说,我们实现的卷积操作不是原始数学含义的卷积,而是工程上的卷积,但一般也简称为卷积。在实现卷积操作时,并不会反转卷积核。二,卷积层
  在传统图像处理中, 线性空间滤波 的原理实质上是指指图像f 与滤波器核w 进行乘积之和( 卷积 )运算。核是一个矩阵,其大小定义了运算的邻域,其系数决定了该滤波器(也称模板、窗口滤波器)的性质,并通过设计不同核系数(卷积核)来实现低通滤波(平滑)和高通滤波(锐化)功能,因此我们可以认为卷积是利用某些设计好的参数组合(卷积核)去提取图像空域上相邻的信息。 2.1,卷积层定义
  在全连接前馈神经网络中,如果第l 层有Ml 个神经元,第l 1 层有Ml 1  个 神经元,连接边有Ml Ml 1  个,也就是权重矩阵有Ml Ml 1  个参数。当Ml  和Ml 1  都很大时,权重矩阵的参数就会非常多,训练的效率也会非常低。
  如果采用卷积来代替全连接,第l 层的净输入z(l) 为第l 1 层激活值a(l 1) 和滤波器w(l) RK 的卷积,即
  其中b(l) R 为可学习的偏置。上述卷积层公式也可以写成这样的形式:
  Z=W A+b
  根据卷积层的定义,卷积层有两个很重要的性质:2.1.1,局部连接
  局部连接:在卷积层(假设是第l 层)中的每一个神经元都只和下一层(第l 1 层)中某个局部窗口内的神经元相连,构成一个局部连接网络。其实可能表达为稀疏交互更直观点,传统的网络层是全连接的,使用矩阵乘法来建立输入与输出的连接关系。矩阵的每个参数都是独立的,它描述了每个输入单元与输出单元的交互。这意味着每个输出单元与所有的输入单元都产生关联。而卷积层通过使用卷积核矩阵来实现稀疏交互(也称作稀疏连接,或者稀疏权重),每个输出单元仅仅与特定的输入神经元(其实是指定通道的 feature map  )产生关联。
  下图显示了全连接层和卷积层的每个输入单元影响的输出单元比较:
  对于传统全连接层,每个输入单元影响了所有的输出单元。对于卷积层,每个输入单元只影响了3个输出单元(核尺寸为3时)。2.1.2,权重共享
  权重共享:卷积层中,同一个核会在输入的不同区域做卷积运算。全连接层和卷积层的权重参数比较如下图:
  对于传统全连接层:x3 s3  的权重w3,3  只使用了一次 。对于卷积层:x3 s3  的权重w3,3  被共享到xi si ,i=12,4,5。
  全连接层和卷积层的可视化对比如下图所示:
  总结:一个滤波器(3维卷积核)只捕捉输入数据中的一种特定的局部特征。为了提高卷积网络的表示能力,可以在每一层使用多个不同的特征映射,即增加滤波器的数量,以更好地提取图像的特征。2.2,卷积层理解
  前面章节内容中,卷积的输出形状只取决于输入形状和卷积核的形状。而神经网络中的卷积层,在卷积的标准定义基础上,还引入了卷积核的滑动步长和零填充来增加卷积的多样性,从而可以更灵活地进行特征抽取。步长(Stride):指卷积核每次滑动的距离零填充(Zero Padding):在输入图像的边界填充元素(通常填充元素是0)
  卷积层定义:每个卷积核(Kernel  )在输入矩阵上滑动,并通过下述过程实现卷积计算:在来自卷积核的元素和输入特征图子矩阵的元素之间进行乘法以获得输出感受野。然后将相乘的值与添加的偏差相加以获得输出矩阵中的值。
  卷积层数值计算过程可视化如下图 1 所示:
  图片来源论文 Improvement of Damage Segmentation Based on Pixel-Level Data Balance Using VGG-Unet。
  注意,卷积层的输出 Feature map   的大小取决于输入的大小、Pad 数、卷积核大小和步长。在 Pytorch   框架中,图片(feature map  )经卷积 Conv2D   后输出大小计算公式如下:⌊N=SW F+2P +1⌋。
  其中⌊⌋ 是向下取整符号,用于结果不是整数时进行向下取整(Pytorch   的 Conv2d   卷积函数的默认参数 ceil_mode = False  ,即默认向下取整, dilation = 1  ),其他符号解释如下:输入图片大小 W W  (默认输入尺寸为正方形)Filter   大小 F F  步长 S  padding的像素数 P  输出特征图大小 N N
  上图1侧重于解释数值计算过程,而下图2则侧重于解释卷积层的五个核心概念的关系:输入 Input Channel卷积核组 WeightsBias过滤器 Filter卷积核 kernal输出 Feature Map
  上图是三通道经过两组过滤器的卷积过程,在这个例子中,输入是三维数据3 32 32,经过权重参数尺寸为2 3 5 5 的卷积层后,输出为三维2 28 28,维数并没有变化,只是每一维内部的尺寸有了变化,一般都是要向更小的尺寸变化,以便于简化计算。
  假设三维卷积(也叫滤波器)尺寸为(cin ,k,k),一共有cout  个滤波器,即卷积层参数尺寸为(cout ,cin ,k,k) ,则标准卷积层有以下特点:输出的 feature map   的数量等于滤波器数量cout ,即卷积层参数值确定后,feature map 的数量也确定,而不是根据前向计算自动计算出来;对于每个输出,都有一个对应的过滤器 Filter,图例中 Feature Map-1 对应 Filter-1;每个 Filter 内都有一个或多个卷积核 Kernal,对应每个输入通道(Input Channel),图例为 3,对应输入的红绿蓝三个通道;每个 Filter 只有一个 Bias 值,图例中 Filter-1 对应 b1;卷积核 Kernal 的大小一般是奇数如:1 1,3 3。
  注意,以上内容都描述的是标准卷积,随着技术的发展,后续陆续提出了分组卷积、深度可分离卷积、空洞卷积等。详情可参考我之前的文章-MobileNetv1论文详解。2.3,卷积层 api
  Pytorch   框架中对应的卷积层 api 如下:class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
  主要参数解释:in_channels  (int  ) – 输入信号的通道。out_channels  (int  ) – 卷积产生的通道。kerner_size  (int or tuple  ) - 卷积核的尺寸。stride  (int or tuple  , optional  ) - 卷积步长,默认值为 1   。padding  (int or tuple  , optional  ) - 输入的每一条边补充 0   的层数,默认不填充。dilation  (int or tuple  , optional  ) – 卷积核元素之间的间距,默认取值 1   。groups  (int  , optional  ) – 从输入通道到输出通道的阻塞连接数。bias  (bool  , optional  ) - 如果 bias=True  ,添加偏置。
  示例代码:###### Pytorch卷积层输出大小验证 import torch import torch.nn as nn import torch.autograd as autograd # With square kernels and equal stride # output_shape: height = (50-3)/2+1 = 24.5,卷积向下取整,所以 height=24. m = nn.Conv2d(16, 33, 3, stride=2) # # non-square kernels and unequal stride and with padding # m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2))  # 输出shape: torch.Size([20, 33, 28, 100]) # # non-square kernels and unequal stride and with padding and dilation # m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2), dilation=(3, 1))  # 输出shape: torch.Size([20, 33, 26, 100]) input = autograd.Variable(torch.randn(20, 16, 50, 100)) output = m(input)  print(output.shape)  # 输出shape: torch.Size([20, 16, 24, 49]) 三,卷积神经网络
  卷积神经网络一般由卷积层、汇聚层和全连接层构成。3.1,汇聚层
  通常当我们处理图像时,我们希望逐渐降低隐藏表示的空间分辨率、聚集信息,这样随着我们在神经网络中层叠的上升,每个神经元对其敏感的感受野(输入)就越大。
  汇聚层(Pooling Layer)也叫子采样层(Subsampling Layer),其作用不仅是进降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。
  与卷积层类似,汇聚层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为汇聚窗口)遍历的每个位置计算一个输出。然而,不同于卷积层中的输入与卷积核之间的互相关计算,汇聚层不包含参数。相反,池运算是确定性的,我们通常计算汇聚窗口中所有元素的最大值或平均值。这些操作分别称为最大汇聚层(maximum pooling)和平均汇聚层(average pooling)。
  在这两种情况下,与互相关运算符一样,汇聚窗口从输入张量的左上 开始,从左往右、从上往下的在输入张量内滑动。在汇聚窗口到达的每个位置,它计算该窗口中输入子张量的最大值或平均值。计算最大值或平均值是取决于使用了最大汇聚层还是平均汇聚层。
  值得注意的是,与卷积层一样,汇聚层也可以通过改变填充和步幅以获得所需的输出形状。3.2.,汇聚层 api
  Pytorch   框架中对应的聚合层 api 如下:class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
  主要参数解释:kernel_size  (int or tuple  ):max pooling   的窗口大小。stride  (int or tuple  , optional):  max pooling的窗口移动的步长。默认值是  kernel_size`。padding  (int or tuple  , optional  ):默认值为 0  ,即不填充像素。输入的每一条边补充 0   的层数。dilation  :滑动窗中各元素之间的距离。ceil_mode  :默认值为 False  ,即上述公式默认向下取整,如果设为 True  ,计算输出信号大小的时候,公式会使用向上取整。
  Pytorch   中池化层默认ceil mode = false  ,而 Caffe   只实现了 ceil mode= true   的计算方式。
  示例代码:import torch import torch.nn as nn import torch.autograd as autograd # 大小为3,步幅为2的正方形窗口池 m = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) # pool of non-square window input = autograd.Variable(torch.randn(20, 16, 50, 32)) output = m(input) print(output.shape)  # torch.Size([20, 16, 25, 16]) 四,卷积神经网络结构
  一个典型的卷积网络结构是由卷积层、汇聚层、全连接层交叉堆叠而成。如下图所示:
  一个简单的 CNN   网络连接图如下所示。
  经典  CNN   网络的总结,可参考我之前写的文章-经典 backbone 网络总结。
  目前,卷积网络的整体结构趋向于使用更小的卷积核(比如1 1 和3 3) 以及更深的结构(比如层数大于 50)。另外,由于卷积层的操作性越来越灵活(同样可完成减少特征图分辨率),汇聚层的作用越来越小,因此目前的卷积神经网络逐渐趋向于全卷积网络。
  另外,可通过这个网站可视化 cnn   的全部过程。
  参考资料AI EDU-17.3 卷积的反向传播原理Visualizing the Feature Maps and Filters by Convolutional Neural Networks《神经网络与深度学习》-第5章《动手学深度学习》-第6章https://www.zhihu.com/question/22298352卷积神经网络
  关注#华为云开发者联盟#  点击下方,第一时间了解华为云新鲜技术~
  华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

蒸鸡蛋羹,是热水蒸还是凉水蒸?记住3点,出锅比豆腐嫩要论从小吃到大的一样食物,我想非鸡蛋羹莫属。记得孩提时,母亲经常会在午饭时,给我专门蒸上一碗鸡蛋羹,还时不时念叨道,吃了长身体。如今,很多年过去了,鸡蛋羹依旧是我的心头好。别小看蒸沪郊古镇上的百年老茶馆老人凌晨三点半去喝茶,每个早晨不再漫长冬日,凌晨三点半,朱家角古镇一片寂静。穿过幽深小巷,摸黑转过几道弯,一串红灯笼亮得热烈,浓浓夜色中,位于北大街深处的江南第一茶楼早已灯火通明。茶馆内热闹非凡,缕缕茶香飘来,交谈声偶南北不同俗,你有腊八粥,我有糯米饭,共同面对的是传承昨天广州的天气骤然下降了几度,冷空气夹杂着凛冽的冷风,真把人冻得直哆嗦,这个天气来得真是应景啊,腊七腊八,冻掉下巴,因为今天就是腊八节了。一大早,公司群里的腊八节祝福送出来,只有广鲜与鲜寻冬虫夏草冬虫夏草的最佳吃法是什么?冬虫夏草怎么吃?基本上注重养生的人都买过冬虫夏草,但是很多人会疑惑如何去吃冬虫夏草,担心如果没有用合适的方法去食用的话会影响其效果,害怕营养价值不能够被吸收。那么冬虫夏草的最佳吃法是什么?冬虫夏草中越边境广西友谊关口岸车水马龙RCEP激发边城外贸活力图为中越边境广西友谊关口岸。友谊关海关供图中新网广西凭祥1月2日电(黄燕梅杨陈)2023年伊始,位于中越边境广西凭祥市的友谊关口岸车水马龙,装载着东盟进口水果和中国出口机电百货的货广西第一个海上风电场获批建设,投资97。6亿元,选址在防城港海上风电,是又一个新兴起的新能源产业,广西这几年也是加快推进有关海上风电产业的发展。相继出台了多个政策和规划支持海上风电发展建设。包括广西能源发展十四五规划广西向海经济发展战略规划福建厦门2500块16个菜的酒席走红,佛跳墙是开胃小菜,太豪横了大家吃过最好的酒席有多豪横!最近我在网上看到了一个福建厦门同安的酒席,这个婚宴酒席也是在网上走火,豪横程度让很多网友直呼想去,据主人介绍,一桌差不多2500块,一共是16个菜,而且广州出发广西3天游,畅游浩坤湖今天给大家分享一条从广州出发,广西动车3天旅游行程,深度畅游广西浩坤湖。两晚入住浩坤湖民宿,推窗就是风景,枕水而眠。这里,水天一色,美不胜收。这里,登高望远,一览湖光山色。这里,是广西好物上新!锁定广西新丝路跨年电商节晚会来源人民网广西频道原创稿现场推荐广西好物。人民网黄子婧摄人民网南宁12月31日电(朱晓玲黄子婧)梧州六堡茶横州茉莉花茶乐业砂糖橘北海海鸭蛋2022年12月31日20002023年1揽收量近1亿件!广西加快疏解积压邮件,重点保障医疗民生物资转运投递12月25日,全区邮政快递进出港包裹超过了1200万件,是今年的最高峰值。但近期邮政快递从业人员缺勤现象突出,造成部分地区寄递服务不畅。12月27日,针对广西民众关心的快递问题,广高铁助力广西老字号跑出加速度12月28日上午,国铁南宁局携手广西中恒集团在南宁东站开行双钱号田七号两组动车组列车,这标志着广西老字号借力高铁走出去跑出加速度,将有助于广西老字号进一步提升在全国的影响力。广西老
潮汕女孩扛标旗巡游,举止优雅颜值惊艳众人!网友是心动的感觉相信许多在潮汕住过一段时间的人都会发现,潮汕任何一种城市,任何一条本地人流比较密集的街道马路上,都能看见长得像仙女般纯洁的潮汕姿娘。近日广东潮汕某街头一段小姐姐扛镖旗迎老爷的民俗活奶奶鞋裙子才是春天最时髦的打扮!优雅有女人味,谁穿谁美每年一到春天,各种时髦的服装单品就横空出世,比如裙子就是非常受欢迎的,在搭配上奶奶鞋,温柔又优雅,而且还非常有女人味,可以说是谁穿谁美!奶奶鞋和裙子碰撞在一起,能够产生非常热烈的火张凯丽同框黄梅莹输惨了!她穿小西装干练时髦,却不及黄梅莹优雅原创202302072009莫莉穿搭经头条创作挑战赛人到七十古来稀。年过七十的女人往往对岁月都有着自己的理解和感悟,所展现出来的思想行动乃至外在气质都会有质的飞越,那不仅是时间的沉朱琳不愧是最美女儿国国王,穿西装配红裙优雅迷人头条创作挑战赛美人在骨不在皮。真正的美人永远经得起时间的考验,因为哪怕岁月带走了她们优越的外貌,她们的那份气度与自信也依然会让她们从人群中脱颖而出。美丽源于灵魂,源于内心,而不仅仅二次元少女的服装款式及绘画技巧想给老婆画衣服吗?画出来的衣服像拼图吗?衣服画好老婆直接毁了吗?(美服集锦)风格恰当搭配和谐款式美观的服装,是日常生活以及绘画作品中,能够让人物形象加分的关键项目。了解各种风格服装2023年格莱美奖红毯上的时尚文化格莱美奖的红毯总是以极尽时尚而闻名,音乐界大牌和新星们在此闪耀出的光彩远比银幕上新鲜亮眼。2023年2月5日晚,洛杉矶Crypto。comArena,各路明星出席2023年格莱美奖饭店的凉拌土豆丝为啥那么好吃?原来有秘诀的,方法和技巧教会你饭店的凉拌土豆丝为啥那么好吃?原来有秘诀的,方法和技巧教会你。土豆烹制广泛,味道也多,比如炸薯条是焦的,蒸土豆是面的,炒土豆是油腻的,但土豆身为蔬菜,也有脆嫩水分的一面,利用这一面想让退休婆婆带二胎,不料婆婆提出五个条件,儿媳妇张嘴就来?婆婆要不要帮助带娃?这个问题其实因人而异,虽然说隔代亲,似乎在生活中的很多老人都喜欢小孩子,催着孩子结婚,催着孩子要娃,然后去帮助带孩子,一方面也能够帮助缓解孩子们生活中的压力,另一个五星级酒店的大厨曾经告诉我,别看草鱼便宜这么做真心好吃!天南地北大拜年一个五星级酒店的大厨曾经告诉我,别看草鱼便宜,这么做真心好吃!1红烧草鱼做法如图所示2酸菜鱼做法如图所示3麻辣水煮鱼做法如图所示4干锅草鱼做法如图所示5香辣烤鱼做法如过春年媳妇回娘家,娘家人端上桌9道菜,不好看但实在,真尽力了正月初二,也叫迎婿日,按照中国传统民俗,嫁出去的女儿要带着女婿和孩子,提着礼物,专门去给岳父岳母家拜年,而娘家人也会准备一桌丰盛的饭菜来款待姑爷,希望女婿在平时能好好关照女儿,体现萝卜红烧肉营养美味,制作简单萝卜红烧肉萝卜红烧肉属于家常菜谱。白萝卜中含有丰富的维生素C,常吃可以有效降低血压,预防动脉粥样硬化和冠心病的发生。此外,白萝卜中还含有芥子油和膳食纤维,能促进胃肠蠕动,增加食欲。