深度神经网络基础:激活函数、优化器与分类器设计
1. 激活函数基础
在神经网络的训练和预测过程中,每一层的节点都会向下一层节点输出一个值。但我们通常不会直接传递这个值,而是会以特定方式对其进行修改,这个过程就涉及到激活函数。
1.1 激活函数的概念
激活函数可以理解为对节点输出值进行进一步处理的函数。例如,原本函数可能是 return result
,而使用激活函数后则变为 return A(result)
,其中 A()
就是激活函数。以下是概念示例代码:
def layer(params):
""" inside are the nodes """
result = some_calculations
return A(result)
def A(result):
""" modifies the result """
return some_modified_value_of_result
激活函数有助于神经网络更快更好地学习。默认情况下,如果不指定激活函数,一层的值会原样传递到下一层。最基本的激活函数是阶跃函数,当值大于 0 时输出 1,否则输出 0,但该函数已很久未被使用。
1.2 线性与非线性关系
在传统统计中,我们处理的是低维空间中输入和输出具有强线性相关性的问题,例如直线斜率 y = mx + b
。而在深度学习中,输入和输出处于高维空间,