Unsupervised learning algorithms aim to learn rapidly without an external teacher by discovering patterns in input data. There are several types of unsupervised learning algorithms including competitive learning networks, Kohonen self-organizing networks, and Hebbian learning. Competitive learning involves neurons competing to be activated by an input pattern, with only the winning neuron updating its weights. Kohonen self-organizing maps perform topological mapping, placing input patterns in a higher dimensional output layer while preserving neighborhood relationships between similar inputs. Hebbian learning is based on Hebb's rule that the connection between two frequently co-active neurons is strengthened.