This means that the people that create them do not actually know every detail of how they perform the operations they do. I find this fascinating and unsettling at the same time. Third, the fact that a net can be trained to do a task implies, at least, that one copy of a net could be trained to do one task and another copy trained to do another. A hardware implementation is usually very fast but quite expensive to build, and it is difficult to change the structure of the net once it is built. Software implementations are usually comparatively slow, but the structure and characteristics of each neuron and of the net as a whole can be easily changed.
Researchers tend to use software implementations almost exclusively.
Engineers trying to build neural net controlled devices will also often use software implementations while they are designing and testing the nets. When the design is finished and a software prototype tested, hardware versions can be built. The capabilities of the system don t really change, just how fast it runs and how difficult it would be to build.