Нейронная сеть. Тяга к знаниям)
От: vit0s Австрия  
Дата: 16.05.08 18:07
Оценка:
Здравствуйте. Поиск поюзал, нашел много тем и разговоров касательно нейронных сетей, почитал, кое-что поучил. Стало интересно, хочу двигаться в этом направлении, че-то попрограммить с сетками.
Столкнулся с вопросами, на которые или соображалки не хватает или ен знаю что... В общем.
Вопрос про архитектуру сети. Какую архитектуру сети выбирать? Я имею ввиду не то, что там с обратным распространением ошибки или еще что-то, а именно сколько брать слоев с нейронами и по сколько нейронов на каждом слое поместить. И еще — какие нейроны с какими соединять? Все со всеми? Или как это расчитывается? Ну я знаю сколько входов и выходов должно быть у сети (это от задачи зависит), а вот между входным и выходным слоем — что и сколько?
Вопрос про обучение сети. Я знаю что у каждого нейрона есть такие вещи как порог активации, веса всех его входов, выходы. Только я не могу понять — каким образом менять эти параметры при обучении сети? Есть предположение, что начинать менять все значения по чуть-чуть и таким образом перебрать все комбинации, но это будет огроменное количество итераций для поиска всего одного решения из обучающих данных. И еще... вот я меняю постепенно веса, например, и вот наткнулся на комбинацию, где величина ошибки стала меньше предыдущей. Что делать с этими значениями? Сохранить где-то как промежуточный успешный результат? Или как? — ведь изменение следующего какого-либо параметра может увеличить величину ошибки и она станет больше чем была прошлая якобы успешная....

В общем копошусь в этом, че-то читаю, думаю... Хотелось бы еще информации получить, более похожую на практический пример step-by-step или какой более-менее обобщенный алгоритм. Ну или близко к тому. Может, как вы начинали, с чего? Какие были ваши первые сети и что они делали? Как они обучались? Интересует все, т.к. тяга к этой теме появилась большая, хочу в этом покопаться и застрял
Кто что думает по данной теме? Спасибо заранее всем откликнувшимся, за любую информацию и мысли.
Никому не верь — и никто не обманет!
Re: Нейронная сеть. Тяга к знаниям)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 17.05.08 08:34
Оценка: 3 (1)
Выскажу своё полулюбительское мнение.
Сейчас работа с нейросетями похожа на шаманство с большим количеством частных рекомендаций.

Выбор архитектуры (персептронные сети, Хопфилда и т.д.) зависит от цели построения нейросети. Для задач распознавания подходят больше такие, для прогнозирования другие... Но не факт, что эти рекомендации будут оптимальны. Количество слоёв и нейронов в них тоже указывается, но на практике подбирается эмпирически. Книга Саймон Хайкин "Нейронные сети. Полный курс" содержит самый полный обзор всевозможных архитектур.

Алгоритм обучения сети зависит от архитектуры. Так как ищется минимум целевой функции, то обучение — это частный случай многопараметрической оптимизации. Чаще всего описывают метод обратного распространения ошибки для персептронной сети — это градиентный метод, который ищет локальные минимумы. Можно и полный перебор устроить, но будет очень медленно. Зачастую, для обучения используют генетические алгоритмы. С помощью них можно и архитектуру сети подбирать (видел где-то статью по этому поводу).

Короче говоря, чаще всего отталкиваются от задачи.
Re: Нейронная сеть. Тяга к знаниям)
От: снежок Россия  
Дата: 17.05.08 17:29
Оценка: :)
>>а именно сколько брать слоев с нейронами и по сколько нейронов на каждом слое поместить.
Этот вопрос в теории до сих пор не решен. Абсолютно четкая Road-map отсутствует.
Часто число слоев и нейронов увеличивают, если сеть "перестает" обучаться или обучается медленно.
Однако, добавление слоев или кол-ва нейронов неизбежно ведет к необходимости переобучения сети, что само по-себе отнимает не мало времени (ресурсоемко).
В некоторых работах предполагается для определения оптимального количества слоев в нейросети использовать другую нейросеть
Re: Нейронная сеть. Тяга к знаниям)
От: NotGonnaGetUs  
Дата: 19.05.08 06:45
Оценка: 3 (1)
Здравствуйте, vit0s, Вы писали:

V>В общем копошусь в этом, че-то читаю, думаю... Хотелось бы еще информации получить, более похожую на практический пример step-by-step или какой более-менее обобщенный алгоритм. Ну или близко к тому. Может, как вы начинали, с чего? Какие были ваши первые сети и что они делали? Как они обучались? Интересует все, т.к. тяга к этой теме появилась большая, хочу в этом покопаться и застрял

V>Кто что думает по данной теме? Спасибо заранее всем откликнувшимся, за любую информацию и мысли.

Как человевек, обучавшийся на кафедре нейрокомпьютеров, могу заверить, что "слабать на коленке" нейросеть просто так не получится.

Во-первых — это прежде всего математика, а не программирование. Поэтому нужно обладать довольно таки не плохим мат.аппаратом.

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

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


Если интересна тема, предлагаю почитать любую книгу, где есть достаточно полно описанные сети, и реализовать их напрактике потыкавшись во все проблемы носом. И если понравится, то идти потом в гости к Галушкину А.И. Он даст много пищи для размышлений
Re[2]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 19.05.08 17:44
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

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


А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

NGG>Если интересна тема, предлагаю почитать любую книгу, где есть достаточно полно описанные сети, и реализовать их напрактике потыкавшись во все проблемы носом.


+1
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Нейронная сеть. Тяга к знаниям)
От: Sergey Chadov Россия  
Дата: 19.05.08 18:23
Оценка: +1 :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, NotGonnaGetUs, Вы писали:


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


E>А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

E>IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

Практически для любой задачи существует более эффективное частное решение, чем нейросеть. Только оно не всегда известно
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Re[3]: Нейронная сеть. Тяга к знаниям)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 19.05.08 19:11
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

E>IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

Не всегда. Существует довольно много методов классификации для линейно разделимых классов: boosting, SVM и т.п. Когда разделить классы гиперплоскостью невозможно, придумывают различные ухищрения, вроде ядрового преобразования в SVM. Данный подход успешно применяется для бинарной классификации (человек/не человек, лицо/не лицо). А более сложные классификаторы не на нейросетях мне не известны. Если кто знает — скажите, буду благодарен, тема интересная.
Преимущество нейросетей для классификации в том, что в общем случае возможно разделить сколь угодно сложные "переплетения" классов.
Например, предсказание курсов валют и акций зачастую сводят к классификации с помощью нейросетей. Закономерность эмпирически уловить практически невозможно (в отличие от классификации тех же символов). А с нейросетями есть шанс, что искомая закономерность будет автоматически "понята" сетью.

Но эта работа не для слабых духом

P.S. Я уже несколько раз бросал и возвращался к нейросетям при решении различных задач. Покупал и продавал книги по ним. Пока все опыты были не очень удачными.
нейросети классификатор
Re[4]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 19.05.08 19:57
Оценка: +1
Здравствуйте, Nuzhny, Вы писали:

N>Преимущество нейросетей для классификации в том, что в общем случае возможно разделить сколь угодно сложные "переплетения" классов.

N>Например, предсказание курсов валют и акций зачастую сводят к классификации с помощью нейросетей. Закономерность эмпирически уловить практически невозможно (в отличие от классификации тех же символов). А с нейросетями есть шанс, что искомая закономерность будет автоматически "понята" сетью.

Вообще-то нет, вот твой опыт, например, тому доказательство

N>Но эта работа не для слабых духом


N>P.S. Я уже несколько раз бросал и возвращался к нейросетям при решении различных задач. Покупал и продавал книги по ним. Пока все опыты были не очень удачными.


В целом смотри, что у нас происходит:
1) Мы вычисляем по классифицируемому объекту входы сети. То есть, фактически, сводим задачу к классификации точек конечномерного пространства.
Теперь всё, что нам надо -- нарисовать в нём нужные нам классы, возможно с учётом плотности, а возможно и нет. Не суть.

При этом, описать геом. место точек класса можно намного прямее, чем сетью. Скажем опорными векторами (в класс входит всё, что ближе к одному из его опорных векторов, чем к опорным векторам других классов, и ближе порога). Или просто как-то распределение аппроксимировать.
Можно две обучающие выборки сделать -- идеальных образцов и образцов "на грани", тогда можно легко сделать для разных точек разную "плотность" класса. Типа "на грани" будут граничные значения качества, а "внутри" большие и уверенные.

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

Если же классы сильно перепутаны, то можно расширятьпрстранство признаков. В принципе довольно легко детектируется что надо делать -- расширятьпространство признаков или крутить коасстеризацию или решающее правило.

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

А так, с кондачка, возня с сетями -- это всё фуфел, на самом деле. Например, я знаю изнутри несколько промышленных распознавалок чего попало. Все не на сетях
Впрочем это и не удивительно...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 19.05.08 19:58
Оценка:
Здравствуйте, Sergey Chadov, Вы писали:

SC>Практически для любой задачи существует более эффективное частное решение, чем нейросеть. Только оно не всегда известно


Дополню твою лемму.
AFAIK, Для задач, для которых эффективное решение не через нейросеть не известно оно не известно и через нейросеть
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: Нейронная сеть. Тяга к знаниям)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 19.05.08 20:45
Оценка:
Здравствуйте, Erop, Вы писали:

E>Вообще-то нет, вот твой опыт, например, тому доказательство


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

С остальным спорить не буду, так как мой неудачный опыт не даёт мне морального права этого делать.
Re[6]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 20.05.08 05:05
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Говоря "в общем случае", я имел в виду строгое математическое доказательство принципиальной возможности разделения с помощью нейросети. Не помню как оно (доказательство) называется, но точно помню, что видел его где-то.


Чушь это всё. Если по сети можно различить, то и по геомместам можно, только анализировать удобнее.
А если по геомместам нельзя различить, то и сеть ничего тебе не даст...

Это, собственно и есть твоё "доказательство"
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Нейронная сеть. Тяга к знаниям)
От: NotGonnaGetUs  
Дата: 20.05.08 10:42
Оценка:
Здравствуйте, Erop, Вы писали:

E>А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

E>IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

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

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

Как решать такие задачи? Фактически нужно найти функцию, которая связывает входные и выходные данные.

НС — это, своего рода, "универсальная" функция. Как настроим веса — такая и будет функция.
Плюс в том, что для настройки весов достаточно задать только общее направление (алгоритм обучения), а дальше "всё само сделается".

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

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

Поглядим, глядишь и выстрелят ещё из этой пушки на весь мир.

Будь я жителем столицы не обременённым жилищными и материальными проблемами, то остался бы в науке и двигал нейросети у нас в стране
Re[4]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 21.05.08 11:22
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

E>>А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

E>>IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

NGG>Есть класс задач (довольно широкий), хорошо решаемый "обычными" методами. Применять для их решения нейросети — дикость.

NGG>Однако есть задачи
NGG>- упирающиеся в NP-полноту
NGG>- слабо формализируемые
NGG>- не имеющие точного решения

NGG>Например, управление электрическими доменными печами (управляется глубина погружения электрода, если не ошибаюсь). Эти штуки жгут электричества на такие суммы рублей, что экономия в 1% даст значительную экономическую выгоду. Управляются какими-то примитивными датчиками на основе правил. А чтобы эффективно управлять печью, нужно знать такую уйму параметров и написать столько уравнений, что надежд на их решение нет Один анализ только, чем можно пренебречь в расчётах, а чем нет, достоин пары лет труда толпы учёных.


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

NGG>Будь я жителем столицы не обременённым жилищными и материальными проблемами, то остался бы в науке и двигал нейросети у нас в стране

Ну все так говорят, а ты вот купи баян!
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Нейронная сеть. Тяга к знаниям)
От: Кодёнок  
Дата: 21.05.08 13:12
Оценка: +3
Здравствуйте, vit0s, Вы писали:

V>Кто что думает по данной теме? Спасибо заранее всем откликнувшимся, за любую информацию и мысли.


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

НС это всего лишь аппроксимация. В ВУЗе изучается аппроксимация статистических данных рядом тейлора или полиномами. Это более сложный случай того же самого. По сути, НС — это сверхсложная функция типа выходы = F(коэффициенты, входы), типичный подход математиков свести любую задачу к y=f(x), и не более того. Замените F на многочлен или ф-ю тейлора, все станет понятно. «Обучением» называется подбор коэффициентов, чтобы на тестовых данных тестовые входы сошлись с тестовыми выходами. «Обучение» возможно, если задача может быть аппроксимирована заданной функцией, и нет, если не может. Поэтому для каждого класса задач есть свои архитектуры сетей: другая архитектура = другая функция, которая лучше или хуже подходит.
Re[5]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 21.05.08 14:30
Оценка:
Здравствуйте, Erop, Вы писали:

E>>>А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

E>>>IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

E>Это не совсем задача классификации IMHO...


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

То, что управление печью не задача классификации согласен полностью. Я просто пытался показать, что потенциально есть задачи, которые "классическими" методами решаются не лучше, чем НС, а местами даже хуже.

E>Ну а что касается самих принципов управления, то я бы в изучение физики и химии процессов вкладывался тут, и в их моделирование, а не в НС...


Если бы любые физические уравнения имели решение, то — да. А на практике — полный бесполезняк.

E>Ну все так говорят, а ты вот купи баян!


Ага. Выбор сделан, а после драки кулаками не машут
Re[2]: Нейронная сеть. Тяга к знаниям)
От: nen777w  
Дата: 21.05.08 16:00
Оценка:
кстати для функций имеющих разрывы НС работать будет паршиво и обучить её будет сложно.
А вообще программировать НС, можно и не программировать, есть отличнейшая библиотека libFANN.
Re[6]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 21.05.08 19:08
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Если бы любые физические уравнения имели решение, то — да. А на практике — полный бесполезняк.


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

А сто значит выделенное?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 22.05.08 06:38
Оценка:
Здравствуйте, Erop, Вы писали:

NGG>>Если бы любые физические уравнения имели решение, то — да. А на практике — полный бесполезняк.


E>AFAIK, промоделировать можно всё, кроме очень жёстких (например турбулентных) задач.

E>Ну а имея адекватную действующую мат. модель можно уже и систему управления виртуально поотлаживать...

А печка и есть такая "жёсткая" модель.

E>А сто значит выделенное?


Для создания модели используются физические законы, которые приводят к написанию уравнений описывающих систему.
Эти системы не всегда имеют решения, подтверждением чему служит задача трёх тел из астрономии.
Более того, не всегда доступны все необходимые данные. Н-р, печка не позволяет собрать полную информацию о распределении плотности руды, её составе и температуре в момент времени, когда нужно принимать решение.
Re[6]: Ну все так говорят, а ты вот купи баян!
От: Кодёнок  
Дата: 22.05.08 07:50
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>То, что управление печью не задача классификации согласен полностью. Я просто пытался показать, что потенциально есть задачи, которые "классическими" методами решаются не лучше, чем НС, а местами даже хуже.


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

Если говорить о сиюминутном моменте, когда инженеру надо решить задачу ко вчера, то да, есть задачи где НС нет альтернативы. Но с точки зрения ученого, НС не открывают никакого особого класса задач, которые не решались бы аналитически; даже если сегодня справляется только НС, завтра может быть создан алгоритм.

Может НС и могут «выстрелить» в конкретных прикладных областях, но никакого потенциала организовать новую эру, новые модели вычислений я в них не вижу вообще. Им как минимум не хватает изобретения, которое бы позволило повторно использовать уже обученные сети при построении новых.
Re[7]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 22.05.08 10:27
Оценка: :)
Здравствуйте, Кодёнок, Вы писали:

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


Да, такая точка зрения уже многократно на rsdn озвучивалась.

Доводы против:
1. Производительность. НС, грубо говоря, даёт ответ в один такт. Алгоритму вычисляющий аналогичную функцию на ПК потребуется на порядок больше действий. Всё дело в том, что сети — это максимально распараллельный вычислитель. Стоимость многопроцессорных машин существенно выше стоимости железа для нс.
2. Точно ли этот метод работать не хуже (см. п.1.)? Зачем создавать другой метод, если НС работает? Это не рентабельно. Разве что если сеть изначально использовалась как инструмент исследователя/учёного.
3. Нужно не забывать о том, что НС устойчивы к дефектам, т.е. выход из строя нейрона ведёт не к полному выходу из строя сети, а только частичному ухужшению характеристик. Если этот фактор важен, альтернативные решения должны состоять из дублирующихся систем или быть децентрализованными, что также не бесплатно.

Постановка задачи (довольно бестолковой): по стилю набора на клавиаутре провести идентификацию пользователя.
Входными данными является набор пар (время, клавиша).

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

Кё>Но с точки зрения ученого, НС не открывают никакого особого класса задач, которые не решались бы аналитически; даже если сегодня справляется только НС, завтра может быть создан алгоритм.


С точки зрения учёного — возможно. С точки зрения инженера — скорее да, чем нет.

Кё>Может НС и могут «выстрелить» в конкретных прикладных областях, но никакого потенциала организовать новую эру, новые модели вычислений я в них не вижу вообще.


Ну, НС, как никак, специализированные вычислители — "выстреливать в прикладых областях" и есть их цель.

Кё>Им как минимум не хватает изобретения, которое бы позволило повторно использовать уже обученные сети при построении новых.


А что мешает копировать веса существующей сети в новую? Или использовать комплекс сетей для решения одной задачи?

---

Ты правильно всё сказал, я даже плюсик поставил , что НС это особого рода функция, для которой разработаны способы "автоматического" подбора параметров. Это то, что должен видеть инженер и чем должен уметь пользоваться (если потребуется, конечно же). А для учёного НС это предмет исследований — их воможностей, ограничений. База с которой можно прыгнуть выше. И если хорошо постараться, то можно будет запрыгуть и в новую эру, как её описывал С.Лем С инкубаторами идей и машинами, которые получаю описание желаемого продукта и строят машины, чтобы построить машины, чтобы построить машины, которые в конце концов создатут тот самый продукт

Но это всё, согласен, глуповатые фанатазии.
Re[8]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 25.05.08 12:19
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>А печка и есть такая "жёсткая" модель.

Очень дорого отладка может на такой "модели" встать... Как по самому процессу, так и по его последствиям...

NGG>Эти системы не всегда имеют решения, подтверждением чему служит задача трёх тел из астрономии.

Понятно. Ты имеешь в виду, что не всегда есть аналитические решения. Но это-то как раз не страшно. Можно использовать численное моделирование.

NGG>Более того, не всегда доступны все необходимые данные. Н-р, печка не позволяет собрать полную информацию о распределении плотности руды, её составе и температуре в момент времени, когда нужно принимать решение.

Ну и что? Для моделирования и анализа это не важно. В конце ты хочешь получить систему, которая что-то, что можно измеряет и управляет тем, чем нужно. Но для её разработки подробная модель, даже и иемеющая внутри себя неизмеряемые на реальной производственной установке параметры, очень даже пригшодится...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 25.05.08 12:21
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Может НС и могут «выстрелить» в конкретных прикладных областях, но никакого потенциала организовать новую эру, новые модели вычислений я в них не вижу вообще. Им как минимум не хватает изобретения, которое бы позволило повторно использовать уже обученные сети при построении новых.


Я со всем более или менее согласен, кроме переиспользования. Это "изобретение" сделано уже несколько миллиардов лет как -- генетические алгоритмы называется
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 25.05.08 12:30
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>1. Производительность. НС, грубо говоря, даёт ответ в один такт. Алгоритму вычисляющий аналогичную функцию на ПК потребуется на порядок больше действий. Всё дело в том, что сети — это максимально распараллельный вычислитель. Стоимость многопроцессорных машин существенно выше стоимости железа для нс.

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

NGG>2. Точно ли этот метод работать не хуже (см. п.1.)? Зачем создавать другой метод, если НС работает? Это не рентабельно. Разве что если сеть изначально использовалась как инструмент исследователя/учёного.

Да тем, что "этот метод" обычно работает лучше и позволяет себя совершенствовать.

NGG>3. Нужно не забывать о том, что НС устойчивы к дефектам, т.е. выход из строя нейрона ведёт не к полному выходу из строя сети, а только частичному ухужшению характеристик. Если этот фактор важен, альтернативные решения должны состоять из дублирующихся систем или быть децентрализованными, что также не бесплатно.

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

NGG>Постановка задачи (довольно бестолковой): по стилю набора на клавиаутре провести идентификацию пользователя.

NGG>Входными данными является набор пар (время, клавиша).

NGG>Как её решать "обычным" образом? Нет аналитического решения, можно только предлагать различные эвристики и сравнивать результаты их работы, чтобы выбрать лучшую. НС не обладая фантазией может обучиться учитывать такие ньюансы, на поиск которых у человека ушло существенно больше времени.


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

Кё>>Им как минимум не хватает изобретения, которое бы позволило повторно использовать уже обученные сети при построении новых.

NGG>А что мешает копировать веса существующей сети в новую? Или использовать комплекс сетей для решения одной задачи?
Ну вот разработал ты сеть для опознавания пользователя с вероятностью ошибки 10%
Как её переиспользовать в решении, которое узнаёт пользователя с вероятностью ошибки 3%?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 26.05.08 06:29
Оценка:
Здравствуйте, Erop, Вы писали:

E>При этом стремительное удешевление микроэлектронники делает это преимущество почти бесполезным


Выкладки с калькулятором не проводил, но сдаётся мне, что создавать железо под решение конкретной задачи (с учётом массового распараллеливания) дороже, чем печатать "стандартные" архитектуры нс.

NGG>>2. Точно ли этот метод работать не хуже (см. п.1.)? Зачем создавать другой метод, если НС работает? Это не рентабельно. Разве что если сеть изначально использовалась как инструмент исследователя/учёного.

E>Да тем, что "этот метод" обычно работает лучше и позволяет себя совершенствовать.

А каком совершенстве может идти речь, если на деньги решают всё?

E>Ну цифровые микросхемы обычно горят целиком, и делают это очень редко... Так что как-то странно представлять как преимущество то, что может отвалиться один нейрон. В однокристалльной ЭВМ обычно вообще ничего никогда не отвалтвается...


Не помню точных цифр, могу соврать. В памяти сохранились слова о том, что нс деградирует пропорционально потерянным нейронам. Как голограмма, где любой кусочек содержит полную информацию об общей картине.

E>Или, что логичнее, строишь признаки, в том числе и по физическим соображениям. Скажем степень однородности набора букв в течении времени, степень однородности набора букв в слове, и т. д. А дальше решаешь проблему классификации точек многомерного пространства...


Это эвристики. Чем они будут лучше НС? Та же самая эвристика, только полученная без задействования серых клеточек

E>Ну вот разработал ты сеть для опознавания пользователя с вероятностью ошибки 10%

E>Как её переиспользовать в решении, которое узнаёт пользователя с вероятностью ошибки 3%?

Акценты несколько сдвинуты:
Повторно используется не сеть, а её архитектура и алгоритмы обучения.
Сеть это конечный продукт — как машинный код получаемый из кода на высокоуровневом языке.
А архитектура и алгоритмы — исходный код, который может быть поворно использован.
Re[10]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 26.05.08 08:17
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Выкладки с калькулятором не проводил, но сдаётся мне, что создавать железо под решение конкретной задачи (с учётом массового распараллеливания) дороже, чем печатать "стандартные" архитектуры нс.

Как схемотехническое решение НС вообще связано с алгоритмами её разработки?

E>>Да тем, что "этот метод" обычно работает лучше и позволяет себя совершенствовать.

NGG>А каком совершенстве может идти речь, если на деньги решают всё?
О качестве работы классификатора. С чистыми НС у тебя степень коньроля над уровнем результатов меньше.

NGG>Не помню точных цифр, могу соврать. В памяти сохранились слова о том, что нс деградирует пропорционально потерянным нейронам. Как голограмма, где любой кусочек содержит полную информацию об общей картине.

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

E>>Или, что логичнее, строишь признаки, в том числе и по физическим соображениям. Скажем степень однородности набора букв в течении времени, степень однородности набора букв в слове, и т. д. А дальше решаешь проблему классификации точек многомерного пространства...

NGG>Это эвристики. Чем они будут лучше НС? Та же самая эвристика, только полученная без задействования серых клеточек

А ты хочешь взять в качестве признаков (входво НС) коды 10 кнопочек подряд и их задержки?
Вот уж действительно "без задействования серых клеточек". IMHO такое изделие надёжно не заработает.
Всё-таки входы НС/признакового классификатора лучше бы выбирать более осмысленно.

E>>Ну вот разработал ты сеть для опознавания пользователя с вероятностью ошибки 10%

E>>Как её переиспользовать в решении, которое узнаёт пользователя с вероятностью ошибки 3%?

NGG>Акценты несколько сдвинуты:

NGG>Повторно используется не сеть, а её архитектура и алгоритмы обучения.
Окей. Как переиспользовать архитектуру и алгоритм обучения, если надо уменьшить число ошибок в три раза?

Вообще "Окей, как-то это работтает, как теперь это улучшить?" -- центральный вопрос темы. И именно отсутствие внятного ответа на него и делает НС бесперспективными...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 26.05.08 11:28
Оценка: :)
Здравствуйте, Erop, Вы писали:

NGG>>Выкладки с калькулятором не проводил, но сдаётся мне, что создавать железо под решение конкретной задачи (с учётом массового распараллеливания) дороже, чем печатать "стандартные" архитектуры нс.

E>Как схемотехническое решение НС вообще связано с алгоритмами её разработки?

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

NGG>>А каком совершенстве может идти речь, если деньги решают всё?

E>О качестве работы классификатора. С чистыми НС у тебя степень коньроля над уровнем результатов меньше.

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


E>Всё-таки входы НС/признакового классификатора лучше бы выбирать более осмысленно.


Безусловно, предварительная обработка данных нужна, чтобы уменьшить размерность задачи, исключить несущественные детали и т.п.
Это обычная практика при любом моделировании, в том числе и при моделировании при помощи НС.

Но:
1. Каждая итерация, каждая новая мысль о входных данных влечёт за собой, как минимум, необходимость переписывать код и проводить новые тесты ПО. А это так же сложно, как исправлять ошибки проектрования (о чём звездится в каждой второй книге про ПО).
С нейронными сетями этой, суть технической, проблемы нет.
2. Если так получилось, что не ясно, какие данные важны, а какие нет, выяснение этого можно возложить на НС: дать на вход всё, что имеется, а затем последовательно исключать/видоизменять входные данные, наблюдая за сетью.

E>>>Ну вот разработал ты сеть для опознавания пользователя с вероятностью ошибки 10%

E>>>Как её переиспользовать в решении, которое узнаёт пользователя с вероятностью ошибки 3%?
E>Окей. Как переиспользовать архитектуру и алгоритм обучения, если надо уменьшить число ошибок в три раза?

Вот есть алгоритм сортировки пузырьком, как переиспользоват его так, чтобы получить радиксную сортировку?!

Наблюдаешь аналогию со своим вопросом?

Ответ простой: оптимизировать существующие алгоритмы обучения, настраивать параметры сети, озаботиться качеством обучающих данных, либо, если не помгло, попробовать совсем другую архитектуру, совсем другие алгоритмы обучения и по другому представленные данные, используя при этом опыт полученный входе предыдущего решения.
Re[12]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 26.05.08 12:39
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Не знаю. Ты сказал, что обычное железо стоит копейки, а я усомнился, что делать железо под конкретную задачу будет дешевле, чем купить планку с, н-р, трёх слойной НС.

Обычное железо -- это однокристаллки, например...

NGG>Предпосылка была в том, что есть решение на НС удовлетворяющее потребителя. Зачем в таком случае заниматься "бесполезной" с точки зрения денег работой по разработке других решений?

Если уже есть решение, которео удовлетворяет, то о разработке чего мы рассуждем?
Я говорю о ситуации, когда что-то надо РАЗРАБОТАТЬ...

E>>Всё-таки входы НС/признакового классификатора лучше бы выбирать более осмысленно.

NGG>Безусловно, предварительная обработка данных нужна, чтобы уменьшить размерность задачи, исключить несущественные детали и т.п.
NGG>Это обычная практика при любом моделировании, в том числе и при моделировании при помощи НС.
Ну так и не имеет это значит отношения к НС непосредственного

NGG>Но:

NGG>1. Каждая итерация, каждая новая мысль о входных данных влечёт за собой, как минимум, необходимость переписывать код и проводить новые тесты ПО. А это так же сложно, как исправлять ошибки проектрования (о чём звездится в каждой второй книге про ПО).
NGG>С нейронными сетями этой, суть технической, проблемы нет.
А нефиг так по-уродски программы писать. Имей отдельный слой, готовящий признаки, и отдельный слой, классифицирующий признаки...

NGG>2. Если так получилось, что не ясно, какие данные важны, а какие нет, выяснение этого можно возложить на НС: дать на вход всё, что имеется, а затем последовательно исключать/видоизменять входные данные, наблюдая за сетью.

Опять же, наблюдать за шеомместами и классификаторами можно намного более удобно...

NGG>Вот есть алгоритм сортировки пузырьком, как переиспользоват его так, чтобы получить радиксную сортировку?!

НИкак, увы.

NGG>Наблюдаешь аналогию со своим вопросом?

Нет не наблюдаю. Дело в том, что подход, о котором говорю я, ПОЗВОЛЯЕТ ПЕРЕИСПОЛЬЗОВАТЬ решения, при разработке более точного...

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


Ну а ты вот и будешь "использобвать бесценный опыт пробования совсем других архитектур, алгоритмов и данных"...
Ну нравится, таки пробуй. А промышленные коассификаторы, AFAIK, от НС давно ушли. Именно из-за этой их органичной ограниченной поддерживаемости...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: Нейронная сеть. Тяга к знаниям)
От: ettcat США  
Дата: 26.05.08 13:51
Оценка: +1
N>Мой опыт — это скорее признак недостаточной настойчивости и знаний. Или слабости духа
N>Говоря "в общем случае", я имел в виду строгое математическое доказательство принципиальной возможности разделения с помощью нейросети. Не помню как оно (доказательство) называется, но точно помню, что видел его где-то.

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

Если же ты про другую теорему — то было бы очень интересно услышать ее формулировку.
Re[5]: Ну все так говорят, а ты вот купи баян!
От: ettcat США  
Дата: 26.05.08 14:01
Оценка:
Здравствуйте, Erop, Вы писали:

NGG>>Например, управление электрическими доменными печами (управляется глубина погружения электрода, если не ошибаюсь). Эти штуки жгут электричества на такие суммы рублей, что экономия в 1% даст значительную экономическую выгоду. Управляются какими-то примитивными датчиками на основе правил. А чтобы эффективно управлять печью, нужно знать такую уйму параметров и написать столько уравнений, что надежд на их решение нет Один анализ только, чем можно пренебречь в расчётах, а чем нет, достоин пары лет труда толпы учёных.


E>Это не совсем задача классификации IMHO...


Это задача регрессионного анализа. Есть методы, похожие на методы классификации, только заточенные под регрессию: Support Vector Regression/logistic regression с регуляризацией/ridge regression/etc
Re[10]: Ну все так говорят, а ты вот купи баян!
От: ettcat США  
Дата: 26.05.08 14:07
Оценка: +1
E>>Или, что логичнее, строишь признаки, в том числе и по физическим соображениям. Скажем степень однородности набора букв в течении времени, степень однородности набора букв в слове, и т. д. А дальше решаешь проблему классификации точек многомерного пространства...

NGG>Это эвристики. Чем они будут лучше НС? Та же самая эвристика, только полученная без задействования серых клеточек


Качество классификации сильно зависит от пространства признаков — если признаки бестолковы, то и классификатор будет плохим. И никакая нейросеть не поможет. Поэтому эвристики все равно нужно будет искать, чтоб построить более представительные и разделимые признаки.
В данном случае не факт что нейросеть покажет лучший результат нежели тот же SVM/logistic regression, пусть даже на тех же данных.
Re[7]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 26.05.08 15:05
Оценка:
Здравствуйте, ettcat, Вы писали:

E> Если ты про теорему Новикова — то она утверждает только то, что если вектора обучающей выборки разделимы — то процесс обучения перцептрона сойдется и найдет разделяющую гиперплоскость. Про нейросети подобной теормы вроде бы нет. И если вектора неразделимы — то теорема не утверждает ничего.

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


E> Если же ты про другую теорему — то было бы очень интересно услышать ее формулировку.

+1 Мне тоже интересно было бы почитать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 28.05.08 07:01
Оценка:
Здравствуйте, Erop, Вы писали:

NGG>>Предпосылка была в том, что есть решение на НС удовлетворяющее потребителя. Зачем в таком случае заниматься "бесполезной" с точки зрения денег работой по разработке других решений?

E>Если уже есть решение, которео удовлетворяет, то о разработке чего мы рассуждем?
E>Я говорю о ситуации, когда что-то надо РАЗРАБОТАТЬ...

Ну, и? Если задача на момент начала разработки не имеет классических решений, который можно использовать или модернизировать, то потребуется большая исследовательская работа. Почему бы не попробовать тогда НС?

E>>>Всё-таки входы НС/признакового классификатора лучше бы выбирать более осмысленно.

NGG>>Безусловно, предварительная обработка данных нужна, чтобы уменьшить размерность задачи, исключить несущественные детали и т.п.
NGG>>Это обычная практика при любом моделировании, в том числе и при моделировании при помощи НС.
E>Ну так и не имеет это значит отношения к НС непосредственного
А кто говорил, что имеет? Напротив, я говорил о том, что это обычная практика...

E>А нефиг так по-уродски программы писать. Имей отдельный слой, готовящий признаки, и отдельный слой, классифицирующий признаки...

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

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


E>Опять же, наблюдать за шеомместами и классификаторами можно намного более удобно...

Ещё раз: если есть работающее решение, удовлетворяющее всем запросам — зачем городить НС? НС используются главным образом там, где другие подходы не дают приемлимого результата. Согласись, было бы странным выбрать НС в качестве инструмента для написания rsdn.ru

NGG>>Вот есть алгоритм сортировки пузырьком, как переиспользоват его так, чтобы получить радиксную сортировку?!

E>НИкак, увы.

NGG>>Наблюдаешь аналогию со своим вопросом?

E>Нет не наблюдаю. Дело в том, что подход, о котором говорю я, ПОЗВОЛЯЕТ ПЕРЕИСПОЛЬЗОВАТЬ решения, при разработке более точного...

Ты говоришь не о подходе, а о каком-то конкретном алгоритме решения конкретной задачи. Исходя из каких-то наблюдений, ты делаешь вывод, что это конкретное решение, можно как-то (чуть-чуть?) видоизменить, чтобы получить решение лучшего качества.
Замечательно.

Сортировка пузырьком — такой же точно алгоритм, который можно оптимизировать и получать улучшенные модификации (сколько варианов кодирования пузырька вспомнишь? . Тем не менее, есть границы за которые эта сортировка выскочить не может, если существенно не изменить сам алгоритм. Тоже самое ограничение лежит и на решении, на которое ты ссылаешься. Рано или поздно улучшения путём настройки/незначительных изменений станут не возможны.

Что тогда будешь делать?

Правильно, обобщив накопленный опыт, примешься за разработку нового решения.

E>Ну а ты вот и будешь "использобвать бесценный опыт пробования совсем других архитектур, алгоритмов и данных"...

E>Ну нравится, таки пробуй.

Ага, так же как и ты, когда свершится то, о чём писалось парой строчек выше

E>А промышленные коассификаторы, AFAIK, от НС давно ушли. Именно из-за этой их органичной ограниченной поддерживаемости...


Флейма ради, давай проведём аналогии с ЯП:

Есть очень мощные языки, на которых писать одно удовльствие (lisp, haskell, k, erlang, <вписать своё любимое>) и обещающие существенное повышение производительности туда программиста. А есть мейнстрим, промышленные языки — java, с#.
Что мешает первым завоевать мир? На rdsn.ru давалась уйма ответов. Один из интереснейших: сложность вхождния в тему для новичков и отсутствие толп специалистов, которые смогли бы писать и поддерживать решения на этих языках (а они не появятся, пока язык не пойдёт в мейнстрим). Такой вот замкнутый круг

Так же может быть и тут: ушли потому, что не было специалистов.
Re[14]: Ну все так говорят, а ты вот купи баян!
От: ettcat США  
Дата: 28.05.08 08:37
Оценка: +1
Здравствуйте, NotGonnaGetUs, Вы писали:

E>>Опять же, наблюдать за шеомместами и классификаторами можно намного более удобно...

NGG>Ещё раз: если есть работающее решение, удовлетворяющее всем запросам — зачем городить НС? НС используются главным образом там, где другие подходы не дают приемлимого результата. Согласись, было бы странным выбрать НС в качестве инструмента для написания rsdn.ru

Вопрос в том, сможет ли HC дать приемлимый результат, если другие методы не могут?
Re[15]: Ну все так говорят, а ты вот купи баян!
От: NotGonnaGetUs  
Дата: 28.05.08 08:45
Оценка:
Здравствуйте, ettcat, Вы писали:

E> Вопрос в том, сможет ли HC дать приемлимый результат, если другие методы не могут?


Вот это уже хороший вопрос
Но согласись, если другие методы не могут или могут, но за слишком большие деньги, то почему не попробовать НС?
Re[16]: Патамушта беспалезна!!! :)))
От: Erop Россия  
Дата: 28.05.08 19:31
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Но согласись, если другие методы не могут или могут, но за слишком большие деньги, то почему не попробовать НС?

Патамушта беспалезна!!!

Это, типа, последний раз ныряю.
Мы вроде договорились до того, что решение с НС состоит из трёх частей
1) Подгоовить вектор признаков/входов НС
2) Придумать архитектуру сети
3) обучить сеть

Так?

Если так, то смотри что у нас выходит
1) У нас нет хорошего способа понять хорошие ли признаки мы выбрали. Вернее есть, но он лежит в области изучения геом. мест классов в N-мерном пространстве признаков. Если уж мы всё равно будем изучать эти геом. места, то наверное разовьём или используем соответсвующий инструментарий. Тут уже до прямого описания геом. мест классов в пространстве признаков остаётся один шаг.

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

Положим, что сепарабельные чем-то вменяемым признаки родить не удалось. Тут у нас есть два пути. Либо дальше погружаться в специфику задачи, и искать таки адекватные признаки (это путь, хоть может и долгий, но довольно надёжный. Если объекты вообещ классифицируемы в принципе, то скорее всего удастся, задавая себеталантливые вопросы "а чем несепарабельные текущей системой признаков классы отличаются на самом деле?" найти достаточную систему признаков. Потом, путём довольно формальных преобразований, можно систему признаков сделать более компактной, это тоже дело техники на самом деле), а второй путь состоит в том, чтобы попробоватьпостроить НС по этим, плохим признакоам, в надежде, что НС сможет породить нужные признаки сама, где-то внутри себя. То есть мы храбро переходим к 2)

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

3) Ну и учим. Тут у нас есть три возможных исхода
3а) Нам повезёт и сеть будет суперски работать. Это значит, что мы идиоты и какие-то относительно простого вмда признаки не нашли, либо мы нереальные пёрщики. Возможно из-за тогоо, что я не глуп, а может потому что я невезуч, но в моей пратике так НИКОГДА НЕ БЫВАЕТ
3б) Мы получаем переобученную сеть. То есть она прекрасно классифицирует обучающую выборку, и толкьо её. В этом нет ничего удивительного. Положим, у нас так получилось, что точки двух классов идут вперемешку. Понятно, что, например, гиперповерхность достаточно большого порядка (например порядка равного числу точек в обучающей выборке) может их разделить. Но понятно, что обцчающая выборка случайна, и если мы её "пошевелим", то точки сместятся в случайные места, и классификация мломается. Так что на обучающей выборке у нас будет счастье а в реале не заведётся (как вариант не заведётся на статистически независимой контрольной выборке)
3в) Вообще нифига не обучится, потому что признаки реально хреновые.

Ну если 3а, то счастье, но его не бывает, если 3в, то можно вернуться к шагу 2 и попробовать другую топологию. Если мы будем упорны, но не слишком везучи, то мы попадём в конце концов в 3б (либо вообще зациклимся, если достаточно сложную сеть построить не удастся)

Что делать, если мы пришли в 3б? Ну можно попробовать увеличить обучающую выборку, например. Тогда, опять же если мы не гипервезучи (либо гиперглупы), то мы попадём в 3в. И так по кругу. пок не попрёт по настоящему.

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

Ну и короче моё мнение состоит в том, что можно сразу фигнёй не страдать, а сразу строить хороште признаки и изучать что же их на самом деле разделяет Даже если в конце концов нам нужна НС, чтобы затолкать её в апапаратную реализацию, лучше бы сначала решить задачу поиска хороших признаков, посде чего 2 и 3 станут тривиальны...

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

Короче, надо искать хорошие признаки + хорошие способы построения обучающей выборки (чтобы она содержада достаточно информации для обощения/аппроксимации), а не тратить ресурсы на 2 и 3...

при этом, обрати внимание, что и признаки и метод формирования обучающей выборки можно переиспользовать при дальнейшем совершенствовании системы либо при модификации задачи. А 2 и 3 переиспользовать не получится.

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

Либо, когда мы поймём, что таки не прёт,
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[17]: Патамушта беспалезна!!! :)))
От: NotGonnaGetUs  
Дата: 29.05.08 06:36
Оценка:
Здравствуйте, Erop, Вы писали:

E>Мы вроде договорились до того, что решение с НС состоит из трёх частей

E>1) Подгоовить вектор признаков/входов НС
E>2) Придумать архитектуру сети
E>3) обучить сеть

E>Так?


Ага.

E>1) У нас нет хорошего способа понять хорошие ли признаки мы выбрали.


Ровно настолько, насколько нет хорошего способа понять адекватна ли действительности какая-либо мат.модель. Только проверкой на практике.

E>Ещё раз обращу твоё внимание, что к построению арзитектуры сети имеет смысл переходить только если признаки плохие, потому что хорошие признаки легко классифициоруют и без сети...


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

E>Положим, что сепарабельные чем-то вменяемым признаки родить не удалось. Тут у нас есть два пути. Первый дальше погружаться в специфику задачи, и искать таки адекватные признаки. Второй путь состоит в том, чтобы попробоватьпостроить НС по этим, плохим признакоам, в надежде, что НС сможет породить нужные признаки сама, где-то внутри себя. То есть мы храбро переходим к 2)


Именно так.

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


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

E>3а) Нам повезёт и сеть будет суперски работать. Это значит, что мы идиоты и какие-то относительно простого вмда признаки не нашли, либо мы нереальные пёрщики. Возможно из-за тогоо, что я не глуп, а может потому что я невезуч, но в моей пратике так НИКОГДА НЕ БЫВАЕТ


Если посадить пятикласника решать стереометрические задачи, у него тоже никогда ничего не получится.

E>3в) Вообще нифига не обучится, потому что признаки реально хреновые.


Для этого и производится исследовательская работа, чтобы понять — достаточно ли данных для решения с заданной точностью или нет.

E>Ну если 3а, то счастье, но его не бывает, если 3в, то можно вернуться к шагу 2 и попробовать другую топологию. Если мы будем упорны, но не слишком везучи, то мы попадём в конце концов в 3б (либо вообще зациклимся, если достаточно сложную сеть построить не удастся)


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

E>Что делать, если мы пришли в 3б? Ну можно попробовать увеличить обучающую выборку, например.


3б — это переобучение сети. В данном случае уменьшают число нейронов, т.е. упрощают сеть, чтобы избежать заучивания входных данных.

E>При этом расширять обучающую выборку часто довольно накладно, так как надо где-то брать новые точки, то есть собирать классифицируемые материалы.


Вспомни свои слова про переписывание решений. Обычно обучающие данные собираются один раз (всё, что только можно вытянуть) и далее только преобразуются к нужному виду в зависимости от выдвинутых предположений.

E>Ну и короче моё мнение состоит в том, что можно сразу фигнёй не страдать, а сразу строить хороште признаки и изучать что же их на самом деле разделяет


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

E>при этом, обрати внимание, что и признаки и метод формирования обучающей выборки можно переиспользовать при дальнейшем совершенствовании системы либо при модификации задачи. А 2 и 3 переиспользовать не получится.


Замечательно получится. 2 — это как паттерны проектирования в программировании, 3 — по сути исследование задачи, входе этого процесса выясняются зависимости существующие между входными и выходными данными и т.д. В зависимости от полученных результатов можно искать другую архитектуру сети или менять входные выборки.

E>Вот об этом я и говорю, что решения существенно базирующиеся на НС непредсказуемы и нетехнологичны, а вот подход, основанный на изучении геом. мест классов в пространстве признаков лишён этих недостатков...


Говоришь — да. А с доказательствами беда
Re[18]: Патамушта беспалезна!!! :)))
От: Erop Россия  
Дата: 29.05.08 11:44
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Неправда. Н-р, есть доменная печь. "Признаки" — это все возможные параметры, которые можно с неё снять. Они не могут быть плохие или хорошие — они даны по условию задачи. Можно эти данные предварительно обработать, но новых взять не откуда. А задачу решить нужно, т.е. выдать мезанизм управления печью более эффективный нежели имеющийся в наличии


1) Можно думать над дополнительным идатчиками.
2) Можно думать над операциями над имеющимися данными. Скажем над различными производными и интегралами, Фурье-анализом...
Но в действительности часто бывают такие инструментальные измерения, которые вообще не числа. Скажем в домне может быть изобраджение с ИК-камеры, например... Превратить в числа такую штуку можно многими очень способами...

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

Ну а что касается "аппроксимировать функцию _любого_ вида с _любой_ заданной точностью" -- то просто список точек ещё лучше это умеет... Толку правда немного

E>>3а) Нам повезёт и сеть будет суперски работать. Это значит, что мы идиоты и какие-то относительно простого вмда признаки не нашли, либо мы нереальные пёрщики. Возможно из-за тогоо, что я не глуп, а может потому что я невезуч, но в моей пратике так НИКОГДА НЕ БЫВАЕТ

NGG>Если посадить пятикласника решать стереометрические задачи, у него тоже никогда ничего не получится.
Конструктивно споришь и по существу... И главное, совсем без перехода на личности...
Ты вот много хороших классификаторов родил за карьеру?
Я вот много. Так что мне интересно, ты считаешь что я недостаточно глуп или недостаточно везуч?...

E>>Ну если 3а, то счастье, но его не бывает, если 3в, то можно вернуться к шагу 2 и попробовать другую топологию. Если мы будем упорны, но не слишком везучи, то мы попадём в конце концов в 3б (либо вообще зациклимся, если достаточно сложную сеть построить не удастся)

NGG>Тоже самое можно сказать про любой процесс происка решения, если только решение не состоит в реализации заведомо известного алгоритма.

Обрати внимание, я там писал что-то про надёжный путь... Ты просто не заметил, видимо...

E>>Что делать, если мы пришли в 3б? Ну можно попробовать увеличить обучающую выборку, например.

NGG>3б — это переобучение сети. В данном случае уменьшают число нейронов, т.е. упрощают сеть, чтобы избежать заучивания входных данных.

Очень хорошо, а если более простая сеть не разделяет, то что делают?...

E>>При этом расширять обучающую выборку часто довольно накладно, так как надо где-то брать новые точки, то есть собирать классифицируемые материалы.


NGG>Вспомни свои слова про переписывание решений. Обычно обучающие данные собираются один раз (всё, что только можно вытянуть) и далее только преобразуются к нужному виду в зависимости от выдвинутых предположений.

Что значит "один раз"? Если у тебя в принципе возможно легко перечислимое количество точек пространства признаков, то на кой огород городить? Просто список нужных точек прекрасно всё классифицирует. В том то и проблема, что тояки стохастичеаски "пляшут" внутри геом. мест своих классов, и чем больше ты эксперементов намеришь для обучения, тем точнее получится у тебя протабулировать эти геом. места. Проосто это табулирование обычно дорого стоит

NGG>А если не получается их построить? А если поучив "хорошие" признаки (я не говорю о задачи классификации) всё равно не понятно как решать задачу? Н-р, задача коммивояжёра большой размерности. Все "признаки" на лицо. А как решать-то?

А какие там признаки? И что ты там собрался получать на выходе НС?

Обрати внимание, что я говорил о задаче классификации или о задачах к ней сводящихся.

NGG>Замечательно получится. 2 — это как паттерны проектирования в программировании, 3 — по сути исследование задачи, входе этого процесса выясняются зависимости существующие между входными и выходными данными и т.д. В зависимости от полученных результатов можно искать другую архитектуру сети или менять входные выборки.


И какова метода ЦЕЛЕНАПРАВЛЕННО искать другую архитектуру, да ещё и переиспользую уже найденную?

NGG>Говоришь — да. А с доказательствами беда


Имеющий уши, да услышит, имеющий глаза, да прочитает, имеющий мозги, да поймёт...


Университет бесплатного обучения AI предлагаю считать закрытым. Я собственно посоветовал всё что мог...
Не веришь, что это тупиковый путь, хочешь тратить ресурсы на вознню с НС -- трать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
тупик
Re[19]: Патамушта беспалезна!!! :)))
От: NotGonnaGetUs  
Дата: 29.05.08 15:06
Оценка: -1 :)
Здравствуйте, Erop, Вы писали:

E>1) Можно думать над дополнительным идатчиками.

E>2) Можно думать над операциями над имеющимися данными. Скажем над различными производными и интегралами, Фурье-анализом...

Сколько времени дать на размышление?

Главная проблема-то в чём: нет хорошей модели печи, которую можно было бы легко обсчитать и даже нет принципиальной возможности снять все необходимые данные (н-р, мговенное распределение и состав руды в печи). А задача есть. И что делать?

E>Трёхслойная сеть -- это уже очень сложная функция. А "зарекомендовавшие себя топологии" -- это именно вот на кофейной гуще и есть. Так как никаких разумных соображений по выбору, кроме сокраментального "а может хватит", увы нет.


Поверь, ты так говоришь от незнания.

E>Ну а что касается "аппроксимировать функцию _любого_ вида с _любой_ заданной точностью" -- то просто список точек ещё лучше это умеет... Толку правда немного


Это как так? Весь континуум точек выпишешь?

E>>>3а) Нам повезёт и сеть будет суперски работать. Это значит, что мы идиоты и какие-то относительно простого вмда признаки не нашли, либо мы нереальные пёрщики. Возможно из-за тогоо, что я не глуп, а может потому что я невезуч, но в моей пратике так НИКОГДА НЕ БЫВАЕТ

NGG>>Если посадить пятикласника решать стереометрические задачи, у него тоже никогда ничего не получится.
E>Конструктивно споришь и по существу... И главное, совсем без перехода на личности...
E>Ты вот много хороших классификаторов родил за карьеру?
E>Я вот много. Так что мне интересно, ты считаешь что я недостаточно глуп или недостаточно везуч?...

Судя по твоим сообщениям (как дело обстоит на самом деле я, конечно, знать не могу), я считаю, что ты не обладаешь достаточно глубокими знаниями в НС, чтобы безапелляционно их судить.

НС это не магия вуду, где нужно молиться великому нейрону и гадать на гуще, чтобы получить из ниоткуда самое лучшее на свете решение.
НС это инструмент и им нужно уметь пользоваться.
Опять аналогия.
Возьмём человека в глаза не видившего java и об ооп знающего только, что оно есть и оно круто. Дадим ему описание стека j2ee и пары десятков фреймворков и попросим за месяц написать ERP систему. Какой будет результат? Никакого. Потому что одно обучение потребует не меньше года. А чтобы подопытный научился принимать осмысленные решения о выборе технологий и архитектур, а не тыкать пальцем в небо, потребуется ещё больше времени.
Или возьми человека прочитавшего за неделю книжку по синтаксису языка и сказавшего, что он теперь гуру. Разве это будет так?

Замени в этом рассуждении java на НС и поставь себя на место описанных выше людей. Не находишь сходства?

NGG>>Тоже самое можно сказать про любой процесс происка решения, если только решение не состоит в реализации заведомо известного алгоритма.

E>Обрати внимание, я там писал что-то про надёжный путь... Ты просто не заметил, видимо...

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

Есть задачи, для которых не разработаны ещё алгоритмы, следование которым даёт 100% гарантию получения приемлемого по цене/качеству решения. Если принявшись за решение такой задачи, ты готов последовать "надёжным путём", могу только позавидовать


E>Очень хорошо, а если более простая сеть не разделяет, то что делают?...

Тоже, что делают когда любое решение заходит в тупик... Выдвигают новые гипотезы и пробуют их доказать проверить.

E>Что значит "один раз"? Если у тебя в принципе возможно легко перечислимое количество точек пространства признаков, то на кой огород городить? Просто список нужных точек прекрасно всё классифицирует. В том то и проблема, что тояки стохастичеаски "пляшут" внутри геом. мест своих классов, и чем больше ты эксперементов намеришь для обучения, тем точнее получится у тебя протабулировать эти геом. места. Проосто это табулирование обычно дорого стоит


Ты сейчас сам с собой разговариваешь. Не знаю ничего про точки и геом места и откуда ты их берёшь.

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

E> И что ты там собрался получать на выходе НС?


На выходе? Кратчейшее (с приемлимой точностью) растояние из пункты А в пункт В

E>Обрати внимание, что я говорил о задаче классификации или о задачах к ней сводящихся.


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


E>И какова метода ЦЕЛЕНАПРАВЛЕННО искать другую архитектуру, да ещё и переиспользую уже найденную?

Никогда не решал олимпиадные задачи по математике? Можешь тогда дать "методу ЦЕЛЕНАПРАВЛЕННОГО" поиска решения?
Опять аналогия: одно дело решение квадратного уравнения, когда алгоритм наперёд известен и ему нужно только следовать, другое дело творческий поиск. Во время поиска никаких гарантий нет и не может быть.

E>Имеющий уши, да услышит, имеющий глаза, да прочитает, имеющий мозги, да поймёт...

Подпишусь

E>Не веришь, что это тупиковый путь, хочешь тратить ресурсы на вознню с НС -- трать

Я понимаю, конечно, что вера — это не то, что требует доказательств, но всё-таки вдруг у тебя они есть ...
Re[20]: Итого
От: Erop Россия  
Дата: 29.05.08 16:19
Оценка:
1) Я утверждаю, что для решения задач классификации или сводящихся к задаче классификации НС бесполезны. за исключеним случая, доступной НС-аппаратуры
2) В случае если нам надо разработать НС "в железе", то и тогда в задачах из п. 1 правильно решать через геом. места, а потом уже по известному решению строить НС
3) Я не знаю существуют ли классы задач, на которых НС эффективны. AFAIK, пока что они не обнаружены.
4) Известная мне версия задачи комивояжёра должна по карте выдать порядок посещения пунтктов так, чтобы цена обхода была минимальна. Задача NP-полна, и я таки сильно сомневаюсь, что она принципиально решаема НС. Иначе можно бы было за полиноминальное время съмулировать НС и решить эту задачу. Мало того, мне было бы интересно узнать об опыте применения НС в такой задаче. Интересно и что было на входе сети и что на выходе и чего удалось найти, где брали карты и зачем это таки понадобилось.
5) Задача "поиск кратчайшего пути" имеет хорошие и легко находимые алгоритмические решения. Гугли "алгоритм А*"

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



p. s.
С интересом почитаю про эффективное, хотя бы субоптимальное, решение задачи комивояжёра при помощи НС...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[21]: Итого
От: NotGonnaGetUs  
Дата: 30.05.08 06:36
Оценка:
Здравствуйте, Erop, Вы писали:

E> <skipped>


Утверждения ясны, не ясны их обоснования

E>4) Известная мне версия задачи комивояжёра должна по карте выдать порядок посещения пунтктов так, чтобы цена обхода была минимальна. Задача NP-полна, и я таки сильно сомневаюсь, что она принципиально решаема НС. Иначе можно бы было за полиноминальное время съмулировать НС и решить эту задачу. Мало того, мне было бы интересно узнать об опыте применения НС в такой задаче. Интересно и что было на входе сети и что на выходе и чего удалось найти, где брали карты и зачем это таки понадобилось.

E>С интересом почитаю про эффективное, хотя бы субоптимальное, решение задачи комивояжёра при помощи НС...

My bad. В конце рабочего дня порой случаются заскоки.

Если интересна тема, предлагают спросить у гугла о traveling salesman problem neural networks и читать сверху вниз.

E>Ну а всё остальное я уже писал выше. Не про сортировки пузырьками, ни про задачу комивояжёра, ни про что-то ещё, а про задачи классификации, либо задачи сводящиеся к задачам классификации. (И определение пользователя и управление домной и многочего ещё в этот класс попадает. Пока что ты не привёл ни одной реальной задачи, которая бы в этот класс не укладывалась и решаласьбы НС.).


В этом с тобой не согласятся ettcat, я вместе с ним и ты же сам: ( http://rsdn.ru/forum/message/2964815.1.aspx
Автор: ettcat
Дата: 26.05.08
)

E>Собственно я обсуждал только их. Потому, что обсуждать "задачи вообще" я не умею. Я описал тебе боле еэффективный и прагматичный подход, чем Н, базирующийся на изучении геом. мест представлющих экземпляры классов точек в пространстве признаков. Если ты не понял что это за метод и что это за геом. места -- перечитай обсуждение. А мне теюе сказать больше нечего.


Тема для медитации: поиск максимального элемента в массиве хорошо решается без НС, давай будем обсуждать только эту задачу и придём к выводу, что бесполезнее НС только Дима Билан
Re[22]: Итого
От: Erop Россия  
Дата: 31.05.08 04:56
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Тема для медитации: поиск максимального элемента в массиве хорошо решается без НС, давай будем обсуждать только эту задачу и придём к выводу, что бесполезнее НС только Дима Билан


Так для каких целей НС эффективны-то? Я что-то так и не понял?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: Кстати
От: Erop Россия  
Дата: 31.05.08 05:19
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Если интересна тема, предлагают спросить у гугла о traveling salesman problem neural networks и читать сверху вниз.

Долго читать?
Меня правда заинтересовало как так можно, похоже что не особо можно
Там нашлось много абстрактов, на тему (что мы вот придумали как улучшить подход Коханена, патаму шта он работает плохо)
Есть вообще обзор проблемы, IMHO, нейросети в нём упомянуты очень вскользь...
Если правда что-то про это знаешь, то расскажи таки коротенько, потому что в гугол и я послать тебя могу

NGG>В этом с тобой не согласятся ettcat, я вместе с ним и ты же сам: ( http://rsdn.ru/forum/message/2964815.1.aspx
Автор: ettcat
Дата: 26.05.08
)

Этот тип задач анологичен задачам классификации и тоже лучше решается через геом. места, ровно по тем же причинам...

NGG>Тема для медитации: поиск максимального элемента в массиве хорошо решается без НС, давай будем обсуждать только эту задачу и придём к выводу, что бесполезнее НС только Дима Билан


Тема, для "просто чтения": Я не утверждал про другие задачи ничего, наоборот мне интересно в каких же задачах НС таки эффективны? AFAIK, таких нет, но может быть тебе они известны?..
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[23]: Итого
От: NotGonnaGetUs  
Дата: 02.06.08 06:42
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Так для каких целей НС эффективны-то? Я что-то так и не понял?


Под редакцией Галушкина А.И. вышло 40 (что ли) томов о примененнии нейронных сетей в различных областях.
Там подробно описаны задачи, которые решаются нейросетями и описано практическое применние. Китай, н-р, в этом вопросе, можно сказать, впереди планеты всей

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

А вообще твой вопрос очень похож на вопросы из холиваров: "На кой сдалась ваша java? Покажите хоть одну программу у меня на компьютере, написанную на java! А на дельфе есть TheBat!" — и так далее. А люди-то работают, пишут что-то и даже деньги получают

Область применения НС слабо пересекается с задачами встающими перед 99% программистов. Это факт. Поэтому за примерами нужно обращаться к тому 1%, который в курсе дела. А я отношусь к гордому большинству
Re[23]: Кстати
От: NotGonnaGetUs  
Дата: 02.06.08 06:55
Оценка:
Здравствуйте, Erop, Вы писали:

E>Долго читать?


До просветления

E>Там нашлось много абстрактов, на тему (что мы вот придумали как улучшить подход Коханена, патаму шта он работает плохо)


И? Это палка:
а) в огород сети коханена
б) авторов абстрактов
в) что-то ещё

E>Есть вообще обзор проблемы, IMHO, нейросети в нём упомянуты очень вскользь...

О чём это должно сказать?

E>Если правда что-то про это знаешь, то расскажи таки коротенько, потому что в гугол и я послать тебя могу


Я не занимался этой задачей, помню мало. Ей занимался сокурсник. Оказывается очень много прикладных задач (н-р, управления ресурсами в многопроцессорных системах) к ней сводящихся. Кроме модификаций Коханена используются есть и другие подходы к решению.


E>Этот тип задач анологичен задачам классификации и тоже лучше решается через геом. места, ровно по тем же причинам...

Вспоминается анекдот про молоток и гвозди

E>Тема, для "просто чтения": Я не утверждал про другие задачи ничего, наоборот мне интересно в каких же задачах НС таки эффективны?


Мы об этом уже не один день говорим: как минимум в тех, где обычные решения упираются в ограничения по "эффективность делить на стоимость".
Re[24]: Таки примеры будут, или это всё бла-бла-бла?
От: Erop Россия  
Дата: 02.06.08 08:46
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Мы об этом уже не один день говорим: как минимум в тех, где обычные решения упираются в ограничения по "эффективность делить на стоимость".


Так и что это за задачи-то? Фактически что? Управление производством полиэтиленовых пакетов?
Вот не верю, что это проходит по "эффективность делить на стоимость". Лет 20 назад может и проходило, но сейчас вычислительные мощности экстремально дёшевы...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[24]: Итого
От: Erop Россия  
Дата: 02.06.08 08:48
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Область применения НС слабо пересекается с задачами встающими перед 99% программистов. Это факт. Поэтому за примерами нужно обращаться к тому 1%, который в курсе дела. А я отношусь к гордому большинству

Ну-ну. Я вот, например, много лет AI занимаюсь, и чем дольше занимаюсь, тем скептичнее к НС отношусь...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 19.06.08 15:00
Оценка: :)
Здравствуйте, vit0s, Вы писали:

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

Однако, давайте вспомним, что до 60х годов даже не предполагали, что нейросети могут успешно нелинейно разделять пространства.
Что мешает в ближайшем будущем сделать похожий рывок, который выведет нейросистемы на новый уровень?

Ну а сейчас есть по крайней мере две области, где нейросети с успехом применяются
1. Теория хаоса. Как показала практика, простейший метод получения показателей Ляпунова -- с помощью нейросетей.
2. Анализ главных компонент. Для того, чтобы выделить главные компоненты нелинейно в достаточно сложной системе, надо затратить такую кучу ресурсов, что нейросети пока вроде единственный вариант.

В очередной раз повторяю -- никто не говорит, что нейросети -- панацея, и нельзя сказать что они г... , т.к. их используют, местами успешно, местами потому, что просто нет других вариантов.

Еще один яркий пример в пользу оных.
На чемпионате по автотрейдингу в 2007 году победил украинец, подняв начальный депозит в 13(!) раз за 3 месяца.
Догадайтесь на чем была основана его автоматическая торговая система .

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

Что ж, буду надеяться на то, что скептики будут когда-нибудь повержены, окончательно и бесповоротно.
Re[17]: Патамушта беспалезна!!! :)))
От: tinytjan  
Дата: 19.06.08 15:23
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, NotGonnaGetUs, Вы писали:


NGG>>Но согласись, если другие методы не могут или могут, но за слишком большие деньги, то почему не попробовать НС?

E>Патамушта беспалезна!!!

E>Это, типа, последний раз ныряю.

E>Мы вроде договорились до того, что решение с НС состоит из трёх частей
E>1) Подгоовить вектор признаков/входов НС
E>2) Придумать архитектуру сети
E>3) обучить сеть

E>Так?


E>Если так, то смотри что у нас выходит

E>1) У нас нет хорошего способа понять хорошие ли признаки мы выбрали. Вернее есть, но он лежит в области изучения геом. мест классов в N-мерном пространстве признаков. Если уж мы всё равно будем изучать эти геом. места, то наверное разовьём или используем соответсвующий инструментарий. Тут уже до прямого описания геом. мест классов в пространстве признаков остаётся один шаг.

А зачем нам понимать? Это за на делает нейросеть. Затем мы анализируем ее структуру и исключаем незначимые признаки.
Дальше пустой треп.

E>2) Ещё раз обращу твоё внимание, что к построению арзитектуры сети имеет смысл переходить только если признаки плохие, потому что хорошие признаки легко классифициоруют и без сети...

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

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

E>3) Ну и учим. Тут у нас есть три возможных исхода

E>3а) Нам повезёт и сеть будет суперски работать. Это значит, что мы идиоты и какие-то относительно простого вмда признаки не нашли, либо мы нереальные пёрщики. Возможно из-за тогоо, что я не глуп, а может потому что я невезуч, но в моей пратике так НИКОГДА НЕ БЫВАЕТ
E>3б) Мы получаем переобученную сеть. То есть она прекрасно классифицирует обучающую выборку, и толкьо её. В этом нет ничего удивительного. Положим, у нас так получилось, что точки двух классов идут вперемешку. Понятно, что, например, гиперповерхность достаточно большого порядка (например порядка равного числу точек в обучающей выборке) может их разделить. Но понятно, что обцчающая выборка случайна, и если мы её "пошевелим", то точки сместятся в случайные места, и классификация мломается. Так что на обучающей выборке у нас будет счастье а в реале не заведётся (как вариант не заведётся на статистически независимой контрольной выборке)
E>3в) Вообще нифига не обучится, потому что признаки реально хреновые.

E>Ну если 3а, то счастье, но его не бывает, если 3в, то можно вернуться к шагу 2 и попробовать другую топологию. Если мы будем упорны, но не слишком везучи, то мы попадём в конце концов в 3б (либо вообще зациклимся, если достаточно сложную сеть построить не удастся)


E>Что делать, если мы пришли в 3б? Ну можно попробовать увеличить обучающую выборку, например. Тогда, опять же если мы не гипервезучи (либо гиперглупы), то мы попадём в 3в. И так по кругу. пок не попрёт по настоящему.


1. Ну вообще-то переобучить сеть довольно сложно. Для этого надо, чтобы ее память была много больше чем подаваемая выборка. Уменьшаем размеры сети.
2. Это может говорить о плохой выборке. Делаем несложный анализ. Выкидываем схожие и конфликтующие паттерны, нормализуем оставшуюся выборку.

E>При этом расширять обучающую выборку часто довольно накладно, так как надо где-то брать новые точки, то есть собирать классифицируемые материалы.

E>либо мы можем понять, что с такими признаками таки не попрёт, и вернуться к 1) и таки продолжить совершенствовать признаки...

1. Вообще то во многих случаях выборку можно дополнить искусственно, да и не в размере обычно проблема.

E>Короче, надо искать хорошие признаки + хорошие способы построения обучающей выборки (чтобы она содержада достаточно информации для обощения/аппроксимации), а не тратить ресурсы на 2 и 3...


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

E>Вот об этом я и говорю, что решения существенно базирующиеся на НС непредсказуемы и нетехнологичны,


... наверное потому что ты их предсказать не можешь потому и непредсказуемы

E>а вот подход, основанный на изучении геом. мест классов в пространстве признаков лишён этих недостатков...


... наверное потому что ты им владеешь

Короче всяк дроздок хвалит свой шесток .
Re[19]: Патамушта беспалезна!!! :)))
От: tinytjan  
Дата: 19.06.08 15:42
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, NotGonnaGetUs, Вы писали:


NGG>>Неправда. Н-р, есть доменная печь. "Признаки" — это все возможные параметры, которые можно с неё снять. Они не могут быть плохие или хорошие — они даны по условию задачи. Можно эти данные предварительно обработать, но новых взять не откуда. А задачу решить нужно, т.е. выдать мезанизм управления печью более эффективный нежели имеющийся в наличии


E>1) Можно думать над дополнительным идатчиками.

E>2) Можно думать над операциями над имеющимися данными. Скажем над различными производными и интегралами, Фурье-анализом...
E>Но в действительности часто бывают такие инструментальные измерения, которые вообще не числа. Скажем в домне может быть изобраджение с ИК-камеры, например... Превратить в числа такую штуку можно многими очень способами...

E>Трёхслойная сеть -- это уже очень сложная функция. А "зарекомендовавшие себя топологии" -- это именно вот на кофейной гуще и есть. Так как никаких разумных соображений по выбору, кроме сокраментального "а может хватит", увы нет.


E>Ну а что касается "аппроксимировать функцию _любого_ вида с _любой_ заданной точностью" -- то просто список точек ещё лучше это умеет... Толку правда немного


Точки функцию аппроксимируют?? Нейросеть вообще-то задает гладкую непрерывную функцию, персептрон по кр. мере.
Re[8]: Ну все так говорят, а ты вот купи баян!
От: tinytjan  
Дата: 19.06.08 15:42
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Кодёнок, Вы писали:


Кё>>Может НС и могут «выстрелить» в конкретных прикладных областях, но никакого потенциала организовать новую эру, новые модели вычислений я в них не вижу вообще. Им как минимум не хватает изобретения, которое бы позволило повторно использовать уже обученные сети при построении новых.


E>Я со всем более или менее согласен, кроме переиспользования. Это "изобретение" сделано уже несколько миллиардов лет как -- генетические алгоритмы называется


Приехали . Как генетические алгоритмы связаны с нейросетями?
Немножко оффтопа
От: tinytjan  
Дата: 19.06.08 15:49
Оценка:
Здравствуйте, tinytjan, Вы писали:

Хм, прочитал всю ветку и сам не выдержал .
Где-то это уже было... и лица те же

Сорри за оффтоп
Re[20]: Патамушта беспалезна!!! :)))
От: Erop Россия  
Дата: 19.06.08 20:52
Оценка:
Здравствуйте, tinytjan, Вы писали:

T> Точки функцию аппроксимируют?? Нейросеть вообще-то задает гладкую непрерывную функцию, персептрон по кр. мере.

А зачем для аппроксимации функции использовать персептрон, а не традиционные методики аппроксимации? Скажем сплайн какой-нибудь, например, или кусочно-ленейную аппроксимацию?
Если функция без особенностей, то и пофиг как аппроксимировать, а если с особенностями, то надо их найти и специально обработать. Можно это сделать персептроном, а можно и явно. Чем явно хуже? тем что понимаем, что делаем?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 19.06.08 20:53
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>Приехали . Как генетические алгоритмы связаны с нейросетями?

Так, что их удаётся использовать. Во всяком случае в природе
А других, AFAIK, способов развивать НС нетути...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 19.06.08 20:59
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>На той стадии развития, на которой сейчас находятся нейросети, в новую эру не уплывешь .

Совершенно согласен. Пока что нет в НС ничего такого умного и прорывного, что дало бы какую-то надежду.

T>Однако, давайте вспомним, что до 60х годов даже не предполагали, что нейросети могут успешно нелинейно разделять пространства.

T>Что мешает в ближайшем будущем сделать похожий рывок, который выведет нейросистемы на новый уровень?
Ну я писал там, выше.

T>Что ж, буду надеяться на то, что скептики будут когда-нибудь повержены, окончательно и бесповоротно.

Ну будем надеяться, что кто-то наконец породит эту отрасль в достойном виде, а не как сейчас...
Хотя, пока что, надежы, конечно, маловато

Но пока прорыва не произошло, IMHO, НС стоит заниматься только либо использую уже готовые отлаженные решения, либо занимаясь собственно организацией прорыва :)))
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Немножко оффтопа
От: Erop Россия  
Дата: 19.06.08 21:00
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>Хм, прочитал всю ветку и сам не выдержал .

T>Где-то это уже было... и лица те же
Дык годы идут, а прорыва всё нет

T>Сорри за оффтоп

Взаимно
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[21]: Патамушта беспалезна!!! :)))
От: tinytjan  
Дата: 20.06.08 13:09
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:


T>> Точки функцию аппроксимируют?? Нейросеть вообще-то задает гладкую непрерывную функцию, персептрон по кр. мере.

E>А зачем для аппроксимации функции использовать персептрон, а не традиционные методики аппроксимации? Скажем сплайн какой-нибудь, например, или кусочно-ленейную аппроксимацию?
E>Если функция без особенностей, то и пофиг как аппроксимировать, а если с особенностями, то надо их найти и специально обработать. Можно это сделать персептроном, а можно и явно. Чем явно хуже? тем что понимаем, что делаем?

Потому что ни сплайн ни линейно-кусочная аппроксимация не универсальны, в отличие от допустим функции построенной на сигмоидах, которая, как уже заметили выше может саппроксимировать любую функцию с любой заданной точностью.
Re[10]: Ну все так говорят, а ты вот купи баян!
От: tinytjan  
Дата: 20.06.08 13:09
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:


T>>Приехали . Как генетические алгоритмы связаны с нейросетями?

E>Так, что их удаётся использовать. Во всяком случае в природе

Хехе , эко Вас понесло, батенька. Связь генетических алгоритмов с нейросетями одна -- это один из способов обучния сетей, причем далекооо не самый эффективный.

E>А других, AFAIK, способов развивать НС нетути...


Серьезно? Пообщайтесь с г-ном Виктором Царегородцевым, например. Еще труды В.А. Головко к примеру.
Я просто уверен, Вы найдете для себя много нового и интересного.
Re[2]: Немножко оффтопа
От: tinytjan  
Дата: 20.06.08 13:09
Оценка:
Здравствуйте, Erop, Вы писали:



Наша с вами перепалка вверху по ветке никак не отразится на уважении к Вам как к кодеру
Re[3]: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 20.06.08 13:13
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:


T>>На той стадии развития, на которой сейчас находятся нейросети, в новую эру не уплывешь .

E>Совершенно согласен. Пока что нет в НС ничего такого умного и прорывного, что дало бы какую-то надежду.

Хмм, ну что ж, выскажу свое IMHO по поводу
есть 3 эволюционных пути развития НС

1. Развитие сложных нейросистем, таких как Mixture of Experts и персептронов со сложными связями, которые позволят строить более нелинейные системы в меньшим количеством обучаемых параметров и большей эффективностью обучения и прогнозирования.

2. Изобретение новых более эффективных способов обучения, по сравнению с градиентным спуском.

3. Пересмотр базовой модели нейрона, используемой в нейросетях и появление эффективных сетей основанных на новых моделях нейронов.

T>>Однако, давайте вспомним, что до 60х годов даже не предполагали, что нейросети могут успешно нелинейно разделять пространства.

T>>Что мешает в ближайшем будущем сделать похожий рывок, который выведет нейросистемы на новый уровень?
E>Ну я писал там, выше.

Ну я там же и ответил

T>>Что ж, буду надеяться на то, что скептики будут когда-нибудь повержены, окончательно и бесповоротно.

E>Ну будем надеяться, что кто-то наконец породит эту отрасль в достойном виде, а не как сейчас...
E>Хотя, пока что, надежы, конечно, маловато

E>Но пока прорыва не произошло, IMHO, НС стоит заниматься только либо использую уже готовые отлаженные решения, либо занимаясь собственно организацией прорыва :)))


Я сейчас иду в направлении 1.
А также собираюсь писать автоматического советника на Forex, скоро конкурс .

Еще одно. Для эффективного использования НС безусловно нужна квалификация, просто так заставить ее выдавать желаемый результат не получится, однако при всем при этом, нет необходимости изучать предметную область для построения работающей системы на нейросетях, тогда как при построении системы другими способами вникать в эту самую область придется.
Re[22]: Патамушта беспалезна!!! :)))
От: Erop Россия  
Дата: 21.06.08 00:36
Оценка:
Здравствуйте, tinytjan, Вы писали:

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


Всё-таки скажи, ты о гладких функциях или о функциях с особенностями?
Если о гладких, то не понятно чем сплайн не угодил, а если с особенностями, то от чего бы особенности не вычислить явно по заданным данным?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 21.06.08 00:36
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>Серьезно? Пообщайтесь с г-ном Виктором Царегородцевым, например. Еще труды В.А. Головко к примеру.

T>Я просто уверен, Вы найдете для себя много нового и интересного.

А что, они умеют переиспользовать сеть?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[12]: Ну все так говорят, а ты вот купи баян!
От: tinytjan  
Дата: 21.06.08 11:39
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:


T>>Серьезно? Пообщайтесь с г-ном Виктором Царегородцевым, например. Еще труды В.А. Головко к примеру.

T>>Я просто уверен, Вы найдете для себя много нового и интересного.

E>А что, они умеют переиспользовать сеть?


Не знаю, честно.

Зато они решают очень много проблем именно с помощью нейросетей.
Re[23]: Патамушта беспалезна!!! :)))
От: tinytjan  
Дата: 21.06.08 11:39
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:


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


E>Всё-таки скажи, ты о гладких функциях или о функциях с особенностями?

E>Если о гладких, то не понятно чем сплайн не угодил, а если с особенностями, то от чего бы особенности не вычислить явно по заданным данным?

Ок, на простом примере. Можно с помощью ОДНОГО сплайна саппроксиморовать синусоиду на 10 периодах например?
Или другой пример -- можно с помощью сплайна задать функцию типа y(x, t) = f(x, f(x, t-1), f(x, t-2),...) ?

Именно в этом и есть плюс -- в универсальности.
Re: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 21.06.08 12:30
Оценка:
Здравствуйте, vit0s, Вы писали:

V>Здравствуйте. Поиск поюзал, нашел много тем и разговоров касательно нейронных сетей, почитал, кое-что поучил. Стало интересно, хочу двигаться в этом направлении, че-то попрограммить с сетками.

V>Столкнулся с вопросами, на которые или соображалки не хватает или ен знаю что... В общем.
V>Вопрос про архитектуру сети. Какую архитектуру сети выбирать?

Думаю, для начала стОит попробовать обучить сеть на XOR.
И поразбираться с простыми примерами и архитектурами. ИМХО, самая простая для понимания архитектура -- сеть Кохонена.

V>Я имею ввиду не то, что там с обратным распространением ошибки или еще что-то, а именно сколько брать слоев с нейронами и по сколько нейронов на каждом слое поместить. И еще — какие нейроны с какими соединять? Все со всеми? Или как это расчитывается? Ну я знаю сколько входов и выходов должно быть у сети (это от задачи зависит), а вот между входным и выходным слоем — что и сколько?


Типовой персептрон полносвязный -- если 2 слоя связаны, то связаны полностью. Незначимые связи удаляются после обучения. Это второстепенная задача, не стОит на данном этапе заострять на ней внимание.

V>Вопрос про обучение сети. Я знаю что у каждого нейрона есть такие вещи как порог активации, веса всех его входов, выходы. Только я не могу понять — каким образом менять эти параметры при обучении сети? Есть предположение, что начинать менять все значения по чуть-чуть и таким образом перебрать все комбинации, но это будет


У каждой архитектуры есть свои методы обучения, у Хопфилда один, у MLP другой, у рециркуляционной третий, я думаю Вам стОит разбираться отдельно с каждой архитектурой.

V> огроменное количество итераций для поиска всего одного решения из обучающих данных.


Почему огроменное??? Для обучения сети Кохонена иногда достаточно 2-5 итераций на всей выборке. Для MLP -- зависит от качества подаваемых данных.

V>И еще... вот я меняю постепенно веса, например, и вот наткнулся на комбинацию, где величина ошибки стала меньше предыдущей. Что делать с этими значениями? Сохранить где-то как промежуточный успешный результат? Или как? — ведь изменение следующего какого-либо параметра может увеличить величину ошибки и она станет больше чем была прошлая якобы успешная....


Читать методы обучения.

V>В общем копошусь в этом, че-то читаю, думаю... Хотелось бы еще информации получить, более похожую на практический пример step-by-step или какой более-менее обобщенный алгоритм. Ну или близко к тому. Может, как вы начинали, с чего? Какие были ваши первые сети и что они делали? Как они обучались? Интересует все, т.к. тяга к этой теме появилась большая, хочу в этом покопаться и застрял


Можете посмотреть здесь . Это мой старый проект на Pascal -- для работы с MLP.
Ничего особо сложного, плюс там встроенный адаптивный шаг обучения, ЕМНИП.

V>Кто что думает по данной теме? Спасибо заранее всем откликнувшимся, за любую информацию и мысли.


Удачи
Re[24]: Патамушта беспалезна!!! :)))
От: Erop Россия  
Дата: 21.06.08 22:56
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>Ок, на простом примере. Можно с помощью ОДНОГО сплайна саппроксиморовать синусоиду на 10 периодах например?

А какая разница? Если у тебя нет инфы о виде функции, то тебе надо достаточно точек, чтобы заметить все 10 периодов синусоиды. А тогда и сплайн хорошо сработает...
T>Или другой пример -- можно с помощью сплайна задать функцию типа y(x, t) = f(x, f(x, t-1), f(x, t-2),...) ?
Та же фигня, IMHO...

T>Именно в этом и есть плюс -- в универсальности.

Что может быть универсальнее сплайна?
Всё просто. Если у тебя есть априорные соображения о виде функции, то их удобнее не через НС использовать, а если нет, то ничего полезнее сплайна ты не найдёшь, так как в обучающей выборке должна содержаться информация обо всех особенностях поведения функции
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: Ну все так говорят, а ты вот купи баян!
От: Erop Россия  
Дата: 21.06.08 22:57
Оценка:
Здравствуйте, tinytjan, Вы писали:

E>>А что, они умеют переиспользовать сеть?

T>Не знаю, честно.
T>Зато они решают очень много проблем именно с помощью нейросетей.

Так обсуждались именно способы переиспользования. AFAIK хороших нет. Плохие есть, один из них -- генетические алгоритмы.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 24.06.08 13:45
Оценка: :)
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, vit0s, Вы писали:


V>>Кто что думает по данной теме? Спасибо заранее всем откликнувшимся, за любую информацию и мысли.


Кё>НС это всего лишь аппроксимация. В ВУЗе изучается аппроксимация статистических данных рядом тейлора или полиномами. Это более сложный случай того же самого. По сути, НС — это сверхсложная функция типа выходы = F(коэффициенты, входы), типичный подход математиков свести любую задачу к y=f(x), и не более того. Замените F на многочлен или ф-ю тейлора, все станет понятно. «Обучением» называется подбор коэффициентов, чтобы на тестовых данных тестовые входы сошлись с тестовыми выходами. «Обучение» возможно, если задача может быть аппроксимирована заданной функцией, и нет, если не может. Поэтому для каждого класса задач есть свои архитектуры сетей: другая архитектура = другая функция, которая лучше или хуже подходит.


Хмм, просто не хватает чего-то, что сделало бы из нейросети AI.

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

Далее делаем механизм связи сетей между собой.

Далее привязываем выходы и входы к конкретной информации, осталось придумать хитрый способ обучения без учителя для всей системы и раздуть размер всей системы.


ЗЫЖ: всего-лишь бредовые фантазии на тему , с зерном истины
Re[3]: Нейронная сеть. Тяга к знаниям)
От: Erop Россия  
Дата: 24.06.08 21:49
Оценка:
Здравствуйте, tinytjan, Вы писали:


T>Далее привязываем выходы и входы к конкретной информации, осталось придумать хитрый способ обучения без учителя для всей системы и раздуть размер всей системы.


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

T>ЗЫЖ: всего-лишь бредовые фантазии на тему , с зерном истины

А реальность AI пока что такова, что чтобы решить задачу надо таки разобраться как это сделать, а не всунуть-вынуть-обучить...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 25.06.08 07:11
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:



T>>Далее привязываем выходы и входы к конкретной информации, осталось придумать хитрый способ обучения без учителя для всей системы и раздуть размер всей системы.


E>Вот почему-то все надежды любителей НС выглядят как-то так. Типа мы вот тута навернём, а там ещё то туда всунем и ка-а-а-ак обучим...

E>К сожалению такой подход только при пложении естиственного интеллекта хорошо себ язарекомендовал пока что.

T>>ЗЫЖ: всего-лишь бредовые фантазии на тему , с зерном истины

E>А реальность AI пока что такова, что чтобы решить задачу надо таки разобраться как это сделать, а не всунуть-вынуть-обучить...

Вы совершенно правы!
Re[4]: Нейронная сеть. Тяга к знаниям)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.06.08 11:46
Оценка: :)
Здравствуйте, tinytjan, Вы писали:

T>Я сейчас иду в направлении 1.

T>А также собираюсь писать автоматического советника на Forex, скоро конкурс .

Тоже занимаюсь этим в свободное время. Заинтересовался как раз после споров в этом топике
Уже неделю один комп без перерывов гоняет генетический алгоритм для вычисления оптимальной конфигурации трёхслойной персептронной сети. Ещё неделю точно работать будет. Причём профайлер показывает, что большая часть времени тратится на вычисление экспоненты для сигмоидных функций. Теперь я понимаю, зачем на биржах устанавливают суперкомпьютеры.
Re[5]: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 25.06.08 12:07
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, tinytjan, Вы писали:


T>>Я сейчас иду в направлении 1.

T>>А также собираюсь писать автоматического советника на Forex, скоро конкурс .

N>Тоже занимаюсь этим в свободное время. Заинтересовался как раз после споров в этом топике

N>Уже неделю один комп без перерывов гоняет генетический алгоритм для вычисления оптимальной конфигурации трёхслойной персептронной сети. Ещё неделю точно работать будет. Причём профайлер показывает, что большая часть времени тратится на вычисление экспоненты для сигмоидных функций. Теперь я понимаю, зачем на биржах устанавливают суперкомпьютеры.

На MQL4 что ли? Тогда сочувствую .

Если на нормальном языке, тогда стОит почитать про обучение меодом градиентного спуска и все, что с ним связано, например, про адаптивные шаги.
Re[6]: Нейронная сеть. Тяга к знаниям)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.06.08 14:02
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>На MQL4 что ли? Тогда сочувствую .


Нет на С++. На MQL4 только саму торговлю. Для обучения тоже генетические алгоритмы взял — мне они просто понравились. Отсюда и тормоза.
Меня, правда, этот факт не сильно напрягает — стоит под столом отдельный ком, работает. Надесь, что-нибудь хорошее получится


T>Если на нормальном языке, тогда стОит почитать про обучение меодом градиентного спуска и все, что с ним связано, например, про адаптивные шаги.


Читал я про него. Просто из интереса хочется попробовать ГА.
Re[7]: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 25.06.08 14:40
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, tinytjan, Вы писали:


T>>На MQL4 что ли? Тогда сочувствую .


N>Нет на С++. На MQL4 только саму торговлю. Для обучения тоже генетические алгоритмы взял — мне они просто понравились. Отсюда и тормоза.


Тогда не забудь про то, что на конкурс нельзя выкладывать советники пользующие dll.

N>Меня, правда, этот факт не сильно напрягает — стоит под столом отдельный ком, работает. Надесь, что-нибудь хорошее получится


Хозяин барин.

T>>Если на нормальном языке, тогда стОит почитать про обучение меодом градиентного спуска и все, что с ним связано, например, про адаптивные шаги.


N>Читал я про него. Просто из интереса хочется попробовать ГА.
Re[4]: Нейронная сеть. Тяга к знаниям)
От: Sergey Chadov Россия  
Дата: 25.06.08 18:36
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, tinytjan, Вы писали:



T>>Далее привязываем выходы и входы к конкретной информации, осталось придумать хитрый способ обучения без учителя для всей системы и раздуть размер всей системы.


E>Вот почему-то все надежды любителей НС выглядят как-то так. Типа мы вот тута навернём, а там ещё то туда всунем и ка-а-а-ак обучим...

Не , ну если сделать нейросеть побольше и учить ее лет двадцать ...
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Re[6]: Нейронная сеть. Тяга к знаниям)
От: Sergey Chadov Россия  
Дата: 25.06.08 18:36
Оценка:
Здравствуйте, tinytjan, Вы писали:


T>Если на нормальном языке, тогда стОит почитать про обучение меодом градиентного спуска и все, что с ним связано, например, про адаптивные шаги.


Градиентный спуск — _далеко_ не панацея. На сколь-нибудь сложной поверхности его начинает так плющить, что ого-го. ГА хотя и потенциально помедленнее, но справляются там, где градиентные методы дохнут.

P.S. генетикой нейросети давно уже учат, я и сам что-то такое делал. А вот интересно попробовать обучение какими-нибудь более современными стохастическими алгоритмами: differential evolution, particle swarm и т. п.
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Re[7]: Нейронная сеть. Тяга к знаниям)
От: tinytjan  
Дата: 25.06.08 18:54
Оценка:
Здравствуйте, Sergey Chadov, Вы писали:

SC>Здравствуйте, tinytjan, Вы писали:



T>>Если на нормальном языке, тогда стОит почитать про обучение меодом градиентного спуска и все, что с ним связано, например, про адаптивные шаги.


SC>Градиентный спуск — _далеко_ не панацея. На сколь-нибудь сложной поверхности его начинает так плющить, что ого-го. ГА хотя и потенциально помедленнее, но справляются там, где градиентные методы дохнут.


Нуу, для этого есть навороты сверху типа добавления случайного слагаемого, моментума, адаптивный шаг, чтобы повысить эффективность и сходимость.

SC>P.S. генетикой нейросети давно уже учат, я и сам что-то такое делал. А вот интересно попробовать обучение какими-нибудь более современными стохастическими алгоритмами: differential evolution, particle swarm и т. п.


Мда, интересно
Re[8]: Нейронная сеть. Тяга к знаниям)
От: Sergey Chadov Россия  
Дата: 26.06.08 05:48
Оценка:
Здравствуйте, tinytjan, Вы писали:


T>>>Если на нормальном языке, тогда стОит почитать про обучение меодом градиентного спуска и все, что с ним связано, например, про адаптивные шаги.


SC>>Градиентный спуск — _далеко_ не панацея. На сколь-нибудь сложной поверхности его начинает так плющить, что ого-го. ГА хотя и потенциально помедленнее, но справляются там, где градиентные методы дохнут.


T>Нуу, для этого есть навороты сверху типа добавления случайного слагаемого, моментума, адаптивный шаг, чтобы повысить эффективность и сходимость.


Ну так есть навороты и в обратную сторону: градиентный поиск, прикрученный к генетическому алгроитму
см например http://en.wikipedia.org/wiki/Memetic_algorithm
Re[4]: Нейронная сеть. Тяга к знаниям)
От: vlad.k.sm  
Дата: 27.06.08 00:04
Оценка: +1
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Здравствуйте, Erop, Вы писали:


E>>А если речь идёт о задаче классификации, то результат всегда один -- послать нейросети нафиг
Автор: Erop
Дата: 12.04.05

E>>IMHO, намного прямее просто взять и нарисовать области соответсвующие тем или иным решениям в пространстве признаков.

NGG>Не надо быть столь котегоричным.

NGG>Есть класс задач (довольно широкий), хорошо решаемый "обычными" методами. Применять для их решения нейросети — дикость.
NGG>Однако есть задачи
NGG>- упирающиеся в NP-полноту
NGG>- слабо формализируемые
NGG>- не имеющие точного решения

NGG>Например, управление электрическими доменными печами (управляется глубина погружения электрода, если не ошибаюсь). Эти штуки жгут электричества на такие суммы рублей, что экономия в 1% даст значительную экономическую выгоду. Управляются какими-то примитивными датчиками на основе правил. А чтобы эффективно управлять печью, нужно знать такую уйму параметров и написать столько уравнений, что надежд на их решение нет Один анализ только, чем можно пренебречь в расчётах, а чем нет, достоин пары лет труда толпы учёных.


NGG>Как решать такие задачи? Фактически нужно найти функцию, которая связывает входные и выходные данные.


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