卷积神经网络简介
隐藏神经元与输入的连接可以看作一种观察方式。图一中全连接层,第一个隐藏神经元与所有输入相连,相当于一次观察整幅图像;而图二卷积神经网络,一次观察一个小区域。卷积神经网络相对于全连接网络最大的特点就是参数量的大幅减少。
对比CV中的卷积核(经验得出):
CNN中,w学习得到,可以采用多个卷积核提取特征,增加网络的抽象能力。
卷积神经网络中,一般随着层数增加,w、h下降,channel增加;前面卷积层提取底层特征(颜色、边缘),而后面的层提取的是高层特征(轮子、窗户等)。
(不常用)
卷积神经网络中的梯度下降
池化与采样
pooling
upsample
ReLU
一般,灰度值,白255,黑0。
CIFAR100实战
import tensorflow as tf
from tensorflow.keras import layers, optimizers, datasets, Sequential
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
tf.random.set_seed(2345)
# conv_layers: 5 units of conv + maxpooling
conv_layers = [
# unit 1
layers.Conv2D(64, kernel_size=[3, 3], padding='same', activation=tf.nn.relu),
layers.Conv2D(64, kernel_size=[3, 3], padding='same', activation=tf.nn.relu),
layers.MaxPool2D(pool_size=[2, 2], strides=2, padding='same'),