Основная проблема в том, что никто не знает, как работает мозг :)
теория
Насколько я могу судить, в исследовании нейронных сетей есть три больших шага:
- Модель персептрона (или порогового затвора), где любая булева функция может быть вычислена каким-либо многослойным персептроном с одним скрытым слоем.
- Модель Neuron - улучшенная версия предыдущего, в которой элементы сети используют функцию активации сигмоида (непрерывный набор возможных входов и выходов). Они также могут вычислять любую логическую функцию (после применения порога) и, кроме того, могут аппроксимировать любую непрерывную функцию.
- Модель всплеска нейронов, которая использует «временное кодирование» для передачи информации между элементами сети. Он может делать все, что делает предыдущая модель, и часто может делать это с меньшим количеством нейронов.
По сути, эволюция здесь заключается в том, чтобы приблизиться к тому, как работает человеческий мозг, и последняя модель обладает наилучшей точностью.
практика
SNN кажутся очень многообещающими, и есть даже коммерческий продукт SpikeNET, построенный поверх него (в разделах «Что SpikeNET может делать» и «Что SpikeNET еще не может делать» вы можете увидеть проблемы, с которыми они столкнулись).
Я не могу рассказать о конкретных проблемах с шипящимися сетями, но в целом у меня сложилось впечатление, что проблемы возникают потому, что люди хотят, чтобы SNN работали все больше и больше, как человеческий мозг:
- они хотят выбрать, как кодировать информацию - что можно сделать с помощью кодирования с задержкой (более стимулированные нейроны имеют тенденцию всплывать чаще и быстрее ), двоичного кодирования (информация представлена числом всплесков в данном интервале времени), временным кодированием (информация обратна гранулярности различимого временного интервала), кодирование порядка ранга (первые пики, полученные нейроном, получают влияние, а последующие блокируются) и еще много чего.
- они эмулируют пластичность Хебба, которая увеличивает вес между нейронами, когда оба нейрона «включены» (или оба «выключены») одновременно.
- они применяют самоорганизацию, когда группа нейронов конкурирует с нейроном-победителем, ингибируя ответ других нейронов. С помощью шипящего нейрона можно быстро рассчитать победителя, основываясь только на единичных событиях стрельбы.
В Википедии есть ссылка на книгу «Импульсные нейронные сети», в которой есть раздел «Вопросы реализации импульсных нейронных сетей», но я недостаточно образован, чтобы комментировать это.
Что касается введения в тему, я рекомендую этот документ: импульсные нейронные сети и их применение ( pdf )