神经网络:理解深度学习的基础
在AI领域中,神经网络是深度学习的地基,只有了解这个,我们才能继续后续的学习。这篇文章,我们来了解下这个。
过去的两周时间,我们用七篇文章学习了机器学习的常见算法,今天开始我们进入深度学习的介绍。
作为深度学习的第一篇文章,我们就来聊聊深度学习的基础:神经网络(Neural Networks),也叫人工神经网络(Artificial Neural Networks,ANN)。
一、什么是神经网络?
我们来举个栗子,假如省里需要收集群众的意见,需要村民把意见交给村长,村长整合之后再交给县长,县长整合后交给省长,大概流程如下图所示:
把这个场景迁移到神经网络上,每个村民的意见就是“特征”,每个中间层级(村长、县长)对意见的整合就是该层级的“输出”,最终层级(省长)收到的结果就是“最终输出”。
神经网络有三层结构,分别为输入层、隐藏层和输出层,如下图所示:
隐藏层中,上一个隐藏层的输出都是下一个隐藏层的输入,每一层都在表达一种中间特征,目的是将特征做非线性高阶变换。
我们看到,每层的节点都会和上下层级的所有节点进行沟通,我们把这种结构叫做全连接神经网络模型。
二、神经网络模型的结构
我们来看一下神经网络结构图:
图中的元素有些杂乱,我们根据计算输出的公式来逐一解释一下,神经网络第n+1的输出公式为:
公式和图中的各个元素解读如下:
- 神经元:图中的圆圈就是神经元,表示当前层级下计算节点的输出,用a表示(x表示最初的输入,h表示最终的输出,本质上也都是a),我们把它类比为领导对收集的意见整合后的结果。
- 权重:图中的连接线就是权重,表示信息的分量大小,用W表示,我们把它类比为不同员工意见的权重,比如核心员工的意见权重更大,需要着重考虑。
- 偏见:每个人在处理意见时,都可能会根据自己的理解增加主观偏见的处理,叫做bias偏移,用b表示,比如有的村长会放大正面建议,有的村长会减少负面建议。
- 激活函数:激活函数用来对下层意见进行解读和调整,把结果做非线性变化,以更好的拟合数据分布,再输出到下一层,在公式中用∂表示。比如领导除了收集下层意见之外,还会对意见做改进,吸取“精华”建议,去掉“糟粕”建议,再用自己的能力“升华”一下之后,才把结果输出给上级领导。
三、神经网络和深度学习的关系
我们来整理一下神经网络和深度学习的概念:
- 神经网络(Neural Networks)是一种模拟人脑神经网络工作机制的计算模型,由大量的神经元(节点)按照一定的结构组织在一起,每个神经元与其他神经元相连,通过连接传递信息。
- 深度学习(Deep Learning)是神经网络的一个分支,主要关注的是深度神经网络。深度神经网络是一种具有多个隐藏层的神经网络,每个隐藏层都会对输入数据进行一些变换,这些变换可以被看作是一种特征提取。
深度学习是神经网络的一个重要发展方向,它利用了神经网络的基本结构和原理,通过增加网络的深度,提高了模型的表达能力和学习能力。
四、深度学习模型的目标
理解了神经网络和深度学习的关系之后,我们就可以明确深度学习的目标:在给定一个任务的情况下,找到最优的权重(W)和偏见(bias),使得Loss(预测值和实际值的误差)最低。
刚开始的时候,参数没有优化,Loss误差会比较大,神经网络一般采用反向传播(Back propagation),把Loss误差从后向前传递,计算每一层参数的梯度,并使用随机梯度下降(Stochastic Gradient Descent,SGD)等优化方法对参数进行优化,减小最后的误差。
不断重复这个过程,逐步优化参数,最终得到满意的结果。
五、总结
本文介绍了神经网络的基础概念和结构,神经网络是理解深度学习的基础,非常重要,希望大家可以认真思考,好好理解一下。
下篇文章,我们会介绍在图像处理中大放异彩的卷积神经网络(CNN),敬请期待。
本文由 @AI小当家 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!