Воскресенье, 17 Ноября 2024, 16:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Нейросети
FireguyДата: Четверг, 24 Января 2013, 01:07 | Сообщение # 1
участник
Сейчас нет на сайте
Доброго времени суток! Сегодня я узнал о таких интересных понятиях как
1. Генетический алгоритм
2. Нейронные сети(как по мне, за ними будущее)

И я задался вопросом как они работают! Ну с генетическим алгоритмом все просто, принцип я понял, даже была идея для реализации, но когда я узнал про НС(Нейронные сети) алгоритм ушел на 2-ой план. начал я читать литературу, но поняв принцип работы (есть три вида нейронов 1. Входной 2. Аналитичный 3. Выходной. Получая новый данные с (1) создаются или находятся (2) потом данные выводятся на (3)), так и не понял как это можно реализовать! Со временем нашел вот это Пример. Помудрил, посмотрел, и понял что понимаю только - НЕЧЕГО ( biggrin ).

Дорогие друзья, пожалуйста, может ли кто то наглядно объеснить принцип работы с кодом(или примером), можно даже просто алгоритм(но не желательно). Так что очень хочется разобраться и научиться их использовать, надеюсь на вашу поддержку!


Coder is like a King
in his own realm
RacotДата: Четверг, 24 Января 2013, 03:16 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
рано тебе еще этим заниматься

Специалист "во всем" - специалист "ни в чем"
------------------------------------
Script Reference для Unity3D
Помогу со скриптами for Unity3D
МарсДата: Четверг, 24 Января 2013, 08:25 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
А чего тебе там не понятно - то?
daunДата: Четверг, 24 Января 2013, 09:26 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Цитата (Fireguy)
Нейронные сети(как по мне, за ними будущее)

Нейросеть позволяет построить процесс, который невозможно представить, но чтобы построить такую сеть, надо четко представлять себе этот процесс, о сколько вас уже обломалось. biggrin
IIyxMASTERДата: Четверг, 24 Января 2013, 09:54 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Цитата (daun)
Нейросеть позволяет построить процесс, который невозможно представить, но чтобы построить такую сеть, надо четко представлять себе этот процесс, о сколько вас уже обломалось.

Господи, какой бред biggrin
daunДата: Четверг, 24 Января 2013, 10:42 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Цитата (IIyxMASTER)
какой
ShadowZiДата: Четверг, 24 Января 2013, 11:07 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Генетические алгоритмы позволяют решать задачи уже сейчас, требуется для них организовать какой-то отбор и набор генов, в каждом поколении происходит случайное перемешивание генов, наиболее удачных представителей, которые прошли отбор

Есть пример с музыкой
нулевое поколение фактически набор генов (просто набор рандомных звуков)
http://soundcloud.com/uncoolbob/public-0k-taster/
8700 поколение
http://soundcloud.com/uncoolbob/darwintunes-medley-at-8700/
В качестве механизма отбора одобрямс пользователей

Или тоже классное
http://www.youtube.com/watch?v=19M_LHsmgug
Тут уже учатся ходить, в качестве генов возможные движения, задача роботу подняться, в качестве отбора высота головы над другими)

нейросети, файтически симуляция нейронов, интерес в них что они обучаемы а значит могут обрабатывать неструктурированные данные. Минус прежде чем они начнут с большой вероятностью правильно обрабатывать такие данные им нужно скормить тонну уже руками обработанной инфы, заведомо правильной. А так получается для определения образов анализа звуков, видео ряда.
IIyxMASTERДата: Четверг, 24 Января 2013, 11:14 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
daun,
конченный
Цитата
Нейросеть позволяет построить процесс, который невозможно представить, но чтобы построить такую сеть, надо четко представлять себе этот процесс, о сколько вас уже обломалось.

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


Сообщение отредактировал IIyxMASTER - Четверг, 24 Января 2013, 11:20
karuyДата: Четверг, 24 Января 2013, 11:44 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Цитата (IIyxMASTER)
Нейронка используется, когда есть приличное количество входящей информации, неизвестный способ ее преобразования, и приличное количество достоверно правильной исходящей информации. После обучения нейронка, на основе только входящей инфы, будет давать с хорошей долей вероятности верные результаты. Нам наплевать, какой процесс преобразования происходит с этой информацией, нам нужны только входные и выходные данные для ее работы.

Плюсую, как лектор в институте разложил)
triptixДата: Четверг, 24 Января 2013, 11:48 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
в игровых процессах такие конструкции неоправданны - сложно, слишком ресурсоемко, не поддерживает должного интереса к игре. представьте себе, что ваши противники всегда выигрывают - это не интересно. задача игры - на нужной сложности проиграть игроку, а не научиться у него выигрывать.
TiendilДата: Четверг, 24 Января 2013, 11:49 | Сообщение # 11
участник
Сейчас нет на сайте
Цитата (Fireguy)
есть три вида нейронов

видов нейронов куда больше 3-ёх, перечисленные тут — это скорее виды слоёв причём только в одном простейшем типе НС.

Цитата (Fireguy)
Дорогие друзья, пожалуйста, может ли кто то наглядно объеснить принцип работы с кодом(или примером), можно даже просто алгоритм(но не желательно).

Чтобы действительно понять как работает НС, а не получить иллюзию понимания, надо взять книжку потолще (об НС) и окунуться в высшую математику. Для понимания вышка обязательна.

Цитата (Марс)
Нейросеть позволяет построить процесс, который невозможно представить, но чтобы построить такую сеть, надо четко представлять себе этот процесс, о сколько вас уже обломалось.

Мысль хорошая но не мешало бы её раскрыть :-)

Цитата (ShadowZi)
Нам наплевать, какой процесс преобразования происходит с этой информацией, нам нужны только входные и выходные данные для ее работы.

Абсолютно неверно, проектирование НС, без учёта преобразования информации в ней, бесперспективно.


Участвовал в разработке Order of War (C++ UI & логика) и WoT (Python портал worldoftanks.ru почти всё :-) )

Текущий проект: the-tale.org - indie mmozpg
daunДата: Четверг, 24 Января 2013, 15:24 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Цитата (Tiendil)
Мысль хорошая но не мешало бы её раскрыть :-)


Нейросеть позволяет построить процесс, который невозможно представить (интеллект улитки), но чтобы построить такую конкретную сеть,
под конкретную задачу, надо четко представлять себе этот процесс (происходящий в интеллекте улитки), или придется годами искать
методом тыка (перебирать приближающие варианты), что и имеем.
Те, кто не бросили эту затею, ушли не только вперед, но и возможно в сторону. А раз не бросили, значит еще удивляются.
Может когда и наткнутся на интеллект IIyxMASTER, вероятность та выше. biggrin
FireguyДата: Пятница, 25 Января 2013, 01:39 | Сообщение # 13
участник
Сейчас нет на сайте
Цитата (triptix)
в игровых процессах такие конструкции неоправданны - сложно, слишком ресурсоемко, не поддерживает должного интереса к игре. представьте себе, что ваши противники всегда выигрывают - это не интересно. задача игры - на нужной сложности проиграть игроку, а не научиться у него выигрывать.

Я и сам это понимаю, но для симуляции это довольно таки интересно!
Цитата (Tiendil)
Для понимания вышка обязательна.

Понял значит свою писать еще рано sad . Ок, а что касаемо примера описного в моем первом посте? Какие данные надо класть в Input и что мы в результате получим в Output'е? Судя по примеру там все абсолютно хаотично, и кстате что делает weight и memory?

Добавлено (24.01.2013, 20:24)
---------------------------------------------
Кто-то может разъяснить?

Добавлено (25.01.2013, 01:39)
---------------------------------------------
В примере в Input мы отправляем направление и направление к еде, из Output'a выходят значения.(Output'a два) Потом система в зависимости от этого выбирает из них большее, а потом выбирает поворачивать налево или направо за едой. Каким образом система понимает что делать, неужели учиться понимать, что в зависимости от своего значения она поворачивает "ТОЧКУ" в разные стороны? И как система "Учиться" в данном случае, ибо я не заметил разницы в их поведении?

Код
//Variable watching
near=instance_nearest_ext(x,y,all,1)
nearobj=near.object_index

//Set weights from memory
for (i=1;i<NUMWEIGHTS[MoveNN];i+=1){
set_weight(MoveNN,i,memory_get_value(MEM[nearobj],i))
}

//Get the new variables
dirtonear=point_direction(x,y,near.x,near.y)

//'Run' neural net
refresh_variables(MoveNN)

//Get outputs
output0=get_output(MoveNN,0)
output1=get_output(MoveNN,1)

//Switch to the highest output
switch(max(output0,output1))
{

//If output0 then turn left
case output0:
direction+=5
break;

//If output1 then turn right
case output1:
direction-=5
break;

}

Это код из степа, тут почти все понятно кроме:
Код
//Set weights from memory
for (i=1;i<NUMWEIGHTS[MoveNN];i+=1){
set_weight(MoveNN,i,memory_get_value(MEM[nearobj],i))
}

Все, таки что такое Weights, которые работают как нейроны, но их не надо подключать? Memory - возможно и играет роль "обучаймости"? Сама по себе инструкция в его посте на форуме довольно таки маленькая и не информативная!


Coder is like a King
in his own realm


Сообщение отредактировал Fireguy - Четверг, 24 Января 2013, 17:34
IIyxMASTERДата: Пятница, 25 Января 2013, 05:32 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Цитата (daun)
Нейросеть позволяет построить процесс, который невозможно представить (интеллект улитки), но чтобы построить такую конкретную сеть,
под конкретную задачу, надо четко представлять себе этот процесс (происходящий в интеллекте улитки), или придется годами искать
методом тыка (перебирать приближающие варианты), что и имеем.

Говорю же, бред конченный :-)
Когда приходит полное понимание работы того или иного механизма - он может быть воплощен в коде и без нейронных сетей.
Нейронки используются там, где описать происходящее кодом нет возможности.
Для создания "интеллекта улитки" нам не нужно знать, какие процессы происходят в ее сознании в тот или иной момент.
Нам нужно составить цепь событий типа "раздражающий фактор - ответная реакция" , и обучить нейронку на этих примерах.
daunДата: Пятница, 25 Января 2013, 09:46 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
Цитата (IIyxMASTER)
Когда приходит полное понимание работы того или иного механизма - он может быть воплощен в коде и без нейронных сетей.
Нейронки используются там, где описать происходящее кодом нет возможности.
Для создания "интеллекта улитки" нам не нужно знать, какие процессы происходят в ее сознании в тот или иной момент.
Нам нужно составить цепь событий типа "раздражающий фактор - ответная реакция" , и обучить нейронку на этих примерах.

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

Цитата (Fireguy)
set_weight(MoveNN,i,memory_get_value(MEM[nearobj],i))

Тут может быть тысяча строк кода.
IIyxMASTERДата: Пятница, 25 Января 2013, 10:38 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Цитата (daun)
И описывать машинной логикой (имеющей предел) сложный механизм (зависит от уровня понятливости механизмов отдельной особью),
который типа понят, бред.

Распознавание текста - достаточно сложная задача? А распознавание биометрических данных человека?
Для распознавания текста можно использовать нейронку, но ни по скорости, ни по качеству она не сравнится с нормальными алгоритмами. Abby это успешно доказывает
Биометрические данные человека можно анализировать через нейронку, но опять же, есть куда более эффективные способы для этого.
Нейронная сеть нужна там, где действительно требуется самообучение программы.


Сообщение отредактировал IIyxMASTER - Пятница, 25 Января 2013, 10:42
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг