深度学习入门之激活函数

深度学习入门之激活函数

参考书籍:深度学习入门——基于pyhthon的理论与实现



前言

将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。激活函数作用在于决定如何来激活输入信号的总和。激活函数作为感知机和神经网络的桥梁。它的出现使得输出从单一变为数值化。激活函数以阈值为界,一旦输入超过阈值,就切换输出,这样的函数称为‘阶跃函数’。因此,可以说感知机中使用了阶跃函数作为激活函数。接下来,简单介绍一下激活函数的种类。


一、sigmoid函数

1.简介

神经网络中第一个激活函数就是S型生长曲线,也就是sigmoid函数(sigmoid function),它的数学表达式如下:

h ( x ) = 1 1 + e x p ( − x ) h(x)=\frac {1} {1+exp(-x)} h(x)=1+exp(x)1
其中,exp(-x)表示的是e^(-x),e为纳皮尔常数2.7182…,尽管从函数表达式上来看激活函数,显得比较复杂,但是我们从另一个角度去解读,就可以认为:给定一个输入后,经过此函数运算可以得到某个输出的转换器。比如,向sigmoid函数输入1.0或者2.0后,就会有某个值被输出,类似:
h ( 0.1 ) = 0.731 ⋯ h ( 0.2 ) = 0.880 ⋯ h(0.1)=0.731\cdots \\ h(0.2)=0.880\cdots h(0.1)=0.731h(0.2)=0.880

2.python实现

下面,利用python来实行sigmoid函数,代码如下:

import numpy as np
def sigmoid(x):
	return 1 / (1 + np.exp(-x))

这里,注意的是参数x为numpy数组,结果也能被正确计算,实际运用中,sigmoid函数的输入参数实际就是一个numpy数组,实验结果如下:

>>> x = np.array([-1.0 , 1.0 , 2.0])
>>>sigmoid(x)
>array([0.2689142,0.73105858 0.88079708])

sigmoid函数的图形,关于x=0对称,值域在[0,1]之间,整个形状呈现’S’型,因此也称其为S型生长曲线,sigmoid函数的曲线图形如下:
sigmoid函数

3.函数用法

神经网络中,用sigmoid函数作为激活函数,进行信号的转换,转换后的信号被传送给下一个神经元。实际上,感知机和神经网络的最主要区别就在于这个激活函数,其他方面,比如神经网络的多层连接的构造、信号的传递方法等,基本上和感知机是一样的。

二、阶跃函数

1.简介

阶跃函数相当于sigmoid函数来说,较为简单,阶跃函数在x=0有一个突变过程,数学表达式如下:
h ( x ) = { 0 ( x < 0 ) 1 ( x ⩾ 0 ) h(x) = \begin{cases} 0& (x<0)\\1&(x \geqslant 0) \end{cases} h(x)={01(x<0)(x0)
阶跃函数从其数学表达式就可以看出:当输入信号超过0时,输出为1,否则输出为0。

2.python实现阶跃函数

python实现阶跃函数还是非常简单的,只需要一个判断即可。

代码如下(示例):

import numpy as np
def step_function(x):
	if x >0:
		return 1
	else
		return 0

这个形式的实现确实比较简单,但是这个函数存在一定的不足,因为这个函数的输入参数x只能接收实数数据,即浮点数,例如step_function(3.0)的调用,不允许参数取numpy数组,例如step_function(np.array([1.0 ,2.0]))的调用,所以为了满足numpy数组的调用,所以需要对程序进行修改,为什么需要满足numpy数组呢?这是因为后面的数据不可能单一的出现,而是一个数据组的出现,就如图片数据。
将程序修改成为numpy数组支持的形式:

import numpy as np
def step_function(x):
	y = x > 0
	return y.astype(np.int)
	

该函数中,y的输出是一个bool值得numpy数组,判断x和0的大小,根据大小,输出bool值,x大于0时,y输出True,否则y输出False,y的dtype=bool。
但是,函数输出需要的是一个int型的数据,即需要0或者1的输出,所以,在数据返回时,利用astype()方法转换numpy数组的数据类型。astype通过指定的参数,达到转换为指定的数据类型,astype(np.int),就是将y中的bool数组转换为0、1的int数组,true会转换为1,false会转换为0。
阶跃函数的图形,比较像一个楼梯,在x=0处,发生突变,出现阶跃信号。图形如下所示:
阶跃函数

3.函数用法

阶跃函数以0为界,输出从0切换为1,或者说从1切换为0,它的值呈现阶梯式变化。相对比与sigmoid函数,阶跃函数的输出发生更加急剧性变化,而sigmoid函数的变化更加平滑,sigmoid函数平滑性对神经网络的学习具有重要的意义,阶跃函数的输出急剧性,就像竹筒敲石头一般,输出变化只有两个状态就是敲与不敲,而sigmoid函数就像水车,根据流过来的水量做相应调整在输出。但是两者的作用是一致的,对重要信息会有较大输出,小信号会输出较小的值。

三、ReLU函数

1.简介

ReLU函数现在使用的比较多,该函数在大于0时,直接输出该值;在小于0时,输出直接为0.
ReLU函数的数学表述式如下所示:
h ( x ) = { x ( x > 0 ) 0 ( x ≧ 0 ) h(x)= \begin{cases} x &(x>0) \\0 & (x\geqq0) \end{cases} h(x)={x0(x>0)(x0)
ReLU函数也是一个比较简单的函数。

2.python实行ReLU函数

根据ReLU函数的数学公式,可以将程序写为:

import numpy as np
def relu(x):
	return np.maximum(0,x)
	

这里使用了maximum函数对输入的信号和0进行比较,选择一个最大的输出,比如输入的x=12,relu函数则会输出12,如果输入x=-12,relu函数的输出就会变为0。

该例子只是简单实现,对于实际的神经网络运算比这个例子要更加复杂,但是不影响后面结论成立。
relu函数的图像,也可以通过它的数学表达可以直接表述出来,较好理解,图形如下所示:
ReLU函数

总结

本文仅仅简单介绍了激活函数的种类,主要讲述了sidmoid函数、阶跃函数、ReLU函数的数学表达式,python简单实现以上的激活函数,简单介绍了使用技巧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 深度学习是人工智能领域中的一种方法。深度学习使用人工神经网络进行信息处理,可以自动从复杂数据中提取特征,并从大规模数据中进行学习,进而进行预测和决策。深度学习在图像识别、语音识别、自然语言处理等领域有广泛应用。 《深度学习入门 鱼书 pdf》是一本介绍深度学习入门级教材,由日本著名深度学习专家斋藤康毅作。这本书系统地介绍了深度学习的基础知识、常用神经网络模型和训练方法,并提供了许多实例程序,方便读者进行练习和实践。 本书内容丰富、易于理解,适合初学者学习。通过阅读本书,读者可以了解深度学习的基本原理,了解常用神经网络模型的特点和应用场景,并能够掌握一些常用的训练方法和技巧。 总之,《深度学习入门 鱼书 pdf》是一本非常好的入门读物,对于准备学习深度学习的读者来说,是一本难得的好书。读者可以通过阅读本书,掌握深度学习的基础知识,从而进一步深入学习和应用这些技术。 ### 回答2: 《深度学习入门 鱼书 pdf》是一本介绍深度学习相关知识的书籍。该书以Python编程语言和NumPy库作为基础,通过对理论知识的深入探讨和具体实践的案例分析,帮助读者深入了解深度学习的原理和应用方法。 在书中,作者深入讲解了人工神经网络和深度学习的相关概念,包括前馈神经网络、卷积神经网络、循环神经网络等。同时,他也介绍了常用的激活函数、损失函数和优化算法,并详细阐述了模型的正则化、数据增强、迁移学习等技术。 为了帮助读者掌握深度学习的自主设计能力,该书还提供了大量典型案例,如手数字识别、图像分类、文本情感分析等。读者可以通过这些案例的学习和实践,对深度学习进行更加深入的理解。 总的来说,这本《深度学习入门 鱼书 pdf》是一本很好的入门书籍,适合对深度学习感兴趣的读者阅读。同时,由于该书的Python代码实现很详细,也适合已经有一定编程基础的人进行深度学习的学习和实践。 ### 回答3: 《深度学习入门 鱼书 pdf》是一本非常优秀的深度学习入门教材,该书作者是日本著名AI专家斋藤康毅。该书在深度学习方面覆盖的知识点比较广泛,不仅包含了神经网络的基础知识,还介绍了各种常用的深度学习算法以及实践中的一些技巧。本书内容简洁易懂,适合初学者阅读,具有很高的实用性和指导性。 《深度学习入门 鱼书 pdf》主要包括了以下几个方面的内容: 1. 深度学习的基础知识,包括了神经网络的结构和训练方法等; 2. 常用的深度学习算法,例如卷积神经网络、循环神经网络等; 3. 实践中应用的技巧,例如超参数的调节、批量归一化等; 4. 最新的深度学习进展和应用,例如深度增强学习、深度生成模型等。 总之,《深度学习入门 鱼书 pdf》是一本非常实用的深度学习入门教材,无论是想深入学习深度学习的初学者还是从事相关领域的研究人员都可以从中获益匪浅。同时,掌握深度学习知识也有助于我们对人工智能的认识和理解,对相关行业的发展也具有重要的促进作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值