作为一个十余年来快速发展的领域,深度学习越来越火了。深度学习善于从原始输入数据中挖掘越来越抽象的特征表示,而这些表示具有良好的泛化能力.它克服了过去人工智能中被认为难以解决的一些问题.且随着训练数据集数量的显著增长以及芯片处理能力的剧增,它在目标检测和计算机视觉、自然语言处理、语音识别和语义分析等领域成效卓然,因此也促进了人工智能的发展。
本文主要介绍深度学习中NN(神经网络)和CNN(卷积神经网络)的基本概念,并不涉及任何推导。
一、神经网络NN(Neural Network)
神经网络的基本结构是:输入层,隐含层,输出层
现在我们拿一个最简单的神经网络——逻辑回归,来理解一些神经网络的专业名词。如下图:
先说一下这个网络能干什么事情,我们输入一个图片,然后经过这个网络,我们就得到了一个概率,这个概率表示输入的图片是某一种东西(比如猫)的可能性。
以上面的图为例,这个网络的运转流程是这样的:
第一部分:输入1,x1,x2,...xm,然后让xi和wi分别相乘,通过计算得到 z = 1*w0+ x1*w1+...+xm*wm。w0 可以看做是偏置项,这个时候我们就能拟合一个完整的线性表达了。然后z经过一个激活函数sigmoid得到^y,即^y = sigmoid(z),激活函数的目的是为了增加函数的非线性表达。损失函数是用来评判预测值和真实值之间的误差的,我们根据定义的损失函数计算出预测值^y和真实值y之间的误差。
完整的第一部分即从输入到损失的计算这一过程就叫做前向传播
第二部分:然后我们根据损失函数和优化算法