神经网络的基本结构

作为一个学哲学的,只能从最基础的知识开始。这篇文章仅仅是笔记,不要喷我……

一、神经网络的分层

顾名思义,神经网络是一种网络,它分为三层:

输入层、隐藏层和输出层。

如果类比我们的大脑,假设我们要决定去不去参加同学聚会。输入层就是你看到微信有人找你去聚餐了,隐藏层是大脑的思考过程(懒得去、但是挺重要),输出层就是你回别人微信说不去了。

如果没有隐藏层会怎么样?其实不会怎样,只不过没有复杂的思考过程。隐藏层的意义就是给出思考过程,深度学习就是思考的更多了。

因而粗暴的划分,神经网络只有输入层和输出层。

二、神经元

在每一层下,都有很多神经元构成这一层的基本结构。

输入层只有一个参数:激活值。

输出层(包括隐藏层)神经元有三个参数:

(1)权重:指的是和输入层某个神经元的紧密关系。联系越紧密这个值越大。

(2)激活值:输出层的激活值是经过计算得到的,简单的计算就是把输入层的激活值乘以权重后相加。

(3)偏置:这个参数暂时不用管。

三、计算

如果你收到了同学聚会的消息,仅仅在这个层面是完全不用计算的。因为输入仅仅是输入,需要计算的是在你接受输入之后的思考。

假设输入层有两个神经元:A(1),B(2)。括号里的是激活值。

假设输出层只有一个神经元:C,那么它的激活值就需要计算,计算方式是A和B的激活值和权重相乘的加权总和。假设A——C的联系是1,B——C的联系是2。

那么C的激活值是:y=1*1+2*2=5

这样我们就得到了激活值参数:5。

由于计算使用的数据都是输入层的,因此这个过程也叫前反馈。

四、标准化

由于不同的神经元有不同的激活值,如果一个神经元的激活值过大,例如一亿。那么会导致最后输出的结果过于离谱。所以我们需要把太大的数字调小一点,太小的数字调高一点,让数据更加的靠谱。

做到这一步是通过激活函数来实现的。常用的Sigmoid函数就是用来做这件事情。它的最大值是1,最小值是0。

经过Sigmoid处理后的C将会变成Sigmoid(5)=0.9(随便算的)

成功的把C的激活值变小了点。

五、损失函数

损失函数用来计算具体正确的判断距离。越小说明越接近真实判断。

假设我们用身高和体重来预测性别。重所周知,男的身高和体重的数值会更大。

假设A是身高,B是体重,C是男女。性别1=男,0=女。

假设小明的身高是2米,体重是20kg。小红的是米,10千克。它们和C的权重都是1。

那么没有经过标准化处理的C为

C(小明)=22,C(小红)=11。

假设经过标准化处理的C为

C(小明)=0.99,C(小红)=0.8。

那么系统对小明的判断是正确的,因为0.99约等于1,但是对于小红的判断是错误的,因为小红是女生,这个值应该是越接近0越好。

我们直接用减法确定预测数据和真实数据的距离来定义损失函数。那么这个时候损失函数Loss=|(1-0.9)+(0-0.8)|=0.9。前面说了这个数字越小越好。这个时候是0.9。

这个时候应该怎么办呢,我们回头改变一下权重和偏置,把身高的权重改成10,把偏置改成(-20),看看会发生什么。

那么没有经过标准化处理的C为

C(小明)=2*10(身高权重)+20-20(偏置)=20

C(小红)=1*10+10-20=0

好了,这下不用经过标准化处理也知道,小明的C值将会变成1,而小红会变成0。这下就成功完成了分类。(为了弄懂,不要管Sigmoid的真实计算结果)

这个时候:

Loss=Loss=|(1-1)+(0-0)|=0,损失函数降为0,那么这个模型就是一个完全拟合的模型。

六、随机梯度下降(SGD)

不要管什么是随机梯度下降。

我们刚才人工改变了权重和偏置的值,但是问题来了:我们需要让神经网络自己学会怎么改变权重和偏置的值。

只要知道SGD是一种函数,它可以更新权重的值(把身高的权重从1改成10,偏置从1改成-20)就可以了。

至于具体的算法。只要你还记得高中学过求导可以算出最小值,并且知道SGD的目的是为了减少损失函数的最小值。那么就应该知道,大概的算法是通过确定损失函数的最大减少值来确定权重怎么修改。

七、总结

神经网络是一种分类器(范畴化)。它通过计算激活值来分类。激活函数用于标准化激活值,损失函数用于确定这个分类器能不能正确分类,SGD通过更新权重来优化神经网络。

参考:

如何自己从零实现一个神经网络?

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值