Про нейросети

в 19:10, , рубрики: AGI, искусственный интеллект, нейросети

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор: Neo Noo Net

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js