GotAI.NET

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

 

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

 Все темы | Новая тема Стр.1 (3)След. > >>   Поиск:  
 Автор Тема: Персептроны высоких порядков
Victor G. Tsaregorodtsev
Сообщений: 3187
Персептроны высоких порядков
Добавлено: 21 июл 12 8:23
Или high-order. Или нейросети с сигма-пи-нейронами. Или, если по-русски, то сети с полиномиальными сумматорами. Вещь это известная - сразу после разработки обратного распространения этим методом (и его вариантом для рекуррентных сетей) стали успешно учить и персептроны высоких порядков. И в конце 80х - начале 90х многое было сделано интересного (вспомним, хотя-бы, статью ЛиДжайлса с соавторами 87 года в Эпплайд Оптикс), но пик интереса давно прошёл (в середине 90х буржуи повернулись лицом к машинам опорных векторов, а в середине 00х с возвращением интереса к сильно многослойным нейросетям полиномиальные сумматоры в этих сильно многослойных сетях обратно не вернулись)

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

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

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

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

Результат будет нескоро - у нас пока ещё стоит хорошая летняя погода (а, значит, отдых в виде купания-загорания, рыбалки и т.д. будет в приоритете).

Это типа некоторого предварительного отчёта о случайно реализованном исследовании (я вроде бы не помню, чтобы в задаче MNIST тестировались сигма-пи-нейроны) и некоторого меморандума о намерениях. Кому надо что-то конкретное (например, про нарытое в литературе, или про результаты на ЕГО задаче) - наверное, лучше переписываться мылом (если, конечно, найдёте способ меня мотивировать на раскрытие ноу-хау или на работу с вашими данными).
[Ответ][Цитата]
Slava
Сообщений: 3070
На: Персептроны высоких порядков
Добавлено: 21 июл 12 10:35
Цитата:
Автор: Victor G. Tsaregorodtsev
В общем, нашёл тут немного времени - и могу сказать точно: да, существенно помогают. Сделал себе простейший вариант (к исходной взвешенной сумме входов добавил взвешенные квадраты входов, а попарные произведения пока не брал) обычного сигма-пи-нейрона - и на задаче распознавания начертаний рукописных цифр MNIST персепрон с одним скрытым слоем дал рост точности. И свёрточная нейросеть (у которой последний скрытый и выходной слои получили такие сигма-пи-нейроны) тоже стала работать лучше.


Вообще-то, еще лет 40-45 назад кто-то предлагал использовать произведения и отношения входных описаний для порождения новых признаков, поскольку это не вступает в противоречие со смыслом по размерностям, как это было бы в случае с суммацией. И в этом случае улучшение результатов было бы вполне объяснимо. А вот почему у вас такое происходит только лишь при возведении в квадрат изолированных переменных - некий вопрос. Возможно, это как-то связано с используемым вами шкалированием входов или в наличии явно связи между величиной входа и его значимостью. Но это - ведь частность. Квадрат - говорит о беззнаковых больших отклонениях. Это по сути тоже новый признак. В общем, тут надо смотреть на суть задачи и характер первичных описаний. Если вылезло, значит, что-то под этим есть
[Ответ][Цитата]
Kek
Сообщений: 1133
На: Персептроны высоких порядков
Добавлено: 22 июл 12 3:52
Скажите, есть примеры реализации нейросети не программным способом, а в "железе"?
Почему я спрашиваю... Просто есть опыт разработок сложных устройств. Я считаю, что скорость в такой сети можно поднять на порядки. Вопрос разрядности входов первого слоя, тоже решается.
[Ответ][Цитата]
Slava
Сообщений: 3070
На: Персептроны высоких порядков
Добавлено: 22 июл 12 4:35
Цитата:
Автор: Kek

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


Были, конечно, нейроплаты и нейрочипы. Вроде, этим и сейчас кто-то реально занимается. Сейчас, правда, мне уже не у кого спросить об этом
[Ответ][Цитата]
Virtual_Graph
Сообщений: 594
На: Персептроны высоких порядков
Добавлено: 22 июл 12 8:53
Цитата:
Автор: Kek
Скажите, есть примеры реализации нейросети не программным способом, а в "железе"?
Почему я спрашиваю... Просто есть опыт разработок сложных устройств. Я считаю, что скорость в такой сети можно поднять на порядки. Вопрос разрядности входов первого слоя, тоже решается.

НТЦ "Модуль", процессор NeuroMatrix
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Персептроны высоких порядков
Добавлено: 22 июл 12 8:59
Цитата:
Автор: Slava
Вообще-то, еще лет 40-45 назад кто-то предлагал использовать произведения входных описаний для порождения новых признаков, поскольку это не вступает в противоречие со смыслом по размерностям, как это было бы в случае с суммацией.

Предлагал Ивахненко в своём МГУА (метод группового учёта аргументов). Да, как раз 40-45 лет назад.
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Персептроны высоких порядков
Добавлено: 22 июл 12 9:11
Цитата:
Автор: Kek
Скажите, есть примеры реализации нейросети не программным способом, а в "железе"?
Почему я спрашиваю... Просто есть опыт разработок сложных устройств. Я считаю, что скорость в такой сети можно поднять на порядки. Вопрос разрядности входов первого слоя, тоже решается.

У меня - нет. Да мне пока и не нужно. При желании - можно на видеокарту вычисления перенести (ускорения в разы и десятки раз).
А так, работ по переносу обученных нейросеток на сигнальные процессоры и ПЛИСки - полно. По обучающемуся железу - поменьше, но тоже есть.
Вопроса разрядности входов первого слоя сети - нет уже 12 лет. Именно тогда учёные из университета Карнеги-Меллона (из команды, которая в те годы была одним из лидеров в футбольных чемпионатах роботов Robocup) предложили алгоритм перевода ЛЮБОГО полноцветного изображения в 2-32 цвета с трудоёмкостью всего 2 (ДВЕ) арифметические команды на пиксел (ну и плюс команды чтения из памяти и записи результата в память, плюс циклы по пикселам в строке и строкам изображения). Эти 2 команды - независимо от числа цветов (2-32) в финальном изображении. Т.е. если нужно понизить разрядность - то всё делается на лету.
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Персептроны высоких порядков
Добавлено: 22 июл 12 9:16
Цитата:
Автор: Virtual_Graph
НТЦ "Модуль", процессор NeuroMatrix

Которому уже больше 10 лет. Хотя, может, более свежие модификации появились - но они сейчас не интересны никому, кроме нашей оборонки (для головок самонаведения в высокоточном оружии и для прочих бортовых вычислителей). Т.к. по универсальности и скорости чипы на современных видеокартах сильно перекрывают эти 40мегагерцовые нейропроцессоры.
[Ответ][Цитата]
Kek
Сообщений: 1133
На: Персептроны высоких порядков
Добавлено: 22 июл 12 10:17
Цитата:
Автор: Victor G. Tsaregorodtsev
А так, работ по переносу обученных нейросеток на сигнальные процессоры и ПЛИСки - полно. По обучающемуся железу - поменьше, но тоже есть.

Я имел ввиду как раз ПЛИСки, т.к. давно с ними работаю.
[Ответ][Цитата]
Slava
Сообщений: 3070
На: Персептроны высоких порядков
Добавлено: 22 июл 12 10:48
Цитата:
Автор: Victor G. Tsaregorodtsev
Предлагал Ивахненко в своём МГУА (метод группового учёта аргументов). Да, как раз 40-45 лет назад.


Спасибо, Виктор, конечно, вы - правы, но мне помнится, что это был кто-то забугорный на этот раз. А Ивахненко - голова
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Персептроны высоких порядков
Добавлено: 23 июл 12 8:11
Цитата:
Автор: Kek
Я имел ввиду как раз ПЛИСки, т.к. давно с ними работаю.

У ЛеКуна с соавторами в последние годы (2009-11) вышло несколько статей по свёрточным нейросеткам на FPGA. Смотреть в разделе публикаций на yann.lecun.com по ключевикам fpga или hardware. Но у них почти нет ссылок на другие современные железячные работы в этом направлении.
[Ответ][Цитата]
Kek
Сообщений: 1133
На: Персептроны высоких порядков
Добавлено: 23 июл 12 10:10
Цитата:
Автор: Victor G. Tsaregorodtsev
У ЛеКуна с соавторами в последние годы (2009-11) вышло несколько статей по свёрточным нейросеткам на FPGA. Смотреть в разделе публикаций на yann.lecun.com по ключевикам fpga или hardware. Но у них почти нет ссылок на другие современные железячные работы в этом направлении.

В познавательном плане это одно, а вот в практическом. Опыта построения сетей у меня нет, но зная что это такое в теории я бы смог легко все это переложить в ПЛИСину. Ну конечно не все, а конкретную практическую задачу. Сделать интерфейс по USB для мониторинга и перепрограммирования. Прелесть в том, что современные ПЛИСины достаточно большие по логике и их структура меняется под задачу. И это не означает, что данная железяка ориентирована будет на решение только одной задачи. На класс задач.
[Ответ][Цитата]
Slava
Сообщений: 3070
На: Персептроны высоких порядков
Добавлено: 23 июл 12 11:22
Цитата:
Автор: Kek

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


А скажите, плз, зачем вам сети?
[Ответ][Цитата]
Kek
Сообщений: 1133
На: Персептроны высоких порядков
Добавлено: 23 июл 12 11:39
Цитата:
Автор: Slava
А скажите, плз, зачем вам сети?

Я не люблю смайлики, но сейчас их наставлю:
Мне сети не нужны, но люди - то их используют. Я делаю разные проекты, которые мне не нужны, но люди платят еньги за них...
[Ответ][Цитата]
Slava
Сообщений: 3070
На: Персептроны высоких порядков
Добавлено: 23 июл 12 12:02
Цитата:
Автор: Kek


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


Понятно, но не совсем. А зачем это тем, кто платит?
[Ответ][Цитата]
 Стр.1 (3): [1]  2  3След. > >>