Comments 22
Кажется, эта нейросеть просто смотрит в будущее, что там будет нарисовано)
Эта нейросеть всего лишь скоррелировала на 31.08% поданное изображение с изображением "какого-то трактора" в обучающей выборке. Видимо, кружок указанного размера заметно отличает этот образ в обучающей выборке от остальных изображений этой же обучающей выборки.
Я так понимаю, человек сделал распозновалку рукописного алфавита - его программа может распознавать конечное число заранее определенных нарисованных литер [кошка, трактор, велосипед, ...] акуратно введенных в нужное поле. Такие задачи ещё в советские времена инженерами в НИИ на больших ламповых ЭВМ успешно решались, и даже без ЭВМ в целях удешевления - на конечных автоматах, собранных на рассыпухе. См. Бонгард М.М. "Проблема узнавания" Москва Наука 1967г.
Только инженеры НИИ не знали, что на этом можно хайпожорить и миллионы подписчиков собирать, поэтому жили на скромную зарплату в 120 рублей.
Отношение советских учёных к пиарщикам и хайпожорам очень хорошо показано в произведении Стругацких «Понедельник начинается в субботу». Один из персонажей повести, профессор Выбегалло, за счёт пиара и хайпа сделал себе имя на крайне низкопробных исследованиях, уровня карикатурных «британских учёных». И что же? Хоть кто-нибудь взял его опыт на заметку? Хоть кому-то из этих магов пришла в голову идея распиарить и свои эксперименты тоже? Или хоть кому-то пришла в голову идея сделать этого Выбегалло главным пиарщиком всего НИИЧАВО, чтобы он писал научно-популярные статьи и книги, выпускал начно-популярный журнал о волшебстве и проблемах волшебной науки?
Разумеется нет — наоборот, они ещё и гордились тем, что настоящая наука скучна и непонятна простым смертным, и всячески презирали тех, кто злоупотребляет контактами с прессой.
Ну вот если сидеть в башне из слоновой кости, упиваясь собственным превосходством над «тупым быдлом», то обыватель рано или поздно задастся вопросом: а чем они там вообще занимаются? За что мы им вообще платим? Может, 120 руб — это даже много?
Почитайте сколько либо достойный учебник или научные статьи, путь нейросеток в computer vision, как раз начинался со сверточных нейронных сетей. Слова не видили в утюгах, потому что это либо и так очевидно тем кто читает, либо это расчитанный на хипстеров научпоп.
Да уж, ясно. Свертка если совсем по простому это линейный фильтр, а умножение весов, это скалярное произведение(dot product) двух векторов. Понимаете в чем разница? Свертку можно реализовать через повторяющееся скалярное произведение, но скалярное произведение не является сверткой.
Ну и насколько я помню, скалярное произведение для векторов разной размерности не определено.
Не ну вы серьезно хотите меня убедить, что скалярное произведение векторов надо называть сверткой выродившейся в одну точку?
Классическая нейросеть это как раз и есть последовательность скалярных произведений на которых действует нелинейность.
Ну и определениями меня поучать точно не стоит, для дискретных отсчетов линейный фильтр и свертка это одно и тоже. А так как речь зашла про нейросетки, то не дискретными они не могут быть в принципе.
Теперь вы хотя бы ответили по существу, спасибо. Одним из методов template matching действительно является поиск максимума кросс-корреляции(которую можно представить как свертку с "отраженным" ядром) между шаблоном и изображением. Так же этот метод является наиболее простым и старым. Если мы будем рассматривать задачу из статьи, то template matching через корреляцию с шаблоном, будет не устойчив даже относительно тривиальных трансформаций сжатия/расширения относительно одной из осей. Не говоря уж об более сложных аффинных преобразованиях, а примеры в статье на самом деле еще сложнее.
>Вырождение очевидно происходит потому, что идеальная корреляция >даёт дельта-функцию Дирака.
Кросс-корреляция двух функций дает на выходе функцию. Скалярное произведение двух векторов дает скаляр. Кросс-корреляция с шаблоном очевидно никакую дельта-функцию не выдает, это будет функция "похожести" зависящая от координат шаблона, в точке где изображение и шаблон полностью перекрываются она будет равняться 1.
PS: поискал немного по теме, кросс-корреляция является оптимальной линейной оценкой относительно аддитивного белого гауссова шума, это единственная фундаментальная причина почему ее стоит использовать.
О госпади, естественно можно подобрать какието функции свертка которых даст дельта-функцию. Только к исходным вашим утверждениям, как и к задаче распознавания по шаблону, это вообще никакого отношения не имеет.
Нейросеть не реализуется сверткой, там вычисляемая функция совершенно другая, на несколько порядков сложнее и "подбирается" она вполне определенным методом - градиентным спуском по весам в пространстве функционала ошибки. Одиночная свертка применима только для тривиального поиска по шаблону. Передергивание с дельта-функцией вообще не понятно к чему было.
Я в сетях не очень и по тому что читал сложилось впечатление
для большинства тех кто ими занимается это черный ящик. Наобучали на комбинировали получили результат и счастливы
Ну вот оказывается что есть специалисты с более глубоким понимаем процесса
Спасибо
«Аппроксимация», «свёртка», «корреляция», «обратная свёртка», «преобразование Фурье/Радона/etc» — эти слова я давно уже не видел
Учту это при отборе материала. В матчасть, конечно, вникать нужно — и нужно это как воздух. Иначе от слов Data Scientist останется одно Data. Поэтому у нас есть, как минимум, курс «Математика для Data Science» — это часть полного курса по Data Science. Цитирую:
«Чтобы уверенно решать не типовые задачи и создавать собственные архитектуры, мало владеть основными методами машинного обучения и нейронных сетей: важно понимать законы математики и статистики у них «под капотом».
По-хорошему, на мой взгляд, каждая модель от Data Scientist должна представлять собой некую малую (или крупную) научную работу в прикладной области, чтобы научными методами решить конкретную задачу или проблему.
А я что-нибудь другое сразу нарисовал бы, распознает? :)
Интересная статья, спасибо)
Как я научил нейросеть распознавать каракули. Введение