Каждый раз читая очередную статью вида "Почему нейросети это тупик" (раз, два, три), испытываю странное чувство... несоответствия что ли. Как будто автор декларирует одно, а доказывает и аргументирует нечто совсем иное. Для меня сам тезис буквально звучит как оксюморон (не путать с рэпером ????), но почему именно - не так очевидно. Для этого надо разобраться, чем же на самом деле являются нейросети... Погнали!

Первое, чем современные нейросети (ИНС в общепринятом понимании, не путать с ИмНС aka SNN) не являются, это, собственно, нейросетями! ???? Да, первый формальный нейрон, а за ним и перцептрон Розенблата были вдохновлены биологическими нейронами да и сверточные сети в некоторых аспектах демонстрируют некоторое сходство с обработкой визуального сигнала зрительной корой, но не более. Современный Data Science имеет общего с учением о нейронах примерно столько же, сколько современная аэродинамика с орнитологией: самолеты летают, но крыльями не машут!

Второе, чем ИНС так же не являются, это парадигмой искусственного интеллекта. Пытаться их противопоставлять, как и наоборот, высказываться в духе "увеличим число параметров еще на пару-тройку порядков и вот оно - сознание!" - это как спорить является ли автомобиль воплощением скорости, или нет...

Так что же такое все-таки ИНС? ИНС, это семейство алгоритмов оптимизации сложных функций от многих переменных. Алгоритмов, понимаете? Говорить - "нейросети, это тупик", это все равно что сказать, что Метод Монте-Карло тупик. Или Быстрое преобразование Фурье. Или Симплекс-метод...

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

Т.е этот самый "класс задач", который можно решить таким образом оказался весьма и весьма обширным... И постоянно растет, что характерно!

Например, вы считаете, что мозг - это машина предсказаний. Ок, задача временных рядов - следующий член последовательности, на основании предыдущих... LSTM, GRU, трансформеры наконец!

Или вы адепт идеи "разум - это модель". Хорошо. Есть решения отображения входящего сигнала во внутреннее (латентное) пространство aka автоэнкодеры, а если хотите позабористее гуглите NERF (иногда еще называют "нейронный рендеринг", построение внутренней репрезентации трехмерного пространства по входным двумерным картинкам и положению камеры).

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

Открою страшную тайну *(секрет Полишенеля): далеко не всегда целью обучения является получение Y из X! Классика жанра - автоэнкодеры. Там вообще X=Y, а целью является некое внутреннее Z для которого у нас вовсе нет никакого ground truth.

Входное изображение и выходное при обучении как правило идентичны
Входное изображение и выходное при обучении как правило идентичны

Или вашей целью являются сложные данные переменной размерности, но вы строите процесс обучения так, что бы за раз система выдавала следующую порцию этих данных - с учетом входа и предшествующего выхода, т.е. работала итерационно. И это работает: таким образом можно искать объекты на картинке, получая последовательно на выходе координаты их bounding box (как в DETR).

Вполне возможно, что это все не то. Но... А что - "то"? Для того, что бы понять подходят ли данные инструменты для решения вашей задачи, нужно сформулировать собственно задачу! Имея четкое представление (желательно - математическое) о том, что нужно, можно попытаться выразить его через многомерную дифференцируемую функцию, подобрать нужный лосс и пытаться оптимизировать. Или формально доказать, что поставленная задача не относится к классу оптимизационных, а значит нейросети тут не при делах. ????‍♂️

Полагаю, что те, кто говорят, что нейросети "не то" (за крайне редким исключением вроде того же Лекуна), путают алгоритм решения с постановкой задачи. Если задача есть, если она достаточно формализована - ее можно сводить к тому или иному классу с известными алгоритмами решения...

Комментарии (21)


  1. alan008
    14.01.2023 22:24
    +5

    Наконец-то кто-то не постеснялся произнести эту фразу «А король-то голый!»


  1. sshikov
    14.01.2023 23:01
    +3

    Алгоритмов, понимаете? Говорить — «нейросети, это тупик», это все равно что сказать, что Метод Монте-Карло тупик.

    А вы точно уверены, что Метод Монте-Карло НЕ тупик для решения любых задач? Я в принципе согласен, класс задач, которые, как оказалось можно решить методами оптимизации, очень сильно расширился. Но вы же сами пишете в тоже время:

    Второе, чем ИНС так же не являются, это парадигмой искусственного интеллекта.

    Следует ли это понимать так, что нейросети не являются (не будут?) основной сильного ИИ? Можем ли мы сказать заранее, что некоторые методы из математики, которые конечно сами по себе не тупик, все же могут быть тупиковыми иногда, потому что… (конкретная причина тут не так важна)?

    Каждый раз читая очередную статью вида «Почему нейросети это тупик» (раз, два, три), испытываю странное чувство… несоответствия что ли. Как будто автор декларирует одно, а доказывает и аргументирует нечто совсем иное.

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


    1. Kwent
      15.01.2023 00:09
      +4

      Следует ли это понимать так, что нейросети не являются (не будут?) основной сильного ИИ?

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

      А отвечая на вопрос -- он поставлен некорректно, нейросети могут быть основой сильного ИИ, могут не быть, могут быть вспомогательной частью. Это ортогональные понятии, реализация и идея. Это как программу можно написать на одном языке, а можно на другом, и вопрос тогда будет "Следует ли это понимать так, что бэкенд этого сайта не будет написан на python?". Действительно есть путаница между алгоритмом и задачей. Задачи сделать сильный ИИ сейчас нет, сейчас скорее абстрактная неформализованная мечта сделать сильный ИИ, как я это вижу.


      1. sshikov
        15.01.2023 10:15

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

        Ну вот на днях буквально кто-то описывал свои диалоги, где chatGPT утверждал, что Буратино придумал Акунин в 1938 году. Что бы сделал разумный человек в такой ситуации, чтобы показать, что это чепуха? Например, сослался бы на страницу про Акунина на Википедии, что Акунин на самом деле не Борис а Григорий, и вообще не Акунин (уже интересно поговорить о таком, понимает ли робот, как мы идентифицируем человека), и что родился он в 1956, следовательно придумать Буратино в 1938 никак не мог. То есть, человек
        может ошибаться, а для доказательства своих утверждений ссылается на первоисточники. В моем понимании, пока ИИ так не научился, тест Тьюринга он не пройдет.

        >хотя тут я согласен, что это не то
        Ну да. Я тоже согласен, что не то, и тоже не могу объяснить, почему именно.

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


        1. Kwent
          15.01.2023 13:34
          +1

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

          Далеко от некого "идеального человека разумного", но вполне похоже на детей или студентов на экзаменах :)

          > могут быть вспомогательной частью
          Я имел ввиду другое, просто тут опять таки мешают некоторые внутренние представления о, я, например, держал в голове некого гуманоидного робота (как в фильме ex machine), и частью == зрение реализовано сверточными нейросетями, из картинки получить некоторые внутренние представления, который идут в "мозг", то есть текущие развитие это реализация мелких составных частей некого будущего ИИ (как АЛУ у процессора, но вот сам процессор еще предстоит изобрести).


        1. Sadler
          15.01.2023 18:37
          +2

          Что бы сделал разумный человек в такой ситуации, чтобы показать, что это чепуха?

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


    1. 0NNN0 Автор
      15.01.2023 13:24
      +2

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

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

      • Давай построим что-нибудь прикольное!

      • Давай! У меня есть молоток!

      • Не... Молотком ничего прикольного не построишь... Молоток - это тупик!


      1. sshikov
        15.01.2023 13:47

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


      1. Wesha
        15.01.2023 22:49
        +2

        Ну как бы да — молотком без гвоздей и досок реально ничего не построишь.


        1. 0NNN0 Автор
          16.01.2023 06:51

          Верно! Нейросеть сама по себе тоже, как правило, не работает. ????‍♂️ Нужен дополнительный «обвес» в виде токенайзеров/квантизаторов, алгоритмов семплирования, прикладной логики, UI и прочего…

          Нужно использовать весь доступный инструментарий по мере необходимости и там, где он уместен! А не искать золотой молоток, которая решит все проблемы разом!


  1. iskateli
    15.01.2023 06:11
    +1

    ИНС так же не являются, это парадигмой искусственного интеллекта

    зато Коннекционизм является парадигмой, а ИНС представляет собой лишь одним из способов

    Алгоритм - это инструмент. Метод решения определенного класса задач.

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


  1. Rewesand
    15.01.2023 12:45
    +3

    Больше похоже на крик души "Задолбали алгоритм называть Искусственным Интеллектом".

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

    Хорошее начало! Да, немного не хватает развернутости, почему же ИНС не "нейросети" и кстати, SNN - тоже недотягивают до "настоящих".


  1. phenik
    15.01.2023 13:46

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


  1. tetelevm
    15.01.2023 15:46

    Проблема идёт из того, что учёный насилует журналиста.
    Когда ты журналист/маркетолог, то тебе надо написать просматриваемую статью/завлечь тонну людей на курсы, то нельзя говорить, что обучать нейросети - это перемножать матрицы, нужно говорить "нейросети ооо! нейросети ааа!".

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

    А по сути это просто как спор первокурсника и третьекурсника, где один говорит "js - самый лучший язык!", а второй спорит "ничего js не умеет, то ли дело шарпы".


  1. HiLander
    15.01.2023 21:05

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

    В идеале, получив нечто подобное, достаточно отправить его (ее?) в бесконечное количество итераций мы получим "то самое" ))) Есть желающие закодить?


  1. imageman
    16.01.2023 12:28
    +2

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

    Построят ли первый сильный ИИ на основе нейросети? Вполне возможно. Только, скорее всего, структура будет отличаться от трансформеров примерно как перцептрон отличается от трансформеров (т.е. нам нужно пройти несколько итераций улучшения).


    1. phenik
      16.01.2023 18:11

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

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


      1. imageman
        16.01.2023 18:32
        +1

        инсайт - озарение (пришлось в Википедию залезть).

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


        1. phenik
          17.01.2023 11:12
          +1

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

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

          Что нужно будущим версиям GPT, чтобы приблизиться к этому уровню работы с информацией? Не только рост числа параметров, как думают многие. Как минимум, непрерывное обучение, т.е. преодоление катастрофического забывания, чтобы постоянно уточнять индуктивные выводы по любым темам, и наличие ассоциативной памяти. По более современной терминологии — нейронной синаптической пластичности основанной на хеббовских принципах обучения (STDP для импульсных сетей, см. ссылки в коменте выше), которая позволяет устанавливать связи на разных уровнях мозга. Возможно это потребует также аналога процедуры консолидации памяти, которая по современным представлениям, происходит во время сна, и связана со сновидениями. Так что байка про открытие периодического закона Менделеевым во время сна хотя и не подтверждалась им, но не могло обойтись без него)


          1. imageman
            17.01.2023 17:47

            https://habr.com/ru/company/skillfactory/blog/666040/ Почитайте про интересный подход для символьной регрессии. В таких задачах очень часто формулы получаются очень-очень длинными, избыточно длинными. Всё потому, что машина не знает когда остановится (ищи "PySR для нахождения уравнений", там её научили останавливаться).

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


  1. 0NNN0 Автор
    16.01.2023 13:23

    Замечание верное. Я имел ввиду, что работающую систему мы получаем через оптимизацию. ???? Т.е. сама нейронка - это уже результат алгоритма оптимизации и собственно решение задачи…

    Но ваше замечание весьма к месту, ибо из текста это совсем не очевидно…