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

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

Геометрические искажения достаточно легко нивелируются аугментациями и это миллионы новых картинок. Датасет растет всего лишь на несколько порядков.

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

И такой датасет негде будет хранить ))

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

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

Проблема с аугментациями решается генерацией на лету, без постоянного хранения данных.

При генерации будет расходоваться время процессора пропорционально экономии памяти

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

Но это всё равно не сильно помогает. Хотя бы потому, что очень сложно выполнить аугментацию, не допустив утечки данных. Самый простой пример: для изображения применяем случайные якрость-контраст — такую случайную кривую, которая монотонно отображает отрезок 0.0…1.0 в 0.0…1.0 (от чёрного до белого). Казалось бы, модель должна научиться обрабатывать картинки всех возможных яркостей и контрастов? Но нет — вместо этого модель учится декодировать применённую кривую из того, как ведут себя пиксели антиалиасинга на границах объектов (применение кривой нарушает правильность антиалиасинга).

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

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

Звучит интересно, а есть статьи об этой проблеме? По ключевым словам не могу найти.

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

Насчёт статей не знаю. Тут нет чёткой грани между аугментациями (случайными изменениями данных) и синтетическими данными. Думаю, стоит поискать по генерации синтетических данных.

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

Нейронные сети чрезвычайно коварны — они при малейшей возможности ищут обходные пути решения задачи. Это, кстати, философская проблема — с чего мы (люди) взяли, что мы не подвержены шорткатам и адверсариал-атакам? Взять хотя бы расизм — «чернокожего на работу программистом не возьму, в машину к нему не сяду», «сдам квартиру в аренду только славянам». Это же всё шорткаты. А сходить в кинотеатр — это добровольно совершить аудио-визуальную адверсариал-атаку на свои мозги.

И никакой ИИ никогда не сможет распознать семь параллельных красных линий нарисованных зеленым цветом причем три из этих линий перпендикулярны. 

Сильный ИИ сможет хотя бы понять юмор стояющий за этой фразой.

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

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

Поэтому мне кажется что нейронные сети развивать конечно же надо. И пользоваться ими тоже нужно. Просто надо осозновать, что это не интелект, даже если оно успешно прикидывается им в 90% случаев. А значит нельзя слепо доверять решениям сетей.

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

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

Чо делать то ? Мы все умрем ?

статья не отвечает на вопрос
что делать с этим знанием ?

но вы минусуйте да да конечно
это же так просто

что делать с этим знанием ?

То же самое, что и с остальными знаниями: знать.

ok.

Я не минусовал, но и вопроса не понял. Половина статьи посвящена тому, как можно было бы решить проблемы обобщения, и какие ведутся исследования в этом направлении

что делать с этим знанием ?

Осознать, что современное машинное обучение по-прежнему остаётся китайской комнатой, только всё бОльшего размера?

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

По рентгеновским снимкам взято отсюда (раздел 6), там в свою очередь дается ссылка на эту статью.

Думаю, нам существенно не хватает данных и существенно не хватает вычислительной мощности. Вот мы берем условный датасет из 10к картинок и он кажется внушительным, но мы упускаем при сравнении с нашей зрительной системой, что глаза за секунду делают сотню снимков, да еще и с разных позиций, и с условным дальномером в виде фокусного расстояния — т.е. глаз работает с условным 3д. Когда мы подобные объемы будем собирать и скармливать сетям, тогда и ожидать от них сможем подобный глазу функционал.
А мы подаем нейросетям на вход один снимок вместо сотни, да еще и в чистом 2д. Поэтому и некорректно от них ожидать перевода 3д и оценки форм объектов.

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

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

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

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

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

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

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

Компьютеру не надо прятаться от врагов, искать еду среди листьев и готовить квартальные отчёты - ну, и зачем тогда ему учиться?..

Спасибо, отличный обзор, пример для подражания.

Проблема понимания смысла вероятно решится с развитием архитектуры ИНС. Роста только числа параметров и производительности оборудования недостаточно. В этом коменте предположил вероятное направление решения проблемы понимания смысла чисел по аналогии с биологическим прототипом. См. также этот комент по теме понимания смысла в генераторах и переводчиках текста.

Идея с Contrastive evaluations очень понравилась!

Не статья, а сказка.

Только я не очень понимаю, что можно требовать от методов, которые просто считают линию тренда в облаке точек? Магии не бывает, из данных нельзя извлечь то, чего в них нет. Если человек видит формы на картинке и логику в тексте, это не обязывает статистическую модель их тоже видеть.

И на какие другие подходы идёт намёк? ИИ фундаментально ограничен методами статистики.

Недавно опубликовали статью о том, что биологическую эволюцию (в том числе эволюцию мозга) можно представить в терминах машинного обучения: https://pubmed.ncbi.nlm.nih.gov/35121666/

Если эволюция смогла что-то создать, то значит есть возможность это повторить, разве нет?

что биологическую эволюцию (в том числе эволюцию мозга) можно представить в терминах машинного обучения: pubmed.ncbi.nlm.nih.gov/35121666
Ванчурин вообще все пытается свести к нейросетям и обучению) Подход математиков, если появился новый формализм, то нужно попытаться его пристроить к физике или биологии. Все же основа жизни клетки, нейроны только их специализированная разновидность, кот. появились много позже. Обучение только один из когнитивных процессов, большую роль также играют перцепция, память, внимание, принятие решений, исполнительные механизмы поведения организмов. Более перспективным кажется рассматривать эволюцию, как когнитивный процесс (Cognition-Based Evolution — ключевые слова для поиска). Хотя и в статьи имеются интересные идеи.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.