roboforum.ru

Технический форум по робототехнике.

Нейронные сети

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: Нейронные сети

Сообщение zubr » 03 фев 2009, 19:07

Виталий писал(а):
изучаем матчасть..

Так и не понял к чему это? Что-то не так?

Все в порядке. Изучать-полезно. Констатировал.

Виталий писал(а):
есть еще топологии с обратной связью.

А есть более сильные и менее ресурсоемкие методы чем НС.

Они уже оффтоп :)
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: Нейронные сети

Сообщение EIN_ENGEL » 04 фев 2009, 13:04

Автору темы:
в Матлабе, в симулинке генерируешь простейшую нейронную сеть из нескольких нейронов. Там основные детали - массив весовых коэффициентов, массив смещений, умножитель, сумматор и функция активации. В симулинке показываются все связи между ними. Функцию активации можно задать как таблицу значений, или для начала использовать простейшую пороговую (простое сравнение).
В алгоритме всё выглядит:
1. составляешь массив входных значений. (сигналы с датчиков, например....)
2. Каждому входному значению соответствует своё значение в массиве весов (массив может быть сколько угодно мерным, это зависит от входов и архитектуры сети) Умножаешь каждый вход на соответствующее значение веса.
(пишешь результат, например, в ещё один массив)
3. Суммируешь результаты умножения из п.2.
4. сравниваешь результат п.3. с порогом и получаешь выход нейрона.
5. если сеть двух и более слойная, то теперь вычисленные выходы нейронов первого слоя являются входами для нейронов следующего слоя. Т.е. возвращаемся к п.1.
В атмегу вполне можно впихнуть.
Проблема даже не в том, как сделать сеть в железе, а в том, как её использовать. Что подавать на вход и что снимать с выхода.

Добавлено спустя 3 минуты:
Очень много информации на эту тему в статьях IEEE. И очень много инфы можно найти в пиринговых сетях.
Аватара пользователя
EIN_ENGEL
 
Сообщения: 496
Зарегистрирован: 06 янв 2006, 03:02
Откуда: Москва
прог. языки: VHDL, C++, Matlab
ФИО: Павел

Re: Нейронные сети

Сообщение Alexandr14 » 17 фев 2009, 12:01

Приветик!
Случайно залез на этот форум и увидел обсуждение создания нейронной сети в железе :).
Лет так 6 назад я занимался нейросетями. Мой проект был программного обеспечения и делал небольшую задачу в виде распознавания образов.
В отношении сколько связей должно быть тут большой вопрос. В моей задаче строилось случайным образом несколько десятков вариантов сетевых структур, потом делалась попытка каждую из них обучить, после чего выбирались лучшие, после чего они объединялись спец. образом и создавались из лучших новые сети и т.д.. Т.е. была создана попытка поиска оптимальной сети.

Так что задача поиска оптимальной сети, которая будет хорошо обучаться довольно сложная задача.

К сожалению реализации в железе не делал, хотя желание было, но как -то руки не доходят. Плюсы реализации в железе заключаются в том что процессы происходят параллельно, в отличае от программ на компе, так что тут чуточку все будет по другому.

Не критикуйте сильно, пишу то чем занимался 6 лет назад.
И так имеется узел, который должен реализовать скажем функцию гиперболы, думаю для микроконтроллера забить формулу не проблема.
Имеем несколько входов на которые подается сигнал в аналоговом виде, для каждого входа есть коэффициент. Подставляем с входов сигналы с коэффициентами в формулу, получаем уровень сигнала, который идет на другие узлы.
Наша задача это подбор коэффициентов, это и будет обучение.
теперь по поводу связей, можно для начала определится так есть входные датчики, которые воспринимают сигнал. Скажем если взять их 16х16 - 256 штук, и чтобы сильно не мучаться 4 - 6 радов по 10 узлов в каждом, причем каждый ряд соединяется с предыдущим. Т.е. каждый узел следующего ряда соединен со всеми узлами предыдущего ряда.

И так в конце концов на выходе у нас получается 10 узлов, не помню уже как реализовал я выбор нужных образов, но в и тоге получается что на каждом оконечном узле присутсвует свой уровень сигнала.

Чуть позже найду свои записи :)
Alexandr14
 
Сообщения: 1
Зарегистрирован: 17 фев 2009, 11:19
Откуда: Таганрог

Re: Нейронные сети

Сообщение Angel71 » 19 апр 2009, 21:18

АлексAVR писал(а):нет схем. я нигде не встречал примеры принципиальных схем на основе НС. Принципы панимаю, но это абстракция. Нужны реальные примеры. Такое ощущение , как будто люди, которые пишут про НС никогда не реализовывали на практике это. Я конечно обязатель гляну ту книгу , что EdGull вы мне рекомендовали, если найду конечно. Если же вы компитентны в этой практике, скиньте ссылочку на схемку или выдложите. Буду благодарен

АлексAVR писал(а):Ну как зачем? Ну я дума принципы нейросетей можно реализовать как минимум на трех МК. ...

АлексAVR писал(а): Думаю ,что теории я накушался в доволь, чтобы приступить к практике.

:) да нет, из теории вы как раз почти ничего не поняли. простенькую нейросеть можно и на тиньке сделать, а для большой нейросети может и кластера из тысяч "нейрочипов" нехватить. всё от задачи зависит. прислушайся к неоднократным советам почитать теорию и попробовать сначала на компе поэксперементировать с нейросетями, зачем вам именно на контролёре сразу? поймёте что это, зачем и вообще, а нужно ли оно вам в принципе.
то что вы читали НС похоже к чистой теории относится, а там и смысла нет практические задачи на примерах реализовывать.
8) лан, лирика всё это. вопросс стоял в том что именно в железе делают. автоматические системы распознования номеров движущихся машин например. во всё мире уже давно полно таких приборов. самообучающиеся системы прокладки маршрута. разрабатывают системы для распознование агрессивного поведения (драки,... доделали или нет, незнаю, давно это было). в военной промышленности тоже куча всего: распознование объектов, например в области действия появляется объект, робот активируется, распознаёт что едет (танк, грузовик, БМП, легковушка, ...), потом смотрит свой/чужой и принимает решение атаковать или нет, если данный тип объекта его вообще интересует. у амеров одна фирма разработала обучаемый детектор оружия - с почти сто процентной точностью расспознаёт на рассояии конкретный тип оружия (ножи, пистолеты, автоматы, ...) и его количества. делали специально для полицейских. и еще куча всего, бпла, развед боты, роботы эвакуации,... чушь/фантастика/не может быть/... (нужное подчеркнуть). давно реальность. мало? у иностранцев есть куча конкурсов и соревнований, где автономные роботы должны чтот нетривиальное делать. например небольшой вертолёт вылетает в заданные координаты, пытается определить что там происходит и сообщает нужную информацию. на одном из таких турниров была задача вылететь в определённое место, определить есть ли пожар, найти есть ли в том месте люди и распознать в каком состоянии (подвижны или нет), сообщить на базу данные и вернутся. + по мелочам: не врезатся никуда, не зацепить кучу свисающих проводов,...
и это далеко не все, в железе ой как много чего уже сделано и не только на одних нейронках
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Нейронные сети

Сообщение Anubis » 05 июн 2009, 09:37

Почитайте после про нейрокомпьютеры. Есть реальные устройства реализующие принципы нейронных сетей.
Вот здесь http://www.chipinfo.ru/literature/chipnews/200101/24.html
Блин, никак не могу придумать подпись!
Аватара пользователя
Anubis
 
Сообщения: 268
Зарегистрирован: 03 дек 2008, 23:24
Откуда: Тамбов
Skype: anubis_kesh
прог. языки: Delphi, С++, PHP, HTML
ФИО: Гребенников Роман

Re: Нейронные сети

Сообщение =DeaD= » 05 июн 2009, 09:45

Дабл некро!
1. Некропост :P
2. Некролинк - статье уже 10 лет скоро, наверняка за эти годы что-то поменялось :wink:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Нейронные сети

Сообщение Lockdog » 12 окт 2009, 21:00

Есть прогресс в этом направлении, или тема заглохла?) Заинтересовался, хочу своих "муравьёв" программить на нейронных сетях. Возможно робота обучить, например, ездить, объезжать прпятствия и не падать с края стола? (естественно соответствующие датчики стоят)
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Нейронные сети

Сообщение EdGull » 12 окт 2009, 21:03

лучше уж тогда на генетических алгоритмах...
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Нейронные сети

Сообщение =DeaD= » 12 окт 2009, 21:05

А слабо на своих муравьях реализовать муравьинные алгоритмы? Чтобы они балончиками с краской брызгали и потом по цвету краски понимали что там такое - еда или что :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Нейронные сети

Сообщение executer » 12 окт 2009, 21:14

слишком умный робот решит что безопаснее стоять на месте)
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Нейронные сети

Сообщение Lockdog » 12 окт 2009, 21:16

EdGull писал(а):лучше уж тогда на генетических алгоритмах...

Это как?))) Нейросеть (если получится) будет использоваться только для движения одного муравья, а общение между ними на обычных алгоритмах.

А слабо на своих муравьях реализовать муравьинные алгоритмы? Чтобы они балончиками с краской брызгали и потом по цвету краски понимали что там такое - еда или что

Боюсь, что я потом квартиру не отмою)))))
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Нейронные сети

Сообщение =DeaD= » 12 окт 2009, 21:19

Дык не надо их в квартиру выпускать - сделать им "вольер" 1х2м - пусть там бегают :)
А чтобы не так очевидно было - дать им краску светящуюся в УФ и УФ-оптопару :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Нейронные сети

Сообщение Lockdog » 12 окт 2009, 21:27

Не усложняй пока задачу, мне бы разобраться с тем, что есть, а потом уже буду фичи добавлять)
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Нейронные сети

Сообщение =DeaD= » 12 окт 2009, 21:32

Ездить не падая, избегая препятствий конечно можно научить - вопрос только в том - есть ли смысл всё обучение проводить в реале? Там же итераций 200 может понадобиться, например? Это же запаришься + как обратную связь? Поднимаешь с полу и вводишь ему кнопкой "больно!" ?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Нейронные сети

Сообщение Lockdog » 12 окт 2009, 21:54

Я пока не сильно разбираюсь в этом, учу матчасть, потому не глубоко понимаю процесс обучения
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12