Search code examples
machine-learningartificial-intelligenceneural-networkmatlab

Is there any difference between an activation function and a transfer function?


It seems there is a bit of confusion between activation and transfer function. From Wikipedia ANN:

enter image description here

It seems that the transfer function calculates the net while the activation function the output of the neuron. But on Matlab documentation of an activation function I quote:

satlin(N, FP) is a neural transfer function. Transfer functions calculate a layer's output from its net input.

So who is right? And can you use the term activation function or transfer function interchangeably?


Solution

  • No, they are the same. I also quote from wikipedia: "Usually the sums of each node are weighted, and the sum is passed through a non-linear function known as an activation function or transfer function. Don't take the matlab documentation too literally, it's thousand of pages long so some words might not be used in their strict sense.

    In machine learning at least, they are used interchangeably by all books I've read.

    • activation function is used almost exclusively nowadays.
    • transfer function is mostly used in older (80/90's) books, when machine learning was uncommon, and most readers had an electrical engineering/signal processing background.

    So, to sum up

    • prefer the term activation function. It's more common, and more appropriate, both from a biological point of view (neuron fires when you surpass a threshold) and an engineering point of view (an actual transfer function should describe the whole system)
    • if anyone else makes a distinction between them, ask them to clear up what they mean