文章列表1,ReLU激活函数1。 为什么要使用ReLU激活函数2、卷积神经网络1和卷积? 个dera,卷积做什么b,如何卷积2,LeNet-5卷积神经网络结构(卷积核与通道数必须一致) a,卷积层b,池化层(下采样层) c,下采样层
一. ReLU激活函数
公式:f(x )=max(0(0(0) 0,x ) f ) x )=max ) 0,x ) f ) x ) ) ) ) ) )。)
图像:
1 .为什么要用ReLU激活函数,是因为sigmoid函数输入离开中心点,导数就会变小,出现梯度消失的现象。 使用ReLU激活函数不会消除梯度。
但是输入负数会导致ReLU函数死亡。拐点不可导所以需要特别处理。
ReLU还有其他变形例。 ReLU函数和变形例。
二.卷积神经网络1、卷积? 缠上der a,卷积什么
注:照片是从B站的p主ELe实验室拍摄的,是讲课视频。
从上图可以看出,通过卷积内核获得的结果可以作为垂直特征,提取通过上图中的卷积内核提取的图像特征。
b、怎么卷积
如图所示:卷积使用卷积核吧,把图像上的和卷积核上的数字相乘进行加法运算。 这样操作,可以明白以下内容。 (注:三维的数据通过三维的卷积核卷积出来的是一维的数据)
2、LeNet-5卷积神经网络结构(卷积核和通道数必须匹配) )。
以上是各层的中文翻译,完全不是LeNet-5的真实模型。真实原始模型如下:
由该图可知,卷积神经网络中包含的基本模块为卷积层 、池化层(下采样层)、全连接层。
a、卷积层输入图像: 32*32核大小:5*5核数: 6输出大小: (32-5 1)=28
公式: m=nf1m=n-f1m=nf1(m表示结果的边长,n表示原始边长,f表示核的边长(b,池化层(下采样层) ) ) ) ) ) ) ) ) )。
池层是指如上图所示的蓝色方框,对方框内的数据进行处理(1.取方框内的最大值)2.取方框内的平均值。 等等…)
c、全连接层将一系列卷积池化再卷积再池化后得到的数据分片后发送到神经网络,进行学习,找到分类。
三.代码from keras.datasets import mnist#手写数字数据集importnumpyasnpfromkeras.modelsimportsequential # 用于调用的神经网络的层叠序列from keras.layersimportdensefromnumpy.core.fromnumericimportreshapefromtensorflow.keras.oportensefrompy 绘图fromtensorflow.keras.utilsimportto _ categorical # one hot编码from keras.layers import Conv2D# 维度卷积层fromKeras.layeras二维池化层from keras.layers import Flatten #数据平铺(X_train,Y_train ),) X_test, Y_test )=Mn ist.load _ data (x1 )/255.0 x _ test=x _ test.reshape (10000,28,28,1 )/255.0 y _ train=train 10 ) y 10 ) model=Sequential () model.add ) conv2d(filters=6,kernel_size=) 5,5 ),strides=) 1,1 ),inpue activation='relu ' ) (model.add ) average pooling 2d (pool _ size=(2,2 ) ) (model.add ) conv2d ) filters=16 activation=' relu ' (model.add ) average pooling 2d (pool _ size=(2,2 ) ) (model.add ) flatten ) ) )模式activation='relu ' ) ) model.add ) dense ) units=10,activation='softmax ' ) (model.com pile (loss=' categege ) optimizer=SGD ) lr=0.08 )、metrics=['accuracy']成本函数-均方误差优化器-坡度下降评估标准-精度model.fit(x_train,Y_train batch_size=128 ) #循环数epochs (表示已处理所有数据的一个循环)批数batch——size (一次处理多少数据) loss,accuracy=model.model.)
分析:
1、 model.add(Conv2D(filters=6,kernel_size=(5,5),strides=(1,1),input_shape = (28,28,1),padding=‘valid’,activation=‘relu’))卷积核数
filters:卷积核大小
kernel_size:每次进行卷积时移动步骤
strides:输入图像大小(仅在首次输入数据时使用即可) ) )。
input_shape:填充模式(valid :无填充模式) ) )。
padding:激活函数
activation:
片数据成为一维数组
以上是B站2、model.add(Flatten())课堂学习笔记,大部分图片来自课堂课件截图。