GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.10 (11)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Какие методы обучения ИНС существуют и чем отличаются?
Corwin
Сообщений: 1324
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 15 сен 08 1:23
Что-то я не совсем пойму вашу дискуссию по поводу подсчета бит...
Просто если кто не знал, то существуют уже готовые алгоритмы для подсчета единичных битов в слове или массиве.
Вот например:
Подсчёт количества ненулевых бит в числе v за log2(v) проходов
Если говорить об аппаратном уровне то есть даже специальная инструкция под SSE4.2
Подсчет популяции единичных бит
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 15 сен 08 2:22
Цитата:
Автор: Corwin

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


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

В программном варианте для 32 бита около 20 последовательных операций насчитал
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 15 сен 08 16:11
>В программном варианте для 32 бита около 20 последовательных операций насчитал

Если Вас действительно интересует этот вопрос то почитайте книгу Генри Уоррен "Алгоритмические трюки для программистов". Там дается описание соответствующего алгоритма. Сам же алгоритм можно найти по ссылке которую я давал выше.
Для 32 битного слова весь алгоритм может быть выполнен за log2(32)=5 шагов.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 0:23
Цитата:
Автор: Corwin

>В программном варианте для 32 бита около 20 последовательных операций насчитал

Если Вас действительно интересует этот вопрос то почитайте книгу Генри Уоррен "Алгоритмические трюки для программистов". Там дается описание соответствующего алгоритма. Сам же алгоритм можно найти по ссылке которую я давал выше.
Для 32 битного слова весь алгоритм может быть выполнен за log2(32)=5 шагов.


может я считать не умею, но функция =LOG(32,2) в Excel дает 1,507 - как это понимать, откуда 5 ?

Хотя ответ пять - верен. Но это ведь не два как заявлялось выше. А для 128 сколько будет - 7 что ли ? Книга эта у меня тоже стоит на полке
[Ответ][Цитата]
daner
Сообщений: 4593
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 1:48
Цитата:
Автор: tac
может я считать не умею, но функция =LOG(32,2) в Excel дает 1,507 - как это понимать, откуда 5 ?
А для 128 сколько будет - 7 что ли ?

Ага
не знаю как в Excel правильно, но в OpenOfficeCalc =LOG(32;2) работает отлично.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 2:00
>но функция =LOG(32,2) в Excel дает 1,507 - как это понимать

Ем... Проблема в разделителе. Должно быть =LOG(32;2). Ну и результат конечно же 5.

>А для 128 сколько будет

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

>Книга эта у меня тоже стоит на полке

Кстати, если кому надо скачать то ее можно найти здесь:
Алгоритмические трюки для программистов
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 2:30
Цитата:
Автор: Corwin

>но функция =LOG(32,2) в Excel дает 1,507 - как это понимать

Ем... Проблема в разделителе. Должно быть =LOG(32;2). Ну и результат конечно же 5.

>А для 128 сколько будет

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

>Книга эта у меня тоже стоит на полке

Кстати, если кому надо скачать то ее можно найти здесь:
Алгоритмические трюки для программистов


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

А вот решение за два шага при условии, что точка (муха) на всем этом множестве одна, копирую с http://forum.neuroscience.ru/showthread.php?t=2257

"
третий вариант - срабатывание сигнала. Если сенсоры у нас не просто передают что видят, а так же имеют порог срабатывания, то сигнал у нас будет формироваться, только тогда когда насыщенность точки будет высока - в нашем случае 1, и только такой сигнал (один или 5-6 в зависимости от количества мух) достигнет решающего нейрона, и ему прейдется сложить только 1 или 5-6 цифр. Это имеет смысл и при моделировании. Но здесь тоже не все так однозначно. Мы просто переместили ответственность, теперь каждый сенсор регистрирует ЛОКАЛЬНУЮ область, и только в случае необходимости отправляет информацию на ГЛОБАЛЬНУЮ обработку. Казалось бы что изменилось - количество операций осталось тоже или даже несколько возрасло. НО заметим, что в случае 2 мы имеем матрицу сеносров 100 шт - а они срабатываю параллельно, т.е. за один такт времени, а за следующие такт прибавляется уже первая цифра - т.е. для нашей задачи мы добились РЕАЛЬНОЙ параллельности, но если бы мух было бы 5-6, то тактов нам понадобилось бы на один больше, т.е. уже НЕ ЧИСТАЯ параллельность, но все равно более оптимально.
"

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


А вот мой ответ на эту усложненную задачу и сопутствующие вопросы:

"
Итак, что же нам нужно, по сравннению с задачей Муха на стекле ...

1. Одного стабилизатора Размера здесь будет мало.
2. Введем три новых инварианта - горизонталь, вертикаль, диагональ ...
3. Реализуем их с помощью соответствующих стабилизаторов:
3а. Для нашего поля 10х10 нужно 10 шт. горизонтальных стабилизаторов имеющих связи с 10 точками для каждого - горизонтальная линия.
3б. Тоже самое для вертикали
3в. Нужно 20 шт. - 10 для диоганали в одном направлении, и 10 в обратном. Для диагонали число связей будет разное главная диагональ имеет 10 связей, 2 по 9, 2 по 8 и т.д.

Итого, имеем 5-ти кратное перекрытие всей сетчатки - 1 нейрон - стабилизатор размера, и 4*10 нейронов стабилизаторы направления.

Теперь если мы установим порог всех этих нейронов в 2, то все они будут фиксировать осу, а выходы этих нейронов одназначно покажут:
1. размер превышает 2
2. Оринтацию осы
3. Точное расположение - номер линии или диагонали.

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

Например, может быть стабилизатор размера можно переместить на второй слой, например получающий сигналы от 10 стабилизаторов горизонтали ... будет ли выгода ?
"

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

[Ответ][Цитата]
Вася
Сообщений: 180
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 13:08
Цитата:
Давайте рассмотрим т.н. предикат связанности - т.е. разберемся за сколько тактов (операций) можно понять связанна ли фигура изображенная на сетчатке 10х10 ?

Напоминает игру "Морской бой"? Люди тут рандомайзным алгоритмом пользуются. Хотя, казалось бы...

А вообще, как верно заметил Corwin, работа с массивами хорошо продумана до нас, найдены предельно быстрые способы.

Цитата:
А вот вам лучший способ - который основан на пороговом элементе, и который сейчас нет в схемотехники для обычного РС. Каждый бит не нужно просто подавать на сложение, если его значение не один, такое пороговое сравнение делается за один такт, а затем происходит сложение только активированных сигналов, например, 5 - если на сетчатке 5 мух, в нашем случае же 1. Т.е. требуемое число тактов n+1, где n - число сигналов преодолевших порог. Вот это оптимально, и ни какая другая конструкция до этого не дотягивает ! Это и объясняется в том топике - затем задача усложняется ... читайте там дальше, тогда обсудим (совет - можете читать только мои посты, т.к. там множество не по теме)


Ваще ничё не понял. Какой порог? Отказавшись от побитового представления и одной единички, мы пришли к чему? Массив 10x10 величин типа integer, в котором до нескольких единиц? А порог здесь откуда? Что такое n+1? Может быть это некий многовходовый элемент, на который должно поступить 5 единиц, чтоб он выдал "1" на выходе?

Цитата:
и еще если абстрагироваться от конкретной реализации сравнение битов происходит так:
имеем 0001-0000, хотим узнать есть ли единица (и сколько их), начинаем сравнивать бит №1 сравниваем с битом №2, результат сравнения сравниваем с битом №3 и т.д., поэтому это чисто последовательная операция, которую нельзя реализовать параллельно.

Всё же будем говорить о сравнении слов, так для битов есть аппаратное однотактное сравнение.

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

Цитата:
НО заметим, что в случае 2 мы имеем матрицу сеносров 100 шт - а они срабатываю параллельно

С чего бы вдруг? Я понимаю, классно если единичка сама за один такт заявит о себе, а нолики вежливо промолчат, но процессор-то у нас один. Ещё лучше, если элементы объединены с соседями, и сигналят лишь при наличии единиц у соседей. Но это тоже случай вычисления не на компе, а на специальной параллельной схеме. А это принципиально иной случай, если переходить к аппаратному параллелизму, то тут возникает лавина возможностей, тут что угодно можно за такт посчитать.
[Ответ][Цитата]
гость
89.208.11.*
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 13:30
"тут что угодно можно за такт посчитать"

ну, попробуй посчитать (2+3)*4

это 2 такта, и определено это скобками.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 14:16
Цитата:
Автор: Вася
но процессор-то у нас один.


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

И оказывается все же поняли :
"Я понимаю, классно если единичка сама за один такт заявит о себе, а нолики вежливо промолчат"

"тут возникает лавина возможностей"

Вот именно эта лавина и укладывается в 3 рассмотренных мной случая, да еще добавим ваш и книги "Алгоритмические трюки"

"Ещё лучше, если элементы объединены с соседями, и сигналят лишь при наличии единиц у соседей."
В данной задаче это совсем незачем - решение должно быть адекватно задаче ... затем при усложнении задачи это может понадобится, но не сейчас ...
[Ответ][Цитата]
Вася
Сообщений: 180
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 16 сен 08 14:59
Цитата:
ну, попробуй посчитать (2+3)*4

это 2 такта, и определено это скобками.

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

tac
Цитата:
И оказывается все же поняли

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

Цитата:
В данной задаче это совсем незачем - решение должно быть адекватно задаче ... затем при усложнении задачи это может понадобится, но не сейчас ...

А сейчас почему нет? Пусть будет сложность, пусть будут ИИ-шные методы, а то прошлого века задачки-то обсуждаем.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 17 сен 08 0:37
Ладно, давайте уж к усложненому варианту задачи переходить (задача про ориентацию осы) - что вы имеете сказать по этому поводу ...
[Ответ][Цитата]
Вася
Сообщений: 180
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 17 сен 08 12:39
Это тоже, по-моему, не особо сложный вариант. Пусть, к примеру, каждая единичка сообщит соседям о своём наличии. Которой из них придёт больше таких сообщений, та и центральная в группе. Она пусть и выясняет границы группы и её ориентацию в пространстве.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 19 сен 08 19:27
Цитата:
Автор: Вася

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


Сложный он ровно на столько, насколько вы сможете дать исчерпывающий анализ всех возможных ситуаций. Я свой вариант дал выше, ваш по сравнению с ним не объясняет как должно это быть реализовано. Каким это образом каждая единичка должна сообщить это соседям ? И даже если мы получим центр, то снова же не ясно как выяснить границы и ориентацию ? На первый взгляд, кажется, что реализация требуемая для этого на порядок сложнее предложенной мной.
[Ответ][Цитата]
Вася
Сообщений: 180
На: Какие методы обучения ИНС существуют и чем отличаются?
Добавлено: 20 сен 08 2:22
Да, сложнее. Потому что всякая значимая информация приводит к образованию объекта. Это позволяет наделить их любой сложности функциональностью. Соседние объекты могут общаться между собой, образуя систему в случае соседства на матрице. В рамках каждой такой системы может проводиться анализ, сложность которого зависит от решаемой задачи. Если, например, цель в том, чтобы идентифицировать несколько клеток как изображение пчелы или иного зверя, и нам известны его признаки, каждая система соседних объектов вычисляет степень своего соответствия этим признакам и принимает решение, является ли она пчелой. Если же, признаки нам неизвестны, каждая система точек может вычислять для себя что-то вроде n-мерного хэш-вектора, с тем, чтобы на следующем кадре произвести ту же операцию и сравнить с предыдущим кадром и, в случае близости точек в хэш-пространстве, считать изображение одним объектом, например, немного переместившимся.

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

Что-то такое происходит в живых организмах, начиная с самоорганизации на первичных зрительных нейронах, и заканчивая построением внутренней модели и принятием решений. И именно этот путь аналогии для меня наиболее привлекателен. Почему? Потому, во-первых, что природа эти задачи долго решала, и решила, и нет причин считать, что её решение нас чем-то не устроит или слишком для нас сложно; а во-вторых, если начинать с простого и двигаться к сложному, то постоянно будет нужно переизобретать алгоритм, то есть, двигаться долгим маршрутом со всеми остановками, а рассчитывая сразу на сложный анализ, можно один раз всё продумать, и экспрессом получить решение, автоматически работающее на всём каскаде предшествующих более простых задач, но главное, на сложнейших из возможных.
[Ответ][Цитата]
 Стр.10 (11)1  ...  6  7  8  9  [10]  11<< < Пред. | След. > >>