Искусственный Интеллект

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



MNIST тест

Сообщений 31 страница 46 из 46

31

3d6 написал(а):

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

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

0

32

Egg написал(а):

вы вообще не использовали данные из обучающей выборки?

Рисунки - использовали, а вот информацию о том, какая цифра изображена - нет. Разница между обучающей и тестовой выборками в том, что на обучающей выборке сеть выбирала/модифицировала кластеры, а на тестовой - только относила вектор к одному из кластеров, не изменяя их.
Сеть чем-то похожа на ассоциативную память, но есть существенное отличие: с помощью некоторого ядра (выбор ядра - отдельная задача) проводится свертка входного образа со всеми запомненными, и этот вектор "степеней подобия" (условно) попадает в что-то вроде обычной ассоциативной памяти, на один такт. Потом результат разворачивается обратно, в исходное пространство (как сумма степеней принадлежности к каждому из запомненных образов, умноженной на запомненный вектор). И результирующий вектор идет обратно на вход сети, до тех пор, пока на выходе получается что-то, что заметно отличается от входа. Честно говоря, затрудняюсь сейчас объяснить понятнее, если будут более определенные вопросы - попробую дать вразумительные ответы.
Из важных свойств сети:
- мы знаем, насколько образ на входе похож на то, что мы уже запомнили - соответственно, если совсем отличается, то можно выделить под него новый класс.
- если у нас есть 2 похожих образа, то мы можем запомнить нечто среднее между ними (или модифицировать запомненный в сторону нового), это собственно основная ценность такой модели, тут это свойство базируется на использовании свертки с ядром (там довольно сложная математика, на пальцах ее не объяснить, скорее всего смогу дать статью, если коллега не будет против, что маловероятно).

0

33

3d6 написал(а):

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

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

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

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

0

34

Egg написал(а):

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

Вы используете обучающую выборку без маркера цифры, которая изображена?

0

35

3d6 написал(а):

Вы используете обучающую выборку без маркера цифры, которая изображена?

да... я строю некоторое распределение выходных данных применяемых фильтров...
для тестового примера я нахожу кластер, к которому он относится... всё...

0

36

Эм... а как вы устанавливаете соответствие между кластерами и цифрами, которые будут выдаваться как результаты распознавания?

0

37

может быть тогда я вас не понял... у меня нет понятия цифр, у меня есть кластеры, которые имеют внутренние имена...
а этим именам уже можно сопоставить цифры... а вы как это делаете?

0

38

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

0

39

3d6 написал(а):

потом мы глазами смотрим, в каком кластере какая цифра нарисовалась

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

3d6 написал(а):

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

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

3d6 написал(а):

Но мне тогда показалось, что алгоритм слабоват...

концепция, методика та же, фильтры совершенно иные... скажу честно, фильтры я строил исходя их того, что знал, что распознавать необходимо цифры... в "общем виде" и паре слов концепция здесь:
https://artmind.build2.ru/viewtopic.php? … ;p=2#p1351
посмотрите, может быть у вас будут возражения по существу...

Отредактировано Egg (2009-09-23 18:37:13)

0

40

Egg написал(а):

глазами - это фигурально я полагаю

Почему же? Если данные еще не размечены - то как раз глазами :) Ну, если уже размечены, как в данном случае - то глазами мы уже посмотрели, надо только выводы сделать.

Egg написал(а):

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

Нет, число классов может быть существенно больше числа цифр (наилучшие результаты получались примерно при 100 классах).

Egg написал(а):

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

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

0

41

3d6 написал(а):

Нет, число классов может быть существенно больше числа цифр (наилучшие результаты получались примерно при 100 классах).

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

3d6 написал(а):

то все может быть

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

Отредактировано Egg (2009-09-24 00:38:20)

0

42

Egg написал(а):

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

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

Egg написал(а):

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

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

0

43

3d6 написал(а):

Нейросеть же о которой говорю я имеет существенно большую универсальность.

эм... это иллюзия, но даже не в отношении нейросети, которая просто еще один метод кластеризации...
например, рядом лежит макет NO ( https://artmind.build2.ru/viewtopic.php?id=37 ), который тем же занимается, но еще одним методом, который отличается от вашего и моего...
это иллюзия потому, что распознавания как "вооще распознай мне" нет...
простой пример... если мы закладываем повороты, то V и Л - это один образ...
если закладывает масштаб, то о, о и о - это один образ... и так далее...
поэтому таковая универсальность упирается концом в работоспособность...

Отредактировано Egg (2009-09-24 00:55:15)

0

44

3d6 написал(а):

Если не забуду, завтра посмотрю точно, что там использовалось.

Да, уточнил - никакого препроцессинга, кроме нормировки: цвета из грейскейла отображались на отрезок [-1;1]

Egg написал(а):

это иллюзия потому, что распознавания как "вооще распознай мне" нет...

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

0

45

3d6 написал(а):

С контекстом справляется динамическая ассоциативная память

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

0

46

Вот довольно подробное описание ЛеКуновского (сверточные сети)
решения мнистовской задачи:

http://habrahabr.ru/blogs/artificial_in … nce/74326/

0



Создать форум.