目录
禁止转载,侵权必究!Update2022.02.21
CNN:Convolutional Neural Network,中文称卷积神经网络。
直观认识CNN
可视化CNN教程产生直观认识。
想更多了解CNN,可以看演示by google
CNN的几个核心概念
1. tensor 张量
就是数学中的矩阵,用来存储CNN的变换数据。
2. weight&biases 权重&偏移量
Y = aX + b
其中a就是weight,b就是biase
3. Convolutional Layers 卷积层
卷积函数构建ML模型的层。内部涉及到超参数,比如kernel、stride(就是所谓的核函数和步长)。Java工程师不需要理解它在干啥,只要知道它是CNN的重要步骤–卷积。
4. Pooling Layer 池化层
避免过拟合的层。通过kernel、stride抛弃掉一些数据,减少计算量同时避免过拟合。
5. Flatten Layer 展平层
把tensor转换回一维数组,便于使用Softmax函数
4. 激活函数ReLU
这么多年,CNN的各路大神找到的最好的激活函数。Java工程师不需要理解它在干啥,只要知道它是CNN的重要步骤–激活。
比如说要训练一个头像,当图片从背景过渡到脸部,显然模型需要训练得到这个重要信息,靠的就是这一步的激活函数。
CNN还可以用其他的激活函数
5. 概率函数Softmax
在output(输出层)之前,把CNN计算结果转换为概率函数(0~1)。
这里只涉及CNN分类问题,所以是Softmax函数,还有更复杂的场景