讲到AI不得不讲深度学习,而讲到深度学习,又不能不讲卷积神经网络。如果把深度学习比作中国的互联网界,那卷积神经网络和循环神经网络就是腾讯和阿里级别的地位。今天我们主要讨论的卷积神经网络,到底卷积神经网络能解决什么问题,它的结构是怎样的?是怎么学习的?应用在哪些具体的产品上?本文将为大家一一解答。
如果对深度学习还不了解的同学,建议你先看下之前的文章《深度学习到底有多深?》,对深度学习有一定的认知,对接来了的讨论可能会更容易理解。
以下是本文讨论内容的大纲:
下文的卷积神经网络,我们用简称CNN表示。
01 为什么需要用到CNN?
1. 普通的神经网络会遇到什么问题?
假设我们要做图像识别,把一张图片丢到机器,机器能理解的就是每个像素点的值,如下图:
我们在搭建好神经网络模型之后,需要做的就是用数据训练,最终需要确定的是每一个神经元参数w和b,这样我们就可以确定模型了。
假设我们输入的是50*50像素的图片(图片已经很小了),这依然有2500个像素点,而我们生活中基本都是RGB彩色图像,有三个通道,那么加起来就有2500*3=7500个像素点。
如果用普通的全连接,深度比较深时,那需要确认的参数太多了,对于计算机的计算能力,和训练模型来说都是比较困难一件事。
因此,普通神经网络的问题是:需要确认的参数太多。
那CNN是怎么解决这个问题的呢