Мур 1 February 17 Posted February 17 · Report post Приветствую, народ! Когда-то искал в сети готовое решение функции активации для проб NN... А тут вынужденная пауза в деятельности. Хочу поделиться простым решением для фантазеров. Может кому пригодится? Прилагаю бенч, чтобы вопросов меньше было... SIGMOIDA.ZIP Quote Share this post Link to post Share on other sites More sharing options...
Мур 1 February 19 Posted February 19 · Report post Приветствую! Как-то не солидно получилось... Ценность предыдущего варианта может быть интересна чисто как студенческая при освоении языка и симуляции. Разве что принять к сведению. Там сжатие только в два раза... А для NN это супер-важно! По этому примеру сделал новый вариант (с той же латентностью и одиннадцатью кусочно-линейных фрагментов) со сжатием в 16 раз ( 12 разрядов на входе и 8 на выходе). С вопросами в личку... Извините, запаролил по нужде. SIGMOIDyn.zip Quote Share this post Link to post Share on other sites More sharing options...
Мур 1 March 1 Posted March 1 · Report post ..Наконец-то мной подано заявление на пенсию и получение ИНН, а также полис мед обслуживание! В честь этого даю код пароля 2030601038. Вперед фантазеры NN !!!!! Отмечу, что благотворительности не дождался НИКАКОЙ... Спасибо за науку! По-русски надо жить! Впроголодь... Quote Share this post Link to post Share on other sites More sharing options...
Мур 1 March 4 Posted March 4 · Report post Вижу пассивный интерес к теме. Только один человек скачал исходник... Принял к сведению... Смотрю уже из интереса к теме Quote Share this post Link to post Share on other sites More sharing options...
Vasil_Riabko 1 March 4 Posted March 4 · Report post 30 minutes ago, Мур said: Вижу пассивный интерес к теме. Только один человек скачал исходник... Принял к сведению... Смотрю уже из интереса к теме Сочувствую.Неудачная релокация. Quote Share this post Link to post Share on other sites More sharing options...
quato_a 3 March 4 Posted March 4 · Report post предлагаю написать статью, в которой расписать принцип работы вашего блока, оценить точность и выложить тут https://fpga-systems.ru/publ/ там уже выгладывали подобные статьи, например https://fpga-systems.ru/publ/raznoe/poznavatelnoe/vychislenie_dvoichnogo_logarifma_iteracionnym_metodom_na_plis/16-1-0-138 https://fpga-systems.ru/publ/raznoe/poznavatelnoe/potochnoe_vychislenie_dvoichnogo_logarifma/16-1-0-144 https://fpga-systems.ru/publ/xilinx/ide/primenenie_system_generator_dlja_modelirovanija_hdl_blokov_na_primere_sistemy_avtomaticheskoj_regulirovki_usilenija/35-1-0-133 Quote Share this post Link to post Share on other sites More sharing options...
Мур 1 March 4 Posted March 4 · Report post 1 hour ago, quato_a said: предлагаю написать статью, в которой расписать принцип работы вашего блока, оценить точность и выложить тут ....Тут скорее важна сама идея! Настолько она проста... Я не случайно в тексте писал "Рекомендую уточнить уровень аппроксимации по формуле...", чтобы можно было организовать аппроксимацию точнее (перфекционистам в радость!). Я это делал быстро и довольно грубо, но для чернового варианта вполне сгодится, когда сеть прототипа уже обучена и известны все коэффициенты и разрядности(тут у меня большое допущение) для переноса и сквозного прогона. Итак,- тут важны 3 момента,- 1) сохранить наклон кривой y = 4*x в младших разрядах по оси Х (старшие будут участвовать с сатурации) в районе максимальной крутизны, а все остальные фрагменты уже под сжатие должны браться с наклоном из ряда степени двойки. Благодаря этому я ухожу от умножений; 2) основная трата ресурса ПЛИС на компарирование для построения диапазонов разбиения (под выбор наклона аппроксимирующего линейного фрагмента); 3) сборка рабочего кода на выход производится мультиплексорами из 11 фрагментов линейных прямых с разной постоянной составляющей (это +сумматоры). Кроме нулевой области. Я сверял со значениями формулы сами отсчеты в симуляции. Погрешность допускал +\- 5 тиков в выходном диапазоне +\- 127 (кроме краёв, где уже наступило насыщение и отсчеты особо не интересны) . Самое ответственное место нулевая область, которую я называю "зрачок нейрона". И последнее, не маловажное... Можно построить процесс моделирования самой сети и обучения из расчета именно такой (не идеальной) функции активации, чтобы уйти от академизма в подходе ради экономии ресурса. Ведь таких мест в дизайне по числу нейронов! ...Тем более в самой природе характер нелинейности вряд-ли идеален. Это должно работать! А сэкономленные умножители как раз пригодятся во взвешивании по коэффициентам! Quote Share this post Link to post Share on other sites More sharing options...
Мур 1 March 4 Posted March 4 · Report post 22 hours ago, Vasil_Riabko said: Сочувствую.Неудачная релокация. Чужбина надоела! А здание, где жил, разрушено попаданием украинской 82мм мины в соседний подъезд... Попытку релокации в Ростов делал еще в 2014г(еще не был пенсионером), но из-за гражданства меня не взяли, хоть я точно нужен был в 3х местах... Мой родной Севастополь имел 2 крупных завода "Парус" и "Муссон", но там теперь не нужны специалисты моего плана. Украина все уничтожила. Ищу теперь что ближе, но пока безуспешно. Симферополь, Краснодар, Ростов на Дону, Воронеж, Таганрог... Жильё там дороже чем тут... Главное понял - возраст не дает, а минимальная пенсия тут(выше моей в Харькове почти в 3 раза!) вынуждает идти охранником или в цех... Quote Share this post Link to post Share on other sites More sharing options...