maxl 0 13 мая, 2006 Опубликовано 13 мая, 2006 · Жалоба Падскажите пожалуйста как на языке проектирования (желательно AHDL или Verilog) описать функцию активации нейрона в виде сигмоиды Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 13 мая, 2006 Опубликовано 13 мая, 2006 · Жалоба Падскажите пожалуйста как на языке проектирования (желательно AHDL или Verilog) описать функцию активации нейрона в виде сигмоиды при помощи дифференциальной интерференции в бинарной парадигме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dryadae 0 13 мая, 2006 Опубликовано 13 мая, 2006 · Жалоба при помощи дифференциальной интерференции в бинарной парадигме. А Вы не знаете - и молчите! © 8) Падскажите пожалуйста как на языке проектирования (желательно AHDL или Verilog) описать функцию активации нейрона в виде сигмоиды Вопрос сложный. Вы уверены, что это нужно делать именно на программируемой логике? Тогда понадобятся числа real - а насчёт различных проблем с ними тут уже неоднократно упоминалось в соседних темах. Ведь есть же специализированные нейропроцессоры - кажется, НТЦ "Модуль" совместно с японцами занимался чем-то подобным (серия процессоров NM...) Для несведущих: Sigma=1.0/(exp(-a*x)+1.0) Следовательно, вам понадобятся, по меньшей мере, ДВА множитиля, ОДИН алу, и один очень хороший делитель. А ведь нейрон, я полагаю, наверняка не один... И ещё нельзя забывать и про входные веса и сумматор... А всё это - только лишь на одном слое.... И, плюс к этому, надо учитывать ведь ещё и то, какие у сигмоида должны быть зоны насыщения - для этого же Вам понадобятся просто бешеные, иного слова не подберу, разрядности! Вы уверены, что Ваша железка потянет всё это ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksya 0 14 мая, 2006 Опубликовано 14 мая, 2006 · Жалоба Вы уверены, что это нужно делать именно на программируемой логике? Ведь есть же специализированные нейропроцессоры...А кто мешает вмонтировать этот самый нейропроцессор в ПЛИС как soft-ядро? Вот здесь - http://electronix.ru/forum/index.php?showtopic=15811 нечто подобное уже обсуждалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxl 0 15 мая, 2006 Опубликовано 15 мая, 2006 · Жалоба Вопрос сложный. Вы уверены, что это нужно делать именно на программируемой логике? Тогда понадобятся числа real - а насчёт различных проблем с ними тут уже неоднократно упоминалось в соседних темах. Ведь есть же специализированные нейропроцессоры - кажется, НТЦ "Модуль" совместно с японцами занимался чем-то подобным (серия процессоров NM...) Для несведущих: Sigma=1.0/(exp(-a*x)+1.0) Следовательно, вам понадобятся, по меньшей мере, ДВА множитиля, ОДИН алу, и один очень хороший делитель. А ведь нейрон, я полагаю, наверняка не один... И ещё нельзя забывать и про входные веса и сумматор... А всё это - только лишь на одном слое.... И, плюс к этому, надо учитывать ведь ещё и то, какие у сигмоида должны быть зоны насыщения - для этого же Вам понадобятся просто бешеные, иного слова не подберу, разрядности! Вы уверены, что Ваша железка потянет всё это ? Так вот хочу и попробовать потянет ли StratixII и на какой частоте. Пробовал реализовывать сигмоиды, работающие с целыми числами в виде обычной ROM на встроенных блоках памяти. Т.е. в начале рассчитал точки графика а затем их и записал в файл инициализации памяти. Но при таком подходе приходится каждый раз рассчитывать точки, чтобы поменять сигмоиду. Вроде бы фирма Скан Иженеринг Телеком разработала нейроны с различными функциями активации и различного быстродействия…но в итернете не встречал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gab 0 15 мая, 2006 Опубликовано 15 мая, 2006 · Жалоба Так вот хочу и попробовать потянет ли StratixII и на какой частоте. Пробовал реализовывать сигмоиды, работающие с целыми числами в виде обычной ROM на встроенных блоках памяти. Т.е. в начале рассчитал точки графика а затем их и записал в файл инициализации памяти. Именно это и сделал Скан (могу прислать статью) Но при таком подходе приходится каждый раз рассчитывать точки, чтобы поменять сигмоиду. Вроде бы фирма Скан Иженеринг Телеком разработала нейроны с различными функциями активации и различного быстродействия…но в итернете не встречал. Самый простой метод для реализации такой возможности - ввести отдельную схему пересчёта по упрощённой формуле (если в ПЛИС, то избегая делений) или загружать ИЗВНЕ (например PCI, RS232 и т.п.). Если вариантов немного, то можно все их записать в память и выбирать по индексам. Ради экономия памяти можно использовать полиномиальную (или кусочно-полиномиальную) апроксимацию функции (см. дискуссию о генерации равномернораспределённых случайных чисел. По желанию могу снова послать статью об этом). PS: А зачем вам менять сигмоиду, если не секрет? Ведь есть же оптимум формы, зависящий от входных данных, нормализацию которых можно сделать в отдельном слое. И тем самым исключить необходимость пересчёта сигмоиды Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tium 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Не могли бы дать ссылки на статьи? Весьма интересуюсь темой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gab 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Не могли бы дать ссылки на статьи? Весьма интересуюсь темой. По поводу интерполяции - нашёл. SET'овскую статью пока не нашёл в завалах. Кратко, смысл сводился к выбору оптимальной разрядности активационной функции, которую зашивали в BRAM. tc05_dul98.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tium 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Спасибо за статейку. Пока прочитал резюме и бегло просмотрел в целом. Кажется, весьма интересно. Если будет время найти вторую - останусь очень признателен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gab 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Спасибо за статейку. Пока прочитал резюме и бегло просмотрел в целом. Кажется, весьма интересно. Если будет время найти вторую - останусь очень признателен. Со второй сложнее - я её "повзаимствовал" с компьютера автора :). и наверное всё-таки удалил :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tium 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба А "компьютер автора" где-нибудь в Интернете? Может, вспомните какие-то ключевые слова? Я бы попытался найти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gab 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба А "компьютер автора" где-нибудь в Интернете? Может, вспомните какие-то ключевые слова? Я бы попытался найти. Компьютер автора у нас в локалке радиотехнического института :) Автора зовут Алексей Логовский. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tium 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Да, в вашу локалку я точно не попаду :) . В любом случае спасибо за предыдущую статью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gab 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Да, в вашу локалку я точно не попаду :) . В любом случае спасибо за предыдущую статью. Могу отсканировать старенькую статью "Перспективы разработок нейрокомпьютеров на ПЛИС xilinx & altera" из книги Галушкина "НЕЙРОКОМПЬЮТЕРЫ". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tium 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Отсканируйте, если не сложно. Книга-то у меня скорее всего есть, но вот найти ее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться