Как стать автором
Обновить

Комментарии 66

По последнему абзацу — какими именно методами «сегодня» решаются перечисленные задачи (предсказание будущего, распознавание рукописного текста, распознавание лиц)?
предсказание будущего — например курсы валют — мат. статистика
распознавание рукописного текста — при распознавании на лету, т.е. когда его пишут (Онлайновое распознавание) не требует использования ИИ.
распознавание лиц — замерить пропорции лица и сопоставить с данными по базе, тоже возможно без ИИ
А ну-ка предскажите курс доллара или цену нефти через полгода. Хоть статистикой, хоть нейронными сетями.
вам с какой долей вероятности??? )))
100%
Плюс, про рукописный текст: классификация элементов изображения, разные трансформации, которые подчеркивают ключевые элементы буквы; а также сопоставление с элементами в большой базе примеров (функция сравнения может быть достаточно сложной; к примеру, близкими буквами можно считать буквы, которые можно получить одну из другой небольшой деформацией)
Про предсказание будущего: в случае, когда на результат влияют активные игроки, никто толком не умеет это делать хорошо (хотя есть разные полу-психологические методы составления портретов игроков, т.к. человек, на самом деле, часто бывает предсказуем); если же речь идет о природных явлениях, то все это моделируется и раскладывается по достаточно простым циклам.
Про распознавание лиц: сначала изображение лица переводится в пару сотен численных параметров (вроде расстояния от вершины носа до бровей и т.п.), а потом сравнивается по базе. Интересно, что таким образом можно вычислить даже замаскированного человека.
можно немного подробнее про распознавание рукописного текста на лету… какие технологии используются для такого распознавания на лету
Когда программа распознает рукописный текст налету, то у нее на входе не черно-белая картинка, которую надо превратить в текст. А последовательность движения стилуса по поверхности.
Просто представьте как бы вы написали печатную букву А — всего три движения стилусом (1. Низ слева- вверх гориз.посередине 2. Верх гориз.посередине — низ справа 3. Верт. середина лево — верт. середина право)
эти движения гораздо легче интерпретировать, чем картинку.
а все врубился… спасибо
Что за нейронные сети?
Некий метод или анализ информации по принципу человеческого мозга. Основа любого качественного искуственного интелекта способного к самообучению. Еще кибернетики начинали с этого. Помойму тема более чем просто освещена в гугле.
«В общем случае задача распознавания образов до сих пор не решена».
Вроде начинать с такого «рассуждения» не верно!, тут же в голову пришло приложение iPhoto.
Приложение позволяет не просто распознать лицо, а и самостоятельно различать лица различных людей помечая тем самым фотографии.

и далее по тексту:
Faces to see.
iPhoto ’09 introduces Faces: a new feature that automatically detects and even recognizes faces in your photos. iPhoto uses face detection to identify faces of people in your photos and face recognition to match faces that look like the same person. That makes it easy for you to add names to your photos. And it helps you find the people you’re looking for. Clicking the Faces view shows you a corkboard featuring a snapshot for each person you’ve named. iPhoto suggests a set of possible matches you can confirm with a click.
Так это частный случай, а речь про общий :)
>Кстати, проводились эксперименты, точно также новорожденный младенец выделяет лицо: это два темных круглых объекта, под которым есть вытянутый темный объект.

может не по теме, но все же:
уже не первый раз за последнее время читаю об этих младенцах в той или иной форме,. и мне вот интересно, а как именно ученые узнали что видит младенец??,… ведь крайне сложно что то объяснить младенцу,. иной раз просто понять что младенцы хотят,… а тут прям так уверенно говорят о том что он видит,… ))
Их обманывают.
Приносят разные палки, разноцветные шарики, трещетки, чтобы выделить, на какие именно признаки они реагируют. Такие же эксперименты проводятся с птенцами, младенцами животных.
У всех есть какой-то очень простой признак, который используется для определения мамы и других существ того же вида. Я не помню подробностей, но кажется галчата готовы были считать матерью палку с привязанной черной тряпкой (и не готовы чучело галки, которое 100% выглядело как галка, но не двигалось), котят устраивала мохнатая грелка.
Про детей я читал, что достаточно нарисовать на бумаге три кляксы: две сверху и одну под ними; и малыш реагировал на это изображение, как на лицо человека.

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

Это не Windows ставить :)
и какие математические модели сейчас используют для общих случаев задач распознавания образов?
Слишком общий вопрос. Насколько я знаю, сейчас хорошо работают алгоритмы распознавания отдельных характерных элементов некоторых объектов.
А в общем случае — нет согласия. Все идет в ход: графы, нечеткие модели, трехмерная реконструкция, нейронные сети, да и вообще кто что придумает.
Вспомнил книжку на эту тему.
Форсайт, Понс. «Компьютерное зрение, Современный подход».

Там, вроде, бы суммируются общепринятые подходы на 2003 год.
> изображение в 100 мегапикселей превращается в фразу из, скажем, 1000 байтов).
т.е. поиск по ключу (хеширование)
А фразу чем распознавть…
На самом деле там очень интересные алгоритмы работают. В голове существуют, как сейчас полагают, около 20 хардверных блоков, работающих в паралель.
Например, есть отдельный блок, который занимается только распознаванием и классификацией людей. Другой блок, который разбивает любой объект на части и занимается храненем базы «что из чего состоит». Есть блок, который занимается временем, т.е. любую информацию он классифицирует на предмет что было раньше, что позже, сколько времени это занимает. Еще один все время выстраивает причинно-следственные цепочки. И т.п.
И все они просто разрывают любой приходящий сигнал на части, обрабатывают его и выдают результат в виде нового, уже полностью виртуального сигнала, который, тем не менее, тоже кодируется в виде сенсорной информации: воображаемые картинки, внутренние голоса, внушенные ощущения. Затем они продолжают обрабатывать эту виртуальную информацию по кругу, создавая новую виртуальную информацию.
… его круги по больничному дворику все ускорялись, а в голову лезли самые невероятные веши имеющие характер полного бреда…
Да, современная наука говорит именно про это. А какие есть методы вместо нейронных сетей в общем случае моделировать работу мозга на уровне этих блоков?
Думаю, в психологических целях можно что-то такое моделировать. Однако использовать те же механизмы для решения компьютерных задач, на настоящий момент — это слишком сложно.

К тому же колеса мышления крутятся не сами собой, а под управлением сознания. И здесь мы ближайшим образом подходим к необходимости моделировать душу, а это, как мне кажется, уже невозможно.
Я долго над этим думал, и мое заключение основывается не на возможной математической сложности, а на некоторых философских выкладках.
Все проще. Сознание есть просто функция всего того, что описано выше. (см. Деннет Consciousness explained) Это виртуальная машина, оно нигде конкретно не находится в отдельном блоке. Оно не управляет работой блоков. Про мышление: мышление и сознание это одно и то же, сознание не управляет мышлением, это оно и есть.

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

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

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

На мой взгляд каждый такой «вычислительный блок» можно с большой достоверностью построить и настроить; объекты внутренней виртуальной реальности при желании можно вычленить (на поверхностном уровне, конечно) с помощью гипноза или просто направленных вопросов.
Поведение механической системы детерминировано, но попробуйте предсказать погоду. Так и сознание несвободно, но его практически невозможно предсказать: Что тут ненаучного? Это теория сложных систем. Сознание детерминировано внешними раздражителями и сложнейшим внутренним состоянием (в т. ч. всем накопленным опытом).

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

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

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

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

Быть может потому, что поведение сложной механической системы с точки зрения обезьяны — недетерминировано? Но ведь мы, люди, в отличии от обезьян вполне можем понять даже то, что «невооруженный мозг», в сыром виде, не воспримет (Вы лучше меня знаете, сколько информации одновременно, в фокусе, удерживает краткосрочная память среднего взрослого человека) — к примеру используя различные и все более сложные инструменты (машины, методики, алгоритмы). Так что в будущем (с появление новых инструментов) все может оказаться очень даже детерминировано. ^_^
>>меня интересует моделирование не сознания, а общий метод для моделирования этих блоков помимо нейронный сетей. Подозреваю что нету.

Общий метод — это копирование принципов построения мозга. Куда уж ближе, чем нейронные сети? Правда это все равно, что сказать: «на тебе кирпич. Кирпичи соединяются раствором. Теперь ты все знаешь — иди строй замок 20-метровой высоты, да с башенками» ^_^.
А вот отдельные блоки — это всего лишь «попытка» природы, «реализовать» необходимые алгоритмы на существующей базе — используя уже существующие и успешные нейронные сети. Причем эффективность этих алгоритмов не наивысшая, а всего лишь достаточная для выживания. Эти и другие подходящие алгоритмы алгоритмы можно реализовывать как угодно. Про опознание образов в общем случае и эффективном опознании предметов на изображении или видео — не скажу, но в алгоритмах опознания печатных символов (без привязки к шрифту) и звуков (речи к примеру) — ничего сверхсложного нету. Соответственно совершенно не обязательно делать кальку участков мозга, или, найдя нужный алгоритм, пытаться в обязательном порядке реализовывать его на нейронных сетях, для решения задачи опознавания чего либо и/или создания ИИ.
Допустим. Тогда каверзный вопрос: на все ли такие «блоки» на которых «работает» наш интеллект, уже есть какие-нибудь худо-бедно работающие алгоритмы? Кто может ответить?
>>Допустим. Тогда каверзный вопрос: на все ли такие «блоки» на которых «работает» наш интеллект, уже есть какие-нибудь худо-бедно работающие алгоритмы?

Без понятия, но скорее всего — нет. ^_^
Но в любом случае это (создание нужных алгоритмов при необходимости) исправимо.
Тогда в чем подвох? Почему не создали уже ИИ из этих блоков? Наверное, потому что не знают, как их соединить?
>>Почему не создали уже ИИ из этих блоков?

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

>>Наверное, потому что не знают, как их соединить?

Быть может не знают как соединить, может не знают какую движущую силу (в смысле стимул) в эту систему вклинить, что бы сама система «хотела» функционировать в нужном направлении, а может и по поводу направления не уверенны — мало ли (я не в курсе что на этом фронте происходит). А возможно просто инструментария не хватает. Тут же примерно как с микросхемотехникой или даже радиоэлектроникой: есть отдельные примитивы вроде «и», «или», «не», резистор, транзистор, и т.д., но строить реальные приборы напрямую, только из примитивов, не будут — создают отдельные виды функциональных блоков, а из них еще более сложные и т.д. (иначе запутаешься), а там дальше уже и языки программирования разных уровней подключаются… В результате сейчас реализовать сложную логику проще чем было N лет назад (если подходящий инструмент выбрать). Может и с нейронными сетями нечто подобное произойдет. Там видно будет.
> В конце стоит упомянуть, наверное, нашумевший когда-то метод нейронных сетей. В академической среде в него очень верят, а в практических проектах он редко используется.

Вы просто не умеете их готовить :)
Классические многослойные нейронные сети малоэффективны на задачах распознавания образов изза чрезмерной избыточности — количество связей между элементами на входном изображении гораздо меньше, чем может запомнить нейросеть. А вычислительная сложность растет минимум по квадрату от количества связей… Поэтому в свое время нейропрограммисты посотрудничали с микробиологами и выяснили немного деталей насчет работы зрения живого организма. В итоге была создан когнитрон, а после и неокогнитрон — прототипы машинного зрения. Принцип работы неокогнитрона таков:
0) Неокогнитрон состоит из слоев. Каждый слой — логический шаг обработки. Внутри слоя находятся плоскости, о них и пойдет речь.
1) На вход плоскости когнитрона подаются «изображения» — квадратные (для упрощения возьмем пока что квадратные) матрицы. На входе в когнитрон эта матрица содержит само изображение, на всех остальных — выход предыдущего слоя когнитрона.
2) Рассмотрим одну матрицу. Каждый нейрон в плоскости получает свой небольшой кластер (небольшой участок с входной матрицы. Квадратной формы :)) ячеек с входной матрицы, умножает значения в ячейках кластера на значения соответствующих коэффициентов (весов нейрона) и суммирует их. При обучении веса нейрона будут модифицированы и вследствии этого на некоторые кластеры нейрон будет выдавать большое значение энергии, на некоторые — поменьше. Сами кластеры небольшие и в итоге нейрон обучится реагировать на какой-либо примитив.
3) Вся входная матрица разбивается на пересекающиеся кластеры, каждый из которых дает на выходе свою энергию. Тонкий момент — у всех нейронов в плоскости веса одни и те же! То есть, все нейроны плоскости ищут один примитив в матрице входного сигнала.
В итоге получаем матрицу, в которой наибольшую энергию имеют те нейроны, где входной паттерн соответствует обученному больше всего (напомню, что кластеры пересекаются => вероятность «потерять» паттерн на входной матрице резко падает).
4) Теперь проделываем всю изложенную магию для каждой матрицы, поданной на вход. Каждый нейрон в итоге будет иметь значение энергии для определенного кластера для каждой из входных матриц. Эти энергии суммируются. Получается итоговая матрица энергий.
5) Происходит нормализация значений энергии. Это ещё несколько мозгоуносящих ступенек алгоритма, я опущу их. Результат нормализации — энергия нейронов, среагировавших на правильный паттерн, выше чем реакции на мусор. Эта матрица (матрица энергий) подается на вход соответствующей «реагирующей» плоскости.
6) «реагирующая» плоскость разбивается на кластеры, но уже непересекающиеся, каждый нейрон имеет на выходе максимальное значение энергии из его кластера. Цель этих нейронов — уменьшить чувстительность к сдвигу. То есть, если была хоть где-то реакция на паттерн на большом участке входной матрицы, то на выходе нейрона будет сигнал, если нет — он будет молчать :). Выходы «реагирующей» плоскости образуют выходную матрицу.
7) Пункты выше проделываются для каждой плоскости в слое. Получается набор выходных матриц, в каждой — результат реакции на определенный паттерн. Этот набор матриц передается следующему слою.

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

Всё просто, после того как сознание расширится до четвертого измерения :)
На вопросы постараюсь ответить.
Спасибо за внимание.
А вы знаете почему социальную сеть создать проще чем нейронную? ( потому что ясно что надо делать)
То есть глупый вопрос — нейроны могут образовывать социум?
Я описал только распознавание образов )
Что есть социум надо ещё внятно сформулировать… Искусственные нейроны имеют уже много свойств, характерные живым, но ещё не все особенности изучены. Примитивный социум возможен, как далеко он может развиться — хз. На неделе уже была статья, что нейросети научились примитивно обманывать.
Да? Очень интересно. Не расскажите про обмен нейронных сетей?

PS И извините за критику ниже. Просто так сложилось, что я не очень люблю нейронные сети.
Социум это организация живых существ, что бы не было грабежей, анархии, шизофрении ( некоторые еще называют ее паралелизмом).
Для этого в социуме существует доминирование одной особи(или блока — классса). Введение этого понятия хоть и не демократично, зато эффективно. Естественно диминирование меняется по мере изменения вектора социальной задачи.
> Социум это организация живых существ, что бы не было грабежей, анархии, шизофрении

Эмм… Возможность ограбления корованов свидетельствует о распаде социума? :\ По моему это намного более высокоуровневые понятия и относятся не только к социуму, но и его развитию — обществу.
Если бы общество было сложным и управлялось сложно… страной бы не командовали идиоты. Социум муравьев или пчел не примитивен, примитивны сами насекомые. Механизмы на мой взгляд очень сходны, и могут так же существовать и среди элментов внутри сознания. В том числе и в области распознания образов.
Очень интересные темы Вы поднимаете :)
Математическая модель общественных процессов.
Социумы таких насекомых, как пчелы или муравьи, сложен, но управляется простыми правилами. Это очень хорошо отлаженая самоорганизующаяся система, каждый элемент которой беспрекословно ей подчиняется. С людьми все сложнее, они не хотят жить жить «биологически эффективно», подчиняться общим правилам и далее…

В таком предмете как рампознавание образов, такое взаимодействие уже на порядок сложнее в реализации. По сути, это даст нам механизм, в котором, например, нейросеть, отвечающая за логику и принятие решений, пнет когнитрон для более подробного распознавания и классификации. В модели, которую привел я, уже есть потеря деталей — каждый слой забывает неважные мелочи, выделяя важный образ. А этот «мусор» мог быть подан на другой уровень другого когнитрона, например.
Возможно ли создание такой структуры людьми? Имхо, сложно сформировать такие связи эффективно, а генетический алгоритм будет работать полвечности… Эволюции понадобилось пара десятков, если не сот миллионов лет на это.
Моя задача состояла в написании алгоритма распознания для достаточно примитивного сенсора состящего из матрицы датчиков. Я довольно долго морочился со всевозможными вариантами, половину которых честно говоря просто не понимал. Пока наконец не решил, что в системе датчиков будет главным тот, кто оказался в нужное время в нужном месте. Экземпляр класса этого датчика просто выстраивает под себя остальных. Это доминирование. По крайней мере я понимаю как в таком виде писать код.
В вашей системе требовалась перестройка приоритетов в зависимости от поведения обьекта наблюдения? Как я понял, вы сделали статическую систему, строгую централизованную иерархию.
Она и так будет работать, незачем прикручивать нейросети и создавать конкуренцию.
Насчет непонятности алгоритма — необходимы знания матана и высшей алгебры уровня первого курса. И некоторое количество терпения, пока осознание работы нейросетевых алгоритмов устоится в голове.
Спасибо!
Мне понравились некоторые детали, к примеру п. 6: достаточно простой способ сделать систему, работающую со сдвигами.
Но у меня осталось ощущение, что этот метод все-же избыточно сложный. Обычно, сильные методы не требуют магии.
Преимущество нейронных сетей любого вида в том, что поскольку теоретически они МОГУТ работать, то всегда считается, что проблема только в настройке. Получается, что ученый сделал свою часть работы, и виноваты инженеры, которые просто не смогли ее настроить.
Однако, никто толком не знает, как именно ее настраивать. Более того, когда действительно выделяются ключевые элементы в настройке (например, как в изложенном способе — сравнение маленьких квадратиков изображения), то зачастую оказывается, что можно сделать аналогичный метод и без нейронных сетей.

Это моя личная точка зрения. Я знаю, что многие с ней не согласятся, и, возможно, будут правы.
Метод сложен лишь для понимания, и то первый раз :) Сама структура — та же самая нейронная сеть с наложением кучи ограничений для поднятия эффективности. Да и где тут магия?..

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

Ну вот например, мой друг поставил небольшую цель — научить отличать мазду от фокуса при похожем кузове. Подобранная конфигурация сможет обучиться различать практически любую технику, вплоть до БТР'ов или тракторов, строения кузовов которых отличается на порядок от строения легковушек. Сколько вам придется адаптировать свой алгоритм? ;)
Очень интересно. Здесь не в соревновании дело, у каждого со временем нарабатывается свой инструментарий. Но подходы не исключают один другого.

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

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

Но мне было бы интересно лучше понять нейронные сети. Как раз из практики.
Обучая нейронную сеть, вы позволяете ей «отыскивать» решение самостоятельно. Плюс логическая монолитность нейросети — она имеет ценность только целиком, отдельный нейрон не даст вам никакой полезной информации. Это и дает магию всего происходящего и ощущение бесконтрольности :)
Но нейросети и стоит применять там, где четкая формализация задачи затруднена или реализация алгоритма, решающего её чересчур трудоемко. В этом случае магия дает результаты ;)

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

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

Как бы «да — согласен», но работает оно мееедленно и требует значительных вычислительных ресурсов. Т.е. если _можно_ обойтись без — лучше обойтись без.
На самом деле мне вспомнился еще биологический метод, вроде игры «Жизнь» Конуэя. Это когда элементы изображения, как раз, сами начинают дружить между собой, общаться, образуя некоторое подобие структуры. Которое потом уже можно анализировать инструментами высокого уровня :)

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

Не знаю, актуальны ли клеточные автоматы в задачах распознавания образов — мои знания о них весьма ограничены.
Это была ассоциация; прямо клеточные автоматы я тоже не знаю, как здесь использовать.
А где Вы разрабатываете / применяете такие интересные алгоритмы?
Если алгоритмы заработают, будет статья, может даже не одна. Пока что цель — распознавание образов в реальном времени.
«Кстати, проводились эксперименты, точно также новорожденный младенец выделяет лицо» — изверги
Часто, когда говорят о способности мозга распознавать образы, не упоминают важное свойство мозга — мозг всёгда работает во времени, и наблюдая картину в развитии, сопоставляя её со своими ожиданиями об изменении данной картины, мозг проверяет, совпали ли его ожидания с тем, что есть в поле зрения. «Распознавания», детального разбора, обычно не происходит. Происходит фильтрация образов, лежащих в обойме и сопоставление прошедших фильтрацию образов с наблюдениями. Вещь, которую вы никогда не видели, вы запросто не распознаете, только приложив дополнительные усилия.

По-моему, процесс распознавания образов в мозге устроен примерно так — есть некоторый набор объектов, который вы в данный момент ожидаете увидеть, и есть «план» мозга касательно того, что вы увидите в следующее мгновение. Остаётся только подтвердить этот план. Но если _внезапно_ из-за угла возникнет настоящий динозавр, вы, скорее всего, задумаетесь, что это вдруг кино тут снимают :)
И, да, «план» состваляется на семантическом уровне.

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

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

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

если кто заинтересован — напишите в личку
По совпадению, я изучал этот феномен еще 15 лет назад :) Приятно, что до сих пор кому-то это интересно.
спасибо! хотелось бы более развернутой статьи с примерами, картинками и ссылками…
Смотрите хороший работающий пример: viewdle.com/
Между прочим разработки были отечественными, но превратились в западный стартап по понятным причинам.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий