forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Нейронная сеть (http://forum.boolean.name/showthread.php?t=12954)

den 18.07.2010 23:42

Нейронная сеть
 
По какому принципу она действует (я имею ввиду компьютерную модель, а то ещё подумаете про человеческий мосг:-D ).
Я только понял что она состоит из много связаных нейронов, которые передают друг другу информацию по какому то алгоритму. А какой этот акгоритм?
Например с помощью етой нейронная сети решить задачу:
есть две матрицы (2д масив) целочисленого типа, надо узнать, похожи они или нет (как две картинки). И вывести % похожести (0%-абсолютно не похожи, 50%-похожи, 100%-идентичны).
Как такое реализовать? Мне не нужен код, мне нужна идея.
Я бы мог здесь простыми переборами обойтись, но нужно нейронной сетью.(а может она и есть простые переборы-кто её занет:dontknow: )

IGR 18.07.2010 23:56

Ответ: Нейронная сеть
 
сначало прочти тред на вики !!
Для матрици нефиг строить нейросеть, это оч убыточно во всех планах !!

Вот если есть картинки 512*, то стоит чет придумывать !!

Mhyhr 18.07.2010 23:59

Ответ: Нейронная сеть
 
Блин литературы завались в интернете) если не понял, то читаем ещё раз, в какой то из книг я видел такой пример, но где уже запамятовал...
+в сети летает пара фрейвоков для нейро-сетей. Гугли вообщем.
И да... сеть надо начало хорошо обучить)

IGR 19.07.2010 00:14

Ответ: Нейронная сеть
 
если нужно очень то переведу пару сранных статей из забугорья по геймдеву !!
Есть кстати оф. переводы книг по аи !! Сначало лезешь в инет магаз по книги !! Копипастиши название в гугл и ищешь !! :)

impersonalis 19.07.2010 00:52

Ответ: Нейронная сеть
 
Блин чел. Для адекватного понимания нужно изучить ряд дисциплин и приложений (теор.вер, нечёткую алгебру, дискретную маетматику и т.п.), а чтобы реализовать всё это - ещё и "прокачаться" по проганью.
Начни с чего полегче.

Погугли журнал Xakep, номер 053, статья "КАК ПРОГРАММИРОВАТЬ РОБОТА-УБИЙЦУ" - там написано проще некуда.
В номере 055 (Xakep) статья "Ai: Грозит ли нам восстание машин?" - уже толком не помню насколько он относится к теме, но, наврено, лишним не будет.

Ещё, пока искал сабж, наткунлся на Спецвыпуск: Хакер (не путать с "обычным" выпуском!), номер #055, "Нервные клетки для компьютера"

den 19.07.2010 00:58

Ответ: Нейронная сеть
 
Цитата:

теор.вер, нечёткую алгебру, дискретную маетматику и т.п.
да мне для начала програмку для сравнивания изображений...
а вообще спасибо!

Mr_F_ 19.07.2010 13:40

Ответ: Нейронная сеть
 
http://www.ai-junkie.com/ann/evolved/nnt1.html

тут всё оч просто описано

Igor 19.07.2010 13:49

Ответ: Нейронная сеть
 
Цитата:

http://www.ai-junkie.com/ann/evolved/nnt1.html

тут всё оч просто описано
На английском

den 19.07.2010 14:08

Ответ: Нейронная сеть
 
Цитата:

Цитата:

http://www.ai-junkie.com/ann/evolved/nnt1.html

тут всё оч просто описано
На английском
translate.ru;)

Reizel 19.07.2010 15:42

Ответ: Нейронная сеть
 
Я конечно не особо понял, как эта штука вообще работает, но штука это хорошая, и у меня возник вопрос: А можно ли присобачить эту самую нейронную сеть в игру, для АИ ботов???? Вопрос глупый, я понимаю. Можт объяснит кто что к чему :)

Igor 19.07.2010 16:00

Ответ: Нейронная сеть
 
Цитата:

А можно ли присобачить эту самую нейронную сеть в игру, для АИ ботов
Вряд ли. Там требуется очень быстрое принятие решений, а нейронная сеть требует довольно много ресурсов.

den 19.07.2010 16:01

Ответ: Нейронная сеть
 
Цитата:

А можно ли присобачить эту самую нейронную сеть в игру, для АИ ботов????
Павел, ты раскрыл моё секрет, я хочу написать либу для работы с нейросетями, для последующего их пременения где непопадя.;)
-------------------
Цитата:

Вряд ли. Там требуется очень быстрое принятие решений, а нейронная сеть требует довольно много ресурсов.
Согласен, сегче через условия АИ написать для игры. Кто му же ету сеть надо есчё и обучать...

Reizel 19.07.2010 16:14

Ответ: Нейронная сеть
 
Вот именно, обучать, т.е., я подумал, а можт сделать можно было, чтоб она сама в процессе обучалась, т.е. чувак сначала лохом ходил, а потом(если жив остался), типо прокачался, и все такое...
Ну, раз работает она медленно, тогда и хрен с ней! Буду писать собсный AI )

den 19.07.2010 16:17

Ответ: Нейронная сеть
 
Цитата:

Вот именно, обучать, т.е., я подумал, а можт сделать можно было, чтоб она сама в процессе обучалась, т.е. чувак сначала лохом ходил, а потом(если жив остался), типо прокачался, и все такое...
А если в эту игру быдло какой нибуть играть будет, то он и убучить бота толком не сможет, так и будет всю игру играть с тупыми ботами :-D .

Igor 19.07.2010 17:18

Ответ: Нейронная сеть
 
Цитата:

Вот именно, обучать, т.е., я подумал, а можт сделать можно было, чтоб она сама в процессе обучалась, т.е. чувак сначала лохом ходил, а потом(если жив остался), типо прокачался, и все такое...
Ну можно сделать 1 бота, который будет играть вместо тебя в КС или ещё что-нибудь, пока ты чай пьешь.
P.S. похоже на забивание гвоздей микроскопом

BlackDragon 20.07.2010 00:28

Ответ: Нейронная сеть
 
Цитата:

Сообщение от Den (Сообщение 155394)
Я только понял что она состоит из много связаных нейронов, которые передают друг другу информацию по какому то алгоритму.

Да, да, читай статью на вики про однослойный перцепторон, ее достаточно для создания первой нейросети и ее изучения.
Могу скинуть мой быдлокод на блицбейсике модификации 3-х слойного перцептрона. Сеть распознает (после обучения) с заданной точностью искомую букву на фоне помех.

den 20.07.2010 00:32

Ответ: Нейронная сеть
 
Цитата:

Да, да, читай статью на вики про однослойный перцепторон, ее достаточно для создания первой нейросети и ее изучения.
Да я уже вроде разобрался.
Цитата:

Могу скинуть мой быдлокод на блицбейсике модификации 3-х слойного перцептрона. Сеть распознает (после обучения) с заданной точностью искомую букву на фоне помех.
Кидай

BlackDragon 20.07.2010 01:55

Ответ: Нейронная сеть
 
Вложений: 1
Держи.
Там в коде есть некоторые переменные, которые управляют режимом работы программы:

Код:

save_load=1        ; запись/чтение фаила
;        0 - СОХРАНЕНИЕ НОВОЙ ГЕНЕРАЦИИ
;        1-ЗАГРУЗКА обученной сети СЕТИ
;СОХРАНЕНИЕ  ОБУЧЕННОЙ СЕТИ - клавиша "SPACE"

Ttgt_bkv=65        ;искомая буква, код 65 - буква "А", код 90 - буква "Z"

training=0        ;1 -выбор метода коррекции ошибок, 0 -без обучения

proc_oshib=5        ;определение  допустимого % ошибок, например: proc_oshib=10 это 10% ошибок


random<50        ;вероятность выпадения искомой буквы - 0.5

arl_fnt_16=LoadFont ("Arial",16,1,0) - шрифт "подопытных букв"

Эти задают размер и некоторые параметры сети:
Код:

Sx=16        ;множитель
A0x=8        ;множитель
A1x=4        ;множитель

porog_A0#=3        ;порог возбуждения A0-элемента
porog_A1#=3        ;порог возбуждения A1-элемента
porog_A2#=3        ;порог возбуждения A2-элемента

diap=2        ;диапазон, сколько A*Sx*2.5 приходится на один S ( !!!! Коррелирует с порогом возбуждения porog_A0# !!!! )
diap1=2
diap2=2

Лучше конечно написать свою нейросеть, чем разбираться с чужой.

den 20.07.2010 12:32

Ответ: Нейронная сеть
 
Цитата:

Лучше конечно написать свою нейросеть, чем разбираться с чужой.
Да, я лучше сам напишу. Ктомуже твоя нейросеть немного не то что мне нужно. А вообще спасибо!

den 21.07.2010 01:51

Ответ: Нейронная сеть
 
У меня остался один вопрос который я никак не могу понять. По поводу обучени нейросети:
допустим нейросеть сказала неправильный ответ. У каких синапсов (входов в нейроны) нужно изменить вес ( проводимость), и как (увеличить уменшить).

Igor 21.07.2010 13:17

Ответ: Нейронная сеть
 
ИМХО изменить те синапсы, которые должны были выдать правильный ответ, так, чтобы его получить

BlackDragon 21.07.2010 16:30

Ответ: Нейронная сеть
 
Существуют разные методы обучения нейронных сетей, почитай про них, выбери понравившийся.

den 21.07.2010 16:36

Ответ: Нейронная сеть
 
Существуют разные методы обучения нейронных сетей, почитай про них, выбери понравившийся.
Да я читал, но везде почемуто упускают эту деталь.

BlackDragon 22.07.2010 14:45

Ответ: Нейронная сеть
 
Вот самые простые методы: http://ru.wikipedia.org/wiki/Метод_коррекции_ошибки
Суть в том , что при получении на R элементе неправильного ответа, следует изменять веса связей А-R каждого активного А-элемента в нужную сторону на некоторое значение. Например, если R=0 неверный ответ, то выискиваем все А-элементы, где A=1 (активные) и к их весам связей A-R прибавляем (т.к. нам надо увеличить выход R до 1) некоторое значение (фиксированное или расчетное). Примерное так.

Reizel 23.07.2010 15:25

Ответ: Нейронная сеть
 

Не будем мимикрировать, но говоря супрематично... :-D

Randomize 06.09.2010 21:49

Ответ: Нейронная сеть
 
http://pmg.org.ru/ai/nn.zip
http://pmg.org.ru/ai/ai-lect.zip
http://pmg.org.ru/ai/nn_fl.rar
http://pmg.org.ru/ai/ngn.djvu

То, что надо.
После прочтения этого материала тема будет раскрыта на 100%.

DarkInside 08.04.2016 23:48

Ответ: Нейронная сеть
 
Начал на досуге вникать в нейронные сети. Млять, вот почему все сложные абстракции начинают объяснять с математики с кучей переменных, производных и тд? Производная сама по себе абстракция. Почему бы не начать с примера...Допустим есть 1000 девушек, у них есть параметры (входы) - рост, вес, цвет волос, сиськи, голос и тд. У каждого параметра есть степень важности (вес). Мы говорим нейрону, что переспали бы с 500 из 1000. И сеть начинает обучаться по этой выборке - корректировать веса таким образом, чтобы 500 сочетаний параметров выдавали положительную оценку, а 500 отрицательную. А потом мы показываем девушку и сеть угадывает, какие девушки в нашем вкусе, а какие нет.

DarkInside 09.04.2016 12:42

Ответ: Нейронная сеть
 
Мда...потихоньку выясняется, что все эти модели из прошлого века заброшены, не имеют возможности дальнейшего развития и не стоит забивать ими голову, поскольку сегодня представления о работе мозга изменились и мир (google, IBM) переходит на другую архитектуру сетей, где нейроны выстроены в кортикальные колонки и каждый нейрон отвечает за отдельный объект - кортикоморфные сети + нейромедиаторы... в общем, всё сложно, имеющиеся учебные пособия безнадежно устарели


Часовой пояс GMT +4, время: 23:00.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot