Pull to refresh
22
0

AI preacher

Send message
В смысле? Там и взято по данным Росстата за конкретный год. Вернее за годы. От года к году менялось по разному — то росло, то уменьшалось. НО итоговый тренд — на понижение.

Правда сам по себе 2002 является приличным «выбросом» из тренда и если взять за точку отсчета что-нибудь вроде 1980, то сейчас скорее наблюдается возврат к среднестатистическим показателям: что-то около 4 разводов на 1000 человек в год.
Ну там кривая, где есть взлеты и падения, т.е. показатель реально — то растет, то падает. ;) В таких условиях можно говорить о тренде/тенденции и она там скорее на понижение, чем наоборот. Но тренд — штука переменчивая.
Короче имеем пул процессов. Который вместе с пулом объектов образует вектор (хз пока какой размерности) контекста.
Понял, что смешал два разнонаправленных процесса. (

На каждом уровне мы имеем два встречных процесса: обучение классификатора и выделение объектов на сцене. И когда я говорю «выделяем пул процессов/объектов» я видимо имею ввиду и классификатор возможных и текущий расклад в сцене.

Передаем в следующий слой мы конечно же расклад. Но при моделировании мы используем классификатор тоже… Как-то так…

Полные данные о сцене вместо фреймов в виде пикселей снижают размерность данных на несколько порядков (с потолка — просто ощущение, не считал! ;) ).

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

Процесс — это изменение. Изменение того, что мы получили на первом этапе. Объекты претерпевают изменения: движутся, трансформируются, взаимодействуют… Хотелось бы на этом этапе получить некий пулл возможных процессов (в виде классификатора).

При этом, пока не знаю как, но если удастся провести какую-то кластеризацию\классификацию этих процессов по (не вполне понятному для меня на данный момент) критерию схожести/общности — то эта классификация может служить для дополнительной классификации объектов уже не по визуальной схожести, а по поведению. Ну как простейший пример: если будет выделена концепция движения, как процесса, то все движущиеся/потенциально способные двигаться (исходя из истории) объекты могут быть отнесены к классу «подвижные». Это необходимо для того, что бы при передаче на следующий уровень собственно моделирования расширить/дополнить пространство возможных вариантов не только тем, что непосредственно наблюдалось, но и тем, что «выведено эмпирически», так сказать…

Короче имеем пул процессов. Который вместе с пулом объектов образует вектор (хз пока какой размерности) контекста.

И вот уже с этим контекстом работает анализатор контекста. Он пытается предсказать контекст в развитии. И качество предсказания является валидатором того, насколько правильно была проведена классификация первых двух «слоев». Если качество хреновое — что-то нужно править. что конкретно и как — пока понятия не имею…

Это было много букв. А если очень коротко и на пальцах, и сознательно несколько упрощая: имея, как вы говорите контролируемую виртуальную сцену — мы фактически получаем Starсraft, в который AlphaStar, или как там его вполне сносно играет! $) Размерность вариантов кажется несопоставимой, но… Это зависит от того, откуда берутся варианты! Если их не задают искусственно (а человек на самом деле не настолько крут, что бы «отделить зерна от плевел» т.е. на каждый момент времени всю доступную информацию отсортировать по важности), а система сама их вытаскивает из контекста как может, то… Она может и не сравнится с ходу с человеком (и даже животным), но будет целостна и самодостаточна, а усовершенствование результативности каждого этапа — вопрос времени.
>>> человеку не требуется предварительно заданного большого датасета.

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

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

если мы имеем сеть, отслеживающую действие — это вполне возможно.

>>>А карта глубин это не главное

Два при чем тут «главное»! Карта глубин в дополнение к сегментации позволяет отнести несколько чисто цветоградиентных сегментов к одному объекту за счет равной глубины этих сегментов. Не больше и не меньше! Дополнительная аналитика и все. Как и движение — движущиеся синхронно или синхронизировано сегменты — с большой долей вероятности — один объект.

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

Движение+сегментация+предобученная в реальных условиях нейронная сеть. И это не простые слова — известно, что для понимания плоских изображений (фотографий, например) нужен определенный уровень абстракции. Известны прецеденты, когда бушмены Австралии не воспринимают объекты на фотографии: у них нет навыка понимания плоских картинок и их отображения на «стерео-реальность». ;)

>>> Она решается недостаточно хорошо.

Достаточно. Не достаточно понятно, что с этим делать дальше. Есть несколько сырых идей, которые нужно пробовать…
Так вот и я о том же… ;)

Есть даже большой, хороший датасет для выделения действий… Вот только он мне не подходит. ( Мне не нужны просто действия — они должны быть частью общей картины… Частью модели. И именно эта «модель» в том или ином виде должна подаваться на вход какой-то окончательной сети, которая должна предсказывать развитие этой модели во времени… Т.е. собственно осуществлять «моделирование».

Хотя в качестве свертки перед анализом картины в целом — может и прокатит!
>>>Тогда они сказали взять какую-нибудь сетку для сегментации, отодрать от неё все full-connected слои и оставить только свёрточные, чтобы осталось пространственное расположение объектов.

Золотые слова! ;) Мне вот реально интересно, вот эта вот сеть — она так действует? С одной стороны, DesertFlow сказал, что она умеет детектить объекты, которых не было в обучающей выборке… С другой -может это какие-то ошибки детекции, а в реале она просто действует по принципу… находит сначала конкретные, потом обезличивает. Но я все-таки верю в первый вариант! ))) Внутрь пока не лазил — скилов не хватает. Да и времени!
И да: я хочу, чтоб программа просто выделяла объекты. Мне пока все равно какие — те же или не те же… Любые. Правильное распознавание объектов — я понятия не имею, что вы имеете ввиду под «правильным» и «распознаванием»! Но явно не то, что интересует меня.

>>>И все остальное это тоже свойства естественного интеллекта.

Спасибо, кэп! ) Конечно это все свойства естественного интеллекта! Статья называется «размышление о природе разума», а не «чем искусственный интеллект отличается от естественного»… НО по этому поводу смотрите предыдущий комментарий.

//Ответ не для «продолжения дискуссии» и не спора ради, а для возможно читающих эту полемику людей — просто разъяснение. //
Классная логика: вы говорите об ИИ, значит, все что вы говорите — невозможно потому, что природа это делала тысячи (на самом деле сотни тысяч, а то и миллионы, но это не важно) лет, да и серьезные дядьки тратят на это миллионы долларов — так что забудьте! )))

Ладно, Михаил. Еще раз: я вашу точку зрения понял, я с ней не согласен. ;) С практической точки зрения ваш ответ «никак», мне не интересен. Смысла продолжать эту дискуссию не вижу.
>>Шутите?) ИИ пытаются изобрести по всему миру любыми способами.

Эм… у меня все-таки четкое ощущение, что мы о разных вещах говорим…

От детектора объектов, о котором говорю я и возможность которого вы упорно отрицаете, до ИИ — примерно как до луны пешком. Вы в это понятие что вкладываете?

Вот представьте себе картинку, на которой стол, пара стульев, на столе — тарелка с яблоками. Вот все, что мне надо: условно, та же картинка, где в первом приближении, каждый из этих объектов маркирован как отдельный объект (никак не классифицированный!), в идеале — яблоки/стулья имеют общую метрику (яблоки — свою, стулья — свою), позволяющую трактовать их как объекты одного класса (чисто геометрически/текстурно). Все! Где вы тут видите ИИ?! Тем более — сильный? Это задача из области машинного зрения и библиотеки OpenCV. Нейронные сети, вроде гугловского детектора объектов и наработок по определении карты глубин не повредят конечно…
Ваш основной аргумент, если я правильно понял: раз ИИ еще не реализовали, значит текущие технологии не работают! ;)

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

Я вот, например, думаю, что нет какой-то принципиальной проблемы в выделении объектов. И я планирую попробовать. Я думаю, что те, кто пробовали, получили вполне сносные результаты и пошли дальше — делать то, для чего им это было нужно. Просто им это нужно было не для того, для чего нужно мне. Просто никому не нужны классификаторы объектов, не совпадающие с общепринятыми! А может и нет. Может и я пойму, что все плохо и не подходит! Но сам! Когда увижу результаты! А не потому, что мне кто-то сказал, что работать не будет!
>>> Можно чуть детализации?)

Откуда? ;) это же мозговой штурм, а не готовый рабочий проект!

Я очень хорошо понимаю о чем вы, когда говорите про «на человеческом языке звучит зашибись». ;) буквально недавно общался с человеком, который тоже считает, что он все в ИИ понял. Он мне показал, как я выгляжу со стороны. Но с моим уровнем технической подготовки я так и буду выглядеть! Нужно пробовать! :( иначе я не пойму, где косяк и так и буду мыслить в терминах человеческого языка, где все «зашибись»!
Ну я не могу на пальцах так детально все проработать, но… давайте идею с начала:
  • Первый уровень: детектор объектов. Выделяем сочетанием сегментации/карты глубин/Классификатора объектов (который на первой итерации первого запуска не определен) перечень объектов… дальше надо продумать детально, какая информация на выходе с этого этапа передается дальше, но однозначно не исходная картинка! Цель: снижение размерности. Вместо HxWx3 — какое-то векторное представление объектов (совокупности метрик, которые либо выделены из текущих данных, вроде цвета/размера/ формы либо из классификатора) и их взаимного расположения. Все, что не было определено — отбрасывается (если слишком многое отбрасывается — это повод дорабатывать детектор, а не проблема подхода в целом). Все, что осталось на следующий уровень.
  • Второй уровень: детектор процессов. Накапливает изменения происходящие в течении времени с данными первого уровня. Тут я пока не могу предложить технологий, т.к. еще даже не гуглил на эту тему, но на вскидку: изменения происходящие в одном «месте» (при неизменном пространственном положении) с одним или несколькими объектами = процесс. Изменения, происходящие одновременно (но в разных местах) — возможно субпроцессы (процессы, являющиеся составными частями большего процесса), изменения, имеющие корреляцию (например, начало одного изменение совпадает с окончанием второго) — так же субпроцессы, но имеющие причинно-следственную зависимость и тп… соответственно на этом этапе нам желательно выделить какие-то метрики подобных процессов для их идентификации и дальнейшей обработки. Я правда не знаю пока, какие именно! Ну понятно, что начало/конец/длительность/траектория, но… может еще какие-то аспекты.
  • Третий уровень: кластеризация. Пытаемся процессы как-то разбить на классы… пока кроме длительности/траектории… результата! (Ну если в результате процесса-изменения один/все из объекты изменились/исчезли/ход процесса поменялся… хот это уже чуть иное! что-то более конкретное сказать не могу — нужно пробовать. Ну вобщем: как-то кластеризуем! Получаем объекты, которые задействованы в родственных процессах, что является основой для кластеризации объектов по процессам… самый простой (и обширный!) кластер процессов — движение, самое простое деление объектов: статичные(неподвижные) и мобильные!
  • А вот дальше самое интересное! Мы пытаемся предсказывать процессы. Это и будет валидацией: если предсказанное поведение совпало с реальным — текущая модель сбалансированна правильно. Не совпало — что-то не так, но что именно и как — вопрос. Мне тяжело так на пальцах, без конкретики...
Да и… Если честно — это не имеет принципиального значения. Если на данном этапе надежно выделять объекты невозможно — значит можно перейти в симуляцию, где знания об окружающем мире изначально достаточно полны, что бы пробовать все остальное. ;)

Попробовать я хочу чтоб видеть в чем именно проблема, а не потому, что без этого нельзя двигаться дальше.
Так мне помочь, а не кому-то еще! Я понятия не имею — какую задачу решали те люди и были они удовлетворены достигнутыми результатами или нет…

Вот вы, например… Не пробовали (если я не прав и пробовали — расскажите о своем негативном опыте — очень интересно!), но заранее уверены, что не работает!
>>> Есть соображения, как она будет выглядеть?

Да, я уже писал где-то: попадание в прогноз…

>>> разбей нам поток опыта на кластера таким образом, что из каждого кластера каждое действие вело в один кластер с вероятностью как можно ближе к 1 или 0. То есть чтобы если мы находимся в каком-то кластере и делаем какое-то действие, и предсказываем, в каком кластере окажемся, то чтобы как можно реже прогноз был «а чёрт его знает, примерно равновероятно».

Если я правильно вас понимаю, то очень похоже. Правда я себе это представлял именно как проверку совпадения прогноза с реальностью, но…
Михаил, я же написал, что вашу точку зрения я понял и с ней не согласен. Зачем продолжать? ;)

Ну разве что…

>>> подогнать параметры в существующих алгоритмах не выйдет, это уже пробовали

Ссылку дадите? На тех, кто пробовал и не вышло?
>>> А почему вы думаете, что никто не пробовал?)

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

Не совсем. Это замкнутый процесс, т.е. классификация объектов основана на процессах, а маркерами процессов являются объекты. Но это нормальный итерационный процесс!

>>> Я понимаю, о чем вы говорите, и понимаю, что так это работать не будет. Что и пытаюсь вам объяснить.

Ок. Я вашу точку зрения понял. Я с вами не согласен. ;)

>>> Для этого надо сначала научиться выделять и отслеживать объекты.

Вот именно. пошел ставить Pyton! )
Ну так вы тоже молодец! Хотя кто-то мог бы сказать, что «разработка ведётся на экзотическом в России языке, что приводит к практически полному отсутствию документации» — отдельный вид извращения весьма не однозначный выбор. Ведь можно же вести разработку на хорошо задокументированном, современном языке с большим русскоязычным комьюнити… ;)

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity