Проблема с крупными массивами

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Re: Проблема с крупными массивами

Сообщение carrots » 05.01.2009 22:37:17

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

Это само собой разумеется, это все равно что сказать "не я сапаю картошку, а моя сапа" :mrgreen:
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Проблема с крупными массивами

Сообщение Mantius » 05.01.2009 23:51:44

Предложение не использовать нейронную сеть(хотя принцип нейронных сетей все равно в какой-то мере использовался-бы) и было решением проблемы нехватки мощностей

Это всё равно что решить проблему нехватки лопаты для копания картошки путем копания картошки шариковой ручкой.
Зачем изголяться в попытках сделать мегаприложение, которое навряд ли заработает, когда можно всё легко и просто решить с помощью нейронных сетей?
Если бы у меня стояла такая задача - я бы ее сделал вышеописанным методом.

Поправка: попытались бы сделать. Пока что даже для таких относительно легких задач как распознавание номеров автомобилей ничего лучше, чем использование нейронных сетей, либо шаблонов(что по сути есть однослойный персептрон) не придумали.
А ведь циферки заданной формы распознать это куда легче, чем опоры неопределенной формы, цвета, наклона и т.п.
Mantius
новенький
 
Сообщения: 21
Зарегистрирован: 30.12.2008 23:44:51

Re: Проблема с крупными массивами

Сообщение carrots » 06.01.2009 02:06:20

Mantius, извини, ты когда познакомился с нейронными сетями? У меня такое впечатление что совсем недавно и еще не успел понять некоторых особенностей (такое бывает когда человек узнал что-то новое и впечатляющее).
Почти каждый разработчик знаком с таким принципом действий (даже если он не знает как это называется), и активно использует.
Нейронные сети это всего-лишь название, сами нейроны и моск работают несравнимо сложнее. Простыми и тем более указанными в вашем пособии формулами очень мало вероятности получить что-то толковое. Человек при распознании объекта учитывает очень много факторов, начиная от визуальных (таких как тень, освещение, текстура, разделение объектов одного от другого, определение моделей этих объектов, определение материалов и их свойств) к более глубоким ("а для чего этот объект стоит под тем объектом?", "а что будет если этот объект убрать?", "а где я такое видел еще?", "а что мне сказали когда я такое видел?"), когда человек определяется со всеми эти вопросами он получает ответ на вопрос "что это такое?".
Если вы все это будите учитывать - я вам искренне сочувствую...
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Проблема с крупными массивами

Сообщение Mantius » 06.01.2009 03:02:48

Нейронные сети это всего-лишь название, сами нейроны и моск работают несравнимо сложнее.

Понятное дело
Простыми и тем более указанными в вашем пособии формулами очень мало вероятности получить что-то толковое.

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

Я лично думать по поводу того что учитывать, а что нет не собираюсь. Попробую построить многослойный перспептрон, а там уж он сам пускай подстраивается как ему нравится, я ему мешать и думать что именно на каком слое творится не буду.
Mantius
новенький
 
Сообщения: 21
Зарегистрирован: 30.12.2008 23:44:51

Re: Проблема с крупными массивами

Сообщение carrots » 06.01.2009 11:26:46

У тебя получится примитивный поиск схожих фотографий, который будет медленно работать, и использовать много оперативки.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Проблема с крупными массивами

Сообщение Vadim » 06.01.2009 11:44:17

Персептронные нейроны сами собой не учатся, для обучения нужна соответствующая методика обучения или, по научному говоря, алгоритм. А уж дело программиста - сделать так, чтобы существующий алгоритм работал на существующих мощностях.
Поэтому я предлагаю чем спорить о разных пустяках типа нужны персептроты или не нужны поспорить о том, как загнать существующий безразмерный алгоритм в рамки существующих строго ограниченных мощностей.
Товарищ Mantius от использования файлов в качестве хранилища информации отказался, мотивируя это тем, что у него нет времени на изучение работы с файлами.
Какие ещё будут предложения чтобы удержаться в рамках оперативной памяти?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Проблема с крупными массивами

Сообщение Mantius » 06.01.2009 18:00:33

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

Очень светлая мысль!
Товарищ Mantius от использования файлов в качестве хранилища информации отказался, мотивируя это тем, что у него нет времени на изучение работы с файлами.

Не совсем так: с файлами работать всё равно приходится, нет времени пытаться реализовать с помощью файлов то, что даже с оперативной памятью не очень резво работает. Проще говоря, целесообразнее делать быструю программу, которая будет не так эффективна, зато будет работать, чем пытаться делать всё через файлы и упереться в недопустимо низкую скорость работы и понять, что время потрачено зря.
Кстати, начал делать прототип с тремя слоями по 100, 30, 4 нейронов, соответственно. При попытке сделать хотя бы 1000 нейронов в первом слое, та же ошибка.
Mantius
новенький
 
Сообщения: 21
Зарегистрирован: 30.12.2008 23:44:51

Re: Проблема с крупными массивами

Сообщение Logo » 06.01.2009 19:38:50

Vadim писал(а):Какие ещё будут предложения чтобы удержаться в рамках оперативной памяти?

Ну, так, как методика сжатия была овергнута, то остается только одно, - расширить рамки :)
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Проблема с крупными массивами

Сообщение Vadim » 06.01.2009 19:46:49

Logo
Т.е. докупить ещё 8 ГБ ОЗУ, 4-ёх ядрёный процессор и 64-ёх битную ОС? :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Проблема с крупными массивами

Сообщение Logo » 06.01.2009 19:54:10

Vadim писал(а):Logo
Т.е. докупить ещё 8 ГБ ОЗУ, 4-ёх ядрёный процессор и 64-ёх битную ОС? :)

Ну да, только я не знаю или 64 бит хватит, наверное лучше 128 брать :)

Вообще, то идея ничего, вот попробовать бы ее реализовать на многоядерных GPU. Я думаю, что подкачкой из файла принебрегать не будем? :)
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Проблема с крупными массивами

Сообщение Vadim » 06.01.2009 20:00:48

Mantius писал(а):что даже с оперативной памятью не очень резво работает.

Так может программа у Вас делает какие-то лишние телодвижения? Может быть структура данных неоптимизирована, оттого и адреса в памяти ищет медленно...
Mantius писал(а):пытаться делать всё через файлы и упереться в недопустимо низкую скорость работы и понять, что время потрачено зря.

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

Добавлено спустя 5 минут 33 секунды:
Logo писал(а):Вообще, то идея ничего,

В смысле докупить всю эту сладкую троицу? Ну ещё бы она была плоха... :)
Есть ещё одна идея - использовать распределённые вычисления. Там где застрянет трактор К-701, запросто пройдут 4 миллиона китайцев... ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Проблема с крупными массивами

Сообщение Mantius » 06.01.2009 20:13:37

Так может программа у Вас делает какие-то лишние телодвижения? Может быть структура данных неоптимизирована, оттого и адреса в памяти ищет медленно...

Может быть
По Вашему если нельзя сделать всё, то и не следует делать вообще ничего?

Как раз наоборот-сделать пока что хоть что-то, а не обломаться в погоне за тем, чтобы реализовать вообще всё.
У Вас единственный выход сейчас - не держать всё это бесчисленное сонмище перцептронов в оперативной памяти, а держать в памяти только тот кусок данных, с которым прямо сейчас проводится вычисление.

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

Осталось придумать легенду о незаменимой пользе приложения и убедить в этом большое количество человек, чтобы они предоставили необходимые мощности.
Mantius
новенький
 
Сообщения: 21
Зарегистрирован: 30.12.2008 23:44:51

Re: Проблема с крупными массивами

Сообщение wavebvg » 22.03.2009 01:47:38

У меня есть адаптированный для fpc вариант обучения сети алгоритмом обратного распространения ошибки - там все вышеописанные проблемы решаются элементарно...

Добавлено спустя 14 минут 48 секунд:
Если точно - брал вот это http://www.basegroup.ru/download/demoprg/nnw/
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Пред.

Вернуться в Общее

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

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

Рейтинг@Mail.ru
cron