激活函数通常位于神经网络的隐藏层和输出层中，其核心功能就是根据输入层的输入值判断调用输出层的哪种非线性函数，从而使神经网络能够学习到更加复杂的模式和特征。其中隐藏层的激活函数可以是多种多样的，如sigmoid、ReLU、tanh等等，而输出层的激活函数则取决于问题的类型，如分类问题常用softmax函数，回归问题常用线性激活函数等等。
这些非线性函数可以以sigmoid函数为例，它可以将任何实数转换为0和1之间的值，用于二元分类问题。Sigmoid函数定义如下：
f(x) = 1 / (1 + e^-x)
还有一种常见的非线性函数是ReLU函数（Rectified Linear Unit），它在神经网络中经常被使用。ReLU函数定义如下：
f(x) = max(0, x)
当x小于等于0时，函数的值为0；当x大于0时，函数的值等于x。
这些非线性函数使神经网络能够处理更复杂的输入数据，并增强了神经网络的表达能力。
激活函数会根据输入的大小选择相应的非线性变换，例如ReLU函数就是当输入为负数时输出0，当输入为正数时输出该数本身。而sigmoid函数则会将输入映射到0到1之间的值。通过激活函数的非线性变换，神经网络可以更好地拟合数据，并提高泛化能力。