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

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

After some research I've found in "Survey of Neural Transfer Functions", from Duch and Jankowski (1999) that:

transfer_function = activation function + output function

And IMO the terminology makes sense now since we need to have a value (signal strength) to verify it the neuron will be activated and then compute an output from it. And what the whole process do is to transfer a signal from one layer to another.

Two functions determine the way signals are processed by neurons. The activation function determines the total signal a neuron receives. The value of the activation function is usually scalar and the arguments are vectors. The second function determining neuron’s signal processing is the output function o(I), operating on scalar activations and returning scalar values. Typically a squashing function is used to keep the output values within specified bounds. These two functions together determine the values of the neuron outgoing signals. The composition of the activation and the output function is called the transfer function o(I(x)).