动手学深度学习 图像分类实例-多层感知机(一) 核心概念与激活函数的作用

动手学深度学习 图像分类实例-多层感知机(一) 核心概念与激活函数的作用

动手学深度学习 多层感知机系列:


拜年期间 没有电脑 就在亲戚家无聊的时候随手翻了翻《DIVE INTO DEEP LEARNING》
复习多层感知机的时候发现这本书讲的蛮好的, 弥补了之前以为自己懂了的一些漏洞, 于是便决定回家记录下来。
并根据书中的实例 巩固一下 多层感知机系列文章的链接已
放至文章开头


前言

本文介绍多层感知机的基本概念和我的理解,
尽量以通俗易懂的方式介绍


以下是本篇文章正文内容

正文

之前写了一个softmax做图像分类系列的文章,其主要使用的是单层神经网络
然而深度学习主要关注的是多层模型, 所以书本以多层感知机为例, 介绍多层神经网络的概念

先看看单层神经网络和多层神经网络的对比

单层神经网络

在这里插入图片描述
其公式如下
在这里插入图片描述
写成向量的形式
o ( i ) = x ( i ) W + b o^{(i)}=x^{(i)}W+b o(i)=x(i)W+b

多层神经网络

这里以两层为例
比起单层神经网络,它多包含了一层隐藏层,该层中有5个隐藏单元
在这里插入图片描述
假设隐藏层的输出为 H H H
则该多层感知机的公式为
H = X W h + b h H=XW_h+b_h H=XWh+bh
O = H W o + b o O=HW_o+b_o O=HWo+bo
也就是将隐藏层的输入直接作为输出层的输出, 这样如果联立上面的式子
在这里插入图片描述
虽然加入了隐藏层,但是却依然等易于一个单层神经网络 而且不难发现,无论加多少个隐藏层,它的本质还是和单层神经网络等价。

激活函数的重要性

对于上述问题, 解决办法就是对每层的输出增加一个非线性变化, 也就是使用我们常说的激活函数
对于各种激活函数的介绍可以看我这篇文章

Pytorch(四) 几种简单激励函数的绘制与介绍

多层感知机

因此多层感知机就是含有至少一个隐藏层的由全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。
多层感知机的层数和各隐藏层中隐藏单元个数都是超参数。以单隐藏层为例并沿用本文之前定义的符号,多层感知机按以下方式计算输出
在这里插入图片描述
其中φ表示激活函数。这样一来,就不会产生之前的问题了,这也突出了激活函数的重要。

  • 在分类问题中,我们可以对输出O做softmax运算,并使用softmax回归中的交叉熵损失函数。
  • 在回归问题中,我们将输出层的输出个数设为1,并将输出O直接提供给线性回归中使用的平方损失函数。

引用资料来源

本文内容来自吴振宇博士的Github项目
对中文版《动手学深度学习》中的代码进行整理,并用Pytorch实现
【深度学习】李沐《动手学深度学习》的PyTorch实现已完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joker-Tong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值